Autorul poate fi contactat la adresa: Login pentru adresa
In cadrul acestui proiect se doreste implementarea unui PID Controller simplu.
Componente hardware:
Schema bloc dupa care este realizat software-ul:
Desi calcularea celor trei termeni este relativ simpla in timp discret, o problema care apare este zgomotul de pe accelerometru. Acesta poate introduce probleme precum: oscilatii care apar datorita termenului proportional, anularea termenului derivativ si a celui integrator. Pentru rezolvarea acestei probleme au fost implementat un filtru digital trece-jos si a fost aleasa o rata de esantionare mai mare. Desi aceste solutii rezolva in mare parte problema zgomotului, totodata introduc o alta problema si anume faptul ca sistemul raspunde mai greu la schimbari.
Pe langa sistemul efectiv, mai este implementata si partea de comunicare seriala, care pe langa api-ul de USART mai contine o rutina de tratare a intreruperii in momentul in care se primeste un caracter. Aceasta rutina este un interpretor minimalist prin care se pot regla coeficientii celor trei termeni, se poate alege unghiul dorit in care bratul sa se stabilizeze si se poate porni/opri sistemul.
De asemenea, s-a mai folosti un API de comunicare SPI pentru citirea datelor de la accelerometru.
Consider ca proiectul este interesant in masura in care pe langa partea de programare pe microcontroller si interactiunea cu diferite module hardware, este nevoie si de notiuni din teoria sistemelor.