. Proiectarea Si Realizarea Un Mini Robot Mobil Autonom cu Roti Actionat de Motoare de Curent Con

I. STADIUL ACTUAL PRIVIND MINI ROBOȚII MOBILI

1.1. Roboți mobili

Roboții sunt mașini electromecanice automate. Unii dintre roboți nu sunt complet automați dar sunt controlați de oameni prin telecomandă, utilizând camere video sau alte sisteme de control. Majoritatea roboților sunt utilizați în procesele de fabricație. Alții pot fi utilizați ca manipulatoare pe adâncul mării, telecomandate. O altă categorie de roboți pot fi utilizați în diverse laboratoare unde se lucrează cu substanțe radioactive sau există temperaturi ridicate sau alte locuri periculoase. Unii roboți sunt mobili, având sistem de locomoție încorporat, putându-se deplasa pe uscat, pe apă, în aer. Modalitățile de propulsare sunt dintre cele mai diverse, cum ar fi:

pe roți;

cu apă;

cu jet de apă sau aer, etc.

Bombele ghidate și avioanele fără pilot (telecomandă) pot fi înglobate în categoria roboți mobili.

Controlul automat variază, din punct de vedere al complexității, de la simple relee până la metode computerizate foarte sofisticate.

Roboții mobili, în majoritatea situațiilor, sunt dotați cu camere video sau alți senzori de percepere a mediului în care activează. Controlul uman se realizează prin folosirea unor simple butoane până la joisticuri complicate cu putere de răspuns.

Sistemele de comandă includ module de comunicare bazate pe unde radio, sonare (acustice), echolocalizare (ghidare prin ecran), fibre optice sau cabluri.

Mulți roboți sunt construiți prin înlănțuirea unor componente care imită segmentele brațului uman.

Toate metodele sunt limitate de imposibilitatea de potrivire perfectă cu capacitatea de manevrabilitate a mâinii umane sub controlul ochiului și creierului uman.

Ingineria roboților a fost foarte mult influențată de ficțiune, în sensul că are doza ei de utopie.

Totuși, foarte mulți bani sunt în continuare cheltuiți pentru cercetarea în domeniul obținerii de ființe artificiale prin duplicarea mâinilor și propulsiei prin mers pășitor biped.

Roboții mobili

Universul în care își desfășura activitatea robotul fixat la sol, poate fi extins prin crearea capacității de mobilitate a bazei robotului, funcție de reperul fix la sol. De altfel, se știe că executarea unei lucrări atrage după sine necesitatea de a cunoaște poziția robotului față de elementele fizice manipulate implicate în această lucrare. De asemenea, unul din punctele fundamentale ale robotului pe vehicul constă în a cunoaște unde se află el în mijlocul universului pe care îl poate parcurge.

Soluția acestei probleme nu a fost imediată, cercetătorii focalizându-și atenția asupra vehiculului astfel încât se înțelege adesea prin robot mobil o platformă care se dorește a fi în totalitate automată (capabilă prin ea însăși de a se deplasa, de a se plasa și de a ști ce drum trebuie să urmeze în funcție de ce obiectiv i s-a indicat) uitând momentan unealta de lucru a fi montată pe platformă, adică robotul fixat.

Termenii sinonimi robotului mobil sunt:

robot mobil autonom;

robot automotor.

Structura unui robot mobil

Singurele lucruri vizate au fost cercetarea și executarea de traiectorii pentru vehicul, având obiceiul de a caracteriza robotul mobil prin trei funcții care sunt:

funcția de locomoție;

funcția de percepție-decizie;

funcția de localizare.

Pentru a evidenția cele trei funcții ale unui robot mobil, se recurge la următoarea analogie: Un om trebuie să plece dintr-un loc anume și să ajungă într-un alt loc anume, într-un timp cât mai scurt. Fiind într-un oraș civilizat, fiecare stradă este etichetată, precum și fiecare casă. Astfel, funcție de cunoștințele de geografie locală, persoana în cauză recunoaște una după alta fiecare stradă în parte, certitudinea fiind dată de denumirile străzilor. În figura 1.1 este reliefat traseul ce trebuie parcurs.

În primul rând omul este dotat cu sistem locomotor biped (2 picioare). Pentru a ajunge în locația B acesta are înmagazinat în memorie traseul sub forma următorului text („o iau pe strada x până ajung la intersecția cu străzile T și Z, apoi o iau pe Z până la intersecția cu U după care o țin pe strada șerpuită U până dau de locația B”).

După cum se observă, memoria înmagazinează cunoștințele necesare localizării tuturor (traseelor) segmentelor de traseu posibile, care reunite compun traiectoria dorită. Referința este una absolută, respectiv în cazul de față neschimbata geometrie a orașului ce include vectorul . La un moment dat, omul își aduce aminte, văzând intersecția străzilor X cu Y, că mai există un traseu posibil de a ajunge în locația B. Se oprește după ce a perceput o a doua variantă, și, dându-și seama că noul traseu este mai scurt, schimbă traseul pe cea de-a doua variantă.

Fig. 1.1. Traseul omului pentru a ajunge în locația B, pornind din A.

Faptul că traseul doi este mai scurt, activează modulul decizie funcție de criteriul universal „economie de timp”. În final se emite decizia schimbării traseului inițial propus.

Schematizarea problemei precedente poate fi reliefată în figura 1.2.

unde:

b și c: localizarea biologică = server (cap);

a : localizare biologică = picioare.

Fig. 1.2. Robotul mobil OM în realizarea traseului AB.

După cum reiese din exemplul de mai sus, cele trei funcții ale robotului mobil OM sunt:

funcția locomotoare dezvoltată de sistemul biped de deplasare;

funcția de percepție-decizie dezvoltată de creier și ansamblul senzorial;

funcția de localizare dezvoltată de capacitatea de „comparare” a traseului instantaneu cu datele despre geografia spațiului ce include vectorul .

1.2. Sistemul de locomoție

Funcția de locomoție cuprinde sistemul de sprijinire (suspensie) și sistemul de acționare electric (de propulsie).

În raport cu modul de realizere a funcției de locomoție a celulelor de roboți mobili deosebim următoarele categorii de roboți mobili:

roboți mobili pe roți (fig. 1.3);

roboți mobili pe șenile (fig. 1.4);

roboți mobili pășitori (fig. 1.5);

roboți mobili de târâre (funie activă) (1.6);

roboți mobili hibrizi (cu roți și șenile, cu roți și picioare, etc);

orteze și proteze.

Roboții mobili au următoarele caracteristici comune:

structura mecanică este lanț cinematic serie sau paralel respectiv tip „master-slave”;

sistemul de acționare utilizat este electric pentru sarcini mici și medii și hidraulic pentru sarcini mari;

sistemul senzorial utilizează senzori interni (de poziție, turație, efort) la nivelul articulațiilor, senzori externi (camere TV) pentru scanarea mediului și senzori de securitate (cu ultrasunete, de proximitate);

sistemul de comandă este ierarhizat, de obicei multiprocesor;

limbajele de programare utilizate sunt preluate de la roboții staționari.

Acționarea roboților mobili necesită în general motoare electrice de putere mică, cu moment de inerție redus, cu capacitate de suprasarcină, precum și reductoare cu raport mare (i>100) și moment de inerție redus de tip armonic sau procesional. Pentru obținerea unor performanțe superioare se folosesc și unități integrate motor-reductor.

Din categoria motoarelor electrice clasice cu inerție redusă se pot utiliza:

motoare de curent continuu cu indus disc sau pahar;

motoare pas cu pas cu reluctanță variabilă cu indus pahar și întrefier radial sau cu indus tip disc și întrefier radial;

motoare sincrone cu magneți permanenți.

Analiza performanțelor dinamice a acționărilor pe baza funcției de transfer presupune determinarea următorilor parametrii:

Precizia, care se determină cu ajutorul funcției de transfer prin calculul erorii staționare:

(1.1)

unde este mărimea de intrare.

Promptitudinea, care se calculează cu ajutorul locului de transfer considerând un compromis optim precizie-stabilitate pentru o margine de fază .

Stabilitatea, care se determină cu ajutorul locului de transfer.

Capacitatea de urmărire se poate aprecia cu ajutorul caracteristicii Bode.

Pentru ameliorarea performanțelor dinamice ale acționărilor în anumite domenii de frecvență se utilizează elemente de corecție serie sau paralel (de anticipare, întârziere sau mixte) având funcția de transfer:

(1.2)

Pentru obținerea performanțelor dinamice dorite se proiectează un regulator cu funcția de transfer astfel ca funcția de transfer a sistemului să fie:

(1.3)

unde: este funcția de transfer a părții fixe.

Roboți mobili pe roți și șenile

Categoria cea mai răspândită de roboți mobili o constituie roboții pe roți și respectiv pe șenile. Acestea se caracterizează prin aceea că utilizează aceleași organe atât pentru sprijinirea cât și pentru propulsia pe o suprafață. Aceste două elemente realizează funcția de locomoție.

Aceste tipuri de roboți pot fi cu direcția fixă sau orientabilă.

În figura 1.7 este prezentat schematic funcțiile roboților mobili și modul de realizare a acestora.

Fig. 1.7. Schema bloc de principiu privind funcțiile roboților mobili pe roți sau șenile.

Sistemul de locomoție pe 3 sau 4 roți este cel mai răspândit la construcția roboților mobili. Aceasta presupune (fig. 1.8) o structură mecanică circulară 1 pe care se dispune sarcina de manipulat 2. Structura circulară are avantajul că prezintă o axă geometrică identică cu axa de rotație a modulului, ceea ce simplifică comanda de rotație.

Susținerea platformei și deplasarea se face cu ajutorul a trei roți, din care două roți 3 sunt motoare iar roata 4 este condusă.

Pentru reducerea influenței neregularităților solului se realizează un sistem de suspensie cu arcuri 5, care permite oscilarea pe verticală a furcilor 6 care susțin roțile.

Dispunerea roților se face la periferia platformei, în vârfurile unui triunghi echilateral, ceea ce asigură stabilitatea deplasării.

Sistemul de acționare al roților motoare presupune acționarea individuală a fiecărei roți de către un motor de curent continuu cu magneți permanenți 7 și reductor 8, cu raport de transmisie mare.

Se obține astfel un diferențial electric care favorizează creșterea mobilității robotului. Pe axul motorului se prevăd și traducătoare incrementale pentru aprecierea poziției și vitezei de deplasare.

Sistemul de ghidare este alcătuit din firul conductor 9, amplasat în pardoseală la și două bobine 10 rigidizate de placa 6, pentru menținerea echidistanței față de sol.

Diferența tensiunilor electromotoare induse în bobinele 10, plasate de o parte și de alta a axei de simetrie a roților motoare, determină alimentarea la tensiuni diferite a motoarelor de curent continuu realizându-se rularea roților cu viteze diferite și prin aceasta corectarea direcției după firul de ghidare.

Firul de ghidare este alimentat la o tensiune de 24 V și o frecvență de 10 KHz.

Sistemul de alimentare cu energie electrică a motoarelor de acționare este format dintr-o baterie de acumulatoare de 24 , plasată pe vehicul.

În cazul unor deplasări pe suprafețe limitate se poate realiza alimentarea cu energie electrică de la rețeaua industrială prin intermediul transformatorului 12 și redresorului 13.

Sistemul senzorial de percepție a mediului și localizare este format din senzori de proximitate 14, amplasați în sol.

Funcția de securitate se realizează cu senzorii binari 15, amplasați sub formă de centură în exteriorul platformei circulare.

Sistemul de comandă dirijează alegerea traseului, prevenirea coliziunii și executarea operațiilor din stații. Descentralizarea comenzii se realizează prin echiparea robotului de transport cu un sistem propriu de comandă cu microprocesor și utilizarea unui sistem de comandă central. Prin aceasta se reduce numărul elementelor active din pardoseală și crește fiabilitatea sistemului de comandă.

Echipamentul de comandă de pe vehicul permite ghidarea, accelerarea, frânarea și oprirea. Acest echipament permite coordonarea deplasărilor într-o zonă cu maximum 15 stații.

În cazul sistemelor cu mai multe vehicule se utilizează un bloc automat de tip feroviar pentru reglarea traficului la intersecții.

Sistemul de comandă central dă instrucțiuni sistemelor de comandă ale roboților iuni sistemelor de comandă ale roboților mobili care determină drumul în funcție de semnalele elementelor din pardoseală. Pentru creșterea mobilității robotului se realizează un fel de tiraj prin utilizarea mai multor fire conductoare alimentate la frecvențe diferite. Alegerea traseului la joncțiunile dintre bucle se face cu ajutorul unui discriminator pentru frecvența dorită.

Atât în operații de asamblare cât și de încărcare-descărcare funcțiile robotului mobil și a stației pot fi următoarele:

stații pasive – vehicule active, ceea ce presupune că robotul mobil este prevăzut cu un dispozitiv de preluare a obiectelor de pe pardoseală și de depunere pe bandă;

stații active – vehicule active, ceea ce presupune că robotul este prevăzut cu un dispozitiv de preluare a obiectelor iar stația are un pat de role acționate.

Performanțele roboților mobili se referă la poziționare și repetabilitate.

Deoarece poziționarea este funcție de masa și de viteza robotului, în apropierea stațiilor se reduce viteza sub 10 m/min.

Pentru realizarea unei repetabilități acceptabile (sub 1mm) este necesară indexarea mecanică a vehiculului.

Schimbul de date dintre vehicul și stație permite sincronizarea operațiilor.

Aplicațiile roboților mobili autonomi

Pe baza sarcinilor roboților mobili, definite anterior, se pot preciza următoarele domenii de aplicare și principalele activități îndeplinite:

domeniul nuclear, subacvatic sau spațial, pentru manipularea obiectelor în mediu ostil pentru om;

domeniul militar, pentru manipularea muniției

domeniul industrial, pentru manipularea pieselor și subansamblelor în special în cadrul liniilor flexibile de asamblare;

domeniul serviciilor, pentru spălarea pardoselilor în stațiile de metrou, piețe;

domeniul transporturilor, pentru deplasarea de obiecte în diferite puncte precizate anterior.

Din punct de vedere funcțional și a complexității (percepției comenzii sau deciziei) deosebim construcțiile simple, din sfera serviciilor, cele de complexitate medie din sfera transporturilor și roboții avansați care funcționează în mediul ostil.

Ca exemple de roboți mobili menționăm robotul francez ROMEO pentru transportarea de palete cu sarcina maximă de 50 kg. Acesta este alcătuit dintr-o platformă circulară suspendată pe un sistem de rulare cuprinzând două roți motoare și două roți conduse. Sistemul senzorial cuprinde senzori incrementali (codori) plasați pe roți și nouă senzori cu ultrasunete plasați la periferia platformei și la partea superioară a turelei. În plus se utilizează o cameră video care asigură localizarea în spațiu și navigația.

Firma OPEL (Germania) utilizează o sută de roboți ghidați prin fir conductor pentru asamblarea motoarelor pe automobil pe o linie de fabricație de 820 m.

Firma SAAB (Suedia) are 90 de roboți mobili comandați cu microprocesoare pentru asamblarea cutiilor de viteză.

1.3. Mini roboți mobili existenți pe piață

MOBILE 1

K-ALICE ROBOT

Înălțime:18 mm; Greutatea: Aproximativ 5 g.

Detalii:

K-alice este unul dintre cei mai mici roboți autonomi comerciali din lume. Mai mic de 1 inch3, K-alice are un consum ultramic de curent și un concept modular pentru programare și extensie hardware, ceea ce îl face foarte util pentru cercetare și educație.

Cu toate că este mic, K-alice are multe posibilități: senzori IR, senzori de lumină, controlul complet al mișcării și posibilitatea de comunicare cu alți roboți (control complet la periferice senzori IR). Sunt posibile mai multe experimente ca: evitarea obstacolelor, urmărirea zidului, poate lucra cu mai mulți roboți comunicând sau nu cu aceștia.

Robotul se programează în PIC assembler. Pentru programare se recomandă MPLab realizat de Microchip Technology Inc.

K-alice este rezultatul cercetărilor făcute la EPFL de Gilles Caprari de la Autonomous System Lab.

ROBOT Kepera II

ZIZOU

Tehnologii ca MEMS și VLSI oferă în prezent designerilor de sistem actuatori și senzori foarte mici. Motoare electrice și părți mecanice în miniatură, ca rulmenți, sunt disponibile pe piață. Totuși, ca să pună aceste elemente împreună și ca să găsim soluții de control inovatoare și eficiente este într-o continuă provocare.

Ca un ajutor pentru realizarea legăturilor electrice și problemelor de interconectare, generate de lipsa de conectoare foarte mici, circuitul care are grijă de senzori și actuatori, de obicei un microcontroler, trebuie să fie plasat cât mai aproape de ei. Din acest motiv, un asemenea procesor trebuie să fie cât mai mic și să aive un consum cât mai scăzut. Acest ansamblu de părți micromecanice și microcontroler(e), capabil să primească și să execute comenzi de nivel înalt fără ajutorul unui procesor gazdă, formează ceea ce noi numim „microsistem inteligent”.

Cei doi roboți miniatură construiți la LAMI ilustrează perfect acest concept de „microsistem inteligent”.

Caracteristicile robotului Jemmy, de 1 cm3 :

Condus de două motoare sincrone 3 mmØ RMB smoovy.

Patru senzori IR pasivi.

Microcontroler PIC, care generează semnal de trei faze pentru ambele motoare, face conversia timp – tensiune ca să citească senzorii, și comunică utilizând un singur fir pentru o comunicare bidirecțională cu o unitate de supraveghere. Ca să scadă timpul de realizare a programului toate variabilele microprocesorului pot fi citite și scrise prin această linie de comunicație.

Angrenaje precise, 8 rulmenți în miniatură.

Acest robot a fost câștigătorul concursului Internațional Microrobot Maze Contest '97, Nagoya (Japan) la categoria 1 cm3.

Caracteristicile lui Inchy, robotul modular și autonom de 1 inch3 :

Trei baterii reîncărcabile de tip Ni-MH variantă tip nasture care asigură o autonomie de 15-30 min.

Două motoare sincrone 5 mmØ RMB smoovy, cu care se poate obține o viteză de peste 30 cm/s.

Patru senzori IR de proximitate, care pot fi înlocuiți cu alte dispozitive prin înlocuirea cablajului de deasupra.

Performanțele microcontrolerului sunt aceleași ca și la robotul Jemmy, prezentat anterior. În plus microcontrolerul este amplasat pe un cablaj imprimat, care poate fi înlocuit și poate fi reprogramat în circuit în câteva secunde prin atașarea programatorului la conectorul cu 5 pini care se poate vedea și în desen deasupra.

Cu toate că acest robot a fost proiectat sa fie autonom poate fi controlat și de o unitate de supraveghere la fel ca robotul Jemmy.

Robot inteligent programabil

comanda și programarea deplasărilor, – piezo pentru avertizare și muzică, -Alimentare, comandă și putere separate (o baterie de 9 V și 4 baterii de 1,5 V), – Afișare în timp real pe ecran LCD cu 2*16 caractere, – Nici o piesă mecanică de șasiu realizată, – Cele 2 circuite imprimate decupate servesc drept șasiu rigid, – Funcționare autonomă, – Deplasări programabile direct prin creierul robotului de la 1 – 1000. Tehnologie recentă: µC PICBASIC-2S programabil în BASIC…

Robot F1:

Led IR stânga, dreapta; – Afișare numerică LCD 2 linii a 16 caractere.

Opțiuni pe conectorul HE 10: – 4 intrări analogice sau numerice; – 2 intrări sau ieșiri numerice; – 4 ieșiri amplificate numerice 500mA pentru motorul pas cu pas; – Interfață serială asincronă RS232.

Robotics Invention Sistem

Robotul mobil este dotat cu o cameră LEGO ce are următoarele caracteristici:

conectare USB cu cablu lung de 5m;

focalizare adaptabilă;

microfon incorporat;

înregistrare de 30 cadre pe secundă;

imagine color de înaltă rezoluție 352*288.

Robotul a fost conceput cu sarcina de a parcurge un spațiu de lucru populat cu obstacole fixe, pornind dintr-un punct inițial și ocolind aceste obstacole, să ajungă într-un punct final. Obstacolele prezente în spațiul de lucru al robotului sunt corpuri de diferite culori și mărimi. În structura robotului sunt incorporați senzori de prezență și de culoare.

