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: 20377, Oldal olvasási idő: kb. 1 perc
Lapozás: OK   4 / 7

Szervóvezérlés Timer2-vel

Ugyancsak 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!
Következő: »»   4 / 7
Értékeléshez bejelentkezés szükséges!
Bejelentkezés

Belépés

Hirdetés
Lapoda.hu     XDT.hu     HEStore.hu
Az oldalon sütiket használunk a helyes működéshez. Bővebb információt az adatvédelmi szabályzatban olvashatsz. Megértettem