Fórum témák
» Több friss téma |
Tegnap kerestem egy floppy vagy CD fejmozgató motort. Ez már kis feszültséggel is működik, szerintem a 20mA talán elég is lenne, hiszen csak mutatót mozgat, így talán a pic kimenete is el tudná vezérelni, viszont úgy láttam csak 20 lépés/fordulatot tud, így ha pwm-es mikrolépést is kellene programozni, valami egyszerű tranzisztoros H-hidat kell neki csinálni. A végállás érzékelést is meg kellene oldani, esetleg áramfigyeléssel a pic komparátorával.
Én is ezen gondolkodtam, ezért volna talán jobb a microservo. Lehet kipróbálom mindkettőt, annyira nem drága. Léptetőben is lehet kapni áttételest, annak elég jó a felbontása. Viszont az jutott eszembe, hogy a kettő kombinációja lenne a megfelelő talán. A léptetőmotor mellé kellene applikálni egy potit aminek az állását ADC-vel figyelném, így pontosan tudnám, hogy hol áll.
Szia!
Mennyire érdekes számodra, egy mutatós fordulatszám esetén a felbontás? Mert a microszervó jó esetben 2-3 fokot tud. A mechanikája ennél többet nem tesz lehetővé. A CD-k ben található léptetőmotorok szintén elég kis felbontásúak, mert csak a lemez forgatására használják. A fej mozgatása áttételes, kefés motorokkal van megoldva. Kivéve az LG és a SONY. Ezekben léptetőmotor van, menetorsóval. Nem mértem még ki, de gyanítom, hogy rosszabb a felbontásuk a szervóénál. A normál léptetőmotorok viszont méretileg elég nagyok és drágák.
Szia!
A mellékelt képen láthatóra gondoltam, szerintem nem olyan nagy és az áttételnek köszönhetően 0,7°-ot fordul egy lépésre.
Szia!
Ezt hol találtad? Mert ilyet CD-ben még nem láttam. A potit hogy akarod hozzákapcsolni? Egyébbként léptetőmotorral mutatós műszert készíteni vezérlésileg nem egyszerű feladat. A léptetőmotoroknak nem véletlenül van külön elektronikája, aminek csak az irányt adod meg és a lépésszámot.
Köszönöm a válaszokat!
( A napokban 450Ft körül rendeltem 16F887-et ... szóval lehet még olcsóbb is két (vagy több) PIC-et dolgoztatni, mint bővítőt használni... a bővítők 1Euro környékén lennének... ) Csupa jó ötlet! most van házifeladatom bőven! ![]() Utána nézni, hogyan tudnék deforrasztani "egy soklábú" PIC-et egy adapterba ... A "két PIC-et összekötök" a gyakorlatba arról szól, hogy I2C (vagy ISP) porton küldözgetem a váltózókat egyikből a másikba? ... Akkor tanulhatom a soros kommunikációt is! ![]()
Beütöd a gugli, hogy léptetőmotor és teli van vele. Maga a vezérlés szerintem annyira nem bonyolult, mert amelyik tekercsre adod a delejt oda fog a forgórész lépni. Persze nem ennyire egyszerű, de mások is csináltak PIC-es léptetőmotor vezérlést.
A potit, hogyan fogom ráapplikálni még nem tudom, nemrég jutott csak eszembe. Idézet: „Maga a vezérlés szerintem annyira nem bonyolult, mert amelyik tekercsre adod a delejt oda fog a forgórész lépni.” Azért ezt nem árt áttanulmányozni hozzá: Léptetőmotorok működési elve
Ezt már olvastam korábban. Pont azt mutatja az ábrán is amit én írtam. Persze én csak egyész lépésben gondolkodom, az 512 lépés így is több mint elég. Viszont azon agyaltam, hogy a szervó 270°-os poti fordulását ha 100 részre fel tudom bontani az már jó.
Épp a felbontás finomításán dolgozok.
Ha sikerül, feltöltöm.
Okay. Felhajtok valahonnan egy szervót meg egy léptetőt is aztán a hosszú téli estéken majd játszok vele.
Remélem most jó lessz.
Bővebben: Link Bár én inkább a TOWER PRO szervót ajánlanám. A hozzászólás módosítva: Okt 14, 2015
Én tudok TowerPro SG90-t 750.-/db áron. Az jó nekem?
A próbákhoz mindenképp.
Később azért egy nagyobb szervót válassz a 9 grammosnál, mert könnyebb szerelni.
"LCD-nél 4bit-es üzemmódban nem lehet olvasni igaz?"
Foglaltság ellenőrzése lehetséges. Adat visszaolvasással (CGRAM) nem próbálkoztam.
Sziasztok!
Frissen vásárolt PICkit3-mammal szeretnék egy 12F508-at felprogramozni úgy, hogy egy LED-et villogtasson C-ben. Programozáskor az alábbi hibát kapom: Target has invalid calibration data (0x00). A kód:
A legújabb mplab-banés xc8-alprogramozok. Mi a gond? A hozzászólás módosítva: Okt 14, 2015
A memória legutolsó címén egy "retlw xx" utasításnak kellene lenni. Ez tartalmazza a kalibráló adatot, amivel pontosan beállítják a gyárban az kontroller órajelét, talán 4MHz-ra. Ha az órajel pontossága nem szempont, akkor beírhatsz egy retlw 00h utasítást, és a hiba eltűnik. A PICkit2 el tudja végezni ezt a kalibrációt, talán a PICkit3 is, de ebben nem vagyok biztos.
A hozzászólás módosítva: Okt 14, 2015
Tehát ettől még elvileg ugyanúgy elindul a processzor ha nem kalibrálom?
A fenti kódot valaki ki tudná javítani, hogy működjön? Abból meg tudnám érteni, AVR-eket 6 éve programozok, de a PIC-et most kezdem.
Az olvasásra vonatkozó szekcióban én azt láttam, hogy az első olvasás egy nem valós értékkel tér vissza 4 és 8 biten is és a második olvasás adja vissza a RAM értékét, ha jól értelmeztem.
4 biten az első valótlan érték felső és alsó részét is vissza kell olvasni aztán a RAM érték felső és alsó részét is olvasni és ennek így elviekben működnie kell.
Sziasztok!
dsPIC33EP512GP502-n gyakorlok. Az oszcillátort beállítottam külsőre, PLL-el, 25MHz-es kvarc, 2db 22pF-os kondival. Egy LED-et villogtatok. PLL nélkül szépen, egyenletesen villog a LED, viszont amint a PLL-t is engedélyeztema Configuration bits-ben, a videón látható módon villog (tehát nem szabályosan, mintha néha 1-2 órajelciklust nem venne figyelembe). A forráskód az alábbi:
Sziasztok!
main.c: In function 'main': main.c:107:7: warning: passing argument 1 of 'putsLCD' makes pointer from integer without a cast lcd2.h:29:6: note: expected 'char *' but argument is of type 'unsigned char' Azt szeretném megkérdezni, hogy az LCD konfigurálásánál mit álitsak, át hogy ne jöjjön ki ez a hibakód! változo kiiratása, sprintf-el nem mükődik, lefut a program , csak a kijelzp hülyeséget ír ki, viszont ha azt irom be hogy PutsLCD ( " kutya " ) pl akkor kiirja helyesen hogy kutya, csak mikor sprintf-et használom, értelmetlent mutat a kiejelző ,leginkább villog a kurzór. Köszönöm
Szia!
A 8. sorban az OSCIOFNC konfiguraciot OFF-ra kell allitani. Ha jol emlekszem eloszor el kell inditani PLL nelkul a processzort, majd utana atvaltani PLL-re. Nincs beallitva a PLLFBD regiszter.
Megjöttek a szervók, indulhat a játék.
![]()
Mennyi szervót akarsz egyidejűleg használni?
Így sikerült feléleszteni:
Azt számoltam, hogy ezzel a beállítással 81,25MHz az Fpllo és egyben a processzor órajele is. Jól számolom? Megy a Timer 1, 256-os előosztóval és PR1 = 39672. Tehát Ftimer1=81250000/256/39672=~8Hz. Viszont a LED 1 másodperc alatt így kb. 1-et villan (amiből félmásodpercig be van kapcsolva, fél másodpercig ki), tehát ~2Hz. Mi miatt osztódik el néggyel a kiszámolt érték?
Rosszul szamoltad az orajelet, a processzor orajele 84.375. A PLLDIV ertekehez meg hozza kell adni kettot (equation 9-2, adatlap 154. oldal). A timer a periferias orajelrol mukodik (Fp), aminek erteke Fosc/2, vagyis hozzavetoleg 42.19Mhz.
A timer megszakitas Ftimer1=42187500/256/39672=4.14Hz kell legyen. Arra viszont nincs otleltem, hogy miert villog 2Hz-el a LED. A hozzászólás módosítva: Okt 15, 2015
ÁHÁ! Így már világos, köszönöm!
Mekkora magimális órajelig lehet felmenni? Az Fosc a processzor órajele, az Fp-ről mennek a Timer-ek és gondolom a PWM órajelforrása is, az Fcy-ről mi megy? |
Bejelentkezés
Hirdetés |