Robot AVOIDER (evită obstacolele)

Robotul "AVOIDER" este un robot care sub forma sa simplă uimește prin capacitatea sa de a se deplasa evitând orice obstacol întâlnit în calea sa. Este dotat cu senzori IR și diferiți captori care îi permit sa vadă obstacolele și să anticipeze coliziunea reducând viteza uneia dintre roți pentru a face o rotație astfel înconjurând obiectul care se află în calea sa. Este un robot foarte performant și didactic.

Caracteristici ale robotului:

MRM-GM03 Gearbox (2x motoare DC);

Captori: 2 leduri emițătoare + 2 leduri receptoare IR;

Alimentare: 5V (4 baterii ”AA”);

II. STUDIUL DINAMICII ROBOTULUI MOBIL CU ROȚI

2.1. Rostogolirea roții pe un plan orizontal

Reducând cilindrul la secțiunea sa dreaptă, ne vom ocupa de mișcarea discului circular, greu, omogen, de centru O’ și de rază R, în planul vertical xOy (fig.2.1), discul fiind obligat a rămâne tangent necontenit la orizontala Ox. Vom presupune că în afară de greutatea proprie G și de reacțiunea normală N în punctul de sprijin A mai lucrează asupra discului un sistem de forțe situate în planul discului, forțe care se pot reduce la un torsor în O’ exprimat printr-o forță aplicată în O’, de proiecție pe axele de coordonate , și la un cuplu de moment normal la planul xOy. Vom presupune că sub acțiunea acestor forțe, discul capătă viteza orizontală aplicată în centrul O’, precum și o rotație în planul său, în jurul centrului O’, de viteză unghiulară . Vom indica în figură prin săgețile curbilinii sensul pozitiv al momentului respectiv al rotației discului de viteză unghiulară . În punctul A de tangență discul are tendința de a luneca pe Ox. Vom nota cu viteza de alunecare a punctului A aparținând discului pe axa Ox. Între mărimile există o relație care se poate stabili imediat dacă observăm că viteza a punctului A (viteza absolută) poate fi considerată ca fiind rezultanta dintre viteza de rotație în jurul centrului O’ (viteza de transport). Vom avea deci:

(2.1)

Fig. 2.1.

Viteza de alunecare sau numai tendința punctului A de a aluneca pe Ox va da naștere unei forțe de frecare , aplicată în punctul de contact A, așezată în lungul axei Ox și dirijată în invers vitezei (sau tendinței de alunecare în cazul în care este nul). Presupunem semnul lui inclus în simbolul .

Vom presupune că rostogolirea sau chiar numai tendința de rostogolire a discului pe axa Ox dă naștere frecării de rostogolire de moment C, a cărei valoare maximă (în cazul rostogolirii) este egală cu sN, s fiind coeficientul de frecare de rostogolire dat de relația (2.1).

Teorema mișcării centrului de greutate O’ al discului, proiectată pe cele două axe de coordonate ne va da:

(2.2)

(2.3)

iar teorema momentului cinetic față de centrul de greutate O’ al discului se va exprima prin relația:

(2.4)

unde am notat cu J momentul de inerție al discului față de centrul O’ și cu M’ diferența dintre momentul M al cuplului motor și frecarea de rostogolire C,

(2.5)

Eliminând pe între ecuațiile (1.2) și (1.3) obținem:

(2.6)

Ecuația (1.3) ne va da expresia reacțiunii normale N:

(2.7)

Mărimea N va fi pozitivă dacă presupunem .

Vom mai presupune în cele ce urmează că torsorul este constant, adică mărimile sunt constante.

2.1.1. Cazul rostogolirii fără alunecare

Ne propunem a studia posibilitatea unei rostogoliri a discului fără alunecare.

Notăm cu valorile inițiale ale mărimilor respective. Vom presupune că aceste mărimi sunt pozitive și că între ele există relația:

(2.8)

impusă de condiția rostogolirii fără alunecare. Vom arăta că în acest caz este posibilă în anumite condiții o rostogolire fără alunecare, adică o relație permanentă

(2.9)

între . Relația (2.6) ne va da deci

iar prin integrare

(2.10)

Rezultă pentru dat de (2.9) și (2.8) expresia

(2.11)

Se poate verifica lesne că expresiile (2.11) și (2.12) ale mărimilor verifică ecuațiile (2.2) și (2.4) și că ele sunt valabile și în cazul particular cu condiția de a lua pentru forța de frecare valoarea

(2.12)

Însă pentru această expresie a lui să fie admisibilă, ea nu trebuie să depășească în valoare absolută mărimea fiind coeficientul de frecare de alunecare. Deci pentru ca mișcarea să fie posibilă, trebuie să avem

(2.13)

ceea ce se mai poate pune sub forma

(2.14)

unde am notat

(2.15)

În cazul în care mărimea îndeplinește condiția (2.14) soluția problemei este dată de formulele (2.10) și (2.11); discul are o rostogolire fără alunecare, adică o rosto-golire pură.

Din formlele (2.10) și (2.11) deducem că dacă mărimea satisface și relația

(2.16)

mărimile rămân tot timpul pozitive, fără a se anula vreodată și că deci mișcarea de rostogolire va dura la infinit. Viteza de rotație va crește proporțional cu timpul sau, în cazul semnului egal în (2.16), se va menține constantă. Dacă însă în loc de relația (2.16) am avea relația

(2.17)

atunci mișcarea de rostogolire ar dura numai până în momentul dat de

(2.18)

În acel moment atât se anulează, deci discul devine imobil.

Pentru va trebui să revenim la formulele (2.10) și (2.11) în care vom presupune că timpul este socotit din momentul , iar vitezele inițiale sunt ambele nule (un caz particular al celui studiat). Rezultă că vom avea tot timpul o rostogolire în sens negativ , dacă , unde vom fi înlocuit pe C prin ; în cazul

(2.17’)

va rămâne în stare de imobilitate tot timpul .

În concluzie, dacă condiția (2.14) este îndeplinită, discul se va rostogolii tot timpul fără alunecare, și anume, în cazul , în sens pozitiv, uniform accelerat, iar în cazul rostogolirea va fi uniformă întârziată, trecând prin zero și schimbându-și sensul. Cazul particular (2.17’) se deduce imediat.

Aceste consecințe le-am adus în ipoteza că mărimea M’ îndeplinește condiția (2.14). Acum se pune întrebarea: ce se va întâmpla în cazul când condiția (2.14) nu este îndeplinită? Cu alte cuvinte, care va fi mișcarea discului când vom avea:

(2.19)

În acest caz, neputând să depășească valoarea maximă , va lua permanent această valoare limită. Mișcarea discului nu va mai putea avea loc fără alunecare. Studiul unei mișcări de felul acesta îl vom da în continuare.

2.1.2. Rostogolirea cu alunecare

Vom începe prin a studia cazul menționat (2.19). Vom continua deci a presupune , însă luând

(2.20)

va trebui să admitem alunecare, adică va trebui să presupunem constant. În cazul acesta, ecuațiile (2.6), (2.11) se vor integra și vor da

(2.21)

Admițând o viteză de alunecare a punctului A, considerat ca punct aparținând discului, față de axa Ox, vom avea

(2.22)

deci

(2.23)

cu notațiile

(2.24)

semnul dublu din (2.23) corespunzând cu acela din (2.21) din expresia frecării de alunecare . Însă are sens opus vitezei încât va trebui să avem

unde am notat și expresiile din dreapta relației (2.23) în care luăm semnul + respectiv semnul -. Deducem că în cazul

vom avea o alunecare cu viteză negativă tot timpul, iar în cazul

vom avea o alunecare cu viteza pozitivă tot timpul. Rostogolirea corespunzătoare va fi dată de expresia lui din (2.21), care în genere va fi diferită de zero.

Aceste considerații împreună cu acelea de la cazul anterior rezolvă integral cazul .

Să trecem acum la studiul cazului . Vom presupune deci că între vitezele inițiale există relația generală

(2.25)

care implică mișcarea de alunecare de viteză a punctului A al discului de pe axa Ox. Vom presupune , ceea ce nu înseamnă o particularizare, dacă lăsăm posibilitatea ca să fie pozitiv, negativ sau nul.

Forța de frecare va avea sensul opus lui . Valoarea ei absolută va fi egală cu , cât timp există o alunecare. În consecință, presupunând va trebui să luăm pe constant și egal cu în valoare absolută cât timp nu-și schimbă sensul. Cum este o funcție continuă de timp, ea va trebui să aibă același semn cu , cel puțin pentru valori mici ale lui t.

Integrând, ca mai sus, ecuațiile (2.2), (2.4) în raport cu timpul, vom obține ecuațiile (2.21) din care vom deduce pentru expresia

(2.26)

în locul relației (2.23). Notațiile sunt acelea din (2.24), iar dublul semn legat în același fel de dublul semn din expresia lui din (2.21).

Formula (2.26) se descompune deci în două

(2.27)

I. Cazul. În acest caz vom utiliza prima formulă din (2.27). Deci, dacă mărimea nu este negativă, adică dacă M’ îndeplinește condiția

atunci rămâne tot timpul pozitiv. Dacă însă mărimea este negativă adică dacă avem

Regăsim cazul studiat în paragraful precedent, luând drept moment inițial, momentul . În consecință, dacă M’ îndeplinește condițiile (2.26) și (2.28), adică dacă M’ nu depășește valoarea și nu este mai mic decât valoarea , vom avea pentru o rostogolire pură tot timpul; dacă însă M’ nu depășește valoarea însă este mai decât , atunci rostogolirea durează până în momentul dat de relațiile (2.28) și (2.18), când discul se oprește pentru ca apoi să ia o rotație negativă, deoarece expresia este negativă.

Dacă însă M’ nu îndeplinește condiția (2.26), adică dacă avem , atunci după cum am văzut la începutul acestui paragraf, pentru vom avea o alunecare cu viteza negativă tot timpul, însoțită de o rostogolire.

II. Cazul . În acest caz ne vom folosi de cea de-a doua formulă din (2.28). Deci dacă mărimea nu este pozitivă, adică dacă M’ îndeplinește condiția

atunci va rămâne tot timpul negativ. Dacă însă mărimea este pozitivă, adică dacă avem

atunci se va anula la momentul dat de expresia

(2.29)

când vom cădea din nou peste cazul studiat mai înainte. Discuția este similară aceleia făcute la cazul I .

Toată această discuție, poate fi rezumată în următoarea tabelă, ordonată după valorile pe care le-ar putea avea M’

la început , apoi

Am însemnat cu rostogolirea pură (fără alunecare), cu rostogolire cu alunecare.

Observație. În cazul în care M’ este cuprins în intervalul și am văzut că la momentul sau (după cum este pozitiv sau negativ) viteza de alunecare se anulează și forța de frecare încetează de a mai avea valoarea , ci a lua valoarea dată de (2.24). Avem astfel în genere o discontinuitate în valoarea lui , ceea ce va repercuta printr-o discontinuitate în valorile derivatelor date de ecuațiile generale de mișcare (2.2) și (2.4); valorile lui rămân însă continue.

2.2. Modelarea robotului mobil cu roți

Modelarea robotului mobil cu roți se face în raport de sistemul fix de condus S (figura 2.2) prin precizarea coordonatelor originii și a orientării sistemului de coordonate atașat prin intermediul cosinusurilor directori ai axelor. Deci configurația robotului este:

Aceasta se exprimă printr-o listă de 6 parametri scalari în spațiu și respectiv trei parametri în plan .

În timpul îndeplinirii sarcinii, robotul mobil se deplasează între două configurații și .

Distanța între configurații C și C’ scade pe măsura apropierii regimurilor și și tinde la zero în caz de coincidență. Această funcție de distanță se definește cu relația:

O traiectorie a robotului mobil de la configurația inițială la configurația finală reprezintă aplicația continuă din spațiul configurațiilor (SC), în care ; .

Modelarea robotului mobil pe roți pornește de la exprimarea restricțiilor pe baza relațiilor geometrice din figura 2.2. Acestea sunt raportate la sistemul de coordonate aferent centrului de masă aflat la distanța d de centrul de simetrie al platformei.

Obligativitatea deplasării pe traiectorie după axa de simetrie pentru unghiul de înaintare se exprimă prin relația:

Fig. 2.2. Considerații geometrice la modelarea robotului mobil cu roți.

Interdicția de patinare a roților din dreapta și respectiv stânga se exprimă cu relațiile:

în care b este distanța dintre roată și axa de simetrie a platformei robotului iar r este raza roții motoare.

Cele trei constrângeri se pot scrie matriceal sub forma:

Produsul dintre cele 2 matrice este:

= F

Ecuațiile Lagrange ale robotului mobil se pot scrie sub forma:

unde:

– este momentul de inerție al roții motoare raportat la axa roții;

– este momentul de inerție total raportat la axa roții în funcție de momentul de inerție al platformei raportat la axa ,

– momentul de inerție a ansamblului roată-rotor al motorului electric;

– este masa totală dată de masa platformei și masele celor două ansambluri roată-rotor electric;

– și reprezintă cuplul motor al roților din dreapta respectiv stânga, raportate la axele respective.

Se ajunge la expresia matriceală a modelului dinamic funcție de coordonata generalizată q:

unde:

este matricea momentelor de inerție iar:

este matricea vectorilor de poziție și a vitezei, respectiv:

este matricea mărimilor de intrare;

– este matricea Jacobi;

– este vectorul mărimilor de intrare;

– este matricea forțelor rezistente.

2.3. Determinarea momentului rezistent la rostogolire

Calculul lagărului de alunecare

Frecarea în lagărele de alunecare

Se știe că arborii sau osiile se reazemă pe lagăre. Porțiunile din arbori sau osii care vin în contact cu lagărele se numesc fusuri. După felul lagărului folosit, în timpul rotației fusului poate avea loc o alunecare (la lagărele de alunecare) sau o rostogolire (la lagărele de rostogolire).

Din acest motiv, se examinează separat frecarea în lagărele de alunecare (cu și fără joc) și în lagărele de rostogolire (cu rulmenți).

a) Frecarea în lagărul de alunecare cu joc. În acest caz, lagărul nu este strâns iar contactul dintre fusul arborelui și lagăr se face teoretic într-un punct A (practic pe o mică suprafață în jurul punctului A), (fig. 2.3).

Fig. 2.3.

Torsorul forțelor exterioare în raport cu centrul O al fusului este

Întrucât vectorul este dirijat după axa fusului, el are tendința de a imprima fusului o mișcare de rotație; acestei mișcări i se opune cuplul de frecare din lagăr de moment . Se observă că datorită jocului dintre fus și lagăr, fusul poate fi asimilat cu o roată rezemată pe o suprafață curbă; drept urmare, forțele de legătură sunt similare cazului roții vehiculului, respectiv aceste forțe sunt reacțiunea normală , forța de frecare de alunecare și cuplul de frecare de rostogolire de moment .

Deoarece torsorul forțelor de legătură are valoarea

ecuațiile vectoriale de echilibru sunt:

Notând cu r raza fusului arborelui rezultă ecuațiile scalare de echilibru static:

(a)

la care se adaugă condițiile de echilibru cu frecare

(b)

Rezolvând sistemul de ecuații (a) se obțin valorile

care introduse în ecuațiile (b) conduc la condițiile de echilibru

(c)

În cazul echilibrului la limită . Deoarece unghiul este foarte mic, se pot face aproximațiile:

Cu aceste date rezultă

sau, notând coeficientul de frecare în cazul lagărelor de alunecare cu joc

,

se obține

.

Conform principiului acțiunii și reacțiunii, momentul cuplului de frecare din lagăr este egal și direct opus lui , iar reacțiunea este egală și direct opusă forței . Prin urmare

.

Se obține o relație identică cu cea rezultată în cazul frecării în articulație.

Întrucât se poate descompune în spațiu în trei componente , iar în plan în două componente , momentul cuplului de frecare în lagăr va fi:

la lagărul solicitat de forțe spațiale:

la lagărul solicitat de forțe plane: .

b) Frecarea în lagărul de alunecare fără joc. În acest caz contactul dintre fus și lagăr având loc pe întreaga periferie a fusului (fig. 2.4).

Fig. 2.4.

în fiecare punct de contact apare o reacțiune și o forță de frecare de alunecare .

Forțele de frecare se reduc la un cuplu care reprezintă cuplul de frecare din lagăr al cărui moment este:

sau

(- reacțiunea din lagăr în ipoteza că nu există frecare).

Notând coeficientul de frecare în cazul lagărelor de alunecare fără joc:

se obține

adică o relație identică cu cea obținută în cazul frecării în articulație.

Se observă că expresia coeficientului de frecare în lagăr depinde de legea de variație a reacțiunilor normale pe suprafața de contact dintre fus și lagăr. Valorile acestui coeficient se determină experimental.

1. Aplicație: Calculul momentului de rostogolire

Momentul de rostogolire se calculează cu formula

unde:

s- coeficientul de frecare de rostogolire, are dimensiunile unei lungimi;

k- coeficient ce depinde de natura materialului, k=0,0003 pentru plastic.

R=0,025[m].

G- greutatea robotului, G=500[g]

r=0.0015[m]

2.4. Determinarea momentului motor

Calculul energetic din care rezultă momentul motor

Greutatea unui robot, împreună cu roțile, este egală cu P (fig.2.5); greutatea fiecăreia din roțile sale este egală cu p și raza roții este r.

Asupra roților din spate (motoare) este aplicat momentul motor . Automobilul, începând să se deplaseze din poziția de repaus, întâmpină rezistența aerului, care este proporțională cu pătratul vitezei sale de translație, având expresia .

Momentul de frecare din lagărul fiecărei roți este egal cu . Neglijând rezistența la rostogolire, să se determine viteza maximă a automobilului.

Pentru a determina viteza maximă formăm ecuația diferențială a mișcării automobilului

Energia cinetică a robotului este egală cu energia carcasei și a roților. Ținând seama că P este greutatea totală a robotului și , și notând raza de inerție a roții cu , obținem

,

deci

.

Printre forțele exterioare, numai forța de rezistență a aerului efectuează un lucru mecanic, dacă neglijăm rezistența la rostogolire, lucrul mecanic al forțelor de frecare dintre roți și sol fiind nul în acest caz (deoarece punctul de contact dintre roți și sol este centrul instantaneu de rotație). Prin urmare

.

Lucrul mecanic al forțelor interioare (ale momentului motor și de frecare din lagăre) este

.

Înlocuind expresiile termenilor , în ecuația diferențială a mișcării robotului și împărțind cei doi membrii ai ei prin dt, obținem:

de unde, simplificând prin , rezultă ecuația

din care se poate explicita accelerația a robotului.

Când robotul atinge viteza maximă, accelerația devine nulă. Ca urmare, se obține din din ecuația

de unde

.

2. Aplicație numerică pentru cazul real:

Pentru:

– vezi aplicația 1, unde am calculat momentul de rostogolire.

r- 0,025, k=0,0003, determinat experimental.

III. CALCULUL ANGRENAJULUI CILINDRIC EXTERIOR CU DINȚI DREPȚI

Calculul unui angrenaj cilindric cu dinți drepți are la bază metodologia de calcul, particularizată condițiilor de funcționare a angrenajelor din transmisiile mecanice uzuale.

3.1. Aspecte generale

Determinarea elementelor dimensionale principale ale angrenajului cilindric exterior cu dinții drepți

În urma calculului de dimensionare al angrenajului se determină distanța dintre axe , modulul normal al danturii , numărul de dinți ai celor două roți dințate ce formează angrenajul și distanța de referință dintre axe .

distanța dintre axe –

Distanța minimă dintre axe se determină din condiția ca dantura angrenajului proiectat să rezista la oboseală la presiunea hertziană de contact (pitting). Relația de calcul este:

unde:

* – factorul global al secțiunii hertziene de contact;

= 80000 … 90000 Mpa pentru danturi nedurificate ()

= 100000 … 110000 Mpa pentru danturi durificate ();

* – factorul de utilizare, se alege din anexa 1.1;

* – momentul de torsiune pe arborele pinionului – în [Nmm];

* – raportul dintre lățimea danturii și diametrul de divizare al pinionului, se alege din anexa 1.2;

* – rezistența la pitting, (presiunea hetrziană limitată la oboseală), se adoptă odată cu materialul din care se fabrică roțile dințate [MPa];

* – raportul numerelor de dinți;

* dacă raportul de transmitere (angrenaj reductor);

