|
Miniroboti - Modalitati de realizare a comenzilor
1. Modele de actionare
1.1. Pendulul invers
In acest subcapitol sunt prezentate principiile fundamentale ale unui pendulul invers. Acest domeniu acopera mai multe aspecte, cum ar fi cel fizic, electric si matematic. Pendulul invers este un experiment clasic care este des utilizat in teoria sistemelor de control. Acest experiment particular este unul dintr-o serie de experimente ale miscarii liniare dezvoltat cu ajutorul Quanser-ului.
Cu ajutorul experimentului pendului invers se pot demonstra multi algoritmi software de control pentru a conduce comportamentul componentelor hardware externe. In acest experiment se considera doua componente hardware: un carucior si o tija pendul.
Caruciorul este montat pe un o sina si echipat cu un motor de curent continuu. Acesta angreneaza sina prin doua angrenaje dintate si cu pinioane. Un angrenaj angreneaza motorul pe sina si dirijeaza caruciorul. Celalalt angrenaj contine un potentiometru care masoara pozitia caruciorului pe sina. Motorul primeste o tensiune de intrare de la o sursa de putere. In timp ce amplitudinea tensiunii controleaza viteza de miscare a caruciorului, semnul tensiunii seteaza directia acestuia. Tija pendul este montata pe carucior printr-un potentiometru cu o axa de rotatie care este perpendiculara pe carucior. Potentiometru masoara ungiul tije relativ cu axa verticala.
Fig 1.1. Pendulul invers
Sistemul va functiona ca o persoana care incearca sa mentina o bara in pozitia verticala pe palma mainii sale. Diferenta consta in faptul ca bara este intr-un spatiu tridimensional, in timp ce pendulul este intr-un spatiu liniar. Atunci cand tija se misca intr-o directie, algoritmul de control va incerca sa miste caruciorul tot in acea directie. Este evident faptul ca, deoarece pendulul continua sa se balanseze atunci cand caruciorul se misca, este necesar ca acesta sa urmareasca pozitia tijei. Pentru furnizarea pozitiei caruciorului si a tijei se pot folosi potentiometre. Algoritmul va primi aceste intrari si va decide ce traiectorie trebuie sa urmeze caruciorul si cat de repede sa se miste acesta.
Termenul de "stare sigura" este utilizat pentru a caracteriza starea fizica a experimentului. Intelesul acestei expresii aplicata pendulului invers este definita de orice pozitie a combinatiei carucior si pendul in care controlerul poate mentine pendulul intr-o pozitie verticala. In acest caz, pozitia este decrisa ca un moment de timp al sistemului care include unghiul si viteza unghiulara a pendulului, precum si pozitia si viteza liniara a caruciorului. Evident ca exista situatii in care controlerul nu poate mentine pendulul in pozitia verticala, iar acest fapt denota o stare incerta. De exemplu, unghiul pendulului poate depasi limita maxima sau caruciorul depaseste sina disponibila. Chiar daca aceste fluctuatii sunt prezente la pendul, o stare sigura este mentinuta atata timp cat controlerul poate pastra pozitia verticala a pendulului.
1.1.1. Miscarea de rotatie a pendulului invers
Descrierea sistemului
Pendulul invers cu miscare de rotatie contine un sistem de motor de rotatie (SRV-02) care conduce un angrenaj de iesire independent care este prevazut cu un potentiometru. Bratul rotativ al pendulului este montat la iesirea angrenajului. Pe terminalul bratului pendulului este o articulatie care contine un encoder. Pendulul este atasat acestei articulatii.
Fig 1.2. Mecanismul SRV 02
Potentiometrul masoara rotatia bratului, in timp ce encoderul masoara rotatia pendulului. Potentiometrul nu are opriri fizice, dar masurarea are o discontinuitate. Domeniul maxim care poate fi masurat cu potentiometru este de 352 de grade. Pe de alta parte, unghiul pendulului este masurat cu ajutorul encoderului, astfel incat rotirile care pot fi masurate sunt efectiv nelimitate.
Scopul acestui experiment este de a proiecta un controler care sa porneasca atunci cand pendulul este pozitionat in jos, sa il ridice si ss il mentina in aceasta pozitie.
Asamblarea
Acest experiment este realizat cu SRV-02 intr-o configuratie cu raport de transmisie a angrenajului mare, asa cum se poate vedea in figura urmatoare:
Fig 1. Configuratia cu raport de transmisie mare
Se ataseaza bratul pendulului la angrenajul central al SRV-02 utilizand doua suruburi de alama.
Calibrarea
Se detaseaza setul de suruburi de angrenajul cu potentiometru al SRV-02, asa cum se vede in figura de mai sus. Se cupleaza cu un cablu cu sase pini SRV-02 cu cutia Qiuck etichetata S1&S2. Se porneste modulul de putere si se masoara tensiunea la postul S1 relativ cu terminalul solului. Aceasta este tensiunea potentiometrului. Se roteste bratul pendulului astfel incat sa se atinga masura de zero a SRV-02.
Utilizand o surubelnita micuta, se roteste axul potentiometrului in timp ce bratul ramane pozitionat pe pozitia de zero si se masoara tensiunea pe S1. Se ajusteaza pozitia axului potentiometrului astfel incat atunci cand armul este pe pozitia de zero, tensiunea masurata sa fie in jur de zero volti (± 0,1 V). De mentionat ca acest lucru se poate intalni in doua pozitii.
Fig 1.4. Calibrarea sistemului
Una dintre ele este gresita: se poate masura zero volti fie atunci cand cursorul potentiometrului este la mijlocul domeniului, lucru care este corect, fie atunci cand cursorul nu atinge nimic. Pentru a fi sigur ca se atinge voltajul zero corect, se roteste putin spre stanga si dreapta pentru a asigura o masurare continua. Nu trebuie depasite tensiuni de +5 sau -5 volti. La tensiunea zero se fixeaza setul de suruburi. In acest moment, sistemul este calibrat.
Montarea
Se monteaza sistemul pe o platforma fixa astfel incat pendulul sa se balanseze in fata fara a avea vreo colezoiune cu nici un obiect. Se ataseaza SRV-02 pe platforma utilizand o clama C care poate fi obtinuta din orice rest hardware.
Testarea
Testarea fizica a experimentului cu pendulul invers se bazeaza pe codul Quanser-ului care contine un astfel de experiment. In implementarea acestuia, exista doi algoritmi de control, un controler al sinusoidei si un controler al pasului patratic. Utilizatorul poate sa configureze sistemul de operare utilizand doar unul din aceste controlere sau sa alterneze cele doua. Mai mult, unul poate manipula mai multe intrari ale sistemului ca efect al operatiei experimentului incluzand frecventa de esantionare, viteza pantei, si pozitia zero a caruciorului si pendulului. Cei doi algoritmi de control utilizati au fost manipulati si experimentati pentru a studia eficacitatea in mentinerea pendului intr-o stare sigura, si s-a observat ca primul algoritm este capabil sa recupereze si sa mentina mai bine starea sigura in pozitie verticala a pendulului, in timp ce cel de-al doilea este capabil sa realizeze aceleasi lucruri, dar nu este asa rapid ca primul. Introducerea unei erori integrale in formula creaza mai multe perturbatii ale pendulului in ambele cazuri.
Pentru comincarea cu hardware-ul sistemului, pendulul si caruciorul transmit fiecare cate o intrare la controler, cum ar fi unhgiul si respectiv pozitia. Controlerul utilizeaza aceste date pentru a determina miscarea viitoare a caruciorului astfel incat acesta sa mentina pozitia verticala a pendulului, prin transmiterea unei tensiuni la motorul caruciorului astfel incat acesta sa se miste in maniera necesara.
Experimentul cu pendulul invers demonstreaza a fi un veritabil instrument pentru testarea algoritmilor de control in mediul de laborator. Multe dintre cele mentionate aicinu sunt foarte dificile de inteles, in special atunci cand acestea sunt demonstrate prin vederea experimentului in actiune. Obtinerea reprezentarii matematice pot fi logic obtinute prin ecuatii simple din fizica si teoria controlului. Prin intelegerea logica a controlerelor, utilizatorii le pot imbunatatii sau chiar sa dezvolte altele noi.
1.2. Controlul automatizat a unui pendul invers
In cele ce urmeaza se va propune simularea si implementarea unui control automatizat al unui pendul invers cu o singura legatura cu unu sau doua grade de libertate. Problema pendulului invesat consta in balansarea unei tije cu o greutate pozitionata in partea superioara reprezentand un sistem instabil, dinamic si puternic neliniar. Rezolvarea acestei probleme consta in identificarea parametrilor sistemului static, parametrilor inversi si dezvoltarea unui model al controlerului.
In continuare se prezinta o propunere de proiectare, construire si testare a unei platforme fizice care contine un sistem de pozitionare XY care sa sustina tijea in sus cu doua grade de libertate, senzori pentru feedback, un controler si o interfata hardware. Aparatura propusa are versatilitate si potential pentru a fi utilizata pentru a explora mai multe varietati ale problemei pendulului invers. De exemplu, prin acest lucru se poate compara diferiti algoritmi care rezolva aceasta problema, variatia parametrilor cum ar fi lungimea tijei, numarul de legaturi ale tijei si numarul gradelor de libertate ale fiecarei legaturi. De asemenea se poate utiliza ipentru a scoate in evidenta limitarilor care apar intr-o solutie teoretica, fata de cea fizica.
Prin intermediul acestui studiu se urmareste intelegerea clara a principiilor de baza a teoriei controlului neliniar si subtilitatile controlului digital. Cunostintele in aceste domenii au numeroase si directe aplicatii in robotica, reabilitate medicala, proiectarea protezelor, controlul rachetelor si multe altele. Mai mult, echipa noastra de cercetare este motivata in implementarea unui astfel de sistem ca un potential instrument de cercetare in laboratorului de teorie a controlului din cadrul Universitatii din Craiova.
Platforma cu un singur grad de libertate
Platforma pendul invers cu un singur grad de libertate contine o sina dintata care este utilizata de un motoras care propulseaza lateral pendulul. Pozitia unghiulara a pendulului este sesizata printr-un potentiometru, care este mentat direct pe axa de suport a pendulului la baza acestuia. Pozitia laterala a bazei pendulului este sesizata printr-un potentiometru similar atasat motorasului. Specificatiile platformei cu un singur grad de libertate sunt prezentate in tabelul urmator:
Tabel 1.1
Platforma cu doua grade de libertate
Proiectarea sistemului de pozitionare este ilustrata schematic in figura care urmeaza:
Fig 1.5. Sistemul de pozitionare
Acesta contine un sistem de doua sine ortogonale. Baza pendulului utilizeaza o articulatie universala similara cu cea din figura de mai jos:
Fig 1.6. Articulatie universala
Acesta proiectare permite pendulului sa se miste liber in doua directii independente, si faciliteaza masurarea cu acuratete a pozitiei unghiulare a pendulului in ambele directii. Pozitia unghiulara poate fi masurata de un potentiometru atasat direct de fiecare terminal al axelor bazei. Pentru miscarea bazei in planul XY se pot utiliza motorasele pas cu pas. Pozitia bazei se va determina prin contorizarea numarului de impulsuri emise de motorasele pas cu pas. In figura care urmeaza este reprezentat schematic un sistem de control complet:
Fig 1.7. Reperezentarea schematica a sistemului pendul invers
Mecanismul de conducere
Pentru balansul pendulului pe doua grade de libertate, platforma cu doua grade de libertate trebuie sa fie capabila sa mentina aceeasi acceleratie si viteza a bazei ca si la platforma cu un grad de libertate. Pentru a estima torul necesar al motorasului pentru a atinge aceste acceleratii este necesara estimarea greutatii componentelor mobile ale platformei. Dupa consultarea mai multor cataloage, s-a estimat ca masa bazei, pendulului si sina superioara nu trebuie sa depaseasca 1,5 kg. Pentru a accelera aceasta masa cu 3 m/s este necesara o forta laterala de 4,5 N generata de un tor aproximativ egal cu 20 Nmm.
Miscarea laterala a bazei pendulului se obtine utilizand motorase pas cu pas care vor actiona direct sinele ortogonale. Viteza maxima necesara pentru balansul pendulului nu trebuie sa depaseasca 1,3 m/s, ca si in cazul platformei cu un grad de libertate. sub aceste conditii, este necesar ca motorasele sa execute 52 de rotatii/sec. Un motoras cu rezolutia de 150 per pas necesita o ratie minima a pasului de 1248 pasi/sec. Aceasta rezolutie furnizeaza suficienta infurmatie despre localizarea bazei, care se misca lateral cu 1,06 mm per pas.
Pozitia unghiulara a pendulului este mult mai importanta pentru informatia de feedback utilizata de controler. Pentru un control reusit este necesara o rezolutie unghiulara de 0,50. Se considera doua optiuni de senzori unghiulari: cititoare optice si potentiometre, ambele putand fi montate direct pe axa de rotatie a articulatiei universale care formeaza baza. Datorita costurilor, varianta optima este cea de utilizare a potentiometrelor. Se poate utiliza un potentiometru de 352 de grade, care are o rezolutie de rotatie de 0,340 pe intervalul de cuantificare. Semnalul la ratia de zgomot a acestui senzor poate fi imbunatatita prin suplimentarea unei scale largi a tensiunii potentiometrului.
Controler
Acest controler va fi implementat in Simulink pe un PC P3 cu procesor de 1,1 GHz. Un controler similar a fost implementat utilizand un procesor 386 demostrand ca aceasta alegere este adecvata. S-a raportat ca raspunsul in timp a controlerului nu ar trebui sa depaseasca aproximativ 2,56 ms. De aceea, semnalul de intrare trebuie sa fie discretizat, digitizat, procesat, iar semnalul de iesire trebuie sa fie generat in aceasta perioada.
Tabel 1.2
Interfata controler-motor
Intefata controler-motor va necesita ca semnalele de control de la PC sa fie dirijate catre motoarele pas cu pas, iar pozitia unghiulara analogica sa fie dirijata catre PC dupa conversia analog/digitala. Acest lucru poate fi efectuat de un modul de convertire analog/digitala cu o perioada de esantionare de 20μs. S-ar putea sa fie necesar ca iesirea modulului digital sa fie convertita intr-o secventa de pasi adecvata ca intrare a motoarelor. Tabelul urmator prezinta toate specificatiile mentionate mai sus:
1. Pendulul invers bidimensional
Asamblul robotului bidimensional si montarea dispozitivului de fixare este prezentata in urmatoarea figura:
Fig 1.8. Pendulul invers bidimensional
Pentru acest caz este de remarcat directia conectorilor. Cu aceste conexiuni, conectorii plasati in partea superioara primesc masuratori de la potentiometrele plasate pe dispozitivul de fixare care este conectat pe directia axelor X.
Scopul acestui experiment este de a proiecta un controler care sa stabilizeze pendulul pe directia verticala si sa mentina legaturile robotului bidimensional aproape de pozitia de zero.
Modelul in bucla deschisa
Chiar daca se poate obtine un model neliniar complet, se poate dezvolta un controler simplu in care se poate presupune ca cele doua axe ale pendulului sunt axe decuplate.
Aceasta inseamna ca se presupune ca sistemul nu va devia prea mult fata de pozitia de zero, care ar cauza cuplarea celor doua axe. De asemenea, se va presupune ca motorasul X va controla pendulul numai pe directia X, in timp ce motorasul Y va controla pendulul pe directia Y. Aceasta presupunere este adevarata numai in cazul unghiurilor mici.
Modelul este obtinut utilizand formularea Lagrange. Aceasta metoda este utilizata pentru determinarea energiei cinetice si cea potentiala ale sistemului. Dupa determinarea ecuatiilor dinamice se poate obtine un model linear utilizand liniarizarea in jurul punctului de repaus.
Odata modelul liniar obtinut, se pot substitui parametrii sistemului si se poate obtine un model liniar in jurul punctului de repaus.
Asamblul sistemului si descrierea cuplarii sunt prezentate in figura de mai jos:
Tabel 1.3
Fig 1.9. Ansamblul sistemului
Controlerul este implementat utilizand WinCon si Simulink. Unghiurile pendulului sunt masurate utilizand doua canale analogice. Acest lucru va asigura ca unghiul zero este masurat cu erori minime atunci cand se porneste controlerul. De notat faptul ca, controlerul trebuie sa inceapa cu bratele in pozitia de zero, iar pendulul trebuie sa fie mentinut in sus.
a)
b)
Fig 1.10. a) si b) Cuplarea la Quanser
Fig 1.11. Reprezentarea controlerului
Fiecare motoras este controlat independent datorita proiectarii controlerului ca fiind unul decuplat. Ecuatiile inverse pentru fiecare motoras sunt:
Vx=-KX
Vy=-KY
Fig 1.12. Bucla de control
1.4. SRV03- Mecanism de rotire prin conducere directa cu glisare
SRV03 este un modul ce contine un motoras de rotatie cu conducere directa care este echipat cu un inel de glisare la iesire. Modulele care se pot atasa pot fi de tip encoder sau potentiometre. Numai semnalele de la encodere pot fi directionate prin inelul de glisare. Toate modulele de pe SRV02 si SRV02-E pot fi utilizate in conjunctie cu SRV0
SRV03 este dirijata printr-un amplificator UPM-2415-PWM care este disponibil utilizand butonul de pe comanda.
Fig 1.1 SRV 03
Conectarea sistemului este prezentata in figura urmatoare:
Fig 1.14. Conectarea sistemului intreg
Utilizarea SRV03 pentru modulul pendulului invers
Modulul pendulului invers este prezentata in figura urmatoare:
Fig 1.15. Modulul pendul invers
Prin atasarea modulului la placa de iesire SRV03 se poate realiza un experiment al carui obiectiv este de a balansa pendulul pe directia verticala si de a-l mensine pe aceasta directie.
Asamblu si conectarea
Se monteaza bratul pendului la placa de iesire a SRV-03 fixand cele 2 suruburi. Fixati baza SRV-03 la baza albastra de suport. Se fixeaza baza albastra pe o platforma.
Fig 1.16. Fixarea SRV03 pe o platforma fixa
Fig 1.17. Sistemul pendul
Se ataseaza un cablu scurt cu 5 pini de la conectorul encoderului la conectorul encoderului etichetat A montat pe inelul de glisare. Se ataseaza un cablu de la encoderul A de pe baza SRV03 la canalul encoderului #1 de pe terminalul MultiQ. Se monteaza sistemul pe o platforma fixa astfel incat pendulul sa se balanseze in fata si sa nu existe coleziuni cu nici un obiect in timpul balansului. Se fixeaza placa bazei pe platforma utilizand un fixator C care poate fi obtinut din orice rezerva hard.
Fig 1.18. Cuplarea sistemului pendul
Proiectarea sistemului de control
Controlerul contine doua parti importante. Una este controlerul de ridicare, in timp ce cea de-a doua este controlerul de balans. Controlerul de ridicare va oscila bratul pana cand acesta atinge o energie suficienta in pendul care este aproape ridicat moment in care controlerul de balans se activeaza si este utilizat pentru a mentine pendulul pe directie verticala.
Fig 1.19. Balansul pendulului: jos-sus (stanga) si sus-sus (dreapta)
Controlul pentru ridicare va controla in special pozitia bratului pentru a destabiliza pozitia in jos. Controlerul de balans jos-sus cat si cel sus-sus este un controler de stare pe reactie proiectat utilizand LQR pe sistemul la care s-a adaugat un integrator pentru a compensa erorile de stare incerte.
1.5. Platforma "QUANSER ROTARY SERIES OF EXPERIMENTS"
Seria de platforme experimentale oferita de Quanser pentru studiul elementelor de rotatie cuprinde: elemente de actionare de tipul servomotoarelor de curent continuu, diverse articulatii sau legaturi flexibile, precum si diverse solutii pentru studiul pendulului invers. In continuare se vor prezenta succint echipamentele utlizate pentru studiul experimental al acestor sisteme discutandu-se despre modulul de alimentare, "Universal Power Module" (UPM) oferit de Quanser, despre sistemul de actionare de tip servomotor de curent continuu din componenta sistemelor analizate din aceasta serie, precum si de interfata DS1104 Quanser.
Modulul de alimentare "Universal Power Module" (UPM)
Acest modul este prezentat in figura care urmeaza in care se pot identifica:
Fig 1.20. Modul de putere universal
Zona "From Analog Sensors": aceasta zona contine bornele de conectare ale intrarilor de la senzori (potentiometre, tahometre sau oricare alt tip de traductoare) ce transforma practic o marime fizica (unghi sau temperatura) intr-un semnal de tensiune. Pentru a concenta UPM-2405 la sistemul experimental se utilizeaza cabluri Mini Din pe 6 pini. Cablul prezentat in centrul figurii este denumit "analog sensor canble". Idea generala a acestor puncte de conexiune este aceea de a prelua semnalele si de a le conecta intern la conectorii intrarilor analogice, ale "To A/D". Acest modul dispune doar de 4 intrari de la senzori analogici (S1-S2) si astfel de 4 intrari analogice.
Zona "To A/D": Acest conector utilizeaza cabluri tip 5 Pin Din-stereo/ 4xRCA pentru a conecta cele 4 intrari analogice la card-ul dSPACE. Terminatia de tip RCA a cablului se conecteaza la placa de achizitii de date, in timp ce terminatia de tip 5 Pin Din-stereo a cablului se conecteaza la modulul de alimentare.
Zona "From D/A": Acest conector utilizeaza cabluri de tip 5 Pin Din-mono/RCA pentru a conecta o singura iesire analogica la cardul dSPACE. Similar terminatia de tip RCA a cablului se conecteaza la placa de achizitii de date, in timp ce terminatia de tip 5 Pin Din-mono a cablului se conecteaza la modulul de alimentare.
Zona "To Load": Aceasta borna utilizeaza cabluri 6pin DIN/ 4pin DIN, si conecteaza un amplificator de pe modul cu actuatorul (sistemul de achitionare) al elementului studiat. Deasemenea prin aceasta conexiune se alimenteaza si se transfera intrarea de control analogica sistemului.
Tensiunea de alimentare furnizata de modul UPM-2405 este de aproximativ 12V.
Interfata Quanser DS1104
Interfata Quanser DS1104 este prezentata in figura de mai jos si prezinta urmatoarele caracteristici:
Fig 1.21. Interfata Quanser DS1104
8 intrari analogice (in partea de stanga sus a figurii)
8 iesiri analogice (in partea de dreapta sus a figurii)
20 de porturi I/O
De asemenea, in mijloc, in partea stanga a figurii, se pot observa doi conectori de 5 pini si alti doi conectori. Acestia sunt pentru encoderi. In cazul uitlizarii unui Quanser conectarea directa la encoderi se face utilizand cablurile cu 5 pini. Encodurii sunt encoderi care genereaza doua unde patratice care sunt cu 90 de grade in afara fazei. Cele doua semnale (A si B) sunt conectate la un numarator care contorizeaza tranzitia intre semnale. In acest caz, un encoder care genereaza 1000 de impulsuri per rotatie va genera 4000 de numarari per rotatie.
In partea dreapta a figurii in mijloc, exista 2 conectori SCSI 3, notati cu P1A si P1B, utilizati pentru interfata dintre DS1104 cu cardul de date dSPACE.
In final, in partea de jos a figurii, doua mufe, una pentru iesirile PWM, iar celalta pentru PWM in 3 faze. Alte doua, etichetate cu J6 si J7 sunt utilizate pentru SPI/Capture si respectiv RS-232.
Conexiunile motorului de curent continuu
In figura care urmeaza este prezentat modul de conectare a sistemului motor de curent continuu utilizat pentru "seriile de rotatie" a Quanserului. "Seriile de rotatie" sunt SRV-02ET.
Fig 1.22. SRV-02ET
Descrierea acestui motor se poate gasi pe internet la pagina http://www.quanser.com/:
Se monteaza un motor de curent continuu de inalta calitate intr-un cadru solid de aluminiu. Motor conduce un angrenaj Swiss 14:1 ale carei iesiri conduc un angrenaj extern. Angrenajul motorului dirijeaza un mecanism atasat la o bara independenta la iesire care se roteste intr-un bloc de tip bila de aluminiu. Bara de la iesire este echipata cu un encoder. Cel de-al doilea angrenaj de pe bara conduce un mecanism fara bataie cuplat la un potentiometru de precizie. Potentiometru este utilizat pentru masurarea unghiului de iesire. Raportul mecanismului externn poate fi modificat de la 1:1 la 5:1 utilizand angrnaje diferite. Sistemul sustine doua sarcini inertiale pentru a examina efectul modificarii inertiei in cazul msurarii performantei in bucla inchisa. Cadrul patratic permite montaje care sa se rotesca in jurul axei verticale sau orizontale.
Asa cum se poate vedea in figura care urmeaza, pentru cuplarea SRV-02ET exista 5 conectori in partea din spate a motorului. De asemenea, exista trei categorii de senzori: potentiometru care poate masura pe doua cai, encoder care are conectori cu 5 pini si tahometru care are conectori cu 6 mini pini. Pentru masurarea vitezei sistemului se va uitliza tahometru, iar pentru pozitie se va utiliza encoderul deoarece are o mai mare precizie decat potentiometrul. Tahometrul trebuie sa fie cuplat direct la modul de putere universal utilizand cabluri de senzori analogici, iar encoderul trebuie cuplat la cardul de interfata DS1104.
Fig 1.2 SRV-02ET
Motorul poate fi utilizat in doua configuratii: una cu raport de transmisie al angrenajului mic atunci cand este utilizat in experimente de control al pozitiei, si una cu raport de transmisie mare atunci cand se cupleaza alte elemente, cum ar fi, articulatie, pendul, etc. aceste doua configuratii sunt prezentate in figurile care urmeaza.
Fig 1.24. Configuratia cu raport de transmisie mic
Fig 1.25. Configuratia cu raport de transmisie mare
1.6. Studiu experimental al unui sistem actionat cu actuatori cu memoria formei
Practic comportamentul SMA coincide situatiilor in care nu se poate elabora un model matematic prin metode analitice, datorita faptului ca nu se cunosc anumiti coeficienti de dependenta ce apar in ecuatiile de stare sau elaborarea modelului este extrem de dificila. In acest caz se utilizeaza metode analitico-experimentale bazate pe raspunsul sistemului la semnale tipice (trepta, rampa, semnale periodice), aproximarea functiei de transfer avand forme tipice pe baza raspunsului.
In literatura de specialitate exista diverse solutii privind controlul sistemelor actionate cu materiale cu memoria formei, dinamica neliniaritatile caracteristice unor astfel de sisteme fiind tratate atat prin tehnici conventionale cat si neconventionale. Experimentele si testarea solutiilor propuse sunt realizate atat in bucla deschisa cat si bucla inchisa.
Sinteza unor controlere pentru reglarea sistemelor neliniare necesita in general un model precis. In absenta unui astfel de model o etapa esentiala in obtinerea ulterioara a unui control adecvat este aceea de determinare a caracteristicilor sistemului. In practica, este probabil ca adesea intrarea in modelul de histerezis sa nu fie accesibila, si astfel iesirea poate fi "ascunsa" intr-o oarecare masura.
Experimentele in bucla deschisa in domeniul timp au fost realizate cu scopul de a determina proprietatile intrinseci ale actuatorului. Dupa anumite investigari si simulari suplimentare s-a concluzionat faptul ca pentru a explica rezultatele raportate, nu este necesar sa se considere in toata complexitatea lor problemele ridicate de modelarea si determinarea histerezisului prezent in comportamentul actuatorului SMA, iar sistemul de condus este redus si aproximat ca un sistem de ordinul I, in care media dintre constanta de timp in faza de incalzire si constanta de timp in faza de racire a actuatorului este considerata a fi paramentru incert.
Timpul de raspuns al sistemelor actionate cu actuatori cu memoria formei depinde puternic de transferul de caldura, care poate fi ajustat in functie de curentul de intrare. Cu cat curentul aplicat este mai mare, temperatura creste mai rapid, si implicit raspunsul devine mai rapid. Dupa ce aliajul atinge temperatura de start a starii austenita, acesta are un comportament liniar. Acest efect in anumite abordari din literatura este aproximat ca un timp de intarziere.
Viteza de contractie a actuatorului este pe de alta parte dependenta si de restrictiile impuse valorilor curentului aplicat pentru incalzire in scopul evitarii pierderii proprietatilor firului sau chiar distrugerii acestuia. Viteza de relaxare este si aceasta constransa sever de rata de racire.
Pentru protectia firului s-a determinat un curent de iesire de 1.8 Amp, iar valorile marimilor implicate in procesul de control au fost determinate proportional cu aceasta valoare maxima. Curentul de comanda este furnizat de catre un amplificator de curent controlat in tensiune emis de sursa dipozitivului Quanser utilizat pentru interfatarea sistemului real cu mediul de comanda simulink.
Timpul de raspuns al actuatorului SMA reprezinta o caracteristica critica necesitand o analiza atenta si optimizare in vederea crearii unor aplicatii competitive.
Metodologia si tehnicile utilizate echipamente, software
Daca in paragrafele anterioare s-au prezentat si detaliat pe larg aspecte legate de metodologia si tehnicile ce vor utilizate in lucrare in aceata sectiune se vor descrie aspectele legate de intrumentatia, echipamentele si software-ul utilizat.
Sistemul simplu (o singura cupla de rotatie actionata cu un fir de SMA) ales pentru studiul experimental este totusi relevant in domeniul aplicatiilor robotice. Un astfel de sistem poate fi intalnit atat in componenta bratului robotilor atropomorfici sau tentaculari, in cofiguratiile anumitor tipuri de maini robotice (interfalange) cat si in structura piciorului anumitor roboti pasitori.
Actionarea acestui sistem este realizata de un piston electric de tipul celui din figura unrmatoare elementul principal fiind constituit dintr-un resort cu memoria formei.
Fig 1.26.
Studiul experimental pentru actuatorul SMA se va realiza pe un sistem constituit din:
Fig 1.27.
Fig 1.28.
Fig 1.29.
Studiul experimental al elementului de actionare cu memoria formei va fi realizat de asemenea prin integrarea unei serii de astfel de elemente intr-o structura hiperredundanta. Configuratia mecanica tentaculara utilizata pentru studiul si testarea rezultatelor teoretice este propusa si dezvoltata in cadrul Laboratorului de Robotica al Facultatii de Automatica, Calculatoare si Electronica.
In figura care urmeaza este prezentat modelul bratului tentacular cu actuatori SMA. Modelul propus are un desing extrem de simplu constand intr-o tija rigida cu rol de "coloana vertebrala" ce asigura deformarea manipulatorului.
Fig 1.30.
Bratul hiperredundant este un mecanism discret constituit dintr-o serie de elemente rigide, fiecare asigurand 2 grade de libertate. Actuatorii SMA sunt dispusi astfel incat sa asigure cele doua grade de libertate dar si rigiditatea structurii (platformele superioare sunt prevazute cu cate trei actuatori SMA in fiecare locatie in timp ce pentru cele inferioare este prevazut cate un singur actuator SMA per locatie). Pentru fiecare actuator rotatia este masurata prin traductoare rezistive.
Modelul matematic al actuatorului cu SMA
Actuatorul utilizat are ca element principal un arc de SMA, prezentat structural in figura de mai sus.
Structura particulara a robotului solicita cerinte constructive speciale:
Sarcina aplicata la o unitate particulara, este crescuta prin greutatea unitatilor inferioare, motiv pentru care fiecare unitate are un parametru individual ca; diametrele arcurilor de SMA, diametrul arcului interior si exterior, numarul de spire, lungime, sarcina aplicata, sarcina eliminata. Relatiile utilizate pentru evidentierea acestor parametrii sunt:
d - diametrul firului, - factorul de corectie Whal, - stresul maxim de taiere, - forta extinsa prin arc (forta necesara)
- numarul de spire, - diferenta dintre incordarile de taiere la temperatura joasa si ridicata, - cursa necesara pentru arc
- forta de revenire, - modulul de taiere la temperatura inalta, - modulul de taiere la temperatura joasa.
Calculul numeric este simplu si poate fi usor de integrat intr-un instrument de calcul al actuatorului cu memoria formei.
Activarea electrica a actuatorului de SMA impune relatiile urmatoare pentru curent, temperatura si timpul de raspuns:
- temperatura maxima, - diametru firului, - curentul electric, - forta necesara
- timpul de incalzire, - coeficientul de incalzire, - temperatura medie, - temperatura mediului ambiant, - temperatura bratului dupa incalzire
- timpul de racire, - temperatura initiala dupa racire, - temperatura mediului ambient, - diametrul firului, - temperatura de racire a bratului, - constanta de timp pentru racire, - temperatura de start a martensitei.
Se poate observa dependenta de timp atat a fortei cat si a incordarii necesare. Calculul electronic pentru incalzirea directa prin curent determina:
Primul necesar poate fi stabilit utilizand tabelele de descriere a materialului (Waram 1993).
Rezistenta este determinata utilizand expresiei urmatoare:
Tensiunea si puterea necesare rezulta din:
;
- curentul in amperi; - tensiunea in volti; - rezistenta in Ω.
In cazul utilizarii incalzirii prin modularea latimii impulsului, poate fi utilizata relatia urmatoare:
- latimea impulsului de curent constant, - timpul total al ciclului.
- puterea medie pulsata (puterea efectiva de curent continuu), - curentul impulsului aplicat, - tensiunea impulsului aplicat, - rezistenta electrica.
Determinarea caracteristicilor experimentale ale sistemului
Schema bloc pentru determinarea caracteristicilor experimentale ale sistemului cupla de rotatie actionata prin SMA este prezentata in figura urmatoare:
Fig 1.31.
Dupa cum s-a mentionat in paragrafele anterioare de prezentare a efectului materialelor cu memoria formei, aliajul din componenta actuatorului se poate gasi in doua faze depinzand esential de temperatura. In plus un fir cu memoria formei supus influentei unui stres, fie de natura elastica (resoarte dispuse antagonic actuatorului sma) fie de natura gravitationala (greutatea unei anumite sarcini sau incarcari) este capabil sa realizeze un deplasament (incordare) de revenire in timpul transformarii din faza martensita in faza austenita in procesul de incalzire. Utilizand aceasta proprietatea firul de SMA poate lucra sub sarcina in momentul in care este incalzit.
In scopul considerarii efectelor temperaturii si stresului asupra comportamentului materialului SMA, se poate defini faza de martensita a aliajului ca fiind constituita din doua componente:
- reprezinta componenta obtinuta sub actiunea pur termica (austenita martensita). Din puct de vedere mecanic, crearea starii martenisita doar sub efect pur termic nu produce o deformare (incordare) la nivel macroscopic,
- reprezinta asa-zisa faza martensita orientata determinata de o actiune mecanica externa (si anume un stress, forta, induse) si care corespunde obtinerii unei deformari la nivel macroscopic.
Experimental acest fapt se evidentiaza prin compararea raspunsurilor sistemului la semnal treapta unitara pentru cazurile cand articulatia de rotatie este actionata cu si fara sarcina figura a (caracteristica experimentala a sistemul cu SMA fara sarcina), cu evidentierea timpilor de contractie si de relaxare ai actuatorului figurile b. (detaliu timp de contractie) si. c. (detaliu timp de relaxare) respectiv.
a)
b) c)
Fig 1.32.
Semnale de intrare treapta similare au fost aplicate articulatiei actionate prin aliaj cu memoria formei supusa unei sarcini. Compararea graficele rezultate pentru acelasi semnal de intrare dar sarcini diferite ofera cateva informatii interesante. Figurile asi b prezinta alura raspunsului actuatorului la aplicarea semnalului treapta de 1.5 in faza de contractie (detaliu timp de contractie sarcina 0,15 Kg, detaliu timp de contractie sarcina 0,30 Kg) pentru doua conditii diferite de sarcina.
a) b)
Fig 1.3
Timpul de raspuns este semnificativ mai mic in situatia in care articulatia este sub sarcina, in conditiile in care unghiul descris este acelasi.
Semnalul treapta a fost mentinut pentru o scurta perioada de timp pentru a analiza situatia in care articulatia era fara sarcina. S-a observat in urma acestui fapt slabirea (imbatranirea) contractiei la caderea in zero a semnalului.
Dupa cum era de asteptat, contractia este mai semnificativa si mai rapida pentru greutate mai mica, iar deteriorarea (slabirea) contractiei pentru semnal 0 este mult mai lenta pentru sarcini usoare. Pentru acelasi semnal de intrare contractia incepe mai devreme in caz unor sarcini mai usoare.
Acest efect se poate explica prin imaginarea existentei in firul cu memoria formei a doua incordari antagonice la contractia sub sarcina. Exista o incordare negativa datorata efectului de memorie a formei si exista o tensionare pozitiva datorat elasticitatii.
Examinand dinamica experimentului, capatul liber al articulatiei incepe sa se roteasca cand tensiunea in actuator este echivalenta cu greutatea sarcinii. Pana cand acest punct de echilibru nu este atins cele doua tipuri de incordari descrise anterior tind sa se anuleze.
Astfel o sarcina mai mare, necesita o tensionare datorata memorie formei mai mare pentru a anula deformarea elastica. Ca rezultat, apare o intarziere mai mare inainte ca sarcina sa fie manipulata.
In figura care urmeaza sunt prezentate caracteristicile experimentale ale sistemului cu sarcina semnal treapta 1,5 descrestere in 0.
Fig 1.34
Analizand rezultatele experimentale se pot sublinia urmatoarele observatii:
Conditiile de transfer de temperatura cu mediul ambiant pentru actuatorul SMA afecteaza esential timpul de racire al acestuia. Timpul de raspuns descreste in momentul cresterii temperaturii sub influenta curentului electric. Cu cat intensitatea curentului electric este mai mare, scade si influenta mediului extern asupra timpului de incalzire si asupra energiei electrice consummate de dispozitivul SMA in faza de incalzire.
Temperatura ambianta afecteaza de fapt, atat timpii de racire cat si cei de incalzire pentru firul de SMA. De notat ca aceasta poate reprezenta un dezavantaj major in cazul in care aplicatiile se desfasoara in mediu natural unde temperatura ambianta poate varia intre -40 si +40 de grade Celsius, avand in vedere ca actionarea cu SMA trebuie sa garanteze stabilitatea unei supraincarcari sau asigurarea mentinerii proprietatilor firului. Evident, un mediu ambiant cu o temperatura mai ridicata necesita un timp mult mai scurt pentru initierea actionarii, dar in acest caz timpul de raspuns de revenire creste in mod drastic.
In faza de inceput a contractiei apare fenomenul de frecare uscata, actuatorul SMA atingand temperatura de actionare intr-o anumita perioada de timp, rezultand astfel o intarziere. Valori mari ale semnalului trepta determina o incalzire mai rapida si implicit timpul de intarziere al raspunsului sistemului se micsoreaza.
Se poate atinge un regim stationar rezonabil stabil atat in faza de contractie cat si in cea de relaxare.
In faza de deviere maxima se observa caracteristicile unui sistem aproximativ liniar de ordinul I.
Se observa deasemenea un fenomen de saturare pentru valori mari ale semnalului treapta. Si evident cand se opereza in jurul deviatiei maxime, o crestere semnificativa a valorilor semnalului treapta (respectiv a valorilor curentului) determina o contractie a actuatorului aproape imperceptibila. Concluzionand acest efect se poate spune ca pentru a imbunatatii eficienta actuatorului, acesta trebuie sa opereze intr-un interval care sa fie localizat undeva sub limita de contractie maxima.
In urma operarii unui timp mai indelungat (un anumit numar de cicluri) actuatorul isi poate pierde proprietatile si eficienta rezultand o imbatranire a acestuia. Acest fenomen apare totusi mai devreme pentru valori mici si foarte mici ale semnalului trepta. Astfel firul de SMA nu va mai atinge niciodata pozitia de start fiind necesare forte suplimentare de revenire.
In faza de determinare a caracteristicilor sistemului s-au analizat raspunsurile acestuia la aplicarea unui semnal treapta unitara si pentru semnal de tip generator de impulsuri cu amplitudine unitara, perioada de 40 de secunde, duty cycle 50%.
In figura urmatoare sunt prezentate caracteristicile experimentale ale sistemului la aplicarea unui generator de impulsuri.
Fig 1.35.
Din moment ce rezultatele obtinute in bucla deschisa la aplicarea unor semnale de intrare de tip treapta prezentate in acest studiu verifica rezultatele prezentate in literatura de specialitate, ca si in cazul altor studii s-a observat un anumit fenomen:
O incertitudine semnificativa a raspunsului sistemului in regim stationar in cazul in care au fost aplicate intrari treapta de valoare mica.
Acest fenomen poate reprezenta un dezvantaj in ceea ce priveste performanta anumitor controlere propuse pentru controlul sistemelor robotice actionate cu aliaje cu memoria formei in cazul unor aplicatii care necesita operatii de inalta acuratete, la amplitudini foarte mici. O astfel de incertitudine sugereaza un posibil raspuns haotic al sistemului.
Controlul conventional al actuatorului SMA
Caracteristica dinamica a actuatorului SMA
Succesul implementarii necesita determinarea caracteristicii dinamice a actuatorului SMA, FSMA(t).
Fig 1.36.
Presupunand ca forta rezultata in urma dilatarii termice este neglijabila in comparatie cu forta actuatorului se poate exprima caracteristica acestuia ca
Unde:
= constanta de timp in faza de incalzire, cu o valoare experimentala de 6 s.
= constanta de timp in faza de racire, cu o valoare experimentala de 15 s.
i(t) - curentul de intrare. KSMA factorul actuatorului.
Este evident ca valorile constantelor de timp din cele doua faze difera semnificativ. Astfel, pentru analiza experimentala se va considera o valoare medie a constantei de timp de forma:
Iar diferenta dintre aceste doua valori si valoarea initiala poate fi considerata ca paramentru incert.
Dinamica actuatorului poate fi exprimata printr-o functie de transfer de forma :
De asemenea, dinamica elemetului de rotatie studiat este definita de relatia :
Iar, functia de transfer pe calea directa de conducere, se poate defini :
In urma experimentelor realizate s-au obtinut rezultate notabile utilizand pentru control un regulator conventional PD, parametrii acestuia fiind determinati prin metode de acordare consacrate.
Sistemul studiat fiind o aplicatie in domeniul roboticii, s-a optat pentru alegerea semnalul de comanda in curent.
Schema de control in timp real a actuatorului SMA este prezentata in figura urmatoare:
Fig 1.37.
Semnul erorii determina sensul curentului, efect realizat de introducerea in schema de control a comutatorului de prag. Cu scopul de a proteja pierderea proprietatilor actuatorului prin supraincalzire valoarea de saturatie curentului de iesire a fost stabilita la 1.8 A.
In continuare se vor prezenta o serie de teste cu evidentierea raspunsurilor firului cu memoria formei pentru diferite conditii de intrare:
sarcini (incarcari) diferite cu aplicarea aceluiasi semnal de referinta
semnale de referinta de valori diferite aplicate in conditiile unei aceleasi incarcari
semnale de referinta de tipuri diferite (treapta, generator de impulsuri)
Realizarea testelor:
Test 1. S-a testat raspunsul sistemului actionat cu actuator SMA la aplicarea unui semnal treapta pentru conditii de incarcare diferite, evidentiidu-se timpii de contractie si de relaxare.
In figura urmatoare. este prezentat raspunsul sistemului fara sarcina la aplicarea unui semnal treapta de 0.55. Se remarca in acest caz intervalul mare de timp in faza de relaxare a actuatorului. Timpul de revenire este rezonabil mai redus in cazul in care sistemul se afla sub o sarcina de 0.15 Kg, la aplicarea aceluiasi semnal trepta figura care 68. In figura 69 este prezentat raspunsul elementului de rotatie sub o sarcina de 0.30 Kg, timpul de relaxare fiind sensibil mai mic, iar regimul oscilatoriu amortizat fiind mai accentuat.
Fig 1.38. Fig 1.39.
Fig 1.40.
Test 2. S-a testat robustetea elementului actionat prin firul cu memoria formei la aplicarea unui semnal treapta sub actiunea unor perturbatii de natura mecanica, remarcandu-se o buna robustete al acestuia.
Figura a ilustreaza acest test, iar figurile b si
c ilustreaza evolutia comenzii si evolutia erorii respectiv.
a)
b) c)
Fig 1.41.
Test S-a testat raspunsul sistemului actionat cu actuator SMA la aplicarea a diferite valori ale semnalului treapta pentru conditii de incarcare diferite.
In figura 1.42. este prezentat raspunsul sistemului sub o sarcina de 0.15 Kg. In figura 1.4 este prezentat raspunsul elementului de rotatie sub o sarcina de 0.30 Kg,
Fig 1.42. Fig 1.4
Test 4. Caracterul repetitiv al actuatorului cu memoria formei s-a testat prin determinarea raspunsului sistemului actionat cu actuator SMA la aplicarea unui semnal de referinta de tip generator de impulsuri. In figura a este prezentat raspunsul elementului la aplicarea unui semnal generator de impulsuri sub o sarcina de 0.15 Kg, iar in figurile b si c sunt prezentate evolutia comenzii si evolutia erorii respectiv.
a)
b) c)
Fig 1.44.
In figura 1.44. este prezentat raspunsul elementului la aplicarea unui semnal generator de impulsuri sub o sarcina de 0.30 Kg
Test 5. O imbunatatire semnificativa a caracterul repetitiv al actuatorului cu memoria formei s-a determinat prin verificarea raspunsului sistemului actionat cu actuator SMA la aplicarea unui semnal de referinta de tip generator de impulsuri in conditiile unei pretensionari a firului prin aplicarea unui semnal de 0.1 la revenire in schimbul revenirii in zero. In figura a este prezentat raspunsul elementului pretensionat la aplicarea unui semnal generator de impulsuri sub o sarcina de 0.15 Kg, iar in figurile b si c sunt prezentate evolutia comenzii si evolutia erorii respectiv.
a)
b) c)
Fig 1.45.
In figura a este prezentat raspunsul elementului pretensionat la aplicarea unui semnal generator de impulsuri sub o sarcina de 0.30 Kg, iar in figurile b si c sunt prezentate evolutia comenzii si evolutia erorii respectiv.
a)
b) c)
Fig 1.46.
2. Sisteme de comanda cu ajutorul PC
Cele mai avansate sisteme de comanda cu ajutorul calculatoarelor sunt cele ce au in componenta o placa de achizitie de date. In functie de complexitatea procesului comandat, aceste placi difera prin numarul de canale de intrare/iesire (I/O), putere si functii de procesare, tipul aplicatiei pentru care a fost optimizata.
2.1. Sistemul de achizitie a datelor Q8
In acest capitol este prezentat sistemul de achizitie al datelor Q8 dezvoltat de compania canadiana Quanser. Instalarea si setarea parametrilor unui astfel de sistem de achizitie a datelor implica inserarea unui card de achizitie a datelor numit Q8 card si conectarea placii terminal Q8 la acesta.
Cardul de achizitie a datelor
Cardul de achizitie a datelor este ilustrat in figura urmatoare:
Fig 2.1. Card de date Q8
Acesta dispune de trei conectori: 2 dintre acestia sunt magistrale de date de 44-pini si o magistrala de date de 55-pini, etichetati cable 1, cable 2 si cable Deasemenea toti cei trei conectarori isi gasesc corepondentul etichetat similar pe placa terminal.
Placa terminal
Placa terminal Q8 este prezentata in figura care urmeaza, aceasta fiind proiectata astfel incat sa poata fi pozitionata deasupra unitatii centrale.
Fig 2.2. Placa terminal Q8
Placa terminal Q8 ofera un sistem flexibil si facil pentru conectarea diverselor platforme experimentale la sistemul de achizitie a datelor Q8. Aceasta suporta 8 iesiri analogice, 8 intrari analogice prevazute cu un singur capat, 8 intrari digitale prevazute cu un sigur capat, 32 de canale digitale I/O si 4 canale digitale I/O suplimentare pentru operatii speciale, oferind 2 iesiri PWM, o intrerupere, mecanism de declansare A/D, un afisaj si un counter. Deasemenea placa poate asigura o filtrare analogica trece jos (low-pass), oferind utilizatorului flexibilitatea dorita.
Canalele digitale I/O
Cardul de achizitie a datelor Q8 dispune de 32 de canale digitale I/O, fiecare dintre acestea putand fi programat prin soft fie ca intrare fie ca iesire. Cele 32 de canale sunt dispuse pe placa terminal Q8 pe 4 randuri a cate 8 canale. In figura 2 sunt evidentiati conectorii digitali I/O cu culoarea rosie.
Figura care urmeaza prezinta o vedere de sus a unui conector digital I/O, in exemplu pentru canalele 0 pana la 7.
Fig 2. Conectori digitali I/O
Pinii numerotati impar sunt pini de semnal, iar cei pari sunt pini de masa, conform asignarii din tabelul urmator.
Tabel 2.1
Deasemenea partea ce contine pinii de masa (cu numere pare) este etichetata pe placa terminal ----DGND----, iar ceilalti conectori digitali au asignati pini analogici. In general pentru conectarea canalelor digitale I/O se poate utiliza magitrale de date standard de 16 pini.
Encoder intrari
Pe placa terminal Q8 sunt dispuse 8 intrari encoder prevazute cu un singur capat, nefiind necesare circuite suplimentare. In schimb pot fi conectate encodere diferentiale utilizand anumite circuite suplimentare. De exemplu, encodere-le US Digital E5D, H5D, S5D, E6D, H6D si S6D utilizeaza pentru iesiri diferentiale driver-ul 26LS31 IC, compatibil cu RS-422, dupa cum receiver-ul IC RS-422 poate fi utilizat pentru intrarea in placa terminal Q8 la conversia semnalelor encodere-lor diferentiale sub forma unor semnale de encodere perevazute cu un singur capat.
Intrarile encoder prevazute cu un singur capat utilizeaza trei semnale pentru a asigura o numarare (masurare) bidirectionala: un canal A, un canal B si un canal I sau un index impuls. Acest impuls nu este necesar pentru generarea numaratorii, dar este util in calibrare. Pentru encodere se utilizeaza conectori circulari DIN de tipul celor evidentiati cu culoarea verde in figura 2.
Figura urmatoare prezinta asignarea pinilor in cazul unui conector circular DIN asa cu este etichetata pe placa terminal Q8, iar in tabelul urmator sunt enumerati acesti pini.
Fig 2.4. Asignarea pinilor encoderului
Deasemenea cardul Q8 permite utilizarea encodere-lor ca si countere digitale up/down de 24 de biti. Practic, intrarea A devine o intrare de numarare iar intrarea B devine o intrare de directionare. La oricare depasire a limitei intrarii CNT (setata prin soft) fie in sens crescator sau descrescator, counter-ul de 24-biti va numara intr-un sens sau in altul corespunzator intrarii DIN. In acest caz intrarea index devine un semnal de sarcina asincron ce poate fi programat sa blocheze valoarea counter-ului sau sa incarce valoarea acestuia dintr-un registru tampon.
Intrarile analogice
Placa terminal Q8 dispune de 8 intrari analogice prevazute cu un singur capat, intervalul de valori al fiecarei intrari analogice fiind de +/- 10V. Desi Q8 este prevazuta cu un circuit de protectie a intrarii, Quanser nu ganarteaza totusi o operare corespunzatoare a intrarilor analogice daca limita maxima a acestui interval este depasita.
Canalele de intrare analogice 0-7
Canalele de intrare analogice 0-7 sunt pozitionate pe placa terminal Q8 dupa cum se prezinta cu culoare violet pe figura 2, conectorii RCA pentru cele 8 canale analogice. In afara conectorilor RCA este disponibil un set de rezistente si condensatori etichetate R0-R7, respectiv C0-C7, ce intra in componenta unui circuit optional de tip filtru trece jos.
Pentru a conecta o intrare analogica la un conector RCA, se conecteaza cablul RCA astfel incat fata exterioara a acestuia este conectata la masa iar fata interioara a acestuia poarta semnalul de masurat conform figurii urmatoare:
Fig 2.5. Conexiunea de intrarea analogica
Filtrarea analogica trece jos
In practica, semnalele masurate pot fi perturbate iar filtrarea digitala a semnalelor analogice convertite este efectiva doar daca semnalul analogic este esantionat suficient de rapid. Astfel, adesea este de dorit utilizarea unui filtru analog trece jos apriori operatiei de conversie analog - digitala, optiune asigurata de placa terminal Q8.
Se considera circuitul de intrare analogica din figura care urmeaza
Fig 2.6. Filtrarea analogica cu pas mic
In realitate, condensatorul C0 poate sa nu fie dispus pe placa Q8, dar orificiul pentru condensator exista dupa cum este prezentat in cablarea din figura. Astfel pentru a suplimenta o filtrare trece jos a intrarii analogice, se poate instala un condensator in locatia C0 de pe placa terminal si se poate deasemenea inlocui rezistorul de valoare 0Ω cu un rezistor normal.
Circutul simplu rezistenta-condensator din figura 6 are o functie de transfer de tipul:
unde si Hz
Se selecteaza valorile rezistentei si a condensatorului astfel incat sa se poata obtine frecventa de taiere dorita. De exemplu, o frecventa de taiere de 10 rad/s poate fi obtinuta utilizand o rezistenta de 10KΩ si un condensator de 10µF.
O atentie deosebita se acorda rezolutiei de lucru dorita. De exemplu, pentru o latime de banda normala de 3dB conform ecuatiei de mai sus marimea functiei de transfer la frecventa de taiere este de sau aproximativ 0.71. Cu alte cuvinte, marimea semnalului este redusa la aproximativ 71% din valoare acestuia la frecventa de taiere. Aceasta reducere a marimii semnalului inseamna de fapt ca rezolutia de 14-biti dorita nu este atinsa la frecventa de taiere deoarece filtru introduce un factor de eroare semnificativ la aceasta frecventa.
Pentru a obtine o rezolutie de n-biti pe un intreg interval de scala al unei intrari analogice, pana la frecventa de taiere, marimea functiei de transfer trebuie sa fie de la frecventa de taiere.
Pentru o latime de banda de n-biti a lui , frecventa de taiere a filtrului trece jos este:
unde
De exemplu, pentru a mentine o rezolutie de 14-biti la frecventa de taiere, ordinul functiei de transfer trebuie sa fie or 0.99994. Aceasta marime este atinsa pe o latime de banda de 100 rad/s prin utilizarea unui filtru trece jos de 3dB latime de banda a 9051 rad/s!
Iesiri analogice
Cardul de achizitie a datelor Q8 dispune de 8 iesiri analogice, fiecare dintre acestea avand un interval de valori de +/-10V. Iesirile analogice sunt disponibile pe terminalul Q8 ca si conectori RCA, fapt evidentiat in figura 2 cu culoare cyan.
Contactul exterior al conectorului RCA este conectat la masa in timp ce contactul interior poarta un semnal de iesire analogic dupa cum este reprezentat in figura 2.7.
Fig 2.7. Conector de iesire analogica de tip RCA
Alimentarea
Alimentarea placii terminal Q8 este asigurata de catre PC, fiind utilizati doar 5V. Pentru a prevenii distrugerea PC-ului, linia de 5V este trecuta printr-un sistem de siguranta de 1A inainte de a intra in oricare dintre circuitele placii terminal. LED-ul de alimentare dispus pe terminal Q8 indica ori de cate ori semnalul de alimentare de 5V de la PC este activ. Datorita circuitului de protectie cu care este prevazuta atat placa cat si cardul Q8 in practica placa terminal Q8 va fi alimentata cu un voltaj de aproximativ 4,7V.
Daca tensiunea sistemului de siguranta cade sub valoarea de aproximativ 4V, atunci toate iesirile analogice vor fi resetate la zero, si toate iesirile digitale vor trece pe front pozitiv. Daca este activ, cardul va genera o intrerupere in scopul de a informa soft-ul de defectarea sistemului de siguranta. Aceasta capacitate de monitorizare si decizie a sistemului de siguranta reprezinta o importanta caracteristica de siguranta a sistemului de achizitie de date Q8.
Q8 in Simulink
In acest paragraf este prezentata interfata WinCon dezvoltata de Quanser precum si blocurile Simulink utilizate pe operarea soft a sistemului de achizitii de date Q8, produse ce alcatuiesc biblioteca toolbox-ului Quanser.
Fig 2.8. Seria Q8
Practic pentru fiecare din componentele functionale majore ale sistemului de achizitie a datelor MultiQ-PCI exista cite un bloc: blocuri petru intrari si iesiri digitale, intrari si iesiri analogice, intrari de tip encodere, temporizoare de tip montorizare si decizie in caz de defect si diverse alte temporizoare hard.
Fig 2.9. Libraria Q8
2.2. MULTIQ -
3 I/O BOARD
Un alt sistem de achizitie de date propus si dezvoltat de compania canadiana Quanser, este MultiQ - Multi-3 este o placa de achizitie de date si control ce dispune de 8 intrari analogice prevazute cu un singur capat, 8 iesiri analogice, intrari digitale pe 16 biti, iesiri digitale pe 16 biti, 3 timere programabile si pana la 8 intrari de tip encoder cu decodare in patrat. Intreruperile pot fi generate fie de oricare din cele trei generatoare de tact, fie de o linie de intrare digitala si sfarsitul conversie analog/numerice.
Sistemul este accesat prin intermediul unei magistrale PC si este adresabil via locatiei de memorie 16 care este selectata prin intermediul unui switch DIP dispus pe placa.
In figura urmatoare este prezentata o vedere reala a placii de achizitie MultiQ -3, iar in figura sunt evidentiate componentele acesteia.
Fig 2.10. Conectarea MultiQ-3 la placa terminal prin 8 conectori ai encoderului
Fig 2.11. Prezentarea schematica
Conversia analog-numerica
Placa MultiQ -3 realizeaza o conversie A/D pe 13 biti inclusiv semnul (12 biti plus bitul de semn), conversie ce se poate realiza pe unul dintre cele 8 canale prin selectarea canalului dorit si startarea operatiei. Bitul EOC_I (bitul intrerupe de sfarsit de conversie) localizat in registrul de stare indica faptul ca datele sunt pregatite si pot fi citite. Citirea datelor se realizeaza prin doua citiri consecutive de 8 biti din registrul AD_DATA.
Datele intoarse sunt practic 2 cuvinte de 8 biti ce trebuiesc combinate pentru a rezulta un singur cuvant pe 16 si semn. Intrarea de 5 V corespunde valorii 0xFFF, in timp ce 0V corespunde lui 0x0 iar -5V corespunde valorii 0xFFFF000.
Deasemenea toate intrarile multiplexorului A/D sunt prevazute cu un singur capat avand valori in intervalul +/- 5 V si trebuie conectate la jack-urile RCA etichetate intrari analogice.
Filtrarea
Daca se doreste o filtrare trece jos a semnalelor analogice inainte de a fi aplicate convertorului A/D (inaintea operatie de conversie analog numerica) trebuie respectata repartizarea detaliata in tabelul de mai jos precum utilizand un circuit de tipul celui din figura urmatoare:
Tabel 2.2 Fig 2.12. Circuit pentru filtrare
Se recomanda inserarea unui condensator pentru fiecare intrare A/D. Selectarea valorilor componentelor depinde de impedanta senzorului si de frecventa de esantionare a soft-ului de control. De obicei, se selecteaza frecventa de taiere ca fiind mai mica decat jumatate din frecventa de esantionare.
Iesirile analogice
Convertoarele numeric-analogice (D/A) sunt de tip binar pe 12 biti fara semn. Astfel, o intrare de -5V corespunde valorii 0x000, 0 V corespunde lui 0x3FF, iar 5V corespunde lui 0xFFF. Programul trebuie sa inscrie un numar pe 12 biti (0 la 4095) in cel mai apropiat registru si se stocheaza datele. Iesirile analogice se modifica atunci cand datele sunt stocate.
Intrarile encoderelor
Placa de achizitie poate fi echipata cu pana la 8 decodoficatoare de tip encoder. Datele codificate sunt decodificate utilizand metoda "cuadraturii" si sunt utilizate pentru a incrementa respectiv decrementa un counter pe 24 de biti obtinindu-se astfel 16, 777,215 cuante. De exemplu, cu o linie encoder 2000 in cuadratura, ce presupune 8000 de cuante per revolutie (rotatie) pot fi masurate 2097 de rotatii fara a depasi counter-ul, iar in cazul cand se doreste o numaratoare mai avansata acest lucru se poate realiza prin soft.
In ceea ce priveste conectarea intrarilor de tip encoder, fiecare conector encocoder, este echipat cu un DIN cu 5 pini si un header de 10 pini, iar pentru a atasa un encoder se pot utiliza oricare dintre acestea. Conectorul furnizeaza 5V si o borna de masa pentru a decala encoder-ul si receptioneaza un canal etichetat A, si un alt canal etichetat B de la encoder. In figura urmatoare sunt prezentate atat modalitatea de asignare a pinilor in cazul unui conector DIN cu 5 pini si pentru un header de 10 pini cat si modalitatea de cablare a acestora.
Fig 2.1 Encoder de tip TTL
Intrarile numerice
Placa MultiQ-3 poate citi 16 linii de intrare digitale adresate de una din adresele I/O. Intrarile numerice au valoarea logica 1 cand sunt active, si respectiv valoarea 0 logic cand sunt legate la masa.
Iesiri numerice
De asemenea placa poate controla 16 iesiri numerice adresate de adresele I/O. Astfel 0V (TTL Low) este echivalent cu inscrierea de 0 logic, iar 5V (TTL HIGH) este echivalent cu inscrierea valorii 1 logic.
Generatoarele de tact in timp real
Placa de achizitie de date MultiQ-3 este echipata cu 3 timere programabile. Fiecare timer putand fi programat sa lucreze la o frecventa intre 2 MHz Hz si 30.52 Hz. Principiul de operare este acela de a inscrie un factor de divizare (N) timer-ului utilizat frecventa de iesire fiind de 2.0/N MHz. Factorul de divuzare N reprezinta practic o valoare intreaga pe 16 biti cuprinsa intre 2 si 65535 (0xFFFF).
Module de comanda cu microcontroler
1. Generalitati
Intreg sistemul de comanda cu microcontroler se doreste a fi implementat cu un dipozitiv integrat de tipul Basic Stamp 2. Acesta are avantajul ca dispume de un mediu de programare usor de folosit facandu-l astfel foarte usor de programat chiar si pentru cei fara o prea mare experienta in lucrul cu microcontrolere.
Microprocesorul Basic Stamp 2
Este elementul principal al sistemului de comanda, avand posibilitatea a fi conectat direct sau indirect la toate sistemele auxiliare ale robotului. Pinii 1-4 ai capsulei BS2 reprezinta portul de comunicatie intre procesor si software-ul instalat pe calculatorul personal. Alimentarea cu tensiunea de 5V a procesorului este realizata prin pinul 21. Pinii 5-20 reprezinta pinii de date ai procesorului, fiind identificati sub forma P0-P15. Dintre acestia: pinul 0 este pinul de comanda a difuzorului, pinii 6-9 sunt conectati la sistemul de LED-uri, pinii 10,11 asigura legatura electrica intre procesor si sistemul de senzori tactili. Pinii 19,20 formeaza linia de comunicatie seriala intre Basic Stamp 2 si coprocesorul PIC16C71. Cele doua procesoare sunt conectate electric prin intermediul divizorului rezistiv R1-R3, respectiv R2-R4. Microcomputerul Basic Stamp 2 este prevazut cu buton de Reset, pe pinul 22, prin intermediul unui jumper J1, rezistentei R19 si microswitch-ului SW2.
Procesorul secundar PIC16C71 comunica cu procesorul BS2, in format serial, folosind comenzile serin si serout (Anexa 1), la o viteza de pana la 50kbps. Portul 15 (pinul 20 al capsulei) pentru linia principala de date, iar portul 14 (pinul 19) este folosit pentru controlul fluxului de date.
Coprocesorul PIC16C71
Contine rutine de comunicatie cu BS2, rutine ce implementeaza algoritmi de conducere a celor doua motoare de curent continuu, contorizare a pulsurilor transmise de encoderele celor doua roti motrico-directoare, citire a semnalului analogic oferit de senzorii fotorezistivi si codificarea numerica a acestuia. Acesta primeste comenzi de la microcomputerul BS2, executandu-le independent de procesorul principal.
PIC16C71 face parte din familia microprocesoarelor CMOS pe 8 biti PIC16C71X, prevazute cu convertor analog-numeric integrat on-chip. Toate microcontroller-ele din familia PIC16-17 implementeza o arhitectura RISC de inalta performanta, fiind prevazute cu multiple surse de intreruperi interne si externe; magistralele de date si de instructiuni permit folosirea unor cuvinte pe 14 biti pentru instructiuni, respectiv 8 biti pentru date. Pentru programarea acestui tip de procesor sunt disponibile un numar de 35 de instructiuni (set redus de instructiuni- RISC). In plus, un set extins de registri este o alta inovatie arhitecturala a procesorului, obtinandu-se o performanta mai ridicata.
Procesoarele PIC16C71 sunt prevazute cu 36 bytes de RAM, legatura cu dispozitivele conexe fiind asigurata prin intermediul a 13 linii de intrare-iesire; in plus, un CAN pe 8 biti, cu patru canale, asigura interfata analogica a dispozitivului. Procesorul mai are incorporat si un timer.
Sunt disponibile doua versiuni ale modelului: prima dintre ele este o versiune reinscriptibila UV, CERDIP, pentru dezvoltarea de programe, iar cea de-a doua este de tip OTP (one-time-programable), speciala pentru producerea de arhitecturi hard-soft in serie.
Familia procesoarelor PIC16C7XX este ideala pentru aplicatii ca sisteme de securitate, structuri senzoriale, telecomenzi sau aplicatii de automatizari. Tehnologia EEPROM face posibila adaptarea acestor procesoare la cerintele diferitelor aplicatii din domeniul automatizarilor sau al transmisiei de date (reglajul turatiei motoarelor, transmisie-receptie digitala, comunicatiile seriale, aplicatii de coprocesare, modulatii PWM e.t.c.), fiind necesara numai prin implementarea algoritmilor specifici.
Si la acest procesor se va selecta tipul de chip ale carui caracteristici satisfac toate cerintele respectivei aplicatii. Pentru familia PIC16XX71 exista doua tipuri de procesoare:
tipul C, definit prin codul PIC16C71, folosit in aplicatia de fata. Acesta este prevazut cu memorie EEPROM si opereaza in gama standard de tensiuni;
tipul LC, definit de codul PIC16LC71, de asemenea prevazut cu memorie de tip EEPROM, dar operand intr-o gama extinsa de tensiuni.
Fig 1. Conector SPI
Conectorul J9 permite utilizatorului sa acceseze interfata SPI a microcontrolerului MC68HC11, care este o magistrala sincrona de mare viteza. Aceasta magistrala admite interconectarea a doua sau mai multe sisteme ce folosesc microcontrolerul MC68HC11. Totusi, pentru a folosi aceasta magistrala, liniile de intrare/iesire (I/O) care o compun (PD2, PD3, PD4 si PD5) trebuie sa fie deconectate de la functiile lor standard, ceea ce inseamna dezactivarea controlului IR si a driver-ului pentru motoare.
Fig 2. Circuitul conexiunii seriale
Intrarea interfetei seriale RS-232 este in mod normal in "high" si trece in "low" pentru a indica un bit 1. LED-ul de stare pentru interfata seriala, LED3, este conectat prin intermediul unui buffer inversor al circuitului U4 astfel incat el este normal stins, dar se aprinde atunci cand PC-ul la care este legat montajul transmite pe seriala un bit 1.
Semnalul, PA4, care controleaza soneria piezo este dirijat printr-un altfel de canal neutilizat al convertorului serial. Acesta schimba iesirea de la 0 5V la -10 10V facand astfel ca soneria piezo sa fie mai puternica. (Tensiunea nu trebuie sa depasesca specificatiile pentru sonerie).
Jumperul J1 permite utilizatorului sa limiteze nivelul semnalului pentru soneria piezo. Jumperul J14 permite deconectarea sau conectarea soneriei.
Fig Circuitul RESET-ului
Cand semnalul de RESET, /RESET, are nivel scazut determina controlerul sa nu functioneze; acest lucru este necesar in timpul pornirii si opririi. Cand nivelul semnalului de reset revine la un nivel inalt controlerul se reinitializeaza si incepe executia codului sistem. Utilizatorul poate comanda resetul controlerului apasand pe butonul de RESET (SW1). Cipul LVI, U11, initiaza o conditie de reset atunci cand sesizeaza ca tensiunea bateriilor este prea scazuta. De asemenea, daca oscilatorul nu functioneaza, controlerul va aduce semnalul de reset la un nivel scazut. (Placa nu este functionala in acest caz) Neluand in seama sursa, LED-ul Bat Low, LED2, va clipi si controlerul nu va executa nici un cod in timpul conditiei de reset.
Sistemul senzorial
Este compus din senzorii de contact (bumperi), ce permit identificarea obstacolelor aflate pe calea de rulare a robotului. Cele doua contacte mecanice sunt realizate din sarma de cupru cu miez de otel pentru a-i asigura elasticitatea necesara. Contactele sunt inseriate cu rezistentele R9, R10, de 33K ohmi, care au ca scop limitarea curentului ce trece prin circuit; in pozitie de repaus, contactele sunt normal inchise, deci pinii BS2 P6 si P7 sunt pusi la masa. In momentul contactului cu un obstacol, circuitul se deschide si pe pinul corespunzator se va gasi tensiunea de alimentare de 5V (1 logic).
Senzorii de nivel al luminii sunt comandati de catre procesorul auxiliar Pic16C71, prin porturile RA0-RA4. Fotocelulele sunt senzorii care se pot interfata cel mai usor cu un microcontroller, deoarece interpretarea semnalului oferit de acestea este aproape directa. Senzorii de lumina pot sa permita robotului anumite comportamente, cum ar fi ascunderea in intuneric, urmarirea unui spot luminos, deplasarea catre o sursa de lumina, deplasarea pe o linie in contrast cu suprafata de rulare e.t.c.
Fotorezistentele sunt rezistente variabile a caror valoare se modifica sub influenta nivelului de lumina incidenta pe suprafata sa.
O fotorezistenta (sau fotocelula) necesita pentru conectare electrica la un microcontroller doar o singura rezistenta. Cele doua rezistente formeaza un divizor de tensiune, ca in figura de mai jos:
Fig 4. Conectarea unei fotorezistente
Rezistenta totala a acestui circuit este RT=R+RL, iar curentul este I=U/RT. Pentru a masura tensiunea pe pinii RA0-RA3 este necesar ca o parte din acest curent sa fie absorbita prin pinul respectiv. Intrucat PIC16C71ofera impedanta de intrare mare, acest curent poate fi neglijat. Rezulta ca tensiunea prezenta pe pinul Rax este Uan=I*RL.
Rezistenta fotocelulei scade odata cu cresterea cantitatii de lumina, acest lucru ducand la o scadere a potentialului pe pinii de date. Inlocuind curentul in prima relatie, se obtine:
Uan=
Aceasta tensiune este folosita de catre microprocesor ca informatie despre nivelul de lumina incident pe suprafata fotocelulei.
De obicei, aceste celule sunt realizate din Sulfat de Cadmiu (CdS); producatori cunoscuti de astfel de dispozitive sunt: Hamamatsu,Clairex, EG&G.
Encoder-ele sunt traductori incrementali care permit masurarea distantei parcurse de robot sau a vitezei de rotatie a rotilor motrico-directoare. Constructiv, sunt formate dintr-o dioda cu emisie in spectru infrarosu si un fototranzistor ce capteaza semnalul infrarosu reflectat de suprafata rotii, ambele inserate in aceeasi capsula. Pe fata lateral interioara a rotilor sunt aplicate doua discuri impartite in sectoare de culori alb-negru alternante. Cele doua diode electroluminiscente sunt comandate de coprocesorul PIC16C71 prin portul RA4(pinul 3 al capsulei), la primirea unui semnal electric, acestea vor incepe sa emita lumina in spectrul infrarosu. Lumina emisa va cadea pe suprafata rotii. Daca roata se afla in miscare de rotatie, succesiunea de sectoare alb-negre se va deplasa prin dreptul fascicolului de lumina; in dreptul sectoarelor de culoare inchisa, lumina va fi reflectata foarte putin, insuficent pentru a aduce fototranzistorul in stare de conductie. In acest caz, pe intrarile RB6, respectiv RB7 nu se primeste semnal electric. Cand prin dreptul fascicolului de lumina trece un sector de culoare deschisa, acesta va reflecta razele spre fototranzistor. Acesta intra in stare de conductie, trimitand spre intrarea corespunzatoare un impuls a carui durata este determinata de viteza de rotatie a rotii(variabila) si de marimea unghiului sectorului (constanta). Asadar, prin masurarea duratei impulsului se poate determina viteza de rotatie, iar pentru o viteza data, contorizarea trenului de pulsuri oferit de acest traductor va permite determinarea distantei parcurse de catre robot.
Jumperul J12, OSC out, pemite un reglaj pentru oscilatorul de 38KHz. Aceasta iesire trebuie conectata doar la o intrare de impedanta foarte mare.
Detectorul infrarosu
- este proiectat sa raspunda unei raze IR (infrarosu).
a) Detector IR (b) Circuit de emisie IR
Fig. 5. Circuitul IR
Iesirea detectorului, in mod normal in stare high, trece in starea low cateva cicluri dupa ce a fost expusa unei surse IR de suficienta intensitate, modulata cu aproximativ 38KHz. Iesirea revine in starea high cateva cicluri dupa incetarea expunerii.
Circuitul de emisie (Fig. 2.5 (b)) este compus din doua LED-uri in infrarosu (IR LED) si un oscilator trigger-Schmitt a carui frecventa poate fi ajustata. IR LED-urile fac parte dintr-un circuit care efectiv este un AND logic. Cand un semnal de control, PD2 sau PD3, de la microprocesor este in starea high, IR LED-ul asociat se aprinde si se stinge cu o frecventa data de oscilator. Cand semnalul de control este in starea low, IR LED-ul este intotdeauna stins.
Programul de testare face urmatoarele : mai intai, cu ambele emitatoare oprite, valoarea iesirii detectorului IR este esantionata si memorata. Dupa aceea emitatorul IR din stanga este pornit in timp ce emitatorul IR din dreapta ramane oprit. Prin program se lasa detectorului un timp de o milisecunda pentru a raspunde, dupa care valoarea de la iesirea detectorului IR este esantionata si memorata. In final, emitatorul din stanga este oprit si cel din dreapta este pornit. Ca si in cazul precedent, dupa o intarziere de o milisecunda iesirea detectorului IR este esantionata si memorata. Programul foloseste aceste trei valori pentru a hotari daca a fost detectata o reflexie.
Deoarece detectorul IR poate raspunde uneori la zgomote ale mediului (luminile fluorecente sunt acuzate frecvent), programul trebuie sa fie sigur ca emitatorul propiu este sursa semnalului detectat. Acest lucru se face prin verificarea iesirii detectorului IR atunci cand emitatoarele sunt oprite (prima valoare memorata) caz in care detectorul nu trebuie sa raporteze prezenta unei raze IR, dar aceasta prezenta trebuie sa existe in cazul in care un emitator este pornit. Doar cand ambele conditii sunt valabile rutina de detectie IR declara prezenta unui obstacol.
Fac parte dintr-un divizor de tensiune. Tensiunea care cade pe o fotorezistenta (fotocelula) este convertita intr-o valoare numerica.
Microprocesorul robotului compara tensiunea de intrare cu valoarea de referinta 5V a tensiunii de alimentare si converteste valoarea analogica la o valoare numerica pe 8 biti. Astfel, tensiuni in domeniul 0 5V sunt reprezentate ca numere de la 0 la 255.
Valoarea rezistentei fotocelulei descreste cand primeste mai multa lumina si creste atunci cand primeste mai putina. In divizorul rezistiv din schema aceasta inseamna ca mai putina lumina determina numere mai mari, iar lumina mai multa, numere mai mici. Trebuie sa se observe schimbarea independenta a numerelor corespunzatoare partii stangi ( "L") sau drepte ("R" ) atunci cand se orienteaza placa spre diferite directii sau se acopera una din fotocelule cu mana.
Fotocelulele din aceeasi serie de fabricatie nu au aceeasi sensibilitate. Din aceasta cauza ele nu vor avea aceleasi valori ale rezistentelor desi sunt supuse unei intensitati luminoase egale. Exista o metoda mecanica simpla de a echilibra fotocelulele, atunci cand aplicatia o cere.
Pentru realizarea echilibrarii se indreapta
fotocelulele spre o sursa de lumina uniform difuza (chiar si un perete vopsit in
alb si iluminat), se acopera o parte a suprafetei fotocelulei mai sensibile cu
o bucata de banda neagra. Se ajusteaza pozitia si marimea acestei benzi pana cand
se obtine
echilibrarea
fotocelulelor.
Fig 6. Circuitul fotorezistentelor
Pentru a se determina pozitia articulatiilor, este necesara utilizarea unui sistem senzorial capabil sa informeze asupra pozitiei relative dintre 2 elemente ale robotului. De-a lungul timpului au fost inventate o serie de traductoare, atat analogice cat si numerice, exemple in acest sens potentiometrul, inductosinul, rigla optica. Una dintre cele mai fiabile metode de determinare a pozitiei unghiulare este reprezentata de utilizarea discurilor optice.
Acest sistem foloseste senzori de reflexie in infrarosu, care sunt mici dispozitive dreptunghiulare ce contin un fototranzistor (sensibil la lumina in infrarosu) si un emitator in infrarosu. Cantitatea de lumina provenita de la emitator si reflectata spre fototranzistor prin intermediul unei suprafete este o masura a reflectantei suprafetei respective (daca anumiti factori, cum este distanta intre senzor si suprafata, raman constanti).
Prin determinarea segmentelor luminoase si intunecate ale unui disc optic codificat binar atasat rotilor robotului se poate masura deplasarea unghiulara sau viteza.
Circuitul electronic aferent unui astfel de sistem de determinare a pozitiei este ilustrat in figura alturata.
Fig 7: Circuitul traductoarelor
Fig 8. Forma
discurilor pentru traductoare
Circuitul de alimentare
Unul dintre circuitele importante ale oricarui robot este reprezentat de circuitul de alimentare. Acesta are rolul de a furniza tensiunea necesara atat pentru alimentarea cu energie a elementelor de executie, cat si pentru circuitele electronice logice responsabile pentru controlul miscarii. Daca pentru elementele de executie mentinerea energiei de alimentare intre anumiti parametri nu este absolut necesara, circuitele logice trebuie alimentate de la o sursa de energie stabila. In figura de mai jos este prezentata schema unui circuit electronic ce furnizeaza atat tensiune regularizata, cat si tensiune neregularizata.
Fig 9. Sistemul de alimentare
Tensiunea de la baterii, BAT-UNREG, ocupa doua extremitati ale comutatorului 4P3T (SW2). Aceasta conectare este realizata pentru a asigura curentul maxim specificat pentru comutator. Tensiunea BAT-UNREG este folosita pentru alimentarea motoarelor electrice ale robotului.
Tensiunea BUT-REG reprezinta alimentarea pentru partea logica, circuitul MAX603 fiind un regulator de tensiune. Aceasta tensiune trece in 0I doar atunci cand bateriile sunt deconectate de la placa.
Jumperul J8 (impreuna cu conectorul optional J7) face posibila utilizarea unor surse de alimentare separate: una pentru motoarele electrice, alta pentru partea logica, in acest mod eliminandu-se eventualele interferente introduse de sistemele de actionare.
LED1, inseriat cu rezistenta RN3, are rolul de a semnaliza atunci cand robotul se afla sub tensiune (alimentat cu energie electrica). Condensatorul C18 realizeaza filtrarea perturbatiilor (elementelor oscilatorii) existente in tensiunea de alimentare, rezultand o tensiune continua.
2. Comanda sistemelor de actionare
Functie de sistemul de actionare ales, se pot evidentia comanda motoarelor pas cu pas, respectiv comanda motoarelor de curent continuu. In continuare vor fi prezentate doua solutii, aferente celor doua tipuri de comenzi.
Drivere pentru motoare pas cu pas
A fost selectat
ca exemplu circuitul L297/L297D, un circuit integrat dedicat comenzii
motoarelor pas cu pas bipolare si unipolare, in aplicatii gestionate de
microprocesoare. Circuitul genereaza cele 4 semnale necesare pentru comanda
fazelor, atat in mod de pas normal, jumatate de pas si unda. Diagrama-bloc a
acestui circuit poate fi analizata in figura urmatoare:
Fig 10. Diagrama-bloc a unui integrat L297, produs de SGS-Thompson Microelectronics
Circuitul trebuie utilizat impreuna cu un amplificator Darlington, sau cu dispozitive discrete. El primeste de la microprocesor un semnal de frecventa de pas, un semnal de directie si unul de tip comanda si genereaza semnalele de control catre etajul amplificator.
O pereche recomandata pentru L297, este circuitul amplificator L298, ce dispune de 4 canale de alimentare catre motor comandate de cele 4 semnale de comanda de la L297. Diagrama-bloc a acestui integrat poate fi studiata in urmatoarea figura:
Fig 11. Diagrama-bloc a unui integrat L298
Schema electronica a circuitului astfel obtinut este reprezentata in figura de mai jos, in cadrul careia sunt ilustrate detaliat conexiunile si componentele suplimentare necesare realizarii montajului. Circuitul este capabil sa comande un motor pas cu pas bipolar (cu jumatate de pas), suportand curenti de pana la 2 amperi. Diodele sunt de tipul 2A rapide. Semnalele de comanda sunt: frecventa pasului, directia de rotatie si modul. Deoarece faza este generata intern, sarcina microprocesorului, dar si munca programatorului, sunt reduse considerabil. Explicatiile detaliate pentru semnalele aplicate circuitului sau generate de catre acesta, se regasesc in urmatorul tabel:
Nr.crt
Nume semnal
Functie
1.
SYNC
Iesirea modulatorului intern. Daca se utilizeaza mai multe circuite L297 si trebuie sincronizate, toti pinii SYNC trebuie conectati intre ei, dar pinul OSC se va conecta doar la unul dintre integrate. Daca se utilizeaza o sursa externa de frecventa, semnalul acesteia se va injecta prin intermediul pinului SYNC
2.
GND
Pin de punere la masa
HOME
Colector liber, indicator pentru starea initiala a integratului (activ pentru ABCD = 0101). Tranzistorul este deschis atunci cand acest semnal este activ
4.
A
Faza A a motorului pas cu pas, semnal pentru etajul de putere
5.
Control pentru fazele A si B. Atunci cand se utilizeaza o punte bipolara (jumatate de pas) acest semnal poate fi utilizat pentru a se asigura o cadere de curent rapida atunci cand o infasurare a motorului este de-energizata. De asemenea, poate fi utilizat de catre modulator pentru a regla sarcina in curent atunci cand intrarea CONTROL este in stare "low"
6.
B
Faza B a motorului pas cu pas, semnal pentru etajul de putere
7.
C
Faza C a motorului pas cu pas, semnal pentru etajul de putere
8.
Control pentru fazele C si D. Aceleasi functii ca ale lui .
9.
D
Faza D a motorului pas cu pas, semnal pentru etajul de putere
10.
ENABLE
Semnalul de activare a integratului. Atunci cand acest semnal este in stare "low", si semnalele , , A, B, C, D sunt aduse in stare "low".
11.
CONTROL
Intrare de control care defineste comportarea modulatorului intern. Cand aceasta intrare este in stare "low", modulatorul activeaza pe canalele INH1 si INH2; in stare "high", activeaza pe liniile ABCD
12.
VS
Alimentarea circuitului integrat (5V)
1
SENS2
Intrare de la etajele de putere ale fazelor C si D, informeaza asupra sarcinii in curent a acestor faze.
14.
SENS1
Intrare de la etajele de putere ale fazelor A si B, informeaza asupra sarcinii in curent a acestor faze.
15.
Vref
Tensiune de referinta pentru circuitul modulator. Tensiunea aplicata pe acest pin determina varful sarcinii de curent.
16.
OSC
O retea RC (R conectata la Vcc, C conectat la masa) legata la acest pin determina frecventa modulatorului. In cazul conectarii mai multor circuite integrate L297, acest pin trebuie conectat la masa, in cazul tuturor circuitelor mai putin unul, care le va sincroniza pe toate celelalte. f ≈ 1/0,69 RC
17.
Intrare pentru controlul directiei de rotatie in sens orar/ trigonometric. Senul rotatiei fizice a motorului depinde, de asemenea, si de conexiunea fizica a bobinelor. Este sincronizat intern, astfel ca sensul de rotatie poate fi modificat oricand.
18.
Frecventa pasului. Un impuls aplicat pe acest pin va determina avansul cu un pas al motorului. Pasul se va efectua pe frontul crescator al acestui semnal.
19.
HALF/
Intrare de selectare a pasului (intreg, jumatate de pas). Atunci cand este in stare "high" selecteaza modul "jumatate de pas", atunci cand este in stare "low" selecteaza modul "pas intreg".
20.
Intrarea de reset. Un impuls aplicat pe acest pin va aduce translatorul in pozitia initiala (starea 1, ABCD = 0101)
Tabelul 1 - Functiile pinilor
Integratul L297 prezentat genereaza secventa fazelor necesara pentru functionarea motorului pas cu pas, si cuprinde un sistem de stabilizare a curentului din infasurarile motorului. Utilizarea combinatiei dintre integratele L297 si L298 permite o reducere a pierderilor pe rezistoarele de determinare a curentului de sarcina. Integratul L297 contine si un oscilator intern care furnizeaza semnalul de ceas modulatorului, cu rolul de a seta cele doua bistabile FF1 si FF2, de asemenea continute in integrat. In momentul in care curentul ce parcurge o infasurare a motorului atinge valoarea de varf a sarcinii de curent, programata prin intermediul pinului Vref, tensiunea ce cade pe rezistorul de determinare a curentului de sarcina (conectat la circuit prin pinii SENS1 si SENS2) va egala tensiunea Vref iar comparatorul aferent va reseta bistabilul corespunzator, intrerupand curentul de energizare a bobinei, pana cand este primit un nou puls de la oscilator. Curentul de varf pentru ambele infasurari ale motorului este programat de un divizor de tensiune plasat pe intrarea Vref.
Problemele referitoare la zgomotul de masa, ce apar atunci cand se conecteaza mai multe astfel de circuite, pot fi eliminate prin sincronizarea oscilatoarelor aferente modulatoarelor. Acest lucru se poate realiza prin conectarea tuturor pinilor SYNC, si montarea retelei RC externe a oscilatorului doar la un singur cip, cu conectarea simultana la masa a pinului OSC apartinand celorlalte cipuri, dupa cum se poate observa si din figura urmatoare:
Fig 1
Sincronizarea mai multor circuite integrate L297
Succesiunea fazelor aferente actionarii motorului
Translatorul integratului L297 genereaza succesiunea fazelor pentru modurile:
actionare normala
actionare de tip unda
actionare jumatate de pas.
In continuare se vor prezenta cele 3 moduri de functionare, starea fazelor si formele de unda. In toace aceste situatii translatorul avanseaza pe tranzitia din "low" in "high" a semnalului . Diagramele sunt prezentate pentru rotatia in sens orar; pentru rotatia in sens trigonometric, secventele sunt inversate. Activarea pinului va aduce translatorul in starea initiala, in care ABCD = 0101.
Actionare normala
Fig 14. Actionare normala
Modul de actionare normala, cunoscut si sub denumirea de "doua faze active", se selecteaza prin aplicarea unui nivel logic "low" pe intrarea HALF/ , atunci cand translatorul este intr-o stare cu numar impar (1, 3, 5 sau 7). In acest mod de actionare, iesirile si raman permanent in stare "high".
Actionare jumatate de pas
Acest mod de actionare
a motorului pas-cu-pas se activeaza prin aplicarea unui nivel logic "high" pe
intrarea HALF/ .
Fig 15. Actionarea jumatate de pas
Actionare de tip unda
Denumit si "actionare
cu o singura faza activa", acest mod de actionare se selecteaza prin aplicarea
unui nivel logic "low" pe intrarea HALF/ , atunci cand translatorul este intr-o stare cu numar par (2,
4, 6 sau 8).
Fig 16. Actionare cu o singura faza activa
Drivere pentru motoare de curent continuu
Contin un driver de curent L292, capabil sa livreze curentul necesar celor doua motoare ale robotului. Comanda turatiei celor doua motoare se face prin intermediul tensiunii de alimentare. Modificarea acestei tensiuni este comandata de PIC prin porturile RB4-RB5 pentru motorul din dreapta si porturile RB2-RB3 pentru motorul stanga.
Cele doua motoare sunt comandate independent unul de celalalt, singura legatura intre valorile turatiei lor fiind cea prevazuta de algoritmul implementat de programul utilizatorului. De exemplu pentru motorul stanga, utilizatorul comanda o actiune asupra sa (fie oprire, fie start intr-un anumit sens de rotatie cu o anumita turatie), coprocesorul PIC16C71 interpreteaza aceasta comanda, dand pe iesire o tensiune continua modulata PWM. Driver-ul de curent Unitrode L292 preia semnalul pe cele doua canale de intrare (pinii 2 si 7 ai capsulei) dedicate acestui motor si amplifica aceasta valoare, dand o tensiune corespunzatoare motorului. Se folosesc cate doua canale pentru a permite comanda motorului in ambele sensuri.
Ca exemplu a fost selectat L292 (SWITCH - MODE DRIVER FOR DC MOTORS) un circuit monolitic LSI, intr-o capsula de tip multiwatt cu 15 pini. In principiu a fost realizat pentru utilizarea impreuna cu L290 si L291 ca un sistem complet bazat pe 3 circuite integrate pentru aplicatii de pozitionare cu motor de curent continuu. Acest sistem complet permite comanda de la un microprocesor. Ca o trecere succinta in revista a catorva caracteristici se poate mentiona c[ tensiunea de lucru maxima este de 36V, curentul maxim 2A si o frecventa de 30Khz.
Circuitul dispune de intrari de activare circuit, precum si de protectie termica.
Schema bloc electronica interna a acestui circuit integrat poate fi analizata in figura care urmeaza:
Fig 17. Diagrama bloc a circuitului L292
Impreuna cu L290
si L291, acest integrat a fost proiectat ca un grup unitar de 3 circuite
integrate interdependente, rezultand un sistem de pozitionare controlat de un
microprocesor. Dispozitivele pot fi utilizate si separat (in special driverul
de motor L292).
Fig 18. Diagrama bloc a sistemului de pozitionare pentru motor de c.c.
Pentru a se putea realiza o pozitionare foarte precisa si rapida in acelasi timp, sistemul prezinta doua moduri de functionare.
Comanda vitezei este realizata de catre microprocesor. Aceasta este reactualizata continuu pe baza pulsurilor primite de la circuitul L290, ce are rol de tahometru, si care obtine informatiile de la un disc optic. Pornind de la aceasta intrare de baza, microprocesorul calculeaza un cuvant pe 5 biti care seteaza viteza sistemului in functie de "distanta" ce trebuie parcursa.
Atunci cand motorul este orpit si microprocesorul comanda o noua pozitie, sistemul functioneaza initial intr-o bucla deschisa deoarece nu exista nici o informatie furnizata de catre circuitul-tahometru, L290. Se atinge viteza maxim posibila, tahometrul intra in functiune si transmite un semnal procesorului, rezultand reducerea corespunzatoare a cuplului. Motorul va continua sa functioneze la o viteza aflata sub control in bucla inchisa. Pe masura ce se realizeaza apropierea de pozitia-tinta, microprocesorul scade valoarea cuvantului care prescrie viteza. Astfel se reduce tensiunea rezultand o franare a motorului. Franarea este aplicata progresiv pana cand motorul va functiona la viteza minima.
La momentul oportun, microprocesorul comanda o schimbare a modului de pozitionare (semnal de tip impuls pe pinul numarul 8 al circuitului L291), si din momentul primirii impulsului, dupa aproximativ 3-4 milisecunde circuitul L292 va aduce motorul intr-o pozitie de zero, in care va fi imobilizat electronic.
Interfata mecano-electrica consta intr-un codificator optic, montat pe motorul electric, care genereaza doua semnale sinusoidale defazate cu 90 de grade (defazarea inainte sau in urma intre cele doua unde depinde de sensul de rotatie a motorului), iar frecventa celor doua unde este direct proportionala cu viteza de rotatie a motorului. Codificatorul optic furnizeaza si informatia referitoare la pozitia initiala (marcata distinct pe acesta).
Semnalele
provenite de la encoderele optice, FTA si FTB, sunt filtrate de reteaua R2C2
impreuna cu R3C3 (Fig. 18.) si apoi conectate la intrarile
FTA/FTB ale circuitului integrat L290.
Fig 19. Circuitul electronic al aplicatiei
Functia principala pe care L290 o realizeaza consta in implementarea expresiei urmatoare:
Semnal iesire (TACHO) =
Aceasta formula arata ca valoarea medie a semnalului TACHO este proportionala cu viteza de rotatie iar polaritatea ei indica directia de rotatie.
Functia de mai sus este realizata electronic prin amplificarea semnalelor de intrare de pe pinii A1 si A2 pentru a se obtine tensiunile VAA respectiv VAB. Diferentialul extern RC compus din retelele R5 C6 si R4 C4 genereaza din semnalele VAA si VAB, semnalele VMA si VMB, care se transmit multiplicatorilor. Cea de-a doua intrare in fiecare multiplicator consta in semnul primei intrari a multiplicatorului anterior, inaintea diferentierii, aceste semne fiind obtinute de catre comparatoarele Cs1 si Cs2. Iesirile multiplicatorilor, CSA si CSB sunt insumate de A3 pentru a rezulta semnalul final, TACHO. Valoarea maxima a semnalului TACHO este:
Vtacho max =
Comparatoarele C1 si C2 extrag semnalele logice STA si STB din cadrul semnalelor VAA si VAB. Aceste semnale sunt utilizate de catre microprocesor pentru a se determina pozitia, prin numararea impulsurilor.
De asemenea, si referinta interna a circuitului L291 este derivata din VAA si VAB:
Vref = | VAA | + | VAB |
Aceasta referinta este untilizata de convertorul digital - analogic integrat in L291 pentru a compensa variatiile nivelelor de intrare, schimbarile de temperatura precum si imbatranirea integratului.
Opto-codificatorul "un puls pentru fiecare rotatie" are iesirea conectata la pinul 12 al integratului L290 (FTF), unde ridicat la patrat formeaza iesirea logica STF a microprocesorului.
Semnalul TACHO impreuna cu Vref sunt trimise integratului L291 prin filtrele R8 C8 R9 respectiv R6 C7 R7. Pinul 12 al integratului furnizeaza rezultatul compararii semnalelor provenite de la TACHO respectiv de la convertorul D/A.
Intrarea convertorului D/A consta in cuvinte pe 5 biti plus un al saselea bit, de semn, furnizat de microprocesor. Bitul de semn reprezinta sensul de rotatie al motorului. Iesirea analogica a convertorului D/A - DAC/OUT - este comparata cu semnalul TACHO iar eroarea rezultata este amplificata si furnizata pinului 1.
Semnalul ERRV (de la pinul 1, L291) este conectat la pinul 6 al cipului final, driverul de motor in punte L292 H. Acest semnal de intrare este bidirectional deci va trebui convertit intr-un semnal pozitiv deoarece L292 utilizeaza o singura tensiune de alimentare. Aceasta operatie este realizata de primul etaj - comutatorul de nivel, care utilizeaza o tensiune de referinta generata intern, de 8 V.
Aceeasi tensiune de referinta alimenteaza si generatorul de semnale cu forma de unda triunghiulara, a carui frecventa de oscilatie este determinata de reteaua RC externa (R20, C17 conectata la pinii 11 si 10), unde:
1 fOSC = , cu R cu o valoare mai mare de 8.2 KΩ
oscilatorul determina frecventa de comutare a etajului final si trebuie ale in domeniul 1-30 KHz.
Curentul ce strabate motorul este reglat de o bucla interna continuta de integratul L292, compusa din rezistoarele R18, R19 impreuna cu amplificatorul senzorial de curent diferential, rezultatul fiind filtrat de o retea RC externa integratului si furnizat amplificatorului de eroare. Reteaua RC amintita se alege functie de tipul motorului si de latimea de banda necesara.
Semnalul de eroare rezultat in urma sumarii dintre intrare si semnalul de reactie in curent (pinul 7) este utilizat pentru a genera impulsuri modulate de oscilator. Pulsurile modulate controleaza ciclul de functionare a puntii H pentru a rezulta un curent de iesire corespunzator semnalului de intrare necesar integratului L 292.
Intervalul de timp necesar pentru ca o parte a puntii sa comute in starea OFF si o alta parte in starea ON este programat de C17 conjugat cu un rezistor intern Rt. Acest interval de timp se poate determina cu ajutorul formulei:
Deoarece Rt este aproximativ 1,5 KW iar intervalul de timp recomandat, pentru a se evita conductia simultana, este de 2,5 microsecunde, C17 ar trebui sa aiba o valoare de aproximativ 1,5 nF.
Rezistoarele utilizate la determinarea curentului ar trebui sa aiba o precizie foarte mare (o toleranta de 2%) iar valoarea recomandata este data de formula:
Rmax * Io max 0,44 V
Daca se doreste, exista posibilitatea sincronizarii a doua circuite integrate L292, apelandu-se la o conexiune precum cea din urmatoarea figura
Fig 20.
Circuitul electronic de sincronizare a doua integrate L 292.
In final, doua
intrari de validare sunt furnizate circuitului L292 (pinii 12 si 13, activ
"low" respectiv "high"). Astfel etajul final poate fi dezactivat prin trecerea in
stare logica "low" a pinului 12 sau a pinului 1 Iesirea integratului va fi de
asemenea dezactivata daca tensiunea de alimentare va scadea sub 8V. Cei doi
pini au fost implementati in acest mod deoarece se intentioneaza ca ei sa fie
conectati direct la microprocesor. Microprocesoarele existente in prezent pe
piata pot genera varfuri de tensiune reziduala, atunci cand sunt pornite, de pana
la 1,5 volti. Aceste doua intrari pot fi utilizate pentru o larga varietate de
aplicatii precum dezactivarea motorului pe timpul repornirii sistemului logic
sau a resetarii din timpul pornirii microprocesorului.
Fig 21. Conectarea intrarilor CE2 si CE1 negat
Pentru o mai buna alegere a componentelor externe circuitului integrat, in figura 21. este ilustrata schema bloc interna a circuitului L 292, iar in figura 22. diagrama schematica a transformatei Laplace echivalente a sistemului.
Fig 22. Schema bloc a circuitului integrat L292
Fig 2 Diagrama schematica a circuitului, pentru analiza acestuia utilizand la transformata Laplace
Exemplificari ale solutiei propuse
Senzorii
3 senzori care sa deceleze contactul cu cablul (imbinati cu elementele respective/ inclusi sau captori analogici),
Fig. 24.
1 senzor care sa previna intalnirea cu obstacolul (de pozitie sau distanta, in IR sau ultrasonici etc.)
Fig. 25.
5 codoare (encodere) optice, livrate cu motoare, care sa permita cunoasterea valorii exacte a unghiurilor descrise.
Microcontrolerul (PIC)
Fig. 26.
Se propune Basic Stamp II de la PARALLAX. Basic Stamp II, denumit si BS2-IC (abreaviat), este un pseudo-circuit integrat DIL cu 24 de pini, care se fixeaza direct pe un suport DIL normalizat, cu aceeasi dimensiune. Pentru aplicatii de cost redus, se poate folosi si o varianta de circuit integrat comuna ("ordinara"), care realizeaza doar functia de microcontroler programat cu procesor Basic. Acestuia i se pot asocia componentele necesare a fi implementate, precum circuitul de resetare si cuartul pentru baza de timp.
Microcontrolerul utilizat este un PIC de la Microcip, 16C57, care permite amplasarea mai multor linii de intrare/iesire. Se regasesc circuitul de resetare automata si regulatorul de alimentare la 5 V. Este prezent, de asemenea, un rezonator ceramic care functioneaza la 20 MHz si care permite o viteza mai mare de executie a programelor.
Caracteristici principale ale lui Basic Stamp II sunt urmatoarele:
1. viteza de executie: 4000 instructiuni Basic/s;
2. memorie hard (interna): 2 k octeti;
3. memorie RAM (externa): 32 octeti, din care 6 pentru intrari/iesiri si 26 pentru variabilele programului;
4. numar de intrari/iesiri: 16 + 2 specializate pentru legari in serie;
5. consum sub 15 V, in afara circuitelor externe: 8 mA in functionare si 100 μA in stand-by;
6. curentul furnizat/absorbit pe intrari/iesiri: 20/25 mA pana la maximum 40/50 mA pe grupuri de 8 intrari/iesiri;
7. nr. de instructiuni Basic: 36;
8. interfata de programare: portul serie al unui PC la 9600 bauds (baud = unitate de vitaza pas cu pas si de capacitate a canalelor de informatie);
9. procesor: PIC 16C57 la 20 MHz.
Alimentarea
Pentru a se misca, robotul are nevoie de un aport de energie pentru diferitele elemete componente (motoare, captori, etc). Acest aport poate fi asigurat de 10 baterii de 1,2 V sau de o alimentare totala de 12 V. Schema electrica de alimentare este data in fig. 42.
Fig 27.
Placa electronica
1. Placa cu scop educational (didactic) (Board of Education)
Ea cuprinde deja elementele necesare pentru comanda robotului (PIC, cuart, etc.). Este o solutie simplu de materializat, dar nu permite perfectionari ulterioare, ramane putin evolutiva (va trebui sa se adauge elemente precum o punte devizoare de tensiune).
2. Particularizarea placii conform aplicatiei
In acest caz, toate componentele trebuie cumparate in functie de necesarul formulat. In fig. 43 se da un exemplu de schema electronica, ce va fi modificata intrucat sunt 5 motoare.
Fig 28.
Microcontrolerul corespunde creierului robotului. El prelucreaza informatiile venite de la senzori si da raspunsul necesar actionarii servomotoarelor.
Microcontrolerul se compune din patru parti:
-un microprocesor, care preia informatia si transmite ordinele. La randul sau se compune dintr-o unitate aritmetica si logica (UAL) si o magistrala de date. El e cel care executa programul introdus in microcontroler.
-o memorie de date (RAM sau EEPROM) in care sunt introduse datele temporar necesare calculelor. Este o memorie de lucru, deci volatila.
-o memorie programabila (ROM) ce contine instructiunile programului care conduce aplicatia, careia microcontrolerul ii este dedicat. Este o memorie nevolatila, intrucat programul executat este apriori mereu acelasi. Exista diferite tipuri de memorii programabile, utilizate in functie de aplicatie. De ex.: OTPROM, programabila o singura data, dar care nu costa prea mult; UVPROM, utilizabila de mai multe ori, datorita ultravioletelor; (EEPROM), se poate reface de mai multe ori in maniera electrica, similar memoriilor flash;
-ultima parte corespunde resurselor auxiliare. In general, acestea sunt: portul de intrari/iesiri paralele si serie; timerele (elementele de sincronizare) pentru a genera sau masura semnale cu o mare precizie temporala (dinamic); convertoarele A/N pentru prelucrarea semnalelor analogice.
Microcontrolerele PIC (sau PICmicro in limbaj de specialitate, al fabricantilor) formeaza o familie de microcontrolere de la firma Microcip. Aceste microcontrolere sunt derivate din PIC1650 dezvoltat initial de Divizia de microelectronica a lui General Instruments. Numele de PIC este un acronim, in traducere insemnand controler de interafata periferica (Peripheral Interface Controller). Totusi, la momentul dezvoltarii lui PIC 1650 de General Instruments, PIC era acronimul de la "Programmable Intelligent Computer" sau "Programmable Integrated Circuit". In fig. 44 se prezinta modul cum arata un microcontroler si schema de intrari/iesiri.
Fig 29.
Boe-Bot: primii pasi in controlul robotilor
Boe-Bot, figura 30., este un robot foarte flexibil care permite numeroase experimente si care poate fi baza mai multor proiecte. Acest robot este o aplicatie a lui "Board Of Experimentation" de la Parallax. Este kit-ul (setul) ideal pentru domeniul robotilor autonomi (199 Euro). In cadrul acestui proiect, robotul ar putea fi necesar pentru testari preliminare. Faptul ca el poate sa aprinda (sa clipeasca) un LED si sa puna in functiune un motor, acest robot Boe-Bot este evident capabil sa comande "robotul maimuta" cercetat de noi.
Fig. 30.
Este furnizata o documentatie foarte completa si se dau informatii cu caracter didactic pentru diferitele aspecte ale robotului (comanda servomotoarelor, evaluarea distantei, etc.). In total, se propun 41 de activitati, incepand cu montajul robotului, pana la programarea unui convoi de mai multi roboti.
Fig. 31
Creierul acestui robot este un Basic Stamp II, fig. 31., prezentat anterior. El are marele avantaj ca reuneste ansamblul elementelor indispensabile (PIC, cuart, etc), fiind deci imediat utilizabil. Un card (Board of Education), fig. 32., este, de asemenea, livrat in acest kit. Placa dispune de diferite tipuri de conexiuni, utile pentru comanda unui robot, cum este cel cercetat.
Fig. 32.
Software-ul de programare utilizat este "Basic Stamp Editor". Denumirea limbajului este PBASIC. Este de fapt un BASIC particular de la PARALLAX.
Comanda LED-urilor si a servomotoarelor
Comanda a 2 LED-uri
Fig. 3 - Montarea componentelor
Impunem sa clipeasca LED-ul legat la P13 al PIC-ului (1/2 sec. aprins si 1/2 sec. stins):
Impunem sa clipeasca de 10 ori, simultan, diodele:
Comanda a 2 servomotoare
Fig. 34. - Servomotoarele de la PARALLAX
In figura 34 sunt evidentiate urmatoarele elemente:
1- element de prindere si transmitere a miscarii
2- surub Phillips
3- eticheta "Rotatie continua"
4- caseta ce contine motorul, circuitele si reductorul
5- cablul de alimentare si semnal de comanda
6- fisa de conectare la "Board of Education"
7- orificiu de acces pentru reglarea potentiometrului de reactie
8- zona de prindere a motorului de support
Servomotoarele sunt prevazute cu 3 fire: 2 pentru alimentare si 1 pentru semnal, fig. 35. Pentru comanda vitezei si a sensului de rotatie, trebuie sa se trimita un tren de impulsuri cu paliere bine definite.
Fig. 35.
Se programeaza urmatorul tren de impulsuri (semnale pe P12 si P13), fig. 36:
Fig. 36.
De acum, putem emite orice tren de impulsuri. Cum se comanda, atunci, viteza si sensul de rotatie? Mai intai, trebuie sa se "centreze" (calibreze) servomotorul, adica sa se regleze cu ajutorul unei surubelnite, astfel ca semnalul urmator sa genereze imobilitatea motorului.
Fig. 37.
De notat ca, acest semnal corespunde lui PULSOUT 12, 750. S
Sensul de rotatie este dat de valoarea inscrisa in PULSOUT dupa nr. traseului (12 sau 13 in ex. dat).
Pentru valori < 750, servomotorul se roteste in sensul acelor de ceas (invers trigonometric) si atinge un maximum de viteza la valoarea de 650:
Fig. 38.
Pentru valori > 750, servomotorul se roteste in sens invers acelor de ceas (trigonometric) si atinge un maximum de viteza la valoarea de 850:
Fig. 39.
Pentru a termina, impunem sa se roteasca un motor in plina viteza in sensul acelor de ceas si pe celalalt in sens contrar:
Exemplu de program in pseudo-limbaj pentru o deplasare fara ostacole:
Initializare:
α = 45 grd
Mav: motorul bratului 1 (anterior)
Mar: motorul bratului 2 (posterior)
Mc: motorul central
Mcav: motorul graifelor bratului 1
Mcar: motorul graifelor bratului 2
C1av: Senzorul C1 al bratului 1
C1ar: Senzorul C1 al bratului 2
C2av: Senzorul C2 al bratului 1
C2ar: Senzorul C2 al bratului 2
C3av: Senzorul C3 al bratului 1
C3ar: Senzorul C3 al bratului 2
Cobstacol: detector de obstacol, Cobstacol=0
Inceput:
DO se roteste Mcar cu unghiul π/4 (=deschidere)
IF Mav=Motorul bratului 1 THEN
A=-1
B=-1
C=+1
ELSE A=+1
B=+1
C=-1
ENDIF
se roteste Mc cu unghiul A × 4α (=sincronizare)
se roteste Mar cu unghiul B × (π+2 α) (=mai rapid)
se roteste Mav cu unghiul C × (π-2 α)
WHILE C1ar ≠ 1
se roteste Mc in sensul SGN(A)
se roteste Mar in sensul SGN(B)
se roteste Mav in sensul SGN(C)
WEND
se roteste Mcar cu unghiul -π/4
WHILE C2ar ≠ 1 sau C3ar ≠ 1
se roteste Mc in sensul SGN(-A)
se roteste Mar in sensul SGN(-B)
se roteste Mav in sensul SGN(-C)
WEND
m1=Mar
Mar=Mav
Mav=m1
m2=Mcar
Mcar=Mcav
Mcav=m2
m3=C1ar
C1ar=C1av
C1av=m3
m4=C2ar
C2ar=C2av
C2av=m4
m5=C3ar
C3ar=C3av
C3av=m5
LOOP UNTIL Cobstacol = 1
END