Autorul poate fi contactat la adresa: Login pentru adresa
Proiectul constă într-o platformă a cărei normale este reglată automat pe direcția indicată de un accelerometru în centrul ei (accelerația "proper"). Această reglare ar trebui să prevină răsturnarea unui obiect pus pe platformă, atât timp cât nu i se imprimă o accelerație foarte mare și o orientare extremă. Ar trebui să păstreze, spre exemplu, un obiect pe platformă aflat într-o mașină în timpul mersului.
Am ales acest proiect pentru a experimenta o aplicație cu reglare automată.
Considerăm platforma în sistemul de referință neinterțial cu planul Oxy pe platformă și direcția Oz spre normala ei. Dacă platforma urmărește această orientare, avănd o reglare perfectă, și în absența frecării cu aerul, un obiect plasat pe centrul ei nu ar resimți forțe laterale, astfel prevenind răsturnarea lui.
Descriere: link
Schemă: link (Eagle Schematic)
Cablaj: link (Eagle Board)
Componente folosite:
Pentru comunicarea cu calculatorul am folosit:
Ansamblul cu platforma și servomotoarele este conectat prin două cabluri de 1.5m.
Ansamblul este alcătuit astfel:
Un servomotor este “mânerul”, care rotește celălalt servomotor (oferă gradul de libertate pitch), care la rândul său rotește un marker (oferă gradul de libertate roll), care susține platforma.
Platforma este o plăcuță de test, iar pe ea (deasupra markerului) este pus accelerometrul.
Dezvoltare realizată pe linux, avr-gcc 6.1.1, arv-libc 2.0.0.
Pentru testare, vezi fișierele din testing/.
De asemenea, am implementat SPI (inutil - schema accelerometrului nu permite folosirea SPI) în not_working\spi.h.
Pentru controlul automat am folosit un sistem PID. Intrarea regulatorului (eroarea) este diferența de înclinație a normalei platformei față de direcția verticală. Ieșirea regulatorului este ajustarea care se realizează semnalului de control către servomotoare.
Au existat mai multe probleme întâmpinate pe parcurs:
Am reușit să îmbin elementele și să realizez platforma auto-stabilzatoare.
Totuși, performanța nu e cea pe car o dorisem inițial (reglarea cu modificări puternice brusce durează mai mult - 1-2 secunde).
Printre neajunsuri se numără:
Este un proiect practic interesant, care poate fi îmbunătățit ulterior din multe puncte de vedere; aș fi vrut să fac ceva mai robust și mai performant, dar necesita mai mult timp - lucrul cu hardware-ul necesită multă planificare - schemă tehnică, materiale, componente etc., greșelile de proiectare fiind mai costisitoare. Sper că o să îl mai îmbunătățesc pe viitor.