* dacă (angrenaj multiplicator).

În construcția reductoarelor de turație, distanța dintre axe este standardizată. Valorile distanțelor dintre axe standardizate sunt date în anexa 1.3 Modul de adoptare a distanței standardizate este următorul: dacă distanța dintre axe este cuprinsă între două valori consecutive standardizate adică , se adoptă:

– dacă

sau

– dacă

B. Modulul normal al danturii roților dințate –

Modulul normal minim al danturii roților dințate care formează angrenajul se determină din condiția ca dantura să reziste la rupere prin oboseală la piciorul dintelui. Relația de calcul al modulului normal minim este:

unde:

* – factorul global al tensiunii de la piciorul dintelui

* – au valorile adoptate în calculul distanței dintre axe;

* – distanța dintre axe, standardizată, calculată la punctul anterior (pct. A);

* – rezistența limită la rupere prin oboseală la piciorul dintelui, se adoptă o dată cu materialul din care se fabrică roțile dințate, în [MPa].

În construcția angrenajelor, modulul danturii este standardizat prin STAS 822-82. gama modulelor standardizate este dată în anexa 1.3. Raționamentul de adoptare a modulului standardizat este următorul:

a) dacă se adoptă modulul , deoarece precizia este mai scăzută la roțile dințate care au modulul mic și diametrul relativ mare;

b) dacă este cuprins între două valori consecutive standardizate ambele mai mari de , adică se adoptă:

C. Calculul numărului de dinți ai roților dințate care formează angrenajul

Se determină mai întâi, din considerente geometrice și cinematice, numărul probabil de dinți pinionului :

(3.1.)

unde: au valorile adoptate la pct. A, B și C.

Numărul de dinți ai pinionului se recomandă a se alege la valoarea întreagă cea mai apropiată sau imediat mai mică decât și trebuie, totodată, sa îndeplinească condițiile:

a) . Această condiție nu este îndeplinită întotdeauna în special la angrenajele cu danturi durificate . Pentru a se îndeplini condiția ca dinți, se majorează distanța dintre axe la o valoare imediat superioară standardizată, se recalculează modulul normal al danturii roților (conform punctului B), dar cu distanța dintre axe majorată. Se standardizează modulul calculat, apoi se recalculează cu relația (3.1.) și se adoptă . Acest ciclu se repetă dacă este cazul, până când este îndeplinită condiția ca dinți;

b) dacă numărul de dinți ai pinionului este cuprins între 14 și 17 dinți, se va avea în vedere ca la alegerea coeficientului deplasării specifice a danturii pinionului să fie îndeplinită condiția de evitare a subtăierii danturii (vezi anexa 1.4, fig. 1.4.1);

c) în special, la roțile din materiale de îmbunătățire sau normalizare se obține la pinion un număr de dinți mult prea mare dinți. În această situație, din considerente de precizie a execuției danturii, se recomandă a se adopta următoarele numere de dinți pentru pinion:

Odată ales de numărul dinți ai pinionului, se recalculează modulul normal al danturii cu relația:

(3.1’)

Modulul astfel calculat se restandardizează conform indicațiilor de la punctul B.

Fiind acum stabilit numărul de dinți ai pinionului, se determină numărul de dinți ai roții conjugate:

(3.2)

Se recomandă, dacă este posibil, ca numerele de dinți ai pinionului și respectiv ai roții conjugate să fie numere prime între ele. De aceea, de multe ori se mai adaugă sau se scade un dinte la roata conjugată . Dacă la alegerea lui s-a rotunjit în minus sau în plus, se va rotunji în plus, respectiv în minus, astfel încât să fie îndeplinite condițiile (3.5) și (3.7).

Distanța de referință dintre axe –

Distanța de referință dintre axe (distanța dintre axe, în cazul când angrenajul ar fi nedeplasat) este:

(3.3.)

Între distanța dintre axe standardizată și distanța de referință dintre axe trebuie să fie îndeplinite condițiile:

(3.4.)

(3.5.)

Dacă nu sunt îndeplinite condițiile (2.5.4.) și (2.5.5.) se poate modifica:

– – adăugând sau scăzând un dinte la roata conjugată:

– – unghiul de înclinare al danturii;

– – modulul normal al danturii adoptând valoarea standardizată imediat superioară, dar recalculând numărul de dinți cu relația (3.1.) și reluând calculul de la punctul D și E pentru noile valori adoptate.

Concluzii:

1. În urma calculului de predimensionare al angrenajului cilindric cu dinții înclinați se stabilește:

* – distanța dintre axe (standardizată):

* – modulul normal al danturii (standardizat);

* – unghiul de înclinare al danturii roților;

* – numărul de dinți ai pinionului și respectiv ai roții;

* – distanța de referință dintre axe (calculată cu minim 4 zecimale exacte).

2. Numărul de dinți adoptat pentru pinion și roată trebuie astfel ales încât abaterea raportului de transmitere să nu depășească abaterea admisibilă . Pentru aceasta se calculează mai întâi raportul de transmitere efectiv:

(3.6.)

Relația de verificare a abaterii raportului de transmitere este:

(3.7.)

Dacă această condiție nu este îndeplinită, se modifică numărul de dinți ai roții conjugate sau chiar ai pinionului, cu observația că dacă se modifică și numărul de dinți ai pinionului trebuie recalculat modulul danturii, relația (3.1), restandardizat și îndeplinite condițiile (3.4) și (3.5).

În anexa 1.5 s-a efectuat calculul unui angrenaj cu roți dințate.

3.2. Calculul raportului de transmitere în cazul angrenajului robotului mobil

Cu ajutorul unui singur ax se poate transmite mișcarea de rotație între două axe paralele situate la o distanță limitată de mărimea roților dințate, precum și un raport de transmitere limitat.

Pentru transmiterea mișcării între axe paralele situate la o distanță mai mare se folosesc trenuri (lanțuri) roți dințate (figura 3.1.), la care, între roata conducătoare a și roata condusă d se introduce o serie de roți intermediare. Considerând angrenajele parțiale a-b, b-c, c-d și notând cu rapoartele de transmitere parțiale se obțin:

unde:

Fig. 3.1. Fig. 3.2.

Raportul de transmitere al trenului nu depinde de roțile intermediare, care, rând pe rând, sunt roți conduse și conducătoare în angrenaje parțiale succesive, având aceeași valoare, ca și când roțile externe a și d ar fi angrenate direct.

În figura 3.2 se arată un tren de angrenaje, compus din trei angrenaje a-A, b-B, c-C, ale căror rapoarte de transmitere sunt:

Raportul de transmitere al trenului de angrenaje este

Mecanismul din figura 3.2 reprezintă un reductor de turații. Mecanismul este reversibil; dacă transmiterea mișcării se face de la roata C către roata a, se obține un amplificator de turații.

Aplicație pentru cazul real

Razele roților sunt:

;

,

Raportul de transmitere este:

.

Fig. 3.3. Angrenajul utilizat la transmisia mișcării robotului.

IV. ACȚIONAREA ROBOTULUI

Mașina de curent continuu

Mașina de curent continuu cunoaște o mare răspândire în sistemele de acționare electrică, datorită caracteristicilor electromecanice avantajoase pe care le prezintă. Mașina de curent continuu este utilizată atât în regim de motor cât și în regim de generator; regimul de frână este întâlnit numai incidental în funcționarea mașinii de curent continuu.

În mașina de curent continuu câmpul inductor este fix față de armătura inductoare, realizată ca stator. Câmpul inductor poate fi produs cu ajutorul curentului continuu sau cu ajutorul magneților permanenți (la puteri mici). Înfășurarea prin care trece curentul continuu pentru producerea câmpului inductor se numește înfășurare de excitație.

Indusul mașinii de curent continuu, realizat pe rotor, este prevăzut cu o înfășurare de curent continuu (de tip închis), conectată la colector, organ caracteristic și indispensabil al mașinii de curent continuu, care are rolul de a redresa curentul alternativ al indusului pentru a da în circuitul exterior un curent continuu.

Înfășurarea de excitație a mașinii de curent continuu poate fi în diferite moduri: de la surse exterioare mașinii (fig. 4.1,a), când se spune că mașina are excitație separată, sau chiar de la bornele mașinii, când se spune că mașina este autoexcitată. După modul de excitație mașinile cu autoexcitație pot fi excitate în paralel sau în derivație (fig. 4.1,b), cu excitație serie (fig. 4.1,c), sau cu excitație compusă (fig. 4.1,d).

Fig. 4.1. Conexiunile mașinilor de curent continuu:

a – cu excitație separată; b- cu excitație derivație; c- cu excitație serie; d – cu excitație mixtă.

Regimul nominal de funcționare al mașinii de curent continuu se caracterizează prin mărimile nominale, pentru care a fost dimensionată mașina și care sunt înscrise pe plăcuța indicatoare a mașinii: regimul de funcționare (generator, motor); puterea în kW; la generatoare puterea electrică la borne, la motoare, puterea mecanică la arbore; curentul la bornele principale în A; tensiunea la borne în V ; turația nominală în rot/min; tensiunea și curentul de excitație în V respectiv în A; regimul de lucru (de durată, intermitent, scurtă durată).

Principiul ei de funcționare bazându-se, ca și la celelalte mașini electrice, pe legea inducției electromagnetice.

Piesa cu rol de redresor mecanic, la generatorul de c.c., și de invertor mecanic, la motorul de c.c., este colectorul mașinii care se plasează între înfășurarea rotorică și exterior, periile fac elementul de legătură.

4.1. Elemente constructive ale mașinii de c.c.

Mașina de c.c., are două părți constructive de bază: statorul, compus din carcasă (din oțel masiv, ce are și rolul de jug statoric), polii principali (sau de excitație, din tole), polii auxiliari (de comutație, din oțel masiv, fiind specifici numai mașinilor cu puteri de peste 1kW), înfășurările rotorice excitație și ale polilor auxiliari, scuturile laterale, sistemul de perii, lagărele și bornele; rotorul, compus din miezul feromagnetic (din tole izolate, crestat spre întrefier), înfășurarea rotorică (așezată în crestăturile rotorice), colectorul, ventilatorul, rulmenții și arborele.

În figura 4.2, se prezintă o secțiune transversală printr-o mașină de c.c., bipolară în care se regăsesc majoritatea elementelor enumerate mai sus: 2- poli principali; 3- bobina de execuție; 4- poli auxiliari; 5- bobina polului auxiliar.

Colectorul mașinii de c.c. este alcătuit din lamele conductoare din cupru.

Pe colector se găsesc periile mașinii confecționate din grafit prin intermediul cărora se face legătura între exteriorul mașinii și înfășurarea rotorică.

Înfășurarea rotorică este închisă, fără bornă de început sau sfârșit. Elementul de bază al înfășurării este secția, care are spire și care reprezintă bobina așezată în crestăturile rotorice ale cărei capete se leagă la două lamele vecine de colector (la înfășurarea buclată), sau la două lamele distanțate cu un pas diametral (la înfășurarea ondulată). Un alt element al înfășurării rotorice îl reprezintă calea de curent, care este porțiunea de înfășurare, formată din secții înseriate pe care le parcurgem când ne deplasăm pe înfășurare între două perii consecutive, care sunt întotdeauna cu nume contrar.

De regulă, t.e.m. induse în secțiunile unei mașini de curent au același sens și din însumarea lor rezultă t.e.m. totală între periile mașinii. Numărul total de curent este par. Înfășurarea buclată are întotdeauna , ( numărul de perechi de poli ai mașinii), iar înfășurarea ondulată are întotdeauna . Sub aspectul introducerii t.e.m., nu există deosebiri între înfășurările buclată și ondulată. Periile mașinii sunt plasate simetric pe periferia colectorului și numărul lor este egal cu numărul de poli de excitație ai mașinii. Polaritatea periilor alternează pe colector.

Fig. 4.2. Secțiunea transversală prin mașina de c.c.

2- poli principali; 3- bobina de execuție; 4- poli auxiliari; 5- bobina polului auxiliar.

Sensul cuplului electromagnetic se determină cu ajutorul vectorului , unde este densitatea de curent din conductoare; semnul minus arată că se opune mișcării, adică sensurile adoptate pentru curent și pentru câmpul magnetic corespund regimului de generator (fig. 4.3).

Fig. 4.3. Sensul câmpului electromagnetic și al vitezei unghiulare la generatorul de curent continuu.

4.2. Regimul de motor

Mașina de curent continuu poate funcționa și în regim de motor electric. Motorul electric (fig. 4.4) transformă puterea electrică primită de la o rețea electrică în putere mecanică prin intermediul câmpului electromagnetic.

Fig. 4.4. Motorul de curent continuu.

În regim de motor cuplul electromagnetic, schimbă semnul și acționează asupra rotorului în sensul de rotație (cuplu activ). În regimul de motor sensurile de referință ale tensiunii la borne și ale curentului se asociază după regula de la receptoare (fig.4.5). Ecuațiile motorului în regim staționar rămân de aceeași formă ca și la generator cu precizarea că schimbă semnul:

(4.1)

Căderea de tensiune schimbă semnul o dată cu .

După modul de conectare a înfășurării de excitație se disting: motoare cu excitație separată, motoare cu excitație derivație, motoare cu excitație serie și motoare cu excitație mixtă. Când alimentarea motorului se face de la o sursă de tensiune constantă nu există deosebire între motorul cu excitație separată și motorul cu excitație derivație. Ecuația cuplurilor la viteză de rotație constantă este: ; este cuplul dezvoltat de ax pentru a învinge cuplul rezistent al instalației antrenate. Înmulțind ecuația cuplurilor cu se obține ecuația puterilor

(4.2)

este puterea utilă la arbore. Puterea electromagnetică se poate pune sub forma:

(4.3)

unde este puterea absorbită de motor de la rețea; sunt pierderile Joule în rezistența la perii și în rezistența ; este puterea transformată în căldură prin efect Joule în înfășurarea de excitație. Pa baza relațiilor de mai sus s-a construit diagrama energetică a motorului (fig. 4.6). Randamentul motorului este:

(4.4)

Polaritatea polilor auxiliari se stabilește după aceeași regulă ca la generator și rezultă că parcurgând periferia rotorului în sensul de rotație, întâlnim întâi un pol auxiliar de polaritate opusă față de polul de excitație care urmează.

Motoarele de curent continuu prezintă o deosebită importanță în acționările cu reglaj de viteză, cunoscând în prezent o largă dezvoltare, ca fabricație și utilizare.

Caracteristicile motorului de curent continuu depind de modul de conectare al înfășurării de excitație; este importantă caracteristica mecanică care se aproximează cu .

4.3. Alegerea motorului

În urma calculelor efectuate în capitolul II se alege motorul cu următoarele caracteristici:

cu trei poli induși;

tensiunea de alimentare: 1.5 la 3 V DC;

viteza de rotație: 8000 rotații / min.

Curent de mers în gol: 0.2 A;

Randament maxim: 5700 rotații / min. – 0.5 A;

Lungimea arborelui: 25 mm ;

Diametrul carcasei: 20 mm;

Diametrul axei: 2 mm.

Motor electric în miniatură ideal pentru conglomerate de montaje reduse.

4.4. Comanda motoarelor de curent continuu

Atunci când dorim să comandăm un motor (de curent continuu sau pas cu pas) suntem cel mai des obligați să inversăm polaritatea motorului. Mai mult este de preferat să se poată varia viteza motorului. Soluția acestor două probleme se numește punte H.

Principiul de inversare a polarității

În figurile de mai sus se cunoaște sensul de rotație al motorului: în figura a. motorul este oprit, (am putea spune că acesta este frânat: de fapt scurt – circuitat). În figura b. se întoarce în sens invers față de figura c. iar în schema d. este frânat. Pentru a o pune în funcționare, este necesar să înlocuim întreruptorii cu tranzistori.

În figura de mai sus este reprezentată schema ideală a unei punți H. Atunci când intrarea In 1 (In 2) este activă, tranzistorul Q1 (Q2) lasă curentul să treacă si tranzistorul Q3 (Q4) este blocat. Când intrarea In 1 este activă, polul 1 al motorului are un potențial Vcc, și atunci când intrarea In 1 este inactivă, polul 1 al motorului este la masă. Atunci când oprim motorul, și el continuă să se învârtă în virtutea inerției, acesta se comportă ca o generatoare.

V. COMANDA ȘI CONTROLUL ROBOTULUI MOBIL

5.1. Sisteme de transmitere a semnalelor

5.1.1. Sisteme de transmitere prin microunde

Utilizează frecvențele joase din domeniul gigahertzilor, deci, mai mari decât frecvențele radio. Din acest motiv, prin intermediul microundelor, se pot transmite date la viteze superioare și cu performanțe mai bune comparativ cu transmisiile ce utilizează frecvențe radio. Exista doua tipuri de sisteme de comunicație:

a) sisteme terestre, care utilizează, de obicei, antene parabolice directive. Dezavantajul acestui sistem este că receptorul și transmițătorul trebuie "să se vadă" (nu trebuie să existe obstacole pe linia ce unește cele două puncte). În general, dacă distanța este mare, se pot utiliza puncte releu. Se recomandă utilizarea acestor sisteme în cazul în care instalarea altor sisteme implică costuri mai ridicate, sau nu este posibilă.

Ex: dacă trebuiesc conectate două clădiri aflate de o parte și de cealaltă a unei șosele, iar instalarea unui cablu (aerian sau subteran) este interzisă.

De asemenea, sistemele terestre de capacitate mică, se utilizează în interiorul încăperilor, formând rețele locale de calculatoare care pot fi conectate la rețele cablate prin intermediul unor hub-uri omnidirecționale. Capacitatea de transmisie variază în funcție de frecvența utilizată, fiind între 1Mbps și l0Mbps. Transmisiile de acest tip pot fi foarte ușor interceptate și de aceea, de cele mai multe ori, informația este criptată.

b) sisteme de transmitere prin satelit. Au aproape aceleași caracteristici cu sistemele terestre: semnalele sunt transmise prin antene parabolice directive, utilizând frecvențe joase din banda gigahertzilor (llGHz – 14GHz). Și în acest caz, cele două antene trebuie "sa se vadă" parcurgă o distanță foarte mare (50.000 km de la rețeaua locală emițătoare la satelit și încă 50.000 km de la satelit la rețeaua locală receptoare), durata transmisiei este mult mai mare comparativ cu durata aceleiași transmisii prin cablu. Din acest motiv sistemele prin satelit au întârzieri mari între momentul transmisiei și cel al recepției, numite întârzieri de propagare a semnalului. Durata unei astfel de întârzieri este în general între 0.5 secunde și 5 secunde. De menționat costurile foarte mari pentru instalarea și punerea în folosință a unui astfel de sistem. Există mari companii (AT&T sau Hughes Network System) care închiriază astfel de servicii.

5.1.2. Sistem de transmitere în infraroșu

Infraroșu este regiunea din spectrul electromagnetic de lungimi de undă mai mari decât lungimile de undă ale radiațiilor optice, dar mai mici decât ale undelor radio. Din cauză că mare parte din lumina cu emisie în infraroșu este absorbită de atmosfera Pământului, astronomia în infraroșu se desfășoară, de obicei în spațiu.

Razele infraroșii au frecvența cuprinsă în domeniul 3-10Hz – 4-10Hz, iar lungimea de undă în domeniul 1013 m – 7,8 • 10-7 m.

Acest domeniu este împărțit în trei zone: infraroșu apropiat (10m – 3*10m),

infraroșu mijlociu (3 • 10m – 3 • 10-6 m) și infraroșu îndepărtat (3•10-6 m – 7,8•10-7 m).

Pentru realizarea unui astfel de sistem se folosesc: pe post de transmițător diodele electroluminiscente (LED-uri sau ILD-uri), iar ca receptor fotodiodele, fototranzistori. Transmisiile în infraroșu utilizează domeniul teraherțzilor din spectrul electromagnetic.

Mai sunt și alte aplicații în care se utilizează aceasta tehnologie: telecomenzile pentru televizoare, videocasetofoane, etc. Deoarece semnalele în infraroșu se află într-un domeniu de frecvențe foarte înalte, ele pot atinge viteze de transmisie foarte mari. Dezavantajul constă în faptul ca nu pot trece de ziduri sau alte obstacole aflate în calea lor. Un alt mare inconvenient este că sunt puternic atenuate de lumina intensă. Aceste sisteme pot fi împărțite, la rândul lor, în doua categorii:

