Click here to load reader

LUCRARE DE DIZERTAŢIE - ACSE · PDF fileUniversitatea Politehnica Bucureşti Facultatea de Automatică şi Calculatoare Departamentul de Automatică şi Ingineria Sistemelor LUCRARE

  • View
    304

  • Download
    9

Embed Size (px)

Text of LUCRARE DE DIZERTAŢIE - ACSE · PDF fileUniversitatea Politehnica Bucureşti Facultatea de...

  • Universitatea Politehnica BucuretiFacultatea de Automatic i Calculatoare

    Departamentul de Automatic i Ingineria Sistemelor

    LUCRARE DE DIZERTAIE

    Robot autonom cu autoechilibrare

    Absolvent Ioni I. Mihai Eduard

    Coordonator: Prof.dr.ing. Dumitru Popescu

    Bucureti, 2013

  • 2

    Cuprins

    Introducere ......41. Experiene premergtoare proiectului Pendulo Bot.....5

    1.1. Proiecte analogice .....51.2. Trecerea la digital ............5

    1.2.1. Tahometru .........51.2.2. Matricea de LED-uri .....6

    1.3. Proiectul Patrol Bot ....................71.4. Proiectul RoboAres ........................8

    2. Roboii autonomi din zilele noastre .......92.1. Robotul -definiie ......92.2. Clasificarea roboilor ..102.3. Arhitectura roboilor ..10

    2.3.1. Sistemul senzorial al roboilor ....112.3.2. Sistemul de acionare i de transmisie al robotului ..............12

    2.4. Elemente de inteligen artificial .132.5. Roboii de jucarie i roboii de companie .....14

    3. Principiile robotului cu autoechilibrare ..........144. Componentele funcionale ale robotului cu autoechilibrare .........16

    4.1. Senzorul unghiului de nclinare ............164.1.1. Unitatea inerial de msurare, IMU .....164.1.2. Senzorul infrarou .......204.1.3. Poteniometrul .........204.1.4. nclinometrul ....20

    4.2. Fltrarea datelor achiziionate ........214.2.1. Fltrul complementar ........214.2.2. Fltrul Kalman .......21

    4.3. Metoda de detecie a vitezei de deplasare .....234.3.1. Codificatorul rotativ ....244.3.2. Codificatorul n cuadratur ....244.3.3. Feedback-ul cmpului electromagnetic ......25

    4.4. Algoritmul de control .........254.4.1. Controlul cu logica Fuzzy ....254.4.2. Regulatorul PID ...........26

    4.5. Comanda motoarelor .........295. Realizarea practic a proiectului Pendulo Bot ....31

    5.1. Proiectul Pendulo Bot V1 ..................325.1. Proiectul Pendulo Bot V2 ......................33

    5.2.1. Construcia asiului .....................335.2.2. Deplasarea robotului ........345.2.3. Comanda motoarelor ....355.2.4. Senzorul de nclinare ........355.2.5. Alimentarea robotului .....................365.2.6. Achiziia datelor .........................................385.2.7. Microcontrollerului ATMEGA328 ......395.2.8. Programarea microcontrollerului ....40

    6.Concluzii .........44Bibliografie ........45Anex......47

  • 3

    Lista de figuri

    Fig. 1. Tahometru numaratoare .......5Fig. 2. Matrice LED-uri .............6Fig. 3. Patrol Bot V1 ..........................................7Fig. 4. RoboAres ........................................8Fig. 5. Robotul ....................................9Fig. 6. Senzori de securitate ................11Fig. 7. Sistemul de actionare ........12Fig. 8. Fibra musculara artificiala .....13Fig. 9. Inteligenta artificiala .....13Fig. 10. Roboti de companie ....14Fig. 11. Reprezentarea modelului fizic ........15Fig. 12. Accelerometru ...............17Fig. 13. Detectia acceleratiei gravitationale .....19Fig. 14. Senzor infrarosu ................20Fig. 15. Filtru complementar .......21Fig. 16. Algoritm filtru Kalman ......22Fig. 17. Codificator rotativ ..............................................24Fig. 18. Semnal codificator in cuadratur ...24Fig. 19. Tabel de control logica Fuzzy ....25Fig. 20. Algoritm PID ..................................26Fig. 21. Comanda PWM ................29Fig. 22. Puntea H ..........................30Fig. 23. Regimurile de operare ale puntii H ......................30Fig. 24. Pendulo Bot V1 ...........................32Fig. 25. Baza sasiului ..........33Fig. 26. Dimensiunile motorului .....34Fig. 27. Motor cu encoder ..............35Fig. 28. Punte H cu MOSFET ........35Fig. 29. IMU cu 10 grade de libertate .....36Fig. 30. ADXL345 accelerometru cu 3 axe .......................36Fig. 31. L3G4200D giroscop cu 3 axe .....36Fig. 32. Acumulatori ....................................37Fig. 33. Schema interna L7805 .......38Fig. 34. Adaptor card SD .........38Fig. 35. Structura interna si configuratia pinilor ATMEGA328 .........40Fig. 36. Schema programatorului USB ...........40Fig. 37. Programatorul realizat practic ........41Fig. 38. Configurarea AVRDUDE .............41Fig. 39. Scrierea microcontrollerului .......................................42Fig. 40. Scrierea in linie de comanda .............43Fig. 41. Robotul in forma finala ......................................43

  • 4

    Introducere

    Un robot cu autoechilibrare pe dou roi este un robot autonom care isi poate mentine echilibrul pe cele dou roi ale sale. Acest principiu este asemanator pendulului invers. Pe parcursul ultimului deceniu, institutele de cercetare, companiile comerciale i pasionaii de robotica au fost inspirati in dezvoltarea i implementarea unui sistem de control pentru acest tip de robot si utilizarea lui n diferite aplicaii.

    In aceasta lucrare se prezinta construirea unui astfel de robot functional avand ca scop principal dezvoltarea performantelor sistemului precum si aplicatiile acestuia.

    Structura lucrarii pune in evidenta prezentarea etapelor premergatoare proiectului

    Pendulo Bot, descrierea comportamentului unui robot autonom, prezentarea componentelor

    functionale ale robotului cu autoechilibrare, a teoriilor luate in calcul, realizarea practica a

    proiectului si rezultatele experimentale.

    Un robot cu autoechilibrare pe dou roi ofer urmtoarele avantaje fata deplatformele cu trei sau mai multe roi:

    mobilitate mai ridicata, permite rotatia la punct fix;

    viteza mai mare datorita frecarii mici dintre cele doua roti si suprafata de rulare;

    design structural simplu;

    toleranta la anumiti factori perturbatori;

    stabilitate crescuta pe suprafete inclinate sau pante.

  • 5

    1. Experiene premergtoare proiectului Pendulo Bot

    1.1. Proiecte analogice

    Domeniul electronicii a reprezentat o pasiune pentru mine intotdeauna si imi doream

    tot timpul sa realizez inventii si proiecte noi. Tocmai de aceea am fost sprijinit in sensul

    acesta si am pornit pe acest drum prin inscrierea la Cercul de Electronica de la Palatul

    Copiilor. Acolo am invatat o multime de lucruri noi, acumuland experienta si participand la

    concursuri de electronica judetene, interjudetene si nationale, in anul 1999 obtinand Locul 2 la

    Concursul National de Electronica de la Poiana Pinului.

    Dupa aceea am inceput sa realizez proiecte si montaje electronice care imi erau utile la

    vremea respectiva. Astfel am realizat sonerii muzicale, alarma cu fascicul Laser, comanda la

    distanta cu Laser, emitatoare de radiofrecventa, incuietoare automata cu cifru, comanda cu

    senzor de atingere, amplificatoare audio cu protectie la iesire si soft-start, mixere audio,

    redresor pentru incarcat baterii auto si multe altele, toate aceste montaje fiind realizate cu

    ajutorul componentelor analogice.

    1.2. Trecerea la digital

    Odata cu ajungerea la facultate am dobandit cunostinte noi legate de domeniul

    electronic si am realizat noi proiecte atat cu componente analogice cat si digitale. Astfel am

    realizat mai multe proiecte cu microcontrollere.

    1.2.1. Tahometru

    Fig. 1. Tahometru - numaratoare

    Acest proiect l-am realizat avand nevoie de un tahometru atunci cand bobinam

    transformatoare, pentru a retine numarul de infasurari. Aceasta numaratoare am conectat-o la

    dispozitivul de bobinat realizat dintr-un motor de stergator de parbriz caruia i-am sudat un ax

  • 6

    pe care venea prinsa carcasa transformatorului. Acest motor avea doua lamele care faceau

    contact la o rotatie completa a motorului (fiind indicatorul de capat de cursa la stergator) si

    doua viteze de rotatie.

    Pentru realizarea cablajului imprimat am incercat o metoda noua, aceea de a realiza

    schema pe calculator, in Proteus si de a o scoate la o imprimanta Laser apoi urmand sa o

    imprim cu fierul de calcat pe placuta. Bineinteles ca acesta nu mi-a reusit din prima, ci din a

    3-a incercare deoarece erau trasee foarte apropiate pentru a fi cat mai compact. Pentru

    realizare am ales microcontrollerul ATTINY2313 si in cadrul montajului acesta avea 3

    comenzi: incrementare, decrementare si reset. Afisarea era pe 4 digiti multiplexati si

    decodificati din binar in zecimal cu un circuit CD4543.

    1.2.2. Matricea de LED-uri

    Fig. 2. Matrice LED-uri

    Ulterior am realizat o matrice de LED-uri pe care am reusit sa afisez pseudonimul meu

    tot cu ajutorul unui ATTINY2313, dar am conectat un soclu si pentru

    ATMEGA16/ATMEGA32. Aceasta are o rezolutie de 28x5, iar pentru realizarea acestui

    proiect am efectuat peste 2000 de lipituri. De acesta data am utilizat cablaj de test pentru

    suportul componentelor deoarece realizarea unui cablaj specific necesita foarte mult timp si

    munca. Pentru a realiza afisarea am utilizat shift-registers pentru incarcarea bitilor deoarece

    nu aveam suficienti pini de iesire, ATTINY2313 avand doar 20 de pini. Astfel am incarcat

    bitii de pe o linie in cei 4 shift-registers, cate 4 o data pentru a fi cat mai rapid, iar dupa

    incarcare am dat comanda de afisare si am aprins linia respectiva. Deoarece shift-registrii nu

    aveau suficienta putere (cativa mA) a trebuit sa utilizez drivere de curent pentru aprinderea

    LED-urilor pe coloana, iar pe linie aprinderea am realizat-o cu ajutorul MOSFET-urilor

    IRF540, multiplexarea fiind facuta pe linie adica este aprinsa o singura linie la un moment

    dat, liniile fiind aprinse succesiv cu viteza foarte mare. Pentru alimentarea microcontrollerului

    am utilizat sursa L7805. Pr