Fórum témák
» Több friss téma |
Cikkek » Jani-6 (Sharp szenzor értékeinek grafikus ábrázolása Processing-gel) Jani-6 (Sharp szenzor értékeinek grafikus ábrázolása Processing-gel)
Szerző: Fizikus, idő: Jan 6, 2011, Olvasva: 20536, Oldal olvasási idő: kb. 1 perc
Szervóvezérlés Timer2-velUgyancsak egy korábbi cikkemben tárgyaltam már a szervóvezérlés alapjait (LINK). Láthattuk, hogy a szervót egy 1-2ms hosszúságú négyszögjellel vezérelhetjük. A szervó bemenetére érkező vezérlőjeleknek kb. 18-22ms-onként ismétlődniük kell, tehát a vezérlőjel kitöltési tényezője 5-10% között változik (a teljes periódusidő 5%-át használjuk ki). Azt is láthattuk, hogy a 8 bites Timer2 esetén csak kevés lépésszám lehetséges a szervó két szélső pozíciója között (LINK). A korábbi, 1MHz-es belső oszillátort használó AVR kódot módosítani kell, mert most már 7,3728MHz-es külső kristályt használok, ami az összes időzítést megváltoztatta. Az adatlapot böngészve kitalálható, hogy a Timer2 előosztását 256-nak választva és fázishelyes PWM-et használva egy 56,5Hz-es, 17,47 ms-onként ismétlődő impulzust tudunk generálni, ami minden nehézség nélkül vezérli az általam használt mikroszervót. A négyszögimpulzus hosszát az OCR2 regiszter értékével tudjuk változtatni. Ahhoz ,hogy az impulzus hossza 1 és 2 ms között legyen, az OCR2 értéke 11-35 között lehet csak, ezért a szervó tűrésétől függően csak kb. 25 pozíciót tudunk beállítani. Az általam használt mikroszervó szögtartománya kb. 180°, ezért 6-8°-os lépésekben tudom a szervót pozícionálni. A fentiek alapján Timer2 előosztását 256-nak megadva, OCR2 értékét pedig 11-35 közötti változtatva vezérelhetjük a PB3-as lábra kötött szervót a különböző pozíciókba. A cikk még nem ért véget, lapozz! Értékeléshez bejelentkezés szükséges! |
Bejelentkezés
Hirdetés |