a) sisteme de transmitere în infraroșu punct-la-punct, care se utilizează, în general, în cazurile în care echipamentele au o poziție fixă.

Undele infraroșii pot fi ușor focalizate și direcționate, alinierea echipamentelor făcându-se, astfel, destul de ușor. Emițătoarele laser pot transmite în linie dreaptă, pe distanțe de sute de metri, caz în care costul total ar putea fi destul de mare.

Poate cel mai important avantaj, al acestui sistem de transmisie fără fir, este că nu necesită nici o licență.

Prin transmisiile punct-la-punct se pot atinge viteze între l00 Kbps și 16 Mbps. Gradul de atenuare a semnalelor infraroșii depinde de calitatea și puritatea semnalului transmis de sursa luminoasă, de condițiile atmosferice și de obstacolele aflate în calea semnalului. În momentul în care se încearcă o interceptare neautorizată a transmisiei, se poate descoperi foarte ușor, prin faptul că se produce o întrerupere a fluxului luminos, apărând astfel o sumă de erori.

b) sisteme de transmitere în infraroșu omnidirecționale. Aceste sisteme împrăștie semnalul în scopul de a acoperi o arie mare și permit recepția semnalelor provenite din mai multe puncte. Avantajul, față de sistemul punct-la-punct, este mobilitatea transmițătoarelor și receptoarelor de unde infraroșii. Dezavantajul constă în faptul că, sistemele omnidirecționale, nefiind focalizate, oferă viteze de transfer mai mici decât cele prezentate anterior. Ele sunt limitate, în general, la mai puțin de 1Mbps.

Principii de funcționare

Din ce în ce mai multe aplicații, care necesită o poziționare a unor subansambluri, beneficiază de izolația foarte bună a componentelor, prin utilizarea telecomenzii.

Lumina cu emisie în infraroșu este o soluție excelentă pentru rezolvarea acestor probleme, cerințe, implicând în același timp costuri relativ mici și fiind foarte ușor de utilizat. Gama de componente necesare realizării unui astfel de sistem de telecomandă este foarte variată, construcția relativ ușoară, iar din punct de vedere al licenței de utilizare, aceasta dispare, nefiind aceleași criterii ca la comanda radio, ș.a.m.d.

5.1.3. Sistem de transmitere prin unde radio

Undele radio au frecvente de transmisie de la 10 kHz până la 1 GHz. Folosirea acestor unde prezintă unele avantaje, cum ar fi:

– sunt ușor de generat;

– pot parcurge distanțe mari;

– pot trece cu ușurință prin clădiri.

Undele radio pot fi transmise omnidirecțional (în toate direcțiile simultan) sau unidirecțional (într-o singură direcție data de un arc de cerc cu un unghi cunoscut). O altă caracteristică a undelor radio este puterea de emisie, determinată de tipul antenei emitente și de transceiver (echipamentul care transmite – TRANSMITS – semnalele).

Din acest punct de vedere, putem împărți undele radio în trei categorii:

– unde radio emise cu putere mică, pe o singură frecvență. Aceste unde radio au o acțiune limitată la 20-30 metri și se recomandă utilizarea lor în spații deschise;

– unde radio emise cu putere mare, pe o singură frecvență. Sunt similare cu cele de la punctul a, cu deosebirea că pot acoperi distanțe mai mari, recomandându-se utilizarea lor în spații deschise dar cu suprafață mare. Aceasta suprafață poate depăși uneori limita orizontului, caz în care undele "folosesc" proprietățile de reflexie ale atmosferei terestre. Ținând cont de acest avantaj, undele radio de putere mare se utilizează în transmisii pentru rețelele mobile (nave maritime, vehicule în mișcare sau avioane).

– unde radio emise cu spectru împrăștiat. Aceste unde radio utilizează mai multe frecvențe simultan. Avantajul folosirii acestui tip de emisie este că datele transmise pot fi foarte greu interceptate de persoane neautorizate. În celelalte două cazuri, dacă cineva vrea să "asculte" datele transmise, nu trebuie decât sa-și racordeze receptorul pe lungimea de unda a emițătorului. În cazul undelor emise cu spectru împrăștiat, datele ce trebuie transmise sunt împărțite în segmente, numite "chips" și apoi transmise fiecare pe altă frecventă. Pentru ca "decriptarea" nedorită să fie foarte dificilă, se face apel la transmiterea unor semnale "dummy", împachetate și ele în blocuri de date similare "chips-urilor". Semnalele dummy sunt intercalate cu blocurile de tip chips. Transmisia datelor este coordonată prin intermediul receptorului și de aceea el va ști întotdeauna ce frecvențe conțin informații utile (chips) și ce frecvențe informații de bruiaj (caz în care vor fi ignorate). Totuși semnalele pot fi interceptate, dar este foarte grea decriptarea și reasamblarea chips-urilor.

5.2. Senzori

5.2.1. Senzori incrementali

Senzorii utilizați pentru detecție în cazul robotului mobil fac parte din categoria senzorilor optici mai precis din categoria senzorilor incrementali. Senzorii optici, de poziție unghiulară dată, care ne dă poziția unghiulară a arborelui pe care sunt montați.

Există 2 categorii de senzori optici:

senzori incrementali;

senzori absoluți.

Senzorii incrementali. Mod de funcționare.

Pe durata funcționării aceștia variază de la un constructor la altul, ideea de bază rămânând aceeași.

O celulă fotoelectrică sau un fototranzistor detectează variația de lumină dată o roată codoare așezată în fața unei surse de lumină cu dungi negre de aceeași mărime cu spații între ele, desenate pe un disc (fig. 5.1.).

Fig. 5.1. Roată codoare.

Această alternanță de fază luminoasă se citește printr-un tren de impulsuri. În general captorii incrementali au 2 ieșiri principale, fiecare generând un anumit număr de impulsuri pe tur, până la . Acest număr determină rezoluția captorului. Cele 2 semnale de ieșire sunt defazate cu ¼ pași decalând de exemplu cele 2 piste de ieșire astfel că diferența de fază între cele 2 semnale ne permit determinarea sensului de rotație al arborelui motor. Mai mult , există și o a treia ieșire, numită „marcker” care produce un singur impuls pe tur și servește drept semnal de sincronizare (fig. 5.2).

Fig. 5.2. Arată forma tipică a celor trei semnale de ieșire.

Sensul de rotație este stabilit de o logică dată de obicei de către furnizor.

Utilizare. Captorii incrementali sunt cei mai des utilizați la determinarea poziției, unde zero poate să varieze. Îi întâlnim de asemenea, frecvent în sistemele comandate ca generatoare de impulsuri în determinarea vitezei. De fapt, frecvența electrică (Hz) a unui tren de impulsuri este egală cu produsul numărului de impulsuri/tur viteza de rotație (tr/sec). Dacă știm să măsurăm această frecvență, putem calcula viteza arborelui motor.

Captorii absoluți

Ei sunt prezentați sub forma unui disc pe care sunt dispuse acoperiri, negre și albe, în totalitate sau nu, astfel că, pe o rază oarecare, succesiunea de zone negre și albe constituie reprezentarea binară a unghiului pe care îl face arborele motor cu origine cunoscută (fig. 5.3). Acest cuvânt binar este generat direct de un disc de decodare datorită unui sistem de citire optic folosind dispozitivele analogice care sunt utilizate în captorii incrementali.

Fig. 5.3. Captor absolut.

Desenul pistelor este ales astfel încât să producă un cod Gray sau cod binar reflectat în care trecerea de la un număr la următorul număr se traduce prin schimbarea unui singur bit în combinația care îl reprezintă.

Utilizare. Captorii absoluți permit cunoașterea valorii instantanee a unghiului de rotație a arborelui motor în comparație cu un decalaj inițial al captorului pe acest arbore.

În domeniul roboților prezintă avantajul extrem de interesant după demaraj, printr-o singură citire presupunând că aceștia sunt plasați la fiecare articulație, putem adăuga referințele de stabilizare și evitarea mișcărilor bruște ale mecanicii susceptibile la deteriorare.

Un robot echipat cu astfel de captori nu are nevoie de o poziție de instalare specială.

Controlul acestor captor se realizează ușor cu un microprocesor.

5.2.2. Senzori de proximitate

A doua categorie de senzorii utilizați face parte din senzorii de proximitate. Un senzor de proximitate se prezintă decât un pixel, adică o singură zonă sensibilă echivalentă funcțional cu un punct.

Dacă nu utilizăm posibilitatea acestui senzori pentru a îmbunătăți informația preluată din mediu, el ne poate furniza decât două tipuri de informații:

prezența sau absența unui obiect în raza sa de acțiune;

o mărime a distanței senzor-obiect, dacă acesta este în raza sa de acțiune (de la câțiva mm sau centimetrii până la câțiva metrii) cu o anumită precizie.

Mai mult sunt numiți senzori de vedere locală făcând aluzie la raza de acțiune mică și la suprafața pe care o examinează.

Cel mai frecvent întâlnim două tipuri de senzori: ultra-sunete și infra-roșu.

Senzori cu ultra-sunete

Distanța lor minimă de detecție nu scade sub 30 – 50 cm, distanța maximă atingând mai mulți metrii. Sunt destul de obișnuiți după dezvoltarea aparatelor foto în întregime automate care prezintă acest tip de captor.

Unghiul lor de deschidere, mai degrabă mare asociat unei distanțe minime de detecție destul de mare conduc în principal la funcționarea în siguranță a roboților mobili pentru a evita obstacolele.

Senzori cu infra-roșu

Un emițător (de obicei o diodă) trimite un fascicol infra-roșu de lumină pe obiect prin intermediul unei lentile. Fascicolul reflectat este captat de un receptor (de obicei fototranzistor) figura 5.4. Pentru a evita bruiajul posibil de la lumina mediului ambiant, fascicolul de emisie este modulat sau mărit (câțiva kHz). La recepție fiind filtrat.

Printre avantajele acestui tip de captor, atragem atenția asupra mărimii foarte mici (câțiva centimetri cubi) care permite integrarea sa în orice parte a robotului și de asemenea distanța minimă de detecție care scade sub câțiva centimetri.

Fig.5.4. Senzor de proximitate infra-roșu.

Ca și detectorul cu ultra-sunete este utilizat în special pentru detectarea prezenței sau absenței unui obiect și la măsurarea distanței. De fapt, (dacă analizăm figura 5.5) se observă curba de răspuns a captorului în funcție de distanța captor – obiect. Această curbă, în mare, are forma unui clopot (fig. 5.5).

1) Totodată, se observă pe figură că pentru același semnal de ieșire putem să avem două distanțe senzor – obiect diferite: . Pentru a mări determinarea, a mai mult de o informație de obicei, va trebui dăm mai înainte sau să tragem înapoi captorul. De fapt pantele detectabile prin această metodă sunt de semne contrare.

2) Forma curbei va fi dată de orientarea obiectului în funcție de axa captorului. Trebuie deci să ne asigurăm de această orientare și de posibilitatea de reproducere a sa.

3) În ultimul rând, amplitudinea curbei depinde puternic de coeficientul de reflexie la infra – roșu a obiectului.

Fig. 5.5. Caracteristica răspunsului unui senzor infra – roșu.

Senzorii infra – roșii și senzorii cu ultra – sunete într-un mediu de măsurare mai mic sunt utilizați nu numai individual, în asociere reușind să atingă zecimi. Aceasta permite mai ales , în afară de fiabilitatea măsurării, pentru a realiza o hartă a cu obiecte extrăgând câteva distanțe ale locurilor vecine.

5.2.2.a) Fotodetectorul utilizat la robotul mobil este reprezentat de către un fototranzistor care este un fotodetector de radiație luminoasă al cărui element fotosensibil are o construcție de tranzistor care asigură amplificarea fotocurentului. Din acest punct de vedere fototranzistorii fac parte din grupa fotodetectorilor cu amplificare internă.

a) Principiul de funcționare

Din punct de vedere constructiv fototranzistorul, la fel ca și tranzistorii obișnuiți este format dintr-un cristal semiconductor în care se succed diferite tipuri de conducție (de exemplu: p-n-p sau n-p-n) și în care se prevede posibilitatea ca regiunea bazei, a colectorului, a emitorului sau chiar toate regiunile să fie iluminate.

În figura 5.6 sunt ilustrate diferite tipuri constructive de fototranzistori. Lumina poate cădea perpendicular (fig. a, b, c) sau paralel cu planul joncțiunilor p-n. Se constată însă că fototranzistorii sunt mai eficienți când fluxul incident de lumină cade normal pe planul joncțiunii colector-bază și când este iluminată regiunea bazei.

Ca și tranzistorul obișnuit, fototranzistorul poate fi inclus în schemele de măsură cu un cvadruplu cu emitorul comun (EC), cu baza comună (BC) sau cu colectorul comun (CC). De asemenea, fototranzistorul mai este inclus în schemele de măsură ca un dispozitiv cu două terminale, la fel ca o diodă obișnuită, având emitorul, baza sau colectorul în gol. Diferitele moduri de conectare a fototranzistorului în circuitele electronice sunt prezentate în figura 5.7.

Tipuri constructive de fototranzistori

Parametrii fototranzistorilor depind atât de parametrii constructivi cât și de parametrii fizici ai materialului semiconductor utilizat în acest scop. De exemplu, dacă se alege varianta constructivă din figura 5.6.a, atunci, patru a micșora dependența de temperatură a sensibilității fototranzistorului, este necesar ca raportul dintre raza emitorului și raza colectorului să fie cât mai mic, iar pentru a obține un coeficient de amplificare suficient de mare centrul emitorului se deplasează în raport cu centrul colectorului pentru a diminua „zona moartă”.

Caracteristicile în frecvență ale fototranzistorilor sunt inferioare celor ale fotodiodelor. Timpul de răspuns al fototranzistorului este determinat nu numai de difuzia și driftul purtătorilor de sarcină din bază ci și de constanta de timp a circuitului. În cazul fototranzistorului joncțiunea emitorului este polarizată direct și are o capacitate relativ mare . În plus constanta de timp depinde de nivelul de iluminare. Din aceste motive caracteristicile în frecvență ale fototranzistorilor la fel ca și în cazul fotorezistorilor se înrăutățesc odată cu diminuarea fluxului luminos incident.

Există mai multe tipuri de fototranzistori, aceștia sunt:

fototranzistorii din siliciu;

fototranzistorii cu heterojoncțiuni;

fototranzistorii cu barieră Schottky;

fototranzistorii unijoncțiune;

fototranzistorii unipolari.

Fototranzistorii din Si

Acest tip de fototranzistori se pot realiza în multe variante constructive prin tehnologia plan-epitaxială, care este bine cunoscută și pusă la punct în cazul Si. Fototranzistorii din Si au un coeficient de amplificare internă mare iar variantele constructive permit un grad înalt de flexibilitate în ce privește compatibilitatea cu circuitele electronice integrate.

Domeniul de sensibilitate spectrală al fototranzistorilor din Si este același cu cel al fotodiodelor și este cuprins, de regulă, între . În figura 5.8 este prezentată caracteristica spectrală relativă a fototranzistorilor de tip n-p-n din Si. În mod uzual fototranzistorii sunt utilizați ca dispozitive cu două terminale având baza în gol. Caracteristicile curent-tensiune ale fototranzistorilor din Si în această conexiune sunt ilustrate în figura 5.9 pentru diferite intensități ale radiației incidente. Tensiunea colector-emitor de intrare în regim de saturație a caracteristicilor curent-tensiune depinde de nivelul de iluminare (figura 5.10) pentru intensități nu prea mari ale radiației incidente când coeficientul de amplificare al fotocurentului primar nu depinde de iluminare. La intensități mai mari ale radiației incidente factorul de amplificare al fotocurentului trece printr-un maxim iar apoi scade rapid. În domeniul linear al dependenței fotocurentului de nivelul de iluminare sensibilitatea fototranzistorilor din Si este de ordinul a . În ceea ce privește alegerea materialului semiconductor și parametrii geometrici sunt necesare unele precizări cu privire la aspectele contradictorii ale parametrilor de funcționare ai fototranzistorilor. Astfel, pentru a obține un factor mare de amplificare este necesar ca baza fototranzistorului să fie subțire, conductivitatea materialului semiconductor trebuie să fie mare iar timpul de viață al purtătorilor de sarcină să fie mic. În același timp pentru a obține o fotosensibilitate mare atât lărgimea bazei cât și timpul de viață trebuie să aibă valori mari. În plus viteza de răspuns a fototranzistorului este determinată de tipul de viață al purtătorilor de sarcină. Câteva din aceste contradicții în cazul fototranzistorilor din Si se pot rezolva ușor introducând impurități

cu nivele adânci în regiunea bazei pentru a micșora timpul de viață și alegând o geometrie convenabilă.

Fototranzistorul ales pentru detecție în cazul real: ROL 031

Descriere generală

ROL 031 este un fototranzistor plan-epitaxial npn cu siliciu (Fig. 5.11.) în capsulă din rășină epoxidică transparentă, fără contact de bază, utilizabil ca fotodetector în circuitele electronice de control și comandă.

Sensibilitate mare;

Curent de întuneric mic;

Domeniul spectral: vizibil și infra-roșu apropiat;

Aria fotosensibilă ;

Saturație compatibilă cu majoritatea circuitelor TTL/DTL.

*Iluminarea este fluxul luminos incident pe unitatea de arie a suprafeței iluminate. Sursa de lumină este o lampă cu filament de tungsten funcționând la temperatura de culoare de 2850 K (standard de iluminare A).

5.2.2.b) Emițătorul

Considerând caracteristica curent-tensiune a unei joncțiuni p-n a unui semiconductor (fig.5.16) , fotodioda corespunde funcționării în cadranul III (deci cu polarizare inversă). În această regiune fotocurentul variază liniar cu iluminarea.

Din această cauză fotodiodele sunt indicate pentru măsurări cantitative de iluminare. În absența radiației luminoase există un curent foarte mic invers numit curent de întuneric . Dacă suprafața fotosensibilă a joncțiunii este iluminată, în joncțiune se generează perechi de purtători de sarcină (elecron-gol) care duc la creșterea curentului invers.

Fig. 5.16. Caracteristica I-V a unei fotodiode la întuneric și diferite iluminări.

În funcție de semiconductorul din care se realizează joncțiunea, fotodiodele pot fi din Ge, Si, In-Sb, In-As. Cele mai răspândite fotodiode sunt cele din Si. În figura 5.17 este prezentată structura de bază a unei fotodiode planare din Si.

Stratul de siliciu este suficient de subțire pentru a permite radiației luminoase să ajungă la joncțiune. Structura este introdusă într-o carcasă metalică prevăzută cu fereastră de sticlă plană sau cu o lentilă care să focalizeze lumina pe porțiunea sensibilă a joncțiunii.

Altă soluție constructivă este de a încapsula structura de bază în material plastic transparent în zona fotosensibilă. Joncțiunea poate fi iluminată normal sau paralel.

Structura planară reprezintă un avantaj important, și anume curent de întuneric mic, ceea ce conduce la un raport semnal-zgomot mare, fotodiodele putând fi utilizate și la intensități luminoase joase.

Fig. 5.17. Structura de bază a unei fotodiode planare cu siliciu.

Fotodiodele cu regiunile „p” și „n” puternic dopate și cu stratul de baraj mare, de tip intrinsec, se numesc diode PIN. Avantajele fotodiodelor PIN sunt următoarele: rapiditate, răspuns spectral larg, dinamică mare, zgomot foarte redus.

Un parametru important al fotodiodelor este capacitatea joncțiunii. Deoarece capacitatea este invers proporțională cu grosimea w a stratului de baraj, fotodiodele PIN vor avea o capacitate a joncțiunii mult mai mică decât celelalte diode, fiind deci mai rapide. Din considerente de timp de zbor necesar fotopurtătorilor pentru a străbate regiunea golită ar fi necesară o lățime mică a acestei regiuni. Este totuși nevoie de un compromis între valoarea capacității lățimea regiunii golite. Optimizarea acestor două cerințe conflictuale se face avându-se în vedere că timpul de zbor necesar purtătorilor pentru a traversa regiunea golită să fie mai mic decât fracțiunea ½ din perioada semnalului modulator.

De asemenea, capacitatea este invers proporțională cu radicalul tensiunii inverse. De aceea se recomandă folosirea fotodiodelor la tensiuni inverse mari (figurile 5.16 și 5.18).

