Tanc cu bluetooth
Introducere
Proiectul propus este un tanc cu turela, ale caror miscari sunt controlate prin bluetooth de un terminal de pe PC/o aplicatie mobila
A pornit de la ideea de a construi un robot care se misca, dar diferit de clasica “masina”, scopul fiind o oportunitate de invatare si a pune bazele pentru posibile dezvoltari ulterioare
Descriere generală
Tancul este controlat folosind un terminal pe PC/o aplicatie mobila care comunica prin Bluetooth cu o periferica specializata. Modulul bluetooth redirecteaza semnalele primite catre o placuta STM32, care proceseaza datele primite si le trimite motoarelor care actioneaza senilele / servomotorului care roteste turela, dupa caz.
Hardware Design
Componente necesare
Board STM32 NUCLEO-F070RB
Modul Bluetooth 4.0 CC2541
Motor DC cu encoder x2
Driver motor DC67A x2
Traductor 3,3V → 5V
Baterie 9V x2
Modul coborare tensiune LM2596 x2
Micro Servomotor SG90
LEGO.
Software Design
Mediu de dezvoltare
STM32CubeIDE
TeraTerm pentru testare
Trimitere comenzi
Aplicatia mobila se conecteaza prin bluetooth la modulul hc-05
Modulul comunica prin USART cu STM-ul.
Se primeste cate un caracter pe rand si se adauga intr-un buffer.
La intalnirea unui caracter terminator (\n, % sau m) se parseaza buffer-ul si se reseteaza
Turela
Senile
STM-ul primeste referinta procentuala la care trebuie sa ajunga motoarele, impreuna cu directia de mers
Comanda este de forma 60xm, unde x poate fi f = forward (pornesc ambele motoare), l = left sau r = right (unde porneste doar unul dintre motoare)
Din acesta, reiese regiunea liniara de functionare, si putem calcula SLOPE si OFFSET pentru aceasta.
Viteza de referinta = referinta procentuala * SLOPE + OFFSET.
Timer 6 foloseste intreruperi pentru a regla comanda data motoarelor.
In urma unei analizei raspunsului la intrare treapta se determina forma functiei de transfer asociata motorului
Pe baza acestei forme se construieste regulatorul PI, care in urma discretizarii are urmatoarea formula:
Comanda(t) = Comanda(t-1) + 0.7410 * Eroare(t) - 0.6377 * Eroare(t-1)
Download
Bibliografie/Resurse