Table of Contents

Robert-Florian SAMOILESCU (66969) - PID Controller

Autorul poate fi contactat la adresa: Login pentru adresa

Introducere

In cadrul acestui proiect se doreste implementarea unui PID Controller simplu.

Descriere generală

Hardware Design

Design hardware:

Componente hardware:

Software Design

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.

Schema electrica

Rezultate Obţinute

Concluzii

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.

Download

pid_controller.zip

Bibliografie/Resurse