Caracteristica de sensibilitate spectrală a fotodiodei prezintă, ca și la celelalte fotodetectoare, un maxim. Fotodioda cu Si prezintă un maxim în infraroșu, între lungimile de undă 800-900 nm.

Caracteristica de directivitate normată, la fel ca orice fotodetector, reprezintă dependența dintre valoarea relativă a fotocurentului și valoarea deplasării unghiulare față de axa optică a fotodetectorului (pentru care fotocurentul are valoare maximă ). Fotodetectoarele cu lentilă au o directivitate mai pronunțată decât cele cu fereastră plană.

Numărul de purtători generați depinde nu numai de iluminarea energetică ci și de lungimea de undă. La lungimi de undă mai mari decât lungimea de undă de prag (, cu în eV și în micrometrii), fotonii aferenți au energii , deci nu mai pot determina tranziții ale electronilor din banda de valență în banda de conducție și deci nu se mai generează perechi electron-gol. La energii ale fotonilor , absorbția luminii este foarte puternică, dar purtătorii se fotogenerează la suprafața semiconductorului și apoi se recombină înainte ca ei să ajungă la joncțiune spre a fi separați de câmp și a da naștere curentului de iluminare. Din cele de mai sus rezultă că structura transversală (verticală) a fotodiodei determină în mare măsură răspunsul spectral al fotodiodei în timp ce arhitectura planară (orizontală) determină echilibrul dintre sensibilitatea diodei (ieșirea în curent versus iluminare) și timpul de răspuns (capacitatea joncțiunii).

În domeniul infraroșu se utilizează diodele din Ge, InAs. Astfel fotodiodele din Ge au sensibilitatea maximă pentru , iar cele din InAs pentru , acestea din urmă putând fi folosite la detecția unor fluxuri foarte slabe.

Schema echivalentă și simbolul fotodiodei împreună cu modul de conectare sunt prezentate în figura 5.18. Fotodiodele pot fi utilizate în două moduri: nepolarizat sau polarizat. În modul nepolarizat, fără a fi alimentată la o sursă exterioară fotodioda se comportă ca o celulă fotovoltaică. Acest mod prezintă avantajul unui curent de întuneric minim. În modul polarizat, fotodioda este alimentată în invers la o tensiune de până la 30V. Viteza de răspuns este mult îmbunătățită din moment de tensiunea inversă aplicată pe joncțiune sărăcește în purtători regiunea de sarcină spațială, reducând capacitatea C a joncțiunii.

Fig. 5.18. Modurile de conectare și caracteristicile I-V curent-tensiune ale fotodiodelor.

Principalele proprietăți ale fotodiodelor:

Caracteristica practic liniară pentru un interval extins de iluminare (peste șase ordine de mărime);

Dinamică foarte rapidă, timp de răspuns de ordinul nanosecundelor, până la picosecunde pentru fotodiodele PIN;

Structură simplă, fotodioda este cel mai simplu senzor pe siliciu, realizată printr-o singură difuzie pe un substrat dopat de tip n.

Impedanța mare de ieșire, în mod tipic curentul pe fotodiodă nu poate depăși câteva sute de microamperi, ceea ce poate constitui un oarecare impediment.

Fotodioda aleasă pentru detectare în cazul real:

Fig. 5.19. Fotodiodă

Fig. 5.20. Circuit de măsură pentru parametrii de comutație

5.3. Reglarea și comanda automată

Introducere – rolul tehnicilor de comandă și reglare automată.

Procesele industriale automatizate sunt caracterizate de prezența mașinilor și aparatelor cu funcționare automată, care alcătuiesc de cele mai multe ori instalații foarte complexe. La baza acestor procese automatizate sau a mijloacelor de automatizare moderne se află în mare parte tehnicile de reglare și comandă, precum și cele de prelucrare a datelor de proces . O caracteristică specifică a sistemelor de reglare și comandă o constituie faptul că în ele are loc modificarea, cu un anumit scop, a unor anumite mărimi (semnale) însoțite de o prelucrare a informației, fapt ce a determinat introducerea noțiunii de cibernetică pentru tratarea unitară a proceselor de reglare și comandă automată din tehnică, natură și societate.

Întrucât tehnicile de reglare și comandă automată sunt în mare măsură independente de aparatura cu care se realizează, trebuie ca aceste domenii să fie subordonate științei sistemelor.

5.3.1. Reprezentarea sub formă de schemă bloc

Într-un sistem de reglare sau de comandă automată are loc o prelucrare și o transmitere a semnalelor . De aceea, asemenea sisteme sunt alcătuite din subsisteme de transfer (sau elemente de transfer). Ele posedă un sens de acțiune bine definit, unidirecțional, indicat prin săgeți atașate semnalelor de intrare și ieșire. La un subsistem monovariabil există un singur semnal de intrare i(t) și, respectiv, un singur semnal de ieșire o(t).

i – IN

o – OUT

o1 = i2 o2

x1 = i1

+

y=o2-x2 x3

x2 M x2 x3

x3

Fig. 5.23. Exemplu de schemă bloc.

La subsistemele multivariabile vor acționa mai multe mărimi de intrare și de ieșire. Un element de transfer individual se va reprezenta printr-un bloc, ce se poate lega de alte blocuri, prin intermediul semnalelor, în unități mai mari (sistemul de ansamblu). Noțiunea de sistem cuprinde atât sistemele monovariabile simple cât și cele multivariabile. Ajungând până la sistemele organizate în mai multe trepte ierarhice. Cele mai importante simboluri folosite în schemele bloc sunt date în tabelul următor:

5.3.2. Deosebirea dintre comandă și reglare

Reglarea este un proces în care o mărime, mărimea reglată, este sesizată (măsurată) continuu, comparată cu o altă mărime, mărimea de referință (de conducere) și în funcție de rezultatul acestei comparații se intervine în sensul aducerii mărimii reglate la valoarea celei de referință. Modul de acțiune mai sus menționat are loc într-un circuit închis, numit și „buclă de reglare”. Spre deosebire de acest lucru „comanda” este un proces ce se desfășoară într-un sistem în care una sau mai multe mărimi de intrare influențează mărimile de ieșire, pe baza legităților specifice sistemului. Caracteristic pentru procesul de comandă este desfășurarea lui în circuit deschis, într-un element de transfer individual sau într-un lanț de elemente comandate.

În figura următoare este descris procesul de reglare și comandă automată:

+ Z

w e Ur U + y

a. + –

z

b. U +

y

+

Fig.5.24. Reglarea și comanda automată

Din schema bloc se poate observa că reglarea se caracterizează prin următoarele etape:

măsurarea mărimii reglate y;

formarea mărimii de eroare e = w – y prin compararea valorii reale a mărimii reglate y cu valoarea prescrisă, de referință w (mărimea de conducere);

prelucrarea mărimii de eroare, în așa fel încât prin modificarea mărimii de execuție u, eroarea e să fie micșorată sau chiar anulată.

Dacă se compară acum comanda automată cu reglarea automată, se pot stabili următoarele deosebiri :

Reglarea

reprezintă o acțiune în circuit închis (buclă de reglare);

datorită acțiunii în circuit închis (a reacției negative) se poate acționa împotriva tuturor perturbațiilor z ;

poate deveni instabilă, adică oscilațiile din circuit pot să nu se amortizeze ci să crească teoretic peste orice limită, chiar dacă mărimile w și z sunt mărginite.

Comanda

reprezintă o acțiune ce se desfășoară într-un circuit deschis (cascadă de elemente de comandă;

poate acționa numai asupra unor perturbații ce au fost prevăzute : influențele altor mărimi perturbatoare nu pot fi eliminate;

poate să nu fie instabilă, în măsura în care obiectul comandat este el însuși stabil.

Conform schemei a. din figura 5.24, un circuit de reglare automat se compune din patru părți principale:

procesul reglat – instalația automatizată, obiectul supus reglării.

traductorul – elementul de măsurat.

regulatorul.

elementul de execuție.

Cu ajutorul acestei scheme bloc se poate observa că sarcina reglării unei instalații sau proces constă în aceea că mărimea reglată y(t) sesizată continuu de traductor (elementul de măsurat), independent de perturbațiile exterioare z(t), ori este menținută la o valoare constantă dată – mărimea de referință w(t) ori y(t) urmărește o valoare variabilă în timp impusă w(t) – mărime de conducere. Această sarcină este realizată de un dispozitiv de reglare, regulatorul R. Acesta elaborează mărimea de eroare e(t) = w(t) – y(t), adică diferența dintre mărimea de referință și valoarea reală a mărimii reglate, prelucrează această abatere în conformitate cu modul său de funcționare (proporțional, integral sau diferențial) și produce un semnal Ur(t), mărimea de comandă, care prin intermediul elementului de execuție formează mărimea de execuție U(t) ce acționează asupra obiectului reglării: în cazul reglării după perturbație se acționează asupra semnalului perturbator z(t) cu scopul anulării influenței acestuia. Prin această evoluție a semnalului în circuit închis se caracterizează o buclă de reglare, a cărei funcționare constă în anularea erorii e(t) cât mai repede posibil sau în menținerea ei la un nivel cât mai mic. Notațiile folosite sunt în general cele utilizate pe plan internațional.

5.3.3. Sisteme liniare discrete în timp (reglarea numerică)

1. Modul de lucru al unui sistem de reglare numeric

La utilizarea sistemelor de reglare numerică se practică o eșantionare a semnalelor continue f(t), cel mai bine la momente egale de timp, deci cu o durată a perioadei de eșantionare T, respectiv frecvența de eșantionare . Un astfel de semnal eșantionat sau semnal discret în timp este descris prin următoarea serie de numere:

f(kT) = {f(0),f(T),f(2T),…}

cu k ≥ 0 și f(kT) = 0 pentru k< 0, care se poate scrie de asemenea prescurtat ca f(k). În figura 5.25 se prezintă schema principală a unui sistem de eșantionare, la care calculatorul de proces este utilizat ca regulator.

T T

+ e(t) e(kT) u(kT) u(t)

w(t) y(t)

Fig. 5.25. Structura principală a unui sistem de reglare cu eșantionare (discret).

La acest reglaj numeric, adesea numit și conducere numerică directă DDC (direct digital control), se convertește valoarea analogică a erorii e(t) într-o valoare numerică e(kT). Acest procedeu corespunde unei eșantionări a semnalului, care se realizează cu perioada de eșantionare T. Dat fiind lungimea limitată a cuvântului convertorului analog-numeric necesar, rezultă o cuantizare a amplitudinii. Această cuantizare sau discretizare a amplitudinii, care apare de asemenea la convertorul numeric-analogic, este în opoziție cu discretizarea timpului cu efect neliniar. Pe de altă parte, treptele de cuantizare pot fi făcute în general atât de mici, încât efectul cuantizării să fie neglijabil. Cuantizarea amplitudinii nu este luată în seamă în cele ce urmează.

În calitate de regulator, calculatorul de proces calculează conform unui algoritm de reglare un șir de valori ale semnalului de execuție u(kT) din valorile seriei e(kT). Dacă apar numai semnale discrete, regulatorul numeric poate fi considerat ca un sistem discret de transfer.

Mărimea de execuție discretă calculată u(kT) este convertită în convertorul numeric-analog într-un semnal analogic , care va fi menținut pe toată perioada de eșantionare

kT ≤ t < (k+1) . Acest element are funcția unui element de extrapolare, și reprezintă – întrucât elementul de extrapolare este de ordinul zero – un semnal sub formă de treaptă.

O proprietate fundamentală a unui astfel de sistem de eșantionare constă în aceea că apariția unui semnal eșantionat într-un sistem continuu liniar nu modifică liniaritatea. Cu aceasta este posibilă tratarea teoretică a sistemelor liniare discrete prin analogie cu sistemele liniare continue. Acest lucru este posibil prin faptul că semnalele continue se pot considera numai în punctele de eșantionare ca semnale discrete. Rezultă astfel pentru întreaga buclă de reglare o reprezentare sistemică discretă, la care semnalele sunt șiruri de numere.

2. Reprezentarea în domeniul timp

Dacă la un sistem continuu semnalul de intrare și de ieșire este explorat sincron cu o perioadă de eșantionare T, apare întrebarea: ce relație trebuie să existe între ambele șiruri u(kT) și y(kT)? Dacă se pornește de la ecuația diferențială ce descrie un sistem continuu, problema constă într-o rezolvare numerică a acesteia. În cadrul celei mai simple proceduri folosite în acest scop, procedura Euler, câtul diferențialelor infinitezimale se aproximează prin câtul unor diferențe finite anticipative cu pas de aproximare T:

În acest mod ecuațiile diferențiale se transformă în ecuații cu diferențe finite . Cu ajutorul unor astfel de ecuații cu diferențe finite se poate calcula secvența de ieșire y(kT) recursiv din secvența de intrare u(kT) pentru k = 0, 1, 2, … . Firește este vorba de o rezolvare aproximativă, suficient de exactă numai pentru pași T mici.

Forma generală a ecuației cu diferențe finite ce descrie un sistem liniar invariant în timp de ordinul n cu secvența u(k) la intrare și y(k) la ieșire este următoarea:

din care rezultă ecuația recursivă pentru y(k):

care în mod obișnuit se folosește la calculul secvenței y(k) cu ajutorul calculatorului. Valorile

y(k-v) și u(k-v), v = 1,2,…,n sunt valori de timp anterioare momentului pentru ieșire, respectiv intrare, care sunt memorate în calculator. Ca și la ecuațiile diferențiale, și la ecuațiile cu diferențe se ține seama de valorile inițiale pentru k = 0.

Asemănător cu sistemele liniare continue, unde funcția pondere g(t) era folosită pentru a descrie comportarea dinamică, și la sistemele discrete ca răspuns la un impuls discret – secvența Kroneker :

se introduce noțiunea de secvență pondere g(k). Între o secvență de intrare u(k), o ieșire corespunzătoare y(k) și o secvență de pondere g(k), pentru sistemele liniare discrete există relația:

numită sumă de convoluție , unde suma se poate limita cu variabila k.

Trecerea de la sistemele continue la semnale discrete la un sistem cu eșantionare reprezentat ca în figura anterioară se realizează prin convertorul analog-numeric. Pentru o descriere matematică a unui astfel de sistem este necesară o reprezentare unitară a semnalelor. Pentru acesta se folosește o reprezentare ca în figura următoare, la care impulsul Dirac este reprezentat prin săgeți, a căror înălțime corespunde întotdeauna ariei impulsului unitar corespunzător.

δ – Eșantionator

5.3. Portul paralel al calculatorului

Portul paralel al calculatorului este cel care ne permite conectarea blocului electronic de comandă cu calculatorul. Prin intermediul lui se transmit informații de la senzori la calculator, dar se și emit comenzi de la calculator la elementele de acționare ale casei.

În figura 5.26 este prezentat portul paralel în ansamblu.

13 12 11 10 9 8 7 6 5 4 3 2 1

25 24 23 22 21 20 19 18 17 16 15 14

Fig. 5.26. Portul paralel al calculatorului .

Corespondența pinilor portului paralel :

În continuare vom trata pe rând fiecare grup de pini ai portului paralel.

1. Grupul LPT-D conține ansamblul pinilor 2,3,4,5,6,7,8,9, pe care sunt transmiși biții de date simbolizați D0 , D1 , D2 , D3 , D4 , D5 , D6 și D7 .

Corespondența este prezentată în tabelul următor :

Un bit de comandă este un semnal electric, respectiv o tensiune continuă de 5V sau absența acesteia, adică 0V, rezultând astfel un semnal de formă dreptunghiulară . Logica binară este formată din două elemente distincte : 0 și 1 .

Acestor valori li se asociază afirmațiile : „pentru 1 – DA”, „pentru 0 – NU”. Pentru un circuit acest fapt se traduce prin „circuit închis” când calculatorul afirmă „DA” și în „circuit deschis” când calculatorul neagă „NU”.

2. Grupul LPT-S conține ansamblul pinilor 10,11,12,13,15 . Pe aceștia se recepționează biți (semnale) de la dispozitivele exterioare PC-ului cu care acesta este interconectat. Acești pini sunt unidirecționali.

Corespondența este:

3. Grupul LPT-K conține ansamblul pinilor 1,14,16,17, aceștia fiind bidirecționali.

Calculatorul are posibilitatea să transmită biți de comandă și să recepționeze biți de control sau de răspuns de la procesul acționat .

Corespondența este :

În acest caz este de menționat că pinii 1,14 și 17 sunt „negați”, adică unitatea logică centrală a computerului transmite către acești pini semnale „DA”, dar pe traseu acestea sunt negate, în final obținându-se „NU”. Cu alte cuvinte acești pini funcționează pe logică inversă. Pinul 16 funcționează pe logică directă .

4. Grupul GROUND, conține ansamblul pinilor 18,19,20,21,22,23,24,25 care sunt legați la masă, deci vor avea tot timpul potențial 0V. Pinul 18 este o masă externă .

Modul de comandă al grupului LPT-D.

Calculatorul este cel care transformă numărul din zecimal în binar și ilustrează prin biții de date D0 … D7 , conform exemplului de mai jos, astfel :

Cu alte cuvinte, numărul 19 va fi „ilustrat” pe dispozitivul experimental prin aprinderea ledurilor corespondente pinilor 2,3 și 6. Se poate prezenta astfel un algoritm de transformare a unui număr întreg zecimal în număr binar.

Ne interesează numerele de la 0 la 255 (adică toate combinațiile ce pot fi ilustrate pe cei 8 biți de date). Principiul este următorul : se împarte numărul zecimal la 2 până când restul împărțirilor succesive devine 0 (știind că restul împărțirii la 2 este 0 sau 1). Resturile obținute le vom trece în dreptul puterilor lui 2, plecând de la cea mai mică .

Exemplu : 21 : 2 = 10 rest 1

10 : 2 = 5 rest 0

5 : 2 = 2 rest 1

2 : 2 = 1 rest 0

1 : 2 = 0 rest 1

Corespondența este :

Observație: Restul căsuțelor devin automat 0, ele nu vor influența cu nimic valoarea numărului binar, ci doar completează numărul de cifre predefinit pentru acesta .

5.4. Schema mecatronică de funcționare a robotului mobil inteligent

5.5. Dispozitive și circuite electrice utilizate în robotul mobil inteligent

5.5.1. Tranzistori utilizați în robotul mobil

Tranzistorul Darlington

b) Tranzistorul BC 547 (de tip npn)

Tranzistorul este un dispozitiv electronic cu trei terminale : emitor, bază și colector. Acestea fac legătura la trei regiuni semiconductoare de conductibilitate diferită (n sau p) ale aceluiași cristal semiconductor.

Tranzistorul bipolar (numit așa deoarece conducția este asigurată de două tipuri de purtători de sarcină cu sarcină de semn diferit: electroni și goluri) poate fi o structură de tip pnp sau de tip npn.

• Se arată și simbolurile corespunzătoare celor două structuri. Săgeata din simbol corespunde joncțiunii pn emitor-bază (vârful săgeții merge întotdeauna de la zona p la zona n). Ea arată și sensul normal pozitiv al curentului principal prin tranzistor. Convenția de sens pentru curenți este indicată în figura 5.26. Tot aici se arată și modul de notare a tensiunilor : tensiunea este scrisă ca o diferență de potențial între două puncte, în ordinea indicată de indici.

• Conexiunile tranzistorului. Se pot defini trei curenți și trei tensiuni, dar pentru descrierea comportării tranzistorului nu sunt necesare toate aceste șase mărimi. Tensiunile sunt legate prin relația:

VCB = VCE + VEB

Baza Baza

Fig. 5.26. Convenția de sens pentru curenți.

Iar curenții satisfac condiția: iE = iC +iB

(tranzistorul poate fi asimilat cu un nod în care suma algebrică a curenților este zero). Ca urmare numai două tensiuni și doi curenți sunt mărimi independente. Alegerea mărimilor electrice care descriu comportarea tranzistorului se poate face în moduri diferite. Criteriul este următorul: se consideră tranzistorul ca un diport (un bloc cu două borne de intrare — poarta de intrare — și două borne de ieșire — poarta de ieșire). Deoarece tranzistorul are numai trei borne, una trebuie să fie comună intrării și ieșirii. Borna comună definește conexiunea tranzistorului. Datorită faptului că același curent parcurge atât joncțiunea emitorului (curentul de emitor), care este polarizată direct, deci cu rezistență mică, cât și joncțiunea colectorului (curentul de colector), care fiind polarizată invers, rezistența va crește foarte mult, ceea ce permite includerea unei rezistențe de sarcină destul de mare în circuitul colectorului (Ic ≈IE), rezultă posibilitatea efectului de amplificare.

Dacă se aplică un mic semnal electric între emitor și bază, atunci în circuitul colectorului, de pe o rezistență de sarcină mare, se culege un semnal electric mult amplificat. Denumirea de tranzistor provine de la cuvintele TRANsfer-reZISIOR, adică dispozitivul care realizează transformarea de la o rezistență mică a joncțiunii emitorului direct polarizate, la o rezistență foarte mare a joncțiunii colectorului invers polarizate.

Sensurile de referință standardizate pentru curenți și tensiuni, sunt aceleași pentru ambele tipuri de tranzistoare, pnp și npn. Pentru curenții externi, valorile pozitive corespund circulației unor sarcini pozitive înspre terminalul respectiv.

5.5.2. Diode utilizate în robotul mobil

Dioda 1N4007 cu următoarele caracteristici:

Dioda 1N5400 cu următoarele caracteristici:

5.5.3. Porta “ȘI” SN54/74LS08

5.5.4. Schema punților H de comandă a motoarelor de curent continuu

Fig. 5.27. Punțile H utilizate pentru comanda motoarelor.

5.5.5. Schema de comandă și control a robotului mobil inteligent

Fig. 5.28. Schema de comandă și control utilizată.

5.6. Prezentare microcontroler

Introducere

Circumstanțele în care ne găsim astăzi în domeniul microcontrolerelor și-au avut începuturile în dezvoltarea tehnologiei circuitelor integrate. Această dezvoltare a făcut posibilă înmagazinarea a sute de mii de tranzistoare într-un singur cip. Aceasta a fost un prerechizit pentru producția de microprocesoare, și primele computere au fost făcute prin adăugarea perifericelor ca memorie, linii intrare-ieșire, timeri și altele. Următoarea creștere a volumului capsulei  a dus la crearea circuitelor integrate. Aceste circuite integrate conțin atât procesorul cât și perifericele. Așa s-a întâmplat cum primul cip conținând un microcomputer, sau ce va deveni cunoscut mai târziu ca microcontroler a luat ființă.

Microcontrolere contra Microprocesoare

Microcontrolerul diferă de un microprocesor în multe feluri. În primul rând și cel mai important este funcționalitatea sa. Pentru a fi folosit, unui microprocesor trebuie să i se adauge alte componente ca memorie, sau componente pentru primirea și trimiterea de date. Pe scurt, aceasta înseamnă că microprocesorul este inima computerului. Pe de altă parte, microcontrolerul este proiectat să fie toate acestea într-unul singur. Nu sunt necesare alte componente externe pentru aplicarea sa pentru că toate perifericele necesare sunt deja incluse în el.

Astfel, economisim timpul și spațiul necesare pentru construirea de aparate.

Unitatea de memorie

Memoria este o parte a microcontrolerului a cărei funcție este de a înmagazina date.

Cel mai ușor mod de a explica este de a-l descrie ca un dulap mare cu multe sertare. Dacă presupunem că am marcat sertarele într-un asemenea fel încât să nu fie confundate, oricare din conținuturile lor vor fi atunci ușor accesibile. Este suficient să se știe desemnarea sertarului și astfel conținuturile lui ne vor fi cunoscute în mod sigur.

Fig. 5.28. Unitatea de memorie.

Componentele de memorie sunt exact așa. Pentru o anumită intrare obținem conținuturile unei anumite locații de memorie adresate și aceasta este totul. Două noi concepte ne sunt aduse :adresarea și locația de memorie. Memoria constă din toate locațiile de memorie, și adresarea nu este altceva decât selectarea uneia din ele. Aceasta înseamnă că noi trebuie să selectăm locația de memorie la un capăt, și la celălalt capăt trebuie să așteptăm conținuturile acelei locații. În afară de citirea dintr-o locație de memorie, memoria trebuie de asemenea să permită scrierea în ea. Aceasta se face asigurarea unei linii adiționale numită linie de control. Vom desemna această linie ca R/W (citește /scrie). Linia de control este folosită în următorul fel : dacă r/w=1, se face citirea, și dacă opusul este adevărat atunci se face scrierea în locația de memorie. Memoria este primul element, dar avem nevoie și de altele pentru ca microcontrolerul nostru să funcționeze.

Unitatea centrală de procesare

Să adăugăm alte 3 locații de memorie pentru un bloc specific ce va avea o capabicitate incorporată de înmulțire, împărțire, extragere și să-i mutăm conținuturile dintr-o locație de memorie în alta. Partea pe care tocmai am adăugat-o este numită "unitatea de procesare centrală" (CPU). Locațiile ei de memorie sunt numite regiștri.

Fig. 5.29. Unitatea centrală de procesare.

Regiștrii sunt deci locații de memorie a căror rol este de a ajuta prin executarea a variate operații matematice sau a altor operații cu date oriunde se vor fi găsit datele. Să privim la situația curentă. Avem două entități independente (memoria și CPU)  ce sunt interconectate, și astfel orice schimb de informații este ascuns, ca și funcționalitatea sa. Dacă, de exemplu, dorim să adăugăm conținuturile a două locații de memorie și   întoarcem rezultatul înapoi în memorie, vom avea nevoie de o conexiune între memorie și CPU. Mai simplu formulat, trebuie să avem o anumită "cale" prin care datele circulă de la un bloc la altul.

Bus-ul

Calea este numită "bus"-magistrală. Fizic, el reprezintă un grup de 8, 16, sau mai multe fire. Sunt două tipuri de bus-uri : bus de adresă și bus de date. Primul constă din atâtea linii cât este cantitatea de memorie ce dorim să o adresăm, iar celălalt este atât de lat cât sunt datele, în cazul nostru 8 biți sau linia de conectare. Primul servește la transmiterea adreselor de la CPU la memorie, iar cel de al doilea la conectarea tuturor blocurilor din interiorul microcontrolerului.

Fig. 5.30. Bus-ul de date.

În ceea ce privește funcționalitatea, situația s-a îmbunătățit, dar o nouă problemă a apărut de asemenea: avem o unitate ce este capabilă să lucreze singură, dar ce nu are nici un contact cu lumea de afară, sau cu noi ! Pentru a înlătura această deficiență, să adăugăm un bloc ce conține câteva locații de memorie a căror singur capăt este conectat la busul de date, iar celălalt are conexiune cu liniile de ieșire la microcontroler ce pot fi văzute cu ochiul liber ca pini la componenta electronică.

Unitatea intrare-ieșire

Aceste locații ce tocmai le-am adăugat sunt numite "porți". Sunt diferite tipuri de porți :intrare, ieșire sau porți pe două-căi. Când se lucrează cu porți, mai întâi de toate este necesar să se aleagă cu ce pot urmează să se lucreze, și apoi să se trimită date la, sau să se ia date de la port.

Fig. 5.31. Unitatea I/O.

Când se lucrează cu el portul se comportă ca o locație de memorie. Ceva este pur și simplu scris în sau citit din el, și este posibil de a remarca ușor aceasta la pinii microcontrolerului.

Comunicația serială

Cu aceasta am adăugat la unitatea deja existentă posibilitatea comunicării cu lumea de afară. Totuși, acest mod de comunicare are neajunsurile lui. Unul din neajunsurile de bază este numărul de linii ce trebuie să fie folosite pentru a transfera datele. Ce s-ar întâmpla dacă acestea ar trebui transferate la distanță de câțiva kilometri? Numărul de linii și numărul de kilometri nu promite costuri eficiente pentru proiect. Nu ne rămâne decât să reducem numărul de linii     într-un așa fel încât să nu afectăm funcționalitatea. Să presupunem că lucrăm doar cu 3 linii, și că o linie este folosită pentru trimiterea de date, alta pentru recepție și a treia este folosită ca o linie de referință  atât pentru partea de intrare cât și pentru partea de ieșire. Pentru ca aceasta să funcționeze, trebuie să stabilim regulile de schimb ale datelor.

Aceste reguli sunt numite protocol. Protocolul este de aceea definit în avans ca să nu fie nici o neâțelegere între părțile ce comunică una cu alta. De exemplu, dacă un om vorbește în franceză, și altul vorbește în engleză, este puțin probabil că ei se vor înțelege repede și eficient unul cu altul. Să presupunem că avem următorul protocol. Unitatea logică "1" este setată pe linia de transmisie până ce începe transferul. Odată ce începe transferul, coborâm linia de transmisie la "0" logic pentru o perioadă de timp (pe care o vom desemna ca T), așa că partea receptoare va ști că sunt date de primit, așa că va activa mecanismul ei de recepție. Să ne întoarcem acum la partea de transmisie și să începem să punem zero-uri și unu-uri pe linia de transmisie în ordinea de la un bit a celei mai de jos valori la un bit a celei mai de sus valori. Să lăsăm ca fiecare bit să rămână pe linie pentru o perioadă de timp egală cu T, și la sfârșit, sau după al 8-lea bit, să aducem unitatea logică  "1" înapoi pe linie ce va marca  sfârșitul transmisiei unei date. Protocolul ce tocmai l-am descris este numit în literatura profesională NRZ (Non-Return to Zero).

Fig. 1.32. Comunicația serială.

Pentru că aven linii separate de recepție și de transmitere, este posibil să recepționăm și să transmitem date (informații) în același timp. Blocul ce permite acest mod de comunicare este numit blocul de comunicare serială. Spre deosebire de transmisia paralelă, datele sunt mutate aici bit cu bit, sau într-o serie de biți, de unde vine și numele de comunicație serială. După recepția de date trebuie să le citim din locația de transmisie și să le înmagazinăm în memorie în mod opus transmiterii unde procesul este invers. Datele circulă din memorie prin bus către locația de trimitere, și de acolo către unitatea de recepție conform protocolului.

Unitatea de timer

Acum că avem comunicația serială, putem recepționa, trimite și procesa date.

Fig. 5.33. Unitatea de ceas.

Totuși, pentru noi ca să putem să îl folosim în industrie mai avem nevoie de câteva blocuri. Unul din acestea este blocul de timer care este important pentru noi pentru că ne dă informația de timp, durată, protocol etc. Unitatea de bază a timer-ului este un contor liber care este de fapt unregistru a cărui valoare numerică crește cu intervale egale, așa încât luându-i valoarea după intervalele T1 și T2 și pe baza diferenței lor să putem determina cât timp a trecut. Acesta este o parte foarte importantă a microcontrolerului a cărui control cere cea mai mare parte a timpului nostru.

Watchdog-ul

Încă un lucru ce necesită atenția noastră este funcționarea fără defecte a microcontrolerului în timpul rulării programului. Să presupunem că urmare  a unei anumite interferențe (ce adesea se întâmplă în industrie) microcontrolerul nostru se oprește din executarea programului, sau și mai rău, începe să funcționeze incorect.

Fig. 5.34. Watchdog – ul.

Bineînțeles, când aceasta se întâmplă cu un computer, îl resetăm pur și simplu și va continua să lucreze. Totuși, nu există buton de resetare pe care să apăsăm în cazul microcontrolerului care să rezolve astfel problema noastră. Pentru a depăși acest obstacol, avem nevoie de a introduce încă un bloc numit watchdog-câinele de pază. Acest bloc este de fapt un alt contor liber unde programul nostru are nevoie să scrie un zero ori de câte ori se execută corect. În caz că programul se "înțepenește", nu se va mai scrie zero, iar contorul se va reseta singur până la obținerea valorii sale maxime. Aceasta va duce la rularea programului din nou, și corect de această dată pe toată durata. Acesta este un element important al fiecărui program ce trebuie să fie fiabil fără supravegherea omului.

Converterul Analog-Digital

Pentru că semnalele de la periferice sunt substanțial diferite de cele pe care le poate înțelege (zero și unu), ele trebuie convertite într-un mod care să fie înțeles de microcontroler. Această sarcină este îndeplinită de un bloc pentru conversia analog-digitală sau de un convertor AD. Acest bloc este responsabil pentru convertirea unei informații despre o anumită valoare analoagă într-un număr binar și pentru a o urmări pe tot parcursul la un bloc CPU așa ca blocul CPU să o poată procesa.

Fig. 5.35. Convertorul AD.

Astfel microcontrolerul este acum terminat, și tot ce mai rămâne de făcut este de a-l pune într-o componentă electronică unde va accesa blocurile interioare prin pinii acestei componente. Imaginea de mai jos arată cum arată un microcontroler în interior.

Fig. 5.36. Imaginea pastilei siliconice a unui microcontroler.

Liniile subțiri ce merg din interior către părțile microcontrlerului reprezintă fire conectând blocurile interioare cu pinii capsulei microcontrolerului. Schema următoare reprezintă secțiunea centrală a microcontrolerului.

Fig. 5.37. Schița microcontrolerului cu elementele lui de bază și conexiunile sale interne.

Pentru o aplicație reală, un microcontroler singur nu este de ajuns. În afară de microcontroler, avem nevoie de un program pe care să-l execute, și alte câteva elemente ce constituie o interfață logică către elementele de stabilizare (ce se va discuta în capitolele următoare).

Programul

Scrierea programului este un domeniu special de lucru al microcontolerului și este denumit "programare". Să încercăm să scriem un mic program ce îl vom crea singuri și pe care oricine va fi în stare să-l înțeleagă.

START
REGISTER1=MEMORY LOCATION_A

REGISTER2=MEMORY LOCATION_B

PORTA=REGISTER1 + REGISTER2

END

Programul adaugă conținuturile a două locații de memorie, și vede totalul lor la portul A. Prima linie a programului este pentru mutarea conținuturilor locației de memorie "A" într-unul din regiștri unității centrale de procesare. Pentru că avem nevoie și de celelalte date de asemenea, le vom muta de asemenea în celălalt registru al unității centrale de procesare. Următoarea instrucțiune instruiește unitatea centrală de procesare să adauge conținuturile celor doi regiștri și să trimită un rezultat obținut la portul A, încât suma acestei adăugări să fie vizibilă pentru toată lumea de afară. Pentru o problemă mai complexă, programul care să lucreze la rezolvarea ei va fi mai mare.

Programarea poate fi făcută în câteva limbaje ca Assembler, C și Basic care sunt cele mai folosite limbaje. Assembler aparține limbajelor de nivel scăzut ce sunt programate lent, dar folosesc cel mai mic spațiu în memorie și dă cele mai bune rezultate când viteza de execuție a programului se are în vedere. Pentru că este cel mai folosit limbaj în programarea microcontrolerelor va fi discutat într-un capitol ulterior. Programele în limbajul C sunt mai ușor de scris, mai ușor de înțeles, dar sunt mai lente în executare decât programele în Assembler. Basic este cel mai ușor de învățat, și instrucțiunile sale sunt cele mai aproape de modul de gândire a omului, dar ca și limbajul de programare C este de asemenea mai lent decât Assembler-ul. În orice caz, înainte de a vă hotărî în privința unuia din aceste limbaje trebuie să studiați cu atenție cerințele privind viteza de execuție, mărimea memoriei și timpul disponibil pentru asamblarea sa.

După ce este scris programul, trebuie să instalăm microcontrolerul într-un aparat și să-l lăsăm să lucreze. Pentru a face aceasta  trebuie să adăugăm câteva componente externe necesare pentru funcționarea sa. Mai întâi trebuie să dăm viață microcontrolerului prin conectarea sa la o sursă (tensiune necesară pentru operarea tuturor instrumentelor electronice) și un oscilator a cărui rol este similar inimii din corpul uman. Bazat pe ceasul său microcontrolerul execută instrucțiunile programului. Îndată ce este alimentat microcontrolerul va executa un scurt control asupra sa, se va uita la începutul programului și va începe să-l execute. Cum va lucra aparatul depinde de mulți parametri, cel mai important fiind priceperea dezvoltatorului de hardware, și de expertiza programatorului în obținerea maximului din aparat cu programul său.

5.6.1. Prezentare PIC16F877

PIC16F877 aparține unei clase de microcontrolere de 8 biți cu arhitectură RISC. Structura lui generală este arătată în schița următoare reprezentând blocurile de bază.

Memoria program (FLASH)-pentru înmagazinarea unui program scris. Pentru că memoria ce este făcută în tehnologia FLASH poate fi programată și ștearsă mai mult decât odată, aceasta face microcontrolerul potrivit pentru dezvoltarea de componentă.

EEPROM-memorie de date ce trebuie să fie salvate când nu mai este alimentare. Este în mod uzual folosită pentru înmagazinarea de date importante ce nu trebuie pierdute dacă sursa de alimentare se întrerupe dintr-o dată. De exemplu, o astfel de dată este o temperatură prestabilită în regulatoarele de temperatură.  Dacă în timpul întreruperii alimentării această dată se pierde, va trebui să facem ajustarea încă o dată la revenirea alimentării. Astfel componenta noastră pierde în privința auto-menținerii.

RAM-memorie de date folosită de un program în timpul executării sale. În RAM sunt înmagazinate toate rezultatele intermediare sau datele temporare ce nu sunt cruciale la întreruperea sursei de alimentare.

PORTUL A, PORTUL B, PORTUL C, PORTUL D, PORTUL E sunt conexiuni fizice între microcontroler și lumea de afară. Portul A are 6 pini, portul B are 8 pini, portul C are 8 pini, portul D are 8 pini iar portul E are 3 pini.

TIMER-ul LIBER este un registru de 8 biți în interiorul microcontrolerului ce lucrează independent de program. La fiecare al patrulea impuls de ceas al oscilatorului își încrementează valoarea lui până ce atinge maximul (255), și apoi începe să numere tot din nou de la zero. După cum știm timpul exact dintre fiecare două incrementări ale conținutului timer-ului, poate fi folosit pentru măsurarea timpului ce este foarte util la unele componente.  

UNITATEA DE PROCESARE CENTRALĂ are rolul unui element de conectivitate între celelalte blocuri ale microcontrolerului. Coordonează lucrul altor blocuri și execută programul utilizatorului.

Fig. 5.38. Schița microcontrolerului PIC16F877.

Fig. 5.39. Bloc de arhitecturi Havard vs. von-Newmann.

CISC, RISC

