Eksperimentai su mikrokontroleriais 2

Prisiruošiau dar šį tą parašyti apie savo eksperimentus. Kaip jau minėjau, buvo bandymų pasijungti servo mechanizmus. Servo signalą esu formavęs ir programiniu ir hardwariniu būdu. Pvz. hardwariniu būdu, naudojant 16 bitų skaitiklius, galima formuoti servo signalą vienos mikrosekundės tikslumu. Kaip parodė praktika, toks tikslumas nereikalingas – servo mechanizmas į tokį pakitimą nereaguoja. Reaguoti pradeda tik nuo 3-4 mikrosekundžių pakitimo. Tačiau mega16 turi 2 16 bitų PWM generatorius – kodėl gi jų nepanaudojus.

Šiame video matosi servo mechanizmų valdymas iš distancinio pulto. Kad atlaisvinti input capture bloką (man buvo reikalingi 16 bitų skaitikliai), perdariau distancinio valdymo dekodavimą nenaudojant input capture. Panaudojau pertraukimą pagal signalo pakitimą įėjime. Gavosi nė kiek ne blogiau nei naudojant input capture.

Kitas bandymas – servo mechanizmai valdomi akselerometru. Atrodo tai gana įdomiai. Kadangi reaguoja į pasvirimą, lyg ir būtų galima tai panaudoti pvz. autopilotui. Veiktų idealiai. Bet taip tik atrodo. Ne viskas taip paprasta, nereikia pamiršti, kad kita akselerometro paskirtis – pagreičio matavimas. Reiškia reaguoja ne tik į pasvirimą. Bet jei kartu panaudoti ir akselerometrą, ir giroskopą, galima sukurti kai ką įdomaus…

Esu bandęs pasijungti iš karto 8 servo mechanizmus. Servo signalas buvo formuojamas programiniu būdu. Padėtys buvo perduodamos iš kompiuterio per RS232. Veikė puikiai. Nesunkiai galima būtų padidinti servo mechanizmų skaičių ir panaudoti pvz. konstruojant robotą…

This entry was posted in Elektronika, Programavimas. Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *