Autorul poate fi contactat la adresa: Login pentru adresa
Proiectul are ca scop construirea unui robot sub forma unui pendul invers, care isi poate mentine pozitia verticala. Ideea a plecat de la studiul modalitatii de functionare ale unor gadget-uri similare Hoverboard-ului, si reprezinta o implementare a problemei “Two wheeled inverted pendulum”.
Microcontroller-ul robotului va citi de la senzori, viteza unghiulara (de la giroscop) si acceleratia (de la accelerometru), pentru a calcula unghiul de inclinare . Folosind unghiul de inclinare, va comanda rotile in mod corespunzator, ca robotul sa corecteze starea de cadere si sa ramana in pozitia de echilibru. De asemenea, robotul va mai avea atasat un modul de comunicatie seriala cu calculatorul
Piese | Descriere |
---|---|
ATMega324 | Microcontroller |
Modul USB-TO-TTL CP2102 | Modul de comunicare prin USART |
Modul Accelerometru și Giroscop cu 3 Axe MPU6050 | Modul cu senzor accelerometru si giroscop |
Motor Nema17 | 2 piese |
Driver A4988 | 2 piese |
Roti | 2 piese |
Rezistente si condensatori |
Robotul a fost programat folosind programatorul ATMEL Studio si a fost incarcat cu ajutorul bootloader-ului HID si a software-ului pus la dispozitie.
- Robotul citeste unghiul de inclinatie prin I2C de la giroscopul analogic. Am folosit biblioteca gasita aici : .WwQad0iFOUl, care asigura comunicarea prin protocolul I2C si de asemenea foloseste un filtru mahony pentru eliminarea zgomotului.
- Unghiul citit este transmis prin UART la programul scris in Unity pentru debugging. Acesta citeste de pe portul serial si afiseaza datele pentru debugging.
- Microprocesorul trimite apoi comanda spre motoare pentru a incerca sa corecteze unghiul de inclinatie.