S-a spus deja că PIC1684 are o arhitectură RISC. Acest termen este adeseori găsit  în literatura despre computere, și are nevoie să fie explicat aici mai în detaliu. Arhitectura Harvard este un concept mai nou decât von-Neumann`s.   S-a născut din nevoia de mărire a vitezei microcontrolerului. În arhitectura Harvard, bus-ul de date bus-ul de adrese sunt separate. Astfel un mare debit de date este posibil prin unitatea de procesare centrală, și bineînțeles, o viteză mai mare de lucru. Separând  un program de memoria de date face posibil ca mai departe instrucțiunile să nu trebuiască să fie cuvinte de 8 biți. PIC16F877 folosește 14 biți pentru instrucțiuni ceea ce permite ca toate instrucțiunile să fie instrucțiuni de un cuvânt. Este de asemenea tipic pentru arhitectura Harvard să aibă mai puține instrucțiuni decât von-Newmann și să aibă instrucțiuni executate uzual intr-un ciclu.

Microcontrolerele cu arhitectură Harvard sunt de asemenea numite "microcontrolere RISC". RISC înseamnă Reduced Instruction Set Computer. Microcontrolerele cu arhitectura von-Newmann sunt numite "microcontrolere CISC". Titlul CISC înseamnă Complex Instruction Set Computer.

Pentru că PIC16F877 este un microcontroler RISC, aceasta înseamnă că are un set redus de instrucțiuni, mai precis 35 de instrucțiuni (de ex. microcontrolerele INTEL și Motorola au peste 100 de instrucțiuni). Toate aceste instrucțiuni sunt executate într-un ciclu cu excepția instrucțiunilor jump și branch. Conform cu ceea ce spune constructorul, PIC16F877 ajunge la rezultate de 2:1 în compresia cod și 4:1 în viteză în comparație cu alte microcontrolere de 8 biți din clasa sa.

5.6.2. Microcontrolerul utilizat pentru comanda robotului mobil

PIC16F877 se potrivește perfect în multe folosințe, de la industriile auto și aplicațiile de control casnice la instrumentele industriale, senzori la distanță, mânere electrice de uși și dispozitivele de securitate. Este de asemenea ideal pentru cardurile smart ca și pentru aparatele alimentate de baterie din cauza consumului lui mic.

Memoria EEPROM face mai ușoară aplicarea microcontrolerelor la aparate unde se cere înmagazinarea permanentă a diferitor parametri (coduri pentru transmițătoare, viteza motorului, frecvențele receptorului, etc.). Costul scăzut , consumul scăzut, mânuirea ușoară și flexibilitatea fac PIC16F84 aplicabil chiar și în domenii unde microcontrolerele nu au fost prevăzute înainte (exemple: funcții de timer, înlocuirea interfeței în sistemele mari, aplicațiile coprocesor, etc.) Programabilitatea sistemului acestui cip (împreună cu folosirea a doar doi pini în transferul de date) face posibilă flexibilitatea produsului, după ce asamblarea și testarea au fost terminate. Această capabilitate poate fi folosită pentru a crea producție pe linie de asamblare, de a înmagazina date de calibrare disponibile doar după testarea finală, sau poate fi folosit pentru a îmbunătăți programele la produse finite.

Ciclul de clock / instrucțiune

Clock-ul sau ceasul este starter-ul principal al microcontrolerului, și este obținut dintr-o componentă de memorie externă  numită "oscilator". Dacă ar fi să comparăm un microcontroler cu un ceas de timp, "clock-ul" nostru ar fi un ticăit pe care l-am auzi de la ceasul de timp. În acest caz, oscilatorul ar putea fi comparat cu arcul ce este răsucit astfel ca ceasul de timp să meargă. De asemenea, forța folosită pentru a întoarce ceasul poate fi comparată cu o sursă electrică.

Clock-ul de la oscilator intră într-un microcontroler prin pinul OSC1 unde circuitul intern al unui microcontroler divide clock-ul în 4 clock-uri egale Q1,Q2,Q3 și Q4 ce nu se suprapun. Aceste 4 clock-uri constituie un ciclu de o singură instrucțiune (numit de asemenea ciclu mașină) în timpul căreia o instrucțiune este executată.

Executarea instrucțiunii începe prin apelarea unei instrucțiuni care este următoarea în linie. Instrucțiunea este apelată din memoria program la fiecare Q1 și este scrisă în registrul de instrucțiuni la Q4. Decodarea și executarea instrucțiunii sunt făcute între următoarele cicluri Q1 și Q4. În următoarea diagramă putem vedea relația dintre ciclul instrucțiunii și clock-ul oscilatorului (OSC1) ca și aceea a clock-urilor interne Q1-Q4. Contorul de program(PC) reține informația despre adresa următoarei instrucțiuni.

Fig. 5.40. Ciclul Clock/Instrucțiune.

Pipelining

Ciclul de instrucțiuni constă din ciclurile Q1, Q2, Q3 și Q4. Ciclurile de instrucțiuni de apelare și executare sunt conectate într-un așa fel încât pentru a face o apelare, este necesar un ciclu cu o instrucțiune, și este nevoie de încă una pentru decodare și executare. Totuși, datorită pipeline-ului sau liniei directe, fiecare instrucțiune este efectiv executată într-un singur ciclu. Dacă instrucțiunea cauzează o schimbare în contorul programului, și PC-ul nu direcționează spre următoarea ci spre alte adrese (poate fi cazul cu subprogramele jumps sau de apelare), 2 cicluri sunt necesare pentru executarea unei instrucțiuni. Aceasta este pentru că instrucțiunea trebuie procesată din nou, dar de data aceasta din partea adresei corecte. Ciclul începe cu clock-ul Q1, prin scrierea într-un registru (IR). Decodarea și executarea începe cu clock-urile Q2, Q3 și Q4.

Fig. 5.41. Debitul Pipeline-ului în instrucțiuni.

TYCO citește instrucțiunea MOVLW 55h (nu are importanță pentru noi ce instrucțiune a fost executată, ce explică de ce nu este un dreptunghi în partea de jos).TCYI execută instrucțiunea MOVLW 55h și citește MOVWF PORTB.

TCY2 execută MOVWF PORT și citește CALL SUB_1.TCY3 execută o apelare a unui subprogram CALL SUB_1, și citește instrucțiunea BSF PORTA, BIT3. Pentru că instrucțiunea aceasta nu este aceea de care avem nevoie, sau nu este prima instrucțiune a unui subprogram SUB_1 a cărui execuție este următoarea în ordine, instrucțiunea trebuie citită din nou. Acesta este un bun exemplu a unei instrucțiuni având nevoie de mai mult de un ciclu.

TCY4 ciclul instrucțiunii este total folosit pentru citirea primei instrucțiuni dintr-un subprogram la adresa SUB_1. TCY5 execută prima instrucțiune dintr-un subprogram SUB_1 și citește următoarea.

Semnificația pinilor

PIC16F84 are un număr total de 18 pini. Cel mai adesea se găsește într-o capsulă de tip DIP18 dar se poate găsi de asemenea și într-o capsulă SMD care este mai mică ca cea DIP. DIP este prescurtarea de la Dual In Package. SMD este prescurtarea de la  Surface Mount Devices sugerând că găurile pentru pini unde să intre aceștia , nu sunt necesare în lipirea acestui tip de componentă.

Fig. 5.42. Semnificația pinilor microcontrolerului PIC16F877A.

Pinii microcontrolerului PIC16F84 au următoarea semnificație:

Pin nr. 1 MCLR Resetează intrarea și tensiunea de programare Vpp a microcontrolerului.

Pin nr. 2 RA0 Primul pin la portul A. Poate fi configurat ca intrare analogică AN0.

Pin nr. 3 RA1 Al doilea pin la portul A. Poate fi configurat ca intrare analogică AN1.

Pin nr. 4 RA2 Al treilea pin la portul A. Poate fi configurat ca intrare analogică AN2 sau ca referință de tensiune negativă.

Pin nr. 5 RA3 Al patrulea pin la portul A. Poate fi configurat ca intrare analogică AN3 sau ca referință de tensiune pozitivă.

Pin nr. 6 RA4 Al cincilea pin la portul A. TOCK1 care funcționează ca timer se găsește de asemenea la acest pin.

Pin nr. 7 RA5 Al șaselea pin la portul A. Poate fi configurat ca intrare analogică AN4 sau ca selecție slave pentru portul serial sincron de date.

Pin nr. 8 RE0 Primul pin la portul E. Poate fi configurat ca intrare analogică AN5.

Pin nr. 9 RE1 Al doilea pin la portul E. Poate fi configurat ca intrare analogică AN6.

Pin nr. 10 RE2 Al treilea pin la portul E. Poate fi configurat ca intrare analogică AN7.

Pin nr. 11 Vdd Polul pozitiv al sursei.

Pin nr. 12 VSS Alimentare, masă.

Pin nr. 13 OSC1 Pin desemnat pentru conectarea la un oscilator.

Pin nr. 14 OSC2 Pin desemnat pentru conectarea la un oscilator.

Pin nr. 15 RC0 Primul pin la portul C. Timer1.

Pin nr. 16 RC1 Al doilea pin la portul C. Poate fi configurat ca port de captură sau ca ieșire PWM.

Pin nr. 17 RC2 Al treilea pin la portul C. Poate fi configurat ca port de captură sau ca ieșire PWM.

Pin nr. 18 RC3 Al patrulea pin la portul C. Poate fi configurat ca ceas serial pentru transmisie date.

Pin nr. 19 RD0 Primul pin la portul D. Nu are funcție adițională.

Pin nr. 20 RD1 Al doilea pin la portul D. Nu are funcție adițională.

Pin nr. 21 RD2 Al treilea pin la portul D. Nu are funcție adițională.

Pin nr. 22 RD3 Al patrulea pin la portul D. Nu are funcție adițională.

Pin nr. 23 RC4 Al cincelea pin la portul C. Poate fi configurat ca SPI data IN.

Pin nr. 24 RC5 Al șaselea pin la portul C. Poate fi configurat ca SPI data OUT.

Pin nr. 25 RC6 Al șaptelea pin la portul C. Poate fi configurat ca transmițător USART.

Pin nr. 26 RC7 Al optulea pin la portul C. Poate fi configurat ca receptor USART.

Pin nr. 27 RD4 Al cincilea pin la portul D. Nu are funcție adițională.

Pin nr. 28 RD5 Al șaselea pin la portul D. Nu are funcție adițională.

Pin nr. 29 RD6 Al șaptelea pin la portul D. Nu are funcție adițională.

Pin nr. 30 RD7 Al optulea pin la portul D. Nu are funcție adițională.

Pin nr. 31 VSS Alimentare, masă.

Pin nr. 32 Vdd Polul pozitiv al sursei.

Pin nr. 33 RB0 Primul pin la portul B. Intrarea întreruptă este o funcție adițională.

Pin nr. 34 RB1 Primul pin la portul B. Nu are funcție adițională.

Pin nr. 35 RB2 Al doilea pin la portul B. Nu are funcție adițională.

Pin nr. 36 RB3 Al treilea pin la portul B. Funcționează și ca selecție pentru programarea la tensiune redusă.

Pin nr. 37 RB4 Al patrulea pin la portul B. Întrerupere la schimbarea stării.

Pin nr. 38 RB5 Al cincilea pin la portul B.  Întrerupere la schimbarea stării.

Pin nr. 39 RB6 Al șaselea pin la portul B. Întrerupere la schimbarea stării. Linia de 'Clock' în mod programare.

Pin nr. 40 RB7 Al șaptelea pin la portul B. Întrerupere la schimbarea stării. Linia 'Dată' în mod programare.

5.7. Prezentare LCD (afișaj cu cristale lichide)

Multe dispozitive cu microcontroler folosesc LCD-uri inteligente pentru a afișa informația vizuală. Următorul material se ocupă de conectarea unui afișaj LDC Hitachi la un microcontroler PIC. Afișajele LCD proiectate cu HD44780, modulul pentru LCD fabricat de Hitachi, nu sunt scumpe și sunt ușor de folosit, și chiar posibil să producă verificarea datelor afișate folosind cei 8×80 pixeli ai afișajului. Afișajele LCD Hitachi conțin un set de caractere ASCII plus simboluri japoneze, grecești și matematice.

Fig. 5.43. A 16×2 line Hitachi HD44780 display.

Fiecare dintre cei 640 de pixeli ai afișajului trebuie să poată fi accesat individual și aceasta se poate realiza cu un număr de integrate SMD pentru control montate pe spatele afișajului. Aceasta ne salvează de o cantitate enormă de fire și de un control adecvat astfel încât sunt necesare doar câteva linii pentru a accesa afișajul. Putem comunica cu afișajul prin intermediul unui bus de date pe 8 biți sau de 4 biti. Pentru un bus de 8 biți, afișajul are nevoie de o tensiune de alimentare de +5v și 11 linii I/O. Pentru un bus de 4 biți sunt necesare doar liniile de alimentare și 7 linii. Când afișajul LCD nu este pornit liniile de date sunt TRI-STATE, ceea ce înseamnă că ele sunt în stare de înaltă impedanță (ca și cum ar fi deconectate) și astfel nu interferează cu funcționabilitatea microcontrolerului când afișajul nu este adresat. LCD-ul necesită de altfel 3 linii de control de la microcontroler.

Linia Enable (E) permite accesul la afișaj prin intermediul liniilor R/W și RS. Când această linie este LOW, LCD-ul este dezactivat și ignoră semnalele de la R/W și RS. Când linia (E) este HIGH, LCD-ul verifică starea celor două linii de control și răspunde corespunzător.

Linia Read/Write (R/W) stabilește direcția datelor dintre LCD și microcontroler. Când linia este LOW, datele sunt scrise în LCD. Când este HIGH, datele sunt citite de la LCD.

Cu ajutorul liniei Register select (RS), LCD interpretează tipul datelor de pe liniile de date. Când este LOW, o instrucțiune este scrisă în LCD. Când este HIGH, un caracter este scris în LCD.

Starea logică a liniilor de control:

E  0 Accesul la LCD dezactivat    1  Accesul la LCD activat

R/W  0  Scrie date în LCD        1  Citește date din LCD

RS 0 Instrucțiuni     1 Caracter

Scrierea datelor în LCD se realizează în câțiva pași:

Se setează bitul R/W LOW se setează bitul RS în 0 sau 1 logic (instrucțiune sau caracter) se trimit datele către liniile de date (dacă se execută o scriere) se setează linia E HIGH se citesc datele de la liniile de date (dacă se execută o citire).

Citirea datelor de la LCD se realizează similar, cu deosebirea că linia de control R/W trebuie să fie HIGH. Când trimitem un HIGH către LCD, el se va reseta și va accepta instrucțiuni. Instrucțiunile tipice care sunt transmise către un afișaj LCD după reset sunt: pornirea afișajului, activarea cursorului și scrierea caracterelor de la stânga spre dreapta. În momentul în care un LCD este inițializat, el este pregătit sa primească date sau instrucțiuni. Dacă recepționează un caracter, el îl va afișa și va muta cursorul un spațiu la dreapta. Cursorul marchează locația următoare unde un caracter va fi afișat. Când dorim să scriem un șir de caractere, mai întâi trebuie să setăm adresa de start, și apoi să trimitem câte un caracter pe rând. Caracterele care pot fi afișate pe ecran sunt memorate în memoria video DD RAM (Data Display RAM). Capacitatea memoriei DD RAM este de 80 bytes.

Pentru a afișa caracterul bitmap pe LCD, trebuie setată adresa CG RAM la punctul de start (de obicei 0) și apoi să fie scrise datele în afișaj. Definirea unui caracter ‚special’ este exemplificată în figură.

Înainte de a accesa DD RAM, după definirea unui caracter special, programul trebuie să seteze adresa în DD RAM. Orice scriere și citire a datelor din memoria LCD este realizată de la ultima adresă care a fost setată, folosind instrucțiunea set-adress. Odată ce adresa DD RAM este setată, un caracter nou va fi afișat în locul potrivit pe ecran. Până acum am discutat operația de scriere și citire a memoriei unui LCD ca și cum ar fi o memorie obișnuită. Acest lucru nu este adevărat. Controlerul LCD are nevoie de 40 până la 120 microsecunde (us) pentru scriere și citire. Alte operații pot dura până la 5 ms. În acest timp microcontrolerul nu poate accesa LCD-ul, astfel un program trebuie să știe când un LCD este ocupat. Putem rezolva aceasta în două metode.

O metodă este verificarea bitului BUSY de pe linia de date D7. Aceasta nu este cea mai bună metodă pentru că LCD-ul se poate bloca și programul va sta într-o buclă infinită verificând bitul BUSY. O altă metodă este introducerea unei întârzieri în program. Întârzierea trebuie să fie destul de lungă pentru ca LCD-ul să termine operația în desfășurare. Instrucțiunile pentru scriere și citire cu memoria LCD-ului sunt afișate mai sus. La început am menționat că avem nevoie de 11 linii I/O pentru a comunica cu un LCD. Oricum, putem comunica cu un LCD printr-un bus de 4 denumit AC162B. Mesajul ‚character’ este scris pe prima linie urmat de două caractere speciale ‚~’ și ‚}’. Pe a doua linie este scris cuvântul ‚mikroElektronika’.

5.8. Descrierea limbajului de programare în care sa realizat programul robotului mobil

Generalități

MPLAB este un pachet de program Windows ce face scrierea și dezvoltarea unui program mai ușoară. Poate fi descris cel mai bine ca un mediu de dezvoltare pentru un limbaj de programare standard ce este intenționat pentru programarea unui computer PC. Unele operații ce erau făcute din linia de instrucțiuni cu un număr mare de parametri până la descoperirea IDE-ului, "Integrated Development Environment", sunt acum făcute mai ușoare prin folosirea MPLAB. Totuși, gusturile noaste diferă, așa că chiar astăzi unii programatori preferă editoarele standard și compilatoarele din linia de instrucțiuni. În orice caz, programul scris este ușor de citit, și este disponibil un help bine documentat.

MPLAB constă din câteva părți:

Gruparea fișierelor aceluiași proiect într-un singur proiect (Project Manager);

Generarea și procesarea unui program (Text Editor);

Simulator de program scris folosit pentru simularea funcționării programului în microcontroler.

În afară de acestea, sunt sisteme de susținere pentru produsele Microchip ca PICStart Plus și ICD (In Circuit Debugger). Pentru că această carte nu acoperă acestea, ele vor fi menționate doar ca opțiuni.

Cerințele minime pentru computer pentru rularea lui MPLAB sunt:

• Computer compatibil PC 486 sau mai recent

• Microsoft Windows 3.1x sau Windows 95 și noile versiuni ale sistemului de operare Windows

• VGA graphic card

• 8MB memorie (32MB recomandat)

• 20MB spațiu pe hard disc

• Mouse

Pentru a porni MPLAB-ul trebuie să-l instalăm. Instalarea este un proces de copiere a fișierelor de pe CD pe un hard disc al computerului. Este o opțiune pentru fiecare fereastră ce vă ajută să vă întoarceți la cea precedentă, așa ca erorile să nu prezinte o problemă sau să devină o experiență stresantă. Instalarea propriu-zisă are loc ca la majoritatea programelor Windows. Mai întâi apare ecranul Windows, apoi puteți alege opțiunile urmate de instalarea propriu-zisă, și în sfârșit, apare mesajul care spune programul dumneavoastră instalat este gata de start.

Comanda următoare într-un simulator este DEBUG>RUN>STEP care începe pașii noștri prin program. Aceeași comandă ar fi putut fi desemnată de la o tastatură cu tasta <F7> (în general, toate comenzile importante au taste desemnate de le claviatură). Folosind tasta F7, programul este executat pas cu pas. Când obținem un macro, fișierul conținând un macro este deschis (Bank.inc), și continuăm cu macro. Într-o fereastră cu regiștri SFR putem observa cum registrul W primește valoarea 0xFF și pe care o trimite la portul B. Făcând clic pe tasta F7 din nou, nu obținem nimic pentru că programul a ajuns într-o "infinite loop"-buclă infinită. Bucla infinită este un termen pe care îl întâlnim adesea. Reprezintă bucla din care un microcontroler nu poate ieși până nu se întâmplă  întreruperea (dacă este folosită într-un program), sau până ce micorcontrolerul va fi resetat.

Acest toolbar este de ajuns pentru nevoile noastre, și va fi descris în detaliu. În figura de mai jos putem vedea un toolbar pentru  care avem nevoie de o scurtă explicație pentru fiecare icon. Din cauza formatului limitat a cestei cărți, acest toolbar este reprezentat ca un toolbar suspendat. În general, este plasat orizontal mai jos de menu, de-a lungul întregului ecran.

Figură 1. Toolbar universal cu scurte explicații ale icon –urilor

Descriere a icon-urilor toolbar-ului

5.8.1. Schemele bloc utilizate pentru program

Diagnoză robot

Buclă principală

Program Vizual C++

VI. EXPERIMENT

Robotul mobil a fost conceput in vederea realizarii unor sarcini independent de PC dar cu posibilitatea modificarii programului in cazul in care intervin si alte rutine sau se doreste efectiv modificarea programului. Toate acestea fiind posibile deoarece robotul este echipat cu un modul de emisie/receptie radio, astfel se transmit sarcini catre robot de la PC prin intermediul portului paralel si al modulului de emisie radio si se receptioneaza informatii cu privire la efectuarea sau nu a comenzii. Daca in spatiul de lucru al robotului apar diverse obiecte neprevazute de programul de lucru acesta le poate sesiza cu ajutorul senzorilor optici. Dupa detectia obstacolului respectiv robotul face o subrutina de ocolire, dupa care revine si isi continua rutina pe care trebuia sa o execute, facand apel la aceasta subrutina ori de cate ori va fi necesar.

Alinentarea este facuta cu acumulatori, avand astfel autonomie timp de mai multe ore.

Eroarea de pozitionare a robotului in urma unei rutine in care robotul efectueaza un ciclu de 10 deplasarii inainte, 10 deplasari inapoi, fiecare deplasare efectuandu-se timp de o secunda, este reprezentata in graficul de mai jos. Eroarea de pozitionare este functie de viteza de deplasare a robotului si de inertia acestuia. Se va efectua in continuare mai multe subrutine cu viteze de deplasare a robotului diferite de aceasta pentru a determina viteza cu care trebuie sa se deplaseze robotul pentru a avea o precizie cit mai ridicata.

Modelarea 3D a robotului mobil

Pozitionarea motoarelor pe placa 1. Vedere de ansamblu Grup motor reductor, placa 1 de fixare.

Vedere izometrica placa de fixare, Modul de prindere al celor doua placi

ELEMENTE COMPONENTE ALE ROBOTULUI MOBIL

Punte H pentru comanda motorului;

Microcontroler;

Poarta „SI”;

Buzzer;

5. LCD (display cu cristale lichide);

6. Grup motor reductor (2);

7. Roti motoare;

8. Acumulatori;

9. Surub fixare;

10. Roata de sprijin.

VII. CALCUL ECONOMIC

Realizarea calculului economic are ca principal scop calculul costurilor directe si indirecte, amortizarea si determinarea pretului produsului finit.

Principalii factori care determina costul unui produs sunt:

Pretul resurselor;

Tipul de produs fabricat;

Tehnologia de lucru;

Managementul aplicat.

Principalele materiale si componente folosite la realizarea robotului mobil sunt enumerate in tabelul de mai jos:

Ca urmare directa a costului de fabricatie este pretul produsului, pret ce depinde la randul lui de:

Performantele produsului;

Capacitatea de absortie a robotului;

Concurenta.

Pentru productia de serie a produsului finit se preconizeaza ca tendinta valorii costurilor este descrescatoare ceea ce duce la o crestere a rentabilitatii si in conditiile scaderii pretului.

In vederea unei productii de serie de pana intr-o 100 bucati/an pretul ar reveni la suma de 70 €, iar daca se doreste o productie de peste 100 de bucati/an pretul de cost al unui robot revine la suma 50 €.

Pretul stabilit astfel, pentru un robot, este direct proportional cu numarul de cereri pe piata si de producatorii de la care se vor achizitiona componentele necesare realizarii prototipului.

VIII. CONCLUZII

S-a avut in vedere sublinierea principalelor cerinte de indeplinire de catre un robot mobil care trebuie sa detecteze obstacole si sa fie autonom, prevazut cu senzori care sesizeaza obiectele ce ii apar in cale, senzori de deplasare pentru a cunoaste pozitia robotului la un moment dat, programarea microcontrolerului cu care acesta este dotat;

– proiectarea unei structuri cat mai simple, pentru usurarea programarii si a punerii in functiune a robotului;

– componentele principale stabilesc comportarea principala a sistemului: executarea unei comenzi deja implementate, emisia si receptia de date;

– componentele de securitate avand ca finalitate evitarea interactiunii robotului cu un obiect din mediul inconjurator: oprirea de urgenta, indepartarea de un obiect prea apropiat;

Observatie: Timpul necesar transmiterii datelor de la PC prin intermediul portului paralel ce transmite informatia modulului de emisie si mai departe modulului de receptie cu care robotul este dotat este foarte mare (s-a constatat in urma experimentelor).

Pentru cea mai elementara comanda ex. inainte, timpul necesar transmiterii informatiei de la PC la microC robotului este:

16 + 32 + 192 = 240biti, adica: 240biti x 620ms = 148,8 = 2,4 min.

unde:

620ms timpul necesar transmiterii unui bit, timp determinat experimental;

16 sensul de rotatie al rotilor, 8 x 2 = 16;

32 numarul de pasi pe care ii efectueaza, 2 octeti pentru fiecare roata: 2octeti x 2roti, ceea ce implica: Nr. pasi = 2 x 8 x 2 = 32biti;

192 PWM, PWM = frecventa x factorul de umplere x nr. de roti = 8 x 12 x 2 PWM=132. Daca se vrea si verificarea datelor transmise timpul necesar efectuarii comenzii emisie/receptie se dubleaza. Mai este caracterizat si prin aceea ca transmisia de date se realizeaza la distante mici sub 10m. Daca s-ar utiliza un sistem digital de transmisie a datelor de actualitate timpul necesar transmiterii datelor s-ar reduce semnificativ, aceste modemuri radio avand o rata de transfer de peste 10kbps. Dezavantajul ar fi prezentat de costul ridicat si de necesitatea utilizarii unui programator de microC-lere profesional.

Imbunatatiri ce pot fi aduse:

pentru o perceptie mai buna a mediului se poate monta o camera video care sa filmeze sau sa surprinda imagini din locul de unde activeaza, dotare cu sonar pentru perceptia obstacolelor cu o precizie cat mai ridicata;

senzori de culoare, pentru a urmarii un traseu predefinit si marcat;

celula fotoelectrica, cu aceasta realizand functia de umarire a luminii (se va misca inainte dar pe partea unde intensitatea luminii este mai mare);

montarea unui brat articulat sau chiar a unui mocul de translatie prevazut cu gripper pentru deservirea unei masini sau a unui utilaj tehnologic.

Domeniul de activitate:

Domeniul nuclear, pentru manipularea obiectelor in mediu ostil pentru om:

domeniu militar, pentru manipularea munitiei;

domeniul industrial, pentru manipularea pieselor si subansamblelor in special in cadrul liniilor flexibile de asamblare;

domeniul serviciilor, pentru spalarea pardoselelor in statiile de metrou, piete;

domeniul transporturilor, pentru deplasarea de obiecte in diferite puncte precizate anterior.

X. PROGRAMUL DE EXECUTIE AL ROBOTULUI MOBIL CU ROTI

Banc

BANK0 MACRO

BCF STATUS,5

BCF STATUS,6

ENDM

BANK1 MACRO

BSF STATUS,5

BCF STATUS,6

ENDM

BANK2 MACRO

BCF STATUS,5

BSF STATUS,6

ENDM

BANK3 MACRO

BSF STATUS,5

BSF STATUS,6

Button

Button macro HiLo, Port, Bit, Delay, Adress

Local Exit

Local Loop

if HiLo == 0

btfsc Port,Bit

else

btfss Port,Bit

endif

goto Exit

WAIT Delay

Loop

if HiLo == 0

btfss Port,Bit

else

btfsc Port,Bit

endif

goto Loop

WAIT Delay

call Adress

Exit

Endm

Int

PUSH MACRO

MOVWF W_TEMP

SWAPF W_TEMP,F

BANK1

SWAPF OPTREG,W

MOVWF OPTION_TEMP

BANK0

SWAPF STATUS,W

MOVWF STATUS_TEMP

ENDM

POP MACRO

SWAPF STATUS_TEMP,W

MOVWF STATUS

BANK1

SWAPF OPTION_TEMP,W

MOVWF OPTREG

BANK0

SWAPF W_TEMP,W

ENDM

INTRERUPERE BTFSC INTCON,7

RETFIE

PUSH

BTFSC INTCON,2

GOTO TMR0_I

BTFSC INTCON,1

GOTO INTF_I

BTFSC INTCON,0

GOTO RBIF_I

BTFSC PIR1,7

GOTO PSPIF_I

BTFSC PIR1,6

GOTO ADIF_I

BTFSC PIR1,5

GOTO RCIF_I

BTFSC PIR1,4

GOTO TXIF_I

BTFSC PIR1,3

GOTO SSPIF_I

BTFSC PIR1,2

GOTO CCP1IF_I

BTFSC PIR1,1

GOTO TMR2IF_I

BTFSC PIR1,0

GOTO TMR1IF_I

BTFSC PIR2,4

GOTO EEIF_I

BTFSC PIR2,3

GOTO BCLIF_I

BTFSC PIR2,0

GOTO CCP2IF_I

TMR0_I

GOTO END_ISR

INTF_I

GOTO END_ISR

RBIF_I

GOTO END_ISR

PSPIF_I

GOTO END_ISR

ADIF_I

GOTO END_ISR

RCIF_I

GOTO END_ISR

TXIF_I

GOTO END_ISR

SSPIF_I

GOTO END_ISR

CCP1IF_I

GOTO END_ISR

TMR2IF_I

GOTO END_ISR

TMR1IF_I

GOTO END_ISR

EEIF_I

GOTO END_ISR

BCLIF_I

GOTO END_ISR

CCP2IF_I

GOTO END_ISR

END_ISR

POP

RETFIE

LCD

; Declaram partea hardware

RS equ 1

RW equ 2

EN equ 3

; Comenzi LCD

CONSTANT LCDEM8 = b'00110000'

CONSTANT LCDDZ = b'10000000'

CONSTANT LCDEM4 = b'00100000'

; Comenzi LCD standard pentru initializare

CONSTANT LCD2L = b'00101000'

CONSTANT LCDCONT = b'00001100'

CONSTANT LCDSH = b'00101000'

; Comenzi LCD standard

CONSTANT LCDCLR = b'00000001'

CONSTANT LCDCH = b'00000010'

CONSTANT LCDCR = b'00000110'

CONSTANT LCDCL = b'00000100'

CONSTANT LCDSL = b'00011000'

CONSTANT LCDSR = b'00011100'

CONSTANT LCDL1 = b'10000000'

CONSTANT LCDL2 = b'11000000'

; Macrouri

LCDinit macro

call LCD_init

endm

LCDchar macro LCDarg

movlw LCDarg

call LCDdata

endm

LCDw macro

call LCDdata

endm

LCDcmd macro LCDcommand

movlw LCDcommand

call LCDcomd

endm

LCDline macro line_num

IF (line_num == 1)

LCDcmd LCDL1

ELSE

IF (line_num == 2)

LCDcmd LCDL2

ELSE

ENDIF

endm

LCD_DDAdr macro DDRamAddress

Local value = DDRamAddress | b'10000000'

IF (DDRamAddress > 0x67)

ERROR "Wrong DDRAM address in LCD_DDAdr"

ELSE

movlw value

call LCDcomd

ENDIF

endm

LCD_CGAdr macro CGRamAddress

Local value = CGRamAddress | b'01000000'

IF (CGRamAddress > b'00111111')

ERROR "Wrong CGRAM address in LCD_CGAdr"

ELSE

movlw value

call LCDcomd

ENDIF

endm

; Subprograme

LCDclk

WAITX 0x02,0x00

bsf LCDport,EN

bcf LCDport,EN

WAIT 0x02

RETURN

LCDcomd clrf LCDbuf

goto LCDwr

LCDdata clrf LCDbuf

bsf LCDbuf,RS

LCDwr clrf LCDtemp

movwf LCDtemp

andlw b'11110000'

iorwf LCDbuf,0

movwf LCDport

call LCDclk

clrf LCDport

swapf LCDtemp,0

andlw b'11110000'

iorwf LCDbuf,0

movwf LCDport

call LCDclk

clrf LCDport

RETURN

LCD_init

clrf LCDport

BANK1

clrf OPTREG

movlw b'00000000'

movwf LCDtris

BANK0

WAIT 0x02

movlw LCDEM8

movwf LCDport

call LCDclk

clrf LCDport

WAIT 0x02

movlw LCDDZ

movwf LCDport

call LCDclk

clrf LCDport

movlw LCDEM4

movwf LCDport

call LCDclk

clrf LCDport

LCDcmd LCD2L

LCDcmd LCDCONT

LCDcmd LCDSH

LCDcmd LCDCLR

; call LCDspecialChars

RETURN

LCDspecialChars

; Primul caracter

LCD_CGAdr 0x00

LCDchar b'00001010'

LCD_CGAdr 0x01

LCDchar b'00000100'

LCD_CGAdr 0x02

LCDchar b'00001110'

LCD_CGAdr 0x03

LCDchar b'00010001'

LCD_CGAdr 0x04

LCDchar b'00010000'

LCD_CGAdr 0x05

LCDchar b'00010001'

LCD_CGAdr 0x06

LCDchar b'00001110'

LCD_CGAdr 0x07

LCDchar b'00000000'

; Al doilea caracter

LCD_CGAdr 0x08

LCDchar b'00000010'

LCD_CGAdr 0x09

LCDchar b'00000100'

LCD_CGAdr 0x0A

LCDchar b'00001110'

LCD_CGAdr 0x0B

LCDchar b'00010001'

LCD_CGAdr 0x0C

LCDchar b'00010000'

LCD_CGAdr 0x0D

LCDchar b'00010001'

LCD_CGAdr 0x0E

LCDchar b'00001110'

LCD_CGAdr 0x0F

LCDchar b'00000000'

LCD_DDAdr 0x00

RETURN

Print

PRINT macro Addr, Start, End, Var, Out

Local Next

Local Exit

movlw Start

movwf Var

Next

movf Var,w

call Addr

Out

movf Var,w

xorlw End-1

btfsc STATUS,Z

goto Exit

incf Var,f

goto Next

Exit

Endm

Robotel

LIST P=16F877A ;ALEGEM MICROCONTROLERUL PIC 16F877A

ERRORLEVEL -302 ;SE SUPRIMA MESAJELE DESPRE MEMORIE

__CONFIG 2F41H ;SE SELECTEAZA OSCILATOR XT (VEZI ANEXA XX)

;DECLARAM REGISTRI NECESARI

PORTA EQU 05H ;REGISTRU PORTA (VEZI ANEXA XX)

PORTB EQU 06H ;REGISTRU PORTB (VEZI ANEXA XX)

PORTC EQU 07H ;REGISTRU PORTC (VEZI ANEXA XX)

PORTD EQU 08H ;REGISTRU PORTD (VEZI ANEXA XX)

PORTE EQU 09H ;REGISTRU PORTE (VEZI ANEXA XX)

TRISA EQU 85H ;REGISTRU PORTA (VEZI ANEXA XX)

TRISB EQU 86H ;REGISTRU TRISB (VEZI ANEXA XX)

TRISC EQU 87H ;REGISTRU TRISC (VEZI ANEXA XX)

TRISD EQU 88H ;REGISTRU TRISD (VEZI ANEXA XX)

TRISE EQU 89H ;REGISTRU TRISE (VEZI ANEXA XX)

STATUS EQU 83H ;REGISTRU STATUS (VEZI ANEXA XX)

OPTREG EQU 81H ;REGISTRU OPTREG (VEZI ANEXA XX)

INTCON EQU 0BH ;REGISTRU INTCON (VEZI ANEXA XX)

TMR0 EQU 01H ;REGISTRU TMR0 (VEZI ANEXA XX)

TMR1L EQU 0EH ;REGISTRU TMR1L (VEZI ANEXA XX)

TMR1H EQU 0FH ;REGISTRU TMR1H (VEZI ANEXA XX)

TMR2 EQU 11H ;REGISTRU TMR2 (VEZI ANEXA XX)

PCL EQU 02H

;DECLARAM VARIABILELE NECESARE

RP0 EQU 05H ;VARIABILA RP0 (VEZI ANEXA XX)

TOIF EQU 02H ;VARIABILA TOIF (VEZI ANEXA XX)

Z EQU 02H

;VARIABILE NECESARE DE MACROURI

LCDtris EQU TRISB

LCDport EQU PORTB

C EQU 00H

CBLOCK 0X20

LCDbuf ;APARTIN MACROULUI LCDxxx

LCDtemp

WCYCLE ;APARTIN MACROULUI WAITX

PRESCwait

Pointer ;MMM

W_TEMP

OPTION_TEMP

STATUS_TEMP

PROGL

ZP ;ZECI PROGRAM

UP ;PROGRAM

UPv

ZPv

ENDC

ORG 0X00 ;LOCUL DE PORNIRE LA RESET

GOTO RESET ;RESETAREA TUTUROR VARIABILELOR

ORG 0X04 ;LOCUL DE PORNIRE LA INTRERUPERE

GOTO RESET ;SE EXECUTA INTRERUPEREA

Messages

MOVWF PCL

Message1 DT"Tintea Steliana"

Message2 DT"PROIECT LICENTA"

Message3 DT"Inainte"

Message4 DT"Inapoi"

Message5 DT"Stop"

END_messages

#INCLUDE "BANC.INC" ;NU SE PUN INCLUDURILE INAINTE DE ORG ???

; #INCLUDE "INT.INC" ;DE CE? (DA EROARE) ?!

#INCLUDE "WAIT.inc"

#INCLUDE "LCD.inc"

#INCLUDE "PRINT.inc"

#INCLUDE "BUTTON.INC"

; #INCLUDE "BEEP.INC"

RESET

BANK1 ;SELECTAM BANCUL 1

CLRF TRISB ;PORTUL B I/O

CLRF TRISC ;PORTUL C I/O 4 INTRARI (TOT PORTUL)

CLRF TRISD ;PORTUL D I/O

CLRF TRISE ;PORTUL E I/O

BANK0 ;REVENIM IN BANCUL 0

CLRF ZP

CLRF UP

START

; mesaj de start

; BCF LCDport,2

; LCDinit

; PRINT Messages,Message1,Message2,Pointer,LCDw

; LCDcmd LCDL2

; PRINT Messages,Message2,Message3,Pointer,LCDw

; WAITX .200,7

joc bsf PORTD,4

; WAITX .200,7

bcf PORTD,4

; WAITX .200,7

bsf PORTD,5

; WAITX .200,7

bcf PORTD,5

; WAITX .200,7

INAINTE

LCDcmd LCDCLR

PRINT Messages,Message3,Message4,Pointer,LCDw

BCF PORTD,1

BCF PORTC,3

BSF PORTD,0

BSF PORTC,0

WAITX .200,7

INAPOI

LCDcmd LCDCLR

PRINT Messages,Message4,Message5,Pointer,LCDw

BCF PORTD,0

BCF PORTC,0

BSF PORTC,3

BSF PORTD,1

WAITX .200,7

STOP

BCF PORTD,0

BCF PORTC,0

BCF PORTD,1

BCF PORTC,3

goto joc

END

Wait

; Declararea constantelor

CONSTANT PRESCstd = b'00000001' ;Valoarea standard pentru TMR0

; Macrouri

WAIT macro timeconst_1

movlw timeconst_1

call WAITstd

endm

WAITX macro timeconst_2, PRESCext

movlw timeconst_2

movwf WCYCLE

movlw PRESCext

call WAIT_x

endm

; Subprograme

WAITstd

movwf WCYCLE

movlw PRESCstd

WAIT_x

clrf TMR0

BANK1

movwf OPTREG

BANK0

WAITa

bcf INTCON,TOIF

WAITb

btfss INTCON,TOIF

goto WAITb

decfsz WCYCLE,1

goto WAITa

RETURN

ANEXE

. BIBLIOGRAFIE

1. Lucian CIOBANU, Elemente de proiectare a sistemelor flexibile de fabricatie si a robotilor industriali, Editura BIT, Iasi, 1997.

2. Lucian CIOBANU, Robot mobil ghidat prin fir conductor, Lucrarile “Electrotehnica 80”, Iasi, 1992.

3. Mircea Mihail POPOVICI, Mecanica tehnica pentru muncitori, Editura Tehnica, Bucuresti, 1973.

4. Virgil OLARIU, Petre SIMA, Valeriu ACHIRILOAIE, Mecanica tehnica, Editura Tehnica, Bucuresti, 1982.

5. V. VALCOVICI, St. BALAN, R. VOINEA, Mecanica teoretica, Editura Tehnica, Bucuresti, 1986.

6. Nicolae GALAN, Constantin GHITA, Mihai CRISTELECAN, Masini electrice, Editura Didactica si pedagogica, Bucuresti, 1981.

7. Lucian CIOBANU, Sisteme de roboti celulari, Editura Tehnica, Bucuresti, 2002.

8. Philippe COIFFET, La robotique, Principes et applications, Editions Hermes, Paris, 1986.

9. Vasile M. CATUNEANU, Tehnologie electronica, Editura Didactica si pedagogica, Bucuresti, 1981.

10. Gh. RADULESCU, Gh. MILOIU, N.GHEORGHIU, C. MUNTEANU, Fl. VISA, N. IONESCU, Vl. POPOVICI, G. DOBRE, M.RASEEV, Indrumar de proiectare in constructia de masini, Editura Tehnica, Bucuresti, 1986, Vol. III.

11. Ioan Dan FILIPOIU si Andrei TUDOR, Proiectarea transmisiilor mecanice, Editura Bren, Bucuresti, 2001.

12. Catalog pentru componente optoelectronice (Led si Fotodioda), Baneasa SA, Bucuresti, 2000.

13. Viviana FILIP, Proiectarea modelarea si simularea sistemelor mecatronice, Curs, 2003.

14. Mihaita ARDELEANU, Roboti industriali mobili, Curs, 2003.

15. Valerica CIMPOCA, Aparatura optoelectronica, Curs, 2003.

16. Ghe. HUSEIN, M. TUDOSE, Desen tehnic, Editura Didactica si Pedagogica, Bucuresti, 1973.

17. WWW. microchip. com.

18. WWW. ancr.org.

19. Note de curs si laboratoare.

Similar Posts