Timer2 szervo

Processing/Wiring (illetve C) nyelvű programozási fogások, tippek. (AVR-Duino, Arduino, EthDuino, Diecimila, Severino, Nano, LilyPad)
Válasz küldése
Wulfgar
Újonc
Újonc
Hozzászólások: 7
Csatlakozott: 2014. szeptember 1. hétfő, 13:17

Timer2 szervo

Hozzászólás Szerző: Wulfgar »

Kedves Kollégák! Érdekes hibába futottam szervóvezérlés kapcsán. Pár éve fejlesztettem szervóvezérlést digitális modellvasúthoz. (Arduino IDE Timer2 lib.)A szervók a váltók állítását szolgálják. Van egy egyenes illetve kitérő irány melyek között a szervo beállítható időn belül áll át. Végállásban a szervók jelbemenetére GND van vezérelve , hogy az esetleges nagy feszítő erő ne tegyen kárt a váltókban ill. azok felvághatók legyenek. Eddig minden rendben is működik. A magam terepasztalán sg90 szervókkal tökéletesen működik a dolog. Egy ismerős megkért , hogy készítsek neki is ilyen vezérlőket, és hozott hozzá Futaba 3003 szervókat (Tudom , hogy ágyuval verébre, de nem kérdezett meg vásárlás előtt ). A vezérlés részével nincs gond , viszont az áramkör bekapcsolásakor a Futaba 3003 kb. 15° -ban elfordul. Amikor a szoftver a prociban (Atmega328) elindul be is áll szépen kezdő pozícióba a szervó, és innen minden rendben is van. Ha bekapcsolásnál a szervo jelbemenetére VCC megy a szervo nem mozdul ki. Esetleg van valakinek ötlete , hogyan tudnám a szervó bekapcsolását késleltetni , amíg megjelenik bekapcsolás után a vezérlő jel ? Fontos , hogy nem közvetlenül a proci portja hajtja meg a szervot, 74hc244 logikai kapun keresztül üzemel.(Nem szeretnék teljesítmény tranzisztorokat használni be- kikapcsoláshoz , mert a hűtésük nehezen megoldható lenne ill. a nyák mérete is elfogadhatatlanul megnőne.
Létezik , hogy a szervók működésében ekkora eltérés lenne? Sok szervomotort kipróbáltam , és azok nem ugranak. Csak a Futaba 3003.
Segítségeteket előre is köszönöm!
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10191
Csatlakozott: 2005. december 9. péntek, 7:00

Re: Timer2 szervo

Hozzászólás Szerző: Robert »

A bekapcsoláskor - azaz amikor a bootloader fut?
Akkor az Arduino programodban még semmi sincsen - azaz a vezérlőlábad valószínű lebeg.
Azaz ami a logikai kaput jelenti, hogy annak a bemenetei ne lebegjenek. Pl. a kapuengedélyezést ill a láb Low/High állapotát külső ellenállással megfogni. Ezt utána a processzor magas/alacsony állása úgyis felül tudja bírálni.
Ellenállásként 10k a láb és a GND vagy a láb és a 5V közé.
Miért kellett a 244 proci és a szervo közé?
A proci lábanként 20mA-t tud...
http://www.tavir.hu - a gazda :)
Wulfgar
Újonc
Újonc
Hozzászólások: 7
Csatlakozott: 2014. szeptember 1. hétfő, 13:17

Re: Timer2 szervo

Hozzászólás Szerző: Wulfgar »

Bootloader nélkül fut. Programozóval beírva. Anno oszciloszkóppal vizsgáltam a szervo vezérlő jelét. Sok a zaj a vezérlőjelen. Timer1 folyamatosan komunikál egy "loconet" hálózaton . Ez lehet az ok A 74 Hc kimenetén tökéletes logikai jelet sikerült elérni. Közben született megoldás. Óccó kínai fesz stab a szervók tápellátásàra. EN tűvel be - kikapcsolható . Indulásnál Gnd . Amint indult a proci , bekapcsolja a stabilizátort. Sajnos nem volt elegendö a kapu (lehúzása). Így viszont működik, csak a nyákot kell áttervezni :(
Válasz küldése