AUTOMATICĂ ȘI INFORMATICĂ APLICATĂ FORMA DE INVĂȚĂMÂNT ZI Proiect de diplomă COORDONATOR ȘTIINȚIFIC Conf.dr.ing.Barabaș Tiberiu ABSOLVENT Patca… [309693]

UNIVERSITATEA DIN ORADEA

FACULTATEA DE INGINERIE ELECTRICĂ ȘI TEHNOLOGIA INFORMAȚIEI

AUTOMATICĂ ȘI INFORMATICĂ APLICATĂ

FORMA DE INVĂȚĂMÂNT ZI

Proiect de diplomă

COORDONATOR ȘTIINȚIFIC

Conf.dr.ing.Barabaș Tiberiu

ABSOLVENT: [anonimizat], supraetajat, componentele ramase ce alcătuiesc robotul mobil. In partea inferioara a șasiului se afla rotile motoare cu reductor si roata de susținere. Pe partea superioara sunt așezate părțile digital/analogice, [anonimizat], camera video Raspberry Pi iar in fata se afla senzorul de distanta pentru detectarea obiectelor.

Acest ansamblu este controlat de o placa de dezvoltare Raspberry Pi care rulează programul încărcat si este scris in limbajul de programare Pyton.

Prima parte a [anonimizat], [anonimizat], [anonimizat].

A doua parte a [anonimizat], programul de comanda robot si camera.

Capitolul I. Roboti mobili

I.1 Roboti . Generalități

De-a [anonimizat], [anonimizat]. Unele dintre aceste definiții sunt următoarele:

JIRA ( Japan Industrial Robot Association) : „Robotul este un dispozitiv versatil si flexibil care conferă funcții de deplasare similare celor ale membrelor umane sau ale cărui funcții de deplasare sunt comandate de senzori si de mijloace proprii de recunoaștere”

GM (General Motors ) : „[anonimizat], subansamble”

RIA ( Robot Institute of America) : „[anonimizat], [anonimizat], [anonimizat] a îndeplini anumite sarcini”

BRA ( British Robot Association) : „[anonimizat] a îndeplini sarcini specifice de fabricație”

[anonimizat] , [anonimizat] a robotului. Una dintre primele definiții date acestei entități mecanice evidențiază ca aceasta imita omul si posibilitățile sale de acțiune. Având in vedere evoluția cercetării in domeniu si exemplarele fizice de roboti mobili construite , care imita diferite vietăți , am putea completa definițiile de mai sus cu următoarea definiție : „Robotii sunt sisteme mecanice cu structura variabila, controlate de sisteme complexe si concepute pentru executarea de operații asemănătoare acțiunilor ființelor umane si nu numai.”

Un robot este un operator mecanic sau virtual, artificial. Robotul este un sistem compus din mai multe elemente: mecanica, senzori si actuatori precum si un mecanism de direcționare. Mecanica stabilește înfățișarea robotului si mișcările posibile. Senzorii si actuatorii sunt responsabili de interacția cu mediul de lucru. Mecanismul de direcționare are grija ca robotul sa-si îndeplinească obiectivul cu succes, pe baza informațiilor primite de la senzori. Acest mecanism reglează turația motoarelor si planifica mișcările care urmează a fi efectuate. Robotii cu mai mult de cinci grade de libertate se numesc roboti industriali, iar cei care imita forma umana se numesc androizi.

De asemenea termenul „robot” sau prescurtat „bot” , se utilizează si la denumirea unor programe software care îndeplinesc automat anumite funcții sau operații. Astfel robotii sunt virtuali si nu doar mecanici.

Cuvântul „robot” si-a schimbat sensul de-a lungul timpului. Inițial termenul „robot” a fost folosit de frații Josef Capek si Karel Capek in lucrările lor de science-fiction la începutul secolului XX. La originile sale, cuvântul „robot” este de origine slava si se traduce prin munca, clacă sau munca silnica. Karel Capek a descris in piesa sa R.U.R din anul 1921 muncitori de asemănare umana, care sunt crescuți in rezervoare. Capek folosește in lucrarea sa motivele clasice de golem. Denumirea de astăzi a creaturilor din operele celor doi poarta numele de android. Înaintea apariției termenului de robot s-au utilizat ,de exemplu, in uzinele lui Stanislaw Lem termenii automat si semiautomat.

Bazele roboților de astăzi stau mult mai departe. Primele modele de mașini pot fi mai degrabă numite automate (provenind din grecescul automatos, care se mișcă singur). Acestea nu puteau executa decât cate un singur obiectiv , fiind constrânse de construcție.

Odată cu descoperirea ceasului mecanic din secolul XIV s-a deschis calea unor posibilități noi si complexe. Nu mult după aceea au apărut si primele mașini, care semănau îndepărtat cu robotii de azi. Era posibil însă numai ca mișcările sa urmeze una după alta, fără sa fie nevoie de intervenția manuala in acel sistem.

Dezvoltarea electrotehnicii din secolul XX a adus cu sine si o dezvoltare a roboticii. Printre primii roboti mobili se numără sistemul Elmer si Elsie construit de Wiliam Grey Walter in anul 1948. Aceste triciclete se puteau îndrepta spre o sursa de lumina si puteau sa recunoască coliziuni in împrejurimi.

Anul 1956 este considerat ca anul nașterii robotului industrial. George Devol a depus candidatura in acest an in S.U.A. pentru un patent, o schiță, pentru „transferul programat de articole”. Câțiva ani după aceea a construit împreuna cu Joseph Engelberger UNIMATE. UNIMATE era un robot de circa doua tone, care a fost mai întâi introdus in montarea de iconoscoape pentru televizoare, găsindu-si apoi drumul in industria automobila. Programele pentru acest robot au fost salvate sub forma de comenzi direcționate pentru motoare pe un cilindru magnetic. Pornind din acest moment se introduc roboti industriali ca UNIMATE in mai multe domenii ale producției fiind permanent dezvoltați mai departe pentru a putea face fata cererilor complexe care li se impun. Apariția din ce in ce mai frecventa a roboților in film si literatura a atras atenția științei asupra acestui tip de mașini. Domeniul științific, care se ocupa de construcția roboților se numește robotica. Termenul a fost folosit pentru prima data in anul 1942 de Isaac Asimov in cartea sa, Runaround in care a enunțat cele 3 reguli de baza ale roboților:

Legea 1. Un robot nu poate leza o ființă umana sau nu poate asista inactiv atunci când acesta este in primejdie.

Legea 2. Orice robot trebuie sa se supună comenzilor primite de la ființele umane, cu excepția acelor comenzi care nu respecta prima lege.

Legea 3. Orice robot trebuie sa se autoprotejeze atunci când este pusa in pericol integritatea sa, cu excepția cazurilor in care s-ar încălca cel puțin una dintre primele doua legi.

Un domeniu general teoretic științific, care se ocupa de roboti, nu există. Acestea sunt mai ales subdomenii ale informaticii.

Robotii oferă beneficii substanțiale muncitorilor, industriilor si implicit tarilor. In situația folosirii in scopuri pașnice, robotii industriali pot influenta pozitiv calitatea vieții oamenilor prin înlocuirea acestora in spatii periculoase, cu condiții de mediu dăunătoare omului, cu condiții necunoscute de exploatare, etc.

Domeniile de aplicare a tehnicii roboților se dezvolta mereu, ei putând fi utilizați in industrie, transporturi si agricultura, in sfera serviciilor, in cunoașterea oceanului si a spațiului cosmic, in cercetarea științifică, etc.

I.1.1 Tehnica de baza

Robotii sunt realizați mai ales prin combinația disciplinelor: mecanica, electrotehnica si informatica. Intre timp s-a creat din legătura acestora mecatronica.

Pentru realizarea de sisteme autonome (care sa găsească singure soluții) este necesară legătura a cat mai multe discipline de robotica. Aici se pune accent pe legătura conceptelor de inteligenta artificiala sau neuroinformatica, precum si idealul lor biologic sau biocibernetica. Din conexiunea dintre biologie si tehnica s-a dezvoltat bionica.

Cele mai importante componente ale roboților sunt senzorii, care permit mobilitatea acestora in mediu si o dirijare cat mai precisa. Un robot nu trebuie neapărat sa poată sa acționeze autonom, fapt pentru care se distinge intre robotii autonomi si cei teleghidați.

I.1.2 Tipuri de roboti

Termenul de „robot” reprezintă un domeniu destul de vast, cauza din care robotii sunt sortați in multe categorii. Unele dintre acestea sunt:

Robot autonom mobil

Robot umanoid

Robot industrial

Robot explorator

Robot medical

Robot pășitor

Robot educațional

Robot militar

I.2 Roboți mobili

Robotii mobili sunt roboti care sunt capabili sa-si modifice locația. Mobilitatea

roboților rezulta posibilitatea pentru implementări într-o multitudine de domenii.

I.2.1 Clasificarea roboților mobili

Robotii mobili pot fi clasificați după mediul in care sunt destinați sa funcționeze Ș

Robot tereștrii in medii exterioare

Robot transportator pe drumuri sau medii de lucru interioare

Robot aerian

Robot subacvatic

Robot polar (destinat pentru gheață si zăpadă)

Roboți terestriali in medii exterioare, cu aplicații in agricultura si in armata. Modul de locomoție este prin senile sau cu roti. Dezvoltările in ultimul deceniu de către Boston Dynamics a rezultat roboti cu pășire cu fiabilitate ridicata astfel încât sunt fezbile pentru aplicații militare.

Robotii transportatori sunt roboti care transportă marfa in interiorul unei clădiri sau chiar pe drumuri special amenajate. Implementările de interior includ transportarea mărfii in depozite, echipamente si medicamente in spitale. Implementările in exterior sunt limitate din cauza lipsei legislației pentru reglementar pe drumuri publice, dar deja includ mega-camioane autonome in mine de suprafață pe drumuri private.

Robotii aerieni sunt roboti zburători cu metode de propulsie obișnuite in industria aeronautica. Implementările, pana recent, erau in primul rând militare, cuprinzând drone de recunoaștere autonome si drone armate operate prin teleghidare. Scăderea prețului de achiziție a dronelor domestice a rezultat aplicații care cuprind de la industria foto-video pana la proiecte de transport rapid de către firme de curierat.

Robotii subacvatici au aplicații diverse , cuprinzând de la cercetare științifică , la aplicații militare sau comerciale si chiar personale. In cazul in care robotul este echipat cu manipulatori si efectori, aceștia pot îndeplini sarcini de constricție , recuperare, salvare si de reparații.

Clasificare după metoda de locomoție :

Roti

Senile

Pășire

Elice aeriene sau subacvatice

Târâre

Rostogolire

Metoda de locomoție a robotului mobil trebuie selectata in așa fel încât sa fie optima din punct de vedere al vitezei de deplasare, iar terenul anticipat sa fier parcurs astfel încât sa găsească cel mai economic drum din punct de vedere al consumului de energie pentru diverse aplicații.

Rotile sunt ideale pentru drumuri sau teren solid ușor de parcurs. Acestea sunt, de regulă, propulsate de motoare electrice. In cazul in care consumul de energie este mare sau autonomia de funcționare trebuie sa fie îndelungată, ca si in cazul roboților transportatori in exterior sunt de preferat motoarele cu combustibili fosili.

De asemenea, robotii mobili pot fi clasificați după metoda de navigare :

Teleghidare manuala

Teleghidare manuala cu protejare automată

Autonom cu mișcare întâmplătoare

Ghidat autonom

Navigare variabila sau glisanta

Teleghidarea manuala si teleghidarea manuala cu protejare automată sunt implementări cu complexități diferite. In cazul in care se utilizează teleghidarea manuala se poate implementa cu senzori si programare minimă pentru controlul robotului. Pe de alta parte, funcția de protejare automata are nevoie de un sistem de o complexitate considerabila. Protejarea automata este o funcție prin care robotul poate fi ghidat fără accidente, menținându-si traseul.

Robotii programați sa urmărească linii au senzori adecvați pentru detectarea traseelor preconfigurate într-o clădire, astfel încât cu un sistem relativ simplu pot sa parcurgă traseele.

Robotii autonomi cu mișcare întâmplătoare sunt roboti echipați cu senzori pentru detectarea obstacolelor si pereților ,iar odată detectate sunt programați sa le evite sau sa le ocolească.

Robotii ghidați autonom au informații legate de poziția lor si traseuri pentru a ajunge la destinație. Poziția robotului este calculata cu mai mulți senzori complecși , cum ar fi cu vedere stereoscopica , sisteme de poziționare si triangulare.

Cele mai recente si mediatizate dezvoltări in robotica se regăsesc in categoria roboților mobili.

Capitolul II. Platforma de dezvoltare Raspberry PI

II.1 Prezentarea generala. Caracteristici.

Se poate numi mini-calculator sau platforma cu microprocesor. Indierent de cum este numit, Raspberry PI se prezinta sub forma unei placute de circuit imprimat, fara carcasa.

Pe aceasta placuta se afla un microprocesor, o memorie RAM de 512 MB si un nucleu de procesare video, cu o iesire HDMI si RCA. Raspberry PI este un calculator de dimensiunea unui card de credit si ruleaza un sistem de operare de operare de tip Linux. Se poate face cu el aproape tot ceea ce se face cu un calculator obisnuit.

In plus, fata de un calculator obisnuit, Raspberry PI ofera si posibilitatea realizarii de conexiuni hardware directe cu alte dispozitive (senzori de temperatura, umiditate, lumina, presiune atmosferica, butoane, relee driver de motoare, etc.) prin intermediul pinilor GPIO.

Pinii GPIO sunt expusi intr-o zona din lateralul placii si pot fi controlati prin orice limbaj de programare care ruleaza pe placa Raspberry PI (Python, C, C++, Java, PHP, .NET, etc.).

Datorita avantajelor legate de dimensiunea mica si pretul de achizitie mic raportat la performantele oferite, placa Raspberry PI reprezinta o alegere buna pentru proiecte din numeroase domenii : robotica, imprimare 3D, servere web, ftp, statii meteo, jocuri 3D ; acestea fiind doar cateva exemple.

Figura 2.1.1 Raspberry PI model B+

Ideea din spatele Rapberry PI a fost de a construi un calulator accesibil, de dimensiuni mici, care sa poata fi utilizat in scopuri didactice pentru promovarea tehnologiei informatiei si a programarii. Pe langa scopurile sale didactice, Raspberry PI a fost adoptat e catre diversi producatori de disozitive electronice cat si depasionati de electronica si programare cae il folosesc in proiectarea si modelareasiferitelor aplicatii.

Raspberry PI a fost creat in 2006 de un grup de ingineri de la Universitate din Cambridge. Primele generatii de Raspberry PI, care au fost testate intre anii 2006 – 2008 , nu ofereau o performanta foarte ridicata deoarece in cuantumul sumei mici de incadrare dorite, nu se putea realiza acest lucru. Abia dupa 2008 echipamentele mobile de procesare au inceput sa fie mai accesibile si totodata mai performante, ajungandu-se in 2012 cand au fost lansate oficial primele modele Raspberry PI (model A si model B) care se apropiau ca potential de lucru de calculatoarele personale,

Pe langa avantajul dimensiunilor relativ mici, mai precis dimensiunea unui card de credit, Raspberry PI poate concura cu performantele unui calculator personal, avand psibilitati diverse, cum ar fi :

Navigarea pe internet

Redarea fisierelor video de rezolutie inalta

Server web

Rularea unor jocuri

Pentru cele mentionate anterior e necesara doar conectarea unor periferice, cum ar fi, de exemplu, un monitor, o tastatura, un mouse, etc. si acest „card de credit” numit Raspberry PI devine un sistem de calcul independent din toate punctele de vedere. Raspberry PI mai ofera si o interfata GPIO (intrari si iesiri de uz general) care pot fi utilizate pentru a conecta diferite echipamente si sisteme electronice, pe care in acest mod le putem programa si controla usor in mediul de dezvoltare integrat in sistemul de operare.

Ca si optiuni de redare video, Raspberry PI suporta conexiunile video HDMI si

TV – OUT (pe mufa RCA). Acest lucru inseamna ca se poate conecta la orice monitor, LCD sau LED care are conector video HDMI. Datorita faptului ca procesorul video este hardware (ruleaza independent de procesorul principal), Raspberry PI ofera o rezolutie Full HD. Conexiunea video TV – OUT (standard PAL sau NTSC) mai este disponibila si prin mufa de tip RCA, de calitate redusa insa si la o rezolutie mai mica decat prin conexiunea HDMI.

Raspberry PI necesita o sursa de tensiune de 5V si minim 700 mA pentru a deveni operational, conectarea alimentarii fiind facuta printr-o mufa micro-USB. Sursa de alimentare fiind o parte foarte importanta a sistemului, este necesar sa se aleaga cu atentie. Daca susrsa de alimentare nu ofera suficinet curent sau mai rau, da o tensiune de iesire mai mare de 5V, se ajunge la diferite rezultate nedorite cum ar fi : resetari ale sistemului de operare, pierderi de date, blocarea cardului sau distrugerea ireversibila a placii Raspberry PI.

Raspberry PI suporta mause si tastatura prin USB, chiar si pe wireless. Dupa conectarea lor la portul USB, sistemul de operare le recunoaste automat.

In functie de tipul de conexiune video pe care o suporta monitorul se foloseste un cablu HDMI sau HDMI – DVI.

Se alege un sistem de operare (de exemplu Raspbian), se utilizeaza utilitarul descris pe pagina web de unde se descarca imaginea prin care aceasta este scris direct pe card.

Dupa ce s-a scris imaginea, se introduce cardul in slotul aferent pe placa, se conecteaza monitorul, tastarura si mouse-ul, cablul de retea si in sfarsit alimentarea. Pe ecran se va obtine interfata grafica a sistemului.

Pinii GPIO sunt acei pini tata (26 de pini, grupati in linii a cate 13 pini) care sunt dispusi pe zona de margine a placii. Acesti pini ofera posibilitatea de a interfata placa Raspberry PI cu o multitudine de dispozitive externe.

Pot fi controlate LED-uri , motoare, LCD-uri, senzori etc. De exemplu, se pot masura acceleratii folosint accelerometrul ADXL335, se poate masura nivelul de alcool in aerul expirat folosind un senzor MQ3, concentratiile de gaze GPL, gaz metan sau monoxid de carbon, dradul de indoire sau forta de apasare, se pot masura distante cu senzori Sharp sau cu senzori ultrasonici, nivelul de lumina din incapere, temperatura, sau nivelul de umiditate, se poate detecta prezenta umana intr-o incapere, sau sunetul, asta ca sa amintim doar o parte din aplicatiile posibile cu aceasta placa de dezvoltare.

Pinii Raspberry PI pot suporta o tensiune de maxim 3,3V. Aplicarea unei tensiuni mai mari va distruge iremediabil placa de dezvoltare. Aceleasi precautii trebuie luate si in ceea ce priveste curentul tras din pinii GPIO. Acesta este limitat la 10 mA – 16 mA pe pin, dar suma curentilor pe toti pinii nu trebuie sa depaseasca 50 de mA.

II.2 Compararea modelelor Raspberry PI

Dupa cum se poate observa in tabelul de mai jos, placile Raspberry PI model B si Raspberry PI model B+ sunt dotate in plus cu port Ethernet si cu o memorie RAM mai extinsa, fata de modelul A, iar modelul B3 este capabil sa comunice si prin Bluetooth si Wifi. Modelul A este o alegere foarte buna in aplicatiile in care finctionarea aparatului este asigurata de la baterie. Are o dimensiune mai mica, iar consumul redus de energie al placii asigura o autonomie energetica mai buna a echipamentului, decat Raspberry PI model B2 si Raspberry PI model B3.

Tabel 2.1.1. Compararea modelelor Raspberry PI

II.3. Accesorii tipice pentru Raspberry PI

Fata de un calculator obisnuit, Raspberry PI mai ofera posibilitatea realizarii conexiunilor hardware directe cu alte dispozitive prin porturile specifice video, audio, GPIO si USB.

II.3.1. Camera video

Un update al Firmware-ului Raspberry instaleaza toate programele driver necesare pentru utilizarea camerei video. Pentru aceasta se procedeaza conform indicatiilor luate de pe site-ul oficial. Dupa instalarea programelor se restarteaza sistemul de calcul, se lanseaza programul de aplicatie, si camera devine utilizabila pentru a face poze sau clipuri video.

Modulul de camera este conectat la interfata pentru camera (CSI) din Raspberry PI printr-un cablu lat, de tip panglica, de 15 pini.

Specificatiile tehnice ale unei camere video imbunatatita pentru Raspberry PI sunt :

Senzorul de 8 megapixeli (fata de 5 megapixeli in versiunea 1)

Rezolutie foto : 3280 x 2464 pixeli (fata de 2592 x 1944 pixeli in versiunea 1)

Format video : 1080p / 720p

Dimensiuni : 25 mm x 23mm x 9 mm

Figura 2.3.1. Camera video Raspberry PI

II.3.2. Ecranul de tip LCD

Ecranul de tip LCD poate sa afiseze 16 caractere pe 2 randuri, are o lumina de fundal albastra, si dispune de un conector care permite ajustarea luminozitatii si conectarea la Raspberry PI utilizand 8 fire de tip mama – mama.

Figura 2.3.1 Ecranul de tip LCD 16×2 pentru Raspberry PI

Placa Raspberry PI este prevazuta cu un nucleu de procesare video care este capabil sa redea filme si imagini cu o rezolutie foarte inalta (Full HD). Pentru proiecte din multe domenii sunt disponibile display-uri touchscreen imbunatatind mult posibilitatile micro-calculatorului.

Display-ul si touchscreen-ul folosesc pinii I2C (SDA & SCL), pini SPI (SCK, Mosi, MISO, CE0), precum si pinii GPIO #25 si #24. Ceilalti pini GPIO pot fi folositi pentru senzori, drivere si LED-uri.

Figura 2.3.2. Ecran LCD cu rezolutie Full HD

Specificatiile tehnice ale unui display Raspberry PI sunt :

Dimensiuni ecran : 50 mm x 69 mm x 4mm

Dimensiuni PCB : 56 mm x 85 mm x 11mm

Greutate : 47 g

II.3.3. Audio

Computerul Raspberry PI are capacitatea de a prelucra semanale analogice si digitale audio. Iesirea audio este abordata pe doua cai :

Calea analogica – prin intermediul mufei Jack stereo de 3,5 mm aflata pe placa de sunet. Sunetul obtinut este recunoscut ca fiind la un nivel de calitate acceptabil.

Calea digitala – prin intermediul conectorului HDMI. Iesirea HDMI ofera un potential de redare audio de inalta calitate, depinzand desigur si de calitatea dispozitivelor aflate in sistem care sunt implicate in convertirea semnalelor audio din format analogic in format digital si viceversa.

Figura 2.3.4. Dispunerea conectorilor cardului audio Cirrus Logic

Caracteristicile cardului audio sunt urmatoarele :

Compatibil cu Raspberry PI model A+ si B+ (cu 40 de pini de extensiu GPIO)

Iesire si intrare analogica

Intrare audio stereo digitala si iesire (SPDIF)

Iesire pentru casti ,cu facilitatea de microfon

Microfoane digitale la bord stereo bazate pe tehnologia MEMS

Amplificator de putere pentru actionarea difuzoarelor direct de la bord

Terminal de extensie pentru a permite conectarea unitatii, altele decat placile Raspberry PI

Suport de software universal

II.3.4. Dispozitive conectabile la portul GPIO

Pinii GPIO sunt acei pini tata (26 de pini, grupati pe 2 linii a cate 13 pini) care sunt dispusi pe zona de margine a placii. Acesti pini ofera posibilitatea de a interfata placa Raspberry PI cu o multitudine de dispozitive externe.

Asemeni cum a mai fost mentionat mai sus, exista o multitudine de aplicatii care se pot face atasand dispozitive la portul GPIO.

II.4. Sistemul de operare : Instalare

Pentru a folosi calculatorul Raspberry PI, stau la dispozitia utilizatorului o serie de sisteme de operare. Raspberry PI ruleaza un sistem de operare de tip Linux. Sistemul de operare ales se stocheaza pe o memorie externa, mai exact pe un card microSD. Dupa ce s-a scris imaginea pe card, se introduce cardul in slotul placii, se conecteaza monitorul, tastatura si mouse-ul, cablul de retea si cablul de alimentare. Pe ecran se va obtine interfata grafica a sistemului. Cu acest sistem de calcul Raspberry PI se poate face aproape tot ceea ce se poate face cu un calculator obisnuit.

Figura 2.4.1 Interfata grafica a sistemului Raspberry PI

II.4.1. Procedura de instalare a sistemului de operare (Linux) pentru Raspberry PI

Procedura pentru a instala sistemul de operare pe o placa de dezvoltare Raspberry PI este urmatoarea :

Se descarca pe un calculator PC fisierul „2016-03-18-raspian-jessie.zip” care contine imaginea sistemului de operare „RASPIAN JESSIE”, de pe site-ul oficial

Se deazarhiveaza fisierul descarcat si se obtine fisierul : „2016-03-18-raspian-jessie.img”

Acest fisier se instaleaza de pe PC pe o memorie microSD cu ajutorul programului „Win32DiskImager” care se poate descarca de pe site-ul :

Instalarea fisierului „2016-03-18-raspian-jessie.img” pe memoria microSD se face conform descrierii de pe pagina web :

Dupa instalare se introduce mmoria microSD in slot-ul aferent de pe placa Raspberry PI

Se ataseaza la portul USB al placii Raspberry PI un mouse, o tastatura si un adaptor Wifi (sau cablu de retea) necesar pentru accessarea internetului. In acest scop se poate folosi un USB hub cu rol de multiplicator port USB

Se ataseaza la portul HDMI un monitor sau un TV, prevazute cu port HDMI

Se scoate din soclu regulatorul de 5V „Step Up/ Step Down S7V7F5”. La instalarea sistemului de operare se va utiliza un adaptor de retea in locul bateriilor de pe robotul mobil. Este interzisa utilizarea simultana regulatorului de 5V si a adaptorulu de retea.

Se alimenteaza de la retea placa Raspberry PI pri portul microUSB, cu un adaptor de reteade 5V DC/1A de tipul celor utilizate la incarcareatelefoanelor mobile.

Pe monitorul pornit se vede instalarea automata a sistemului de operare

Dupa instalarea completa apare mouse-ul si desktop-ul sitemului de operarare

Se acceseaza de pe desktop tab-ul „conexiuni internet” (partea dreapta sus a desktop-ului) si se selecteaza legatura Wifi dorita. Daca este necesar, se introduce de la tastatura parola conexiuni Wifi dorite. Aceasta legatura internet se poate utiliza prntru descarcari sau actualizari programe, sau chiar browsing pe internet

! Observatie : Pentru a salva o imagine curenta a desktop-ului se poate utiliza comanda „scrot” din ecranul de comanda „Terminal”. Imagine va fi salvata in director-ul „/home/pi” care se poate dechide din tab-ul „File Manager”.

II.4.2. Procedura instalarii bibliotecii Python pentru accesarea porturilor I/O

Sistemul de operare „RASPIAN JESSIE” contine deja o varianta instalata a mediului de programare Pythin versiunea 2.7.9. Insa pentru programarea porturilor I/O (input/output) este necesara descarcarea de pe internet si instalarea bibliotecilor corespunzatoare : WiringPi si WiringPi2-Python urmand urmatorii pasi :

Se ataseaza la portul USB al placii Raspberry PI un mouse, o tastatura si un adaptor Wifi

Se ataseaza la portul HDMI un monitor

Se scoate din soclu regulatorul de 5V „Step Up/ Step Down S7V7F5” si se alimenteaza de la adaptorul de retea de 5V DC/1A prin portul microUSB

Se asteapta incarcarea completa a sistemului de operare , aparitia mouse-ului si a desktop-ului

Se porneste ecranul de comanda „Terminal”

Pentru descarcarea si instalarea bibliotecii WiringPI se introduce de la tstatura urmatoarele linii de comanda :

git clone git://git.drogon.net/WiringPi

cd wiringPI

./build

Pentru descarcarea si instalarea bibliotecii WiringPi2-Python se introduc de la tastatura urmatoarele linii de comanda:

cd

git clone https://github.com/Gadgetoid/WiringPi2-Python.git

cd WiringPi2-Python

sudo apt-get install python-dev python-stuptools

sudo pythin setup.py install

II.4.3. Crearea unui fisier Pythin pentru comanda robotului mobil

Pentru crearea unui fisier Python se parcurg urmatoarele etape:

Se ataseaza la portul USB al placii Raspberry PI un mouse si o tastatura

Se ataseaza la portul HDMI un monitor

Se scoate din soclu regulatorul de 5V „Step Up / Step Down S7V7F5”

Se alimenteaza de la retea placa Raspberry PI prin portul microUSB cu un adaptor de retea de 5V DC/1A

Se aspteapta incarcarea completa a sistemului de operare, aparitia mouse-ului si a desktop-ului

Se deschide directorul „File Manager”

Se deschide directorul „WiringPi2-Python”

Se apasa click dreapta si se alege optiunea crearii unui fisier nou si gol (Create New…Empty File)

Se introduce numele fisierului, cu extensia „ .py”. Exemplu : „nume_fisier.py”

Se deschide fisierul nou creat

Se introduce de la tastatura in fisierul deschis programul de comanda a robotului mobil

La sfarsit se salveaza cu comanda „Save” din meniul „File”

Se inchide directorul „File Manager”

Pentru testarea programului , acesta se poate lansa in executie din ecranul de comanda urmand urmatorii pasi :

Se lanseaza in executie ecranul de comanda „Terminal”

Se acceseaza directorul „WiringPi2-Python” cu comanda : „cd WiringPi2-Python”

Se lanseaza in executie fiserul nou creat cu comanda: : „sudo python nume_fisier.py”

! ObservatiI :

Pentru functionarea motoarelor este necesara si alimentarea de la baterie a driver-ului de motor.

Daca testarea se face cu alimentarea placi Rapberry PI de la retea atunci regulatorul de 5V „Step Up / Step Down S7V7F5” trebuie sa fie demontat.

Daca testarea se face cu alimentarea placii Raspberry PI de la bateriile robotului mobil atunci regulatorul de 5V „Step Up / Step Down S7V7F5” trebuie sa fie montat pe soclul de pe driverul de motor.

II.4.4. Procedura pentru lansarea automata in executie a programului de comanda la pornirea/alimentarea placii Raspberry PI

Avand in vedere ca in mod normal, in timpul functionarii robotului mobil, la placa Raspberry PI nu este conectat nici mouse, nici tastatura si nici monitor, este necesar ca programul de comanda inscris in fisierul „proiect.py” sa fie lansat automat, la pornirea/ alimentarea placii Rapberry PI (dupa incarcarea sistemului de operare). In aceast scop se poarcurg urmatoarele etape :

Se ataseaza la portul USB a placii Rapberry PI un mouse si o tastatura

Se ataseaza la portul HDMI un monitor

Se scoate din soclu regulatorul de 5V „Step Up / Step Down S7V7F5”

Se alimenteaza de la retea placa Raspberry PI prin portul microUSB , cu un adaptor de reatea de 5V DC/1A

Se asteapta incarcarea completa a sistemului de operare, aparitia mouse-ului si desktop-ului

Pe desktop se apasa click-dreapta si se alege optiunea crearii unui fisier nou si gol (Create New…Empty File)

Se inteoduce numele fisierului, cu extensia „ .desktop”. Exemplu: lansareProiect.desktop

Se deschide fisierul creat

Se introduce de la tastatura, in fisierul nou creat, urmatoarel linii de program :

[Desktop Entry]

Encoding=UTF-8

Type=Aplication

Name=lansareProiect

Comment=

Exec=sudo python/home/pi/WiringPi2-Python/proiect.py

StartupNotify=false

Terminal=false

Hidden=false

La sfarsit se salveaza cu comanda „Save” din meniul „File” si se inchide editorul de texte cu „Quit”

Se deschide directorul „File Manager”

Se inscrie in linia de adrese (address bar) : „/home/pi/.config” si se apasa tasta „Enter”

Se cauta directorul „autostart”. Daca acesta nu exista in directorul curent se creaza apasand click-dreapta, apoi se selecteaza „Create New…Folder”. Se introduce numele „autostart” pentru directorul nou creat

Se intra in directorul „autostart”

Se cauta pe desktop fisierul „lansareProiect” creat anterior. Se apasa click-dreapta pe fisier si din meniul deschis se selecteaza „Cut”

Se revine in directorul „autostart” si se muta fisierul „lansareProiect” in acesta apasand click-dreapta si din meniul deschis se selecteaza „Paste”

Concluzie: Din acest moment, fisierul „lansareProiect” va fi executat (si ca urmare va fi lansat in executie si programul de caomanda „proiect.py”) la fiecare pornire/ repornire a sistemului de operare, chiar daca la placa Raspberry PI nu este conectat nici mouse, nici tastatura si nici monitor.

Capitolul III. Prezentarea robotului mobil

III.1. Sasiul robotului

Sasiul robotului prezentat in aceasta lucrare este realizat dintr-un kit pentru robot mobil. Kitul contine platforma pentru montare, organele de asamblare, motoarele cu reductoare, rotile de tractiune, roata pentru suport si suportul de baterii.

Figura 3.1.1. Elementele de baza la sasiului robotului mobil

III.1. Descrierea robotului asamblat

Componenta principala a sasiului motorului o reprezinta platforma principala pe care cu ajutorul elementelor de montaj sunt montate pe partea inferioara cele doua motoare cu reductor , rotile motrice si a treia roata pentru suport. In partea superioara a sasiului este montat suportul de baterii, intrerupatorul general, placa Raspberry PI impreuna cu driverul pentru motoare si stabilizatorul de tensiune. Tot aici pe partea superioara este montat un modul suplimentar al carui circuit imprimat a fost realizat manual in laborator. Acest modul contine LED-ul indicator al starii de pregatire pentru deplasare, impreuna cu o rezistenta de 1KΩ care in acest montaj functioneaza ca si element de protectie impotriva curentilor prin LED, butonul pentru lansarea deplasarii automate si un element rezistiv de 20KΩ semireglabil care asigura adaptarea semnalului senzorului de distanta la intrarea GPIO a calculatorului Rapberry PI. Aceasta adaptare este vitala pentru placa Raspberry PI deoarece intrarile portului GPIO suporta doar 3,3V iar semnalul senzorlui de distanta masoara 5V care poate sa distruga calculatorul, irecuperabil.

Fig. Robot asamblat

Conform structurii si modulului de functionare, robotul poate fi clasificat ca si robot mobil educational autonom neghidat cu miscare intamplatoare, locomotie cu roti si transmisie de imagini in timp real.

Cu ocazia modificarilor efectuate pe sasiul robotului, in scopul atingerii unor adaptari mecanice si operatii de montaj bune, s-au luat in considerare problemele privind mentinerea stabilitatii robotului in timpul deplasarrii precum si robusticitatea montajului fizic.

Fig. Componente electrice robot asamblat

III.2. Platforma de dezvoltare Raspberry PI utilizata (model A+)

Figura 3,2,1 Platforma de dezvoltare Raspberry PI utilizata (model A+), vedere din fata

Figura 3,2,1 Platforma de dezvoltare Raspberry PI utilizata (model A+), vedere din spate

Raspberry PI model A+ dispune de o memorie RAM de 256 MB, oiesire HDMI, o iesire audio, o iesire video composit RCA prin mufa Jack de 3,5 mm, un port USB si un port GPIO. Raspberry PI necesita un card microSD cu un sistem de operare instalat pe acesta. Pretul de achizitie redus, o multime de exemple de proiecte si informatii disponibile on-line fac acest sistem de calcul foarte popular in randul utilizatorilor.

Raspberry PI model A+ se bazeaza pe BCM2835 System-on-chip (SoC), care include un procesor ARM11 si un GPU destul de abil. Acest model este recomandat pentru mai multe proiecte integrate care absoarbe o putere mai mica de la sursa de energie si nu necesita Ethernet.

Pinii GPIO sunt acei pini tata (40 de pini, grupati pe 2 linii a cata 20 de pini) care sunt dispusi pe zona de margine a placii. Acesti pini ofera posibilitatea de a interfata placa Raspberry PI cu o multitudine de dispozotive externe.

Figura 3,2,1 Specificatiile tehnice ale placii Raspberry PI model A+

III.3. Driver-ul de motoare

Aceasta placa compacta de extensie se conecteaza diract la pinii 5, 6, 12, si 13 ai portului GPIO si ofera o solutie simpla si low-cost pentru a controla o pereche de motoare cu perii de curent continuu . Driverul de motoare DRV8835 integrat functioneaza pe o plaja de tensiune cuprinsa intre limitele de tesiune de la 1,5 V pana la 11 V, ceea ce asigura o optiune de control mare pentru motoare de joasa tensiune. Placa poate livra cu curent continuu de 1,2 A (1,5 A fiind limita maxima) pentru fiecare motot in parte sau un curent de 2,4 A (3 A fiind limita maxima) la un singur motor, cand este configurat cu ambele canale conectate in paralel. Placa de circuite imprimate a driver-ului DRV8835 este populata cu componenete SDM si cu un element de protectie FET la conectarea incersa a bateriei.

Actionarea motoarelor se face cu curent continuu si tensiunea necesara alimentarii motoarelor se obtine in urma unei modulatii in impulsuri (PWM). PWM este o prescurtare pentru „Pulse-Width Modulation” sau modularii in latime a impulsurilor. Aplicatia principala a metodei este controlul motoarelor electrice fiinca emuleaza variarea tensiunii prin metode analogice cu metode digitale.

Prin controlul digital este generat un semnal de tip treapta care este oprit si pornit. Raportul dintre oprit si pornit in ciclul pornit-oprit ne arata ciclul de lucru. Ciclul de lucru este indicatorul simularii de arierea tensiunii analogice.

Graficul urmator arata functionarea modularii PWM la valori diferite ale functiei „wiringpi2.pwmWrite” :

Figura 3.3.1 Ciclul de lucru in relatie cu valoarea functiei „wiringpi2.pwmWrite”

Figura 3.3.2 Dispunerea conectorilor circuitului imprimat

Specificatiile tehnice ale driverului motor sunt :

PWM : 250 kHz

Dimensiune : 0,4 cm x 0,7 cm

Driver : DRV8835

Canale motor : 2

Tensiune de lucru minim : 0 V

Tesnsiune maxima de functionare : 11 V

Curent de iesire continuu per canal : 1,2 A

Curent de iesire de varf per canal : 1,5 A

Curent continuu de iesire in paralel 2,4 A

Tensiune logica minima : 2 V

Tensiunea maxima de logica 7 V

Protectie la tensiune inversa : Da

Figura 3.3.3. Diagrama de conectare a driverului

Semnificatia conectorilor driver-ului motor este urmatoarea :

VIN – Intrarea alimentarii, protejata la tensiunea inversa

VCC – tensiune logica de minim 2 V (2 V – 7 V). Logica de alimentare a curentului este de obicei doar cativa miliamperi cel mult, astfel incat in multe aplicatii acest pin poate fi optional alimentat dinamic printr-o iesire digitala microcontroler

VMM – Sursa de alimentare protejata la tensiunea inversa. Acest pin ofera acces la sursa de alimentare a motorului dupa MOSFET de protectie inversa de tensiune (a se vedea schema de bord de mai jos). Acesta poate fi utilizat pentru alimentarea cu energie electrica protejata la tensiune inversa si pentru alte componente ale sistemului

GND – Puncte de conectare GND la sol pentru surse de alimentare logica si sursa de alimentare motor. Cele doua surse trebuiesc conectate la masa comuna

AOUT1 – Iesire semipunte pentru motor A

AOUT2 – Iesire semupunte pentru motor A

BOUT1 – Iesire semipunte pentru motor B

BOUT2 – Iesire semipunte pentrumotor B

AIN1 / APHASE LOW – Intrare logica pentru controlul motorului canal A

AIN2 / AENABLE LOW – Intrare logica pentru controlul motorului canal A

BIN1 / BPHASE LOW – Intrare logica pentru controlul motorului canal B

BIN2 / BENABLE LOW – Intrare logica pentru controlul motorului canal B

MODE LOW – Acest nivel logic determina interfata de control. Nivelul logic mic configureaza pinul IN / IN iar nivelul logic inalt configureaza pinul PHASE / ENABLE.

Motoarele si sursele de alimentare trebuie conectate la conectoarele adecvate ale driver-ului. Driverul motor furnizeaza motorului o tensiune cuprinsa intre 0 – 11 V care este asigurata din sursa de tensiune conectata la pinul VIN sau pinul VMM. O tensiune logica curpinsa intre 1,8 V si 7 V se conecteaza la pinul VCC.

Pinul VIN este protejat la tensiune inversa, de aceea este recomandat ca sursa de tensiune necesara alimentarii motoarelor sa fie conectata la aceasta borna. Este de remarcat insa ca daca nivelul tensiunii scade la aceasta borna sun 1,5 V, buna functionare a driver-ului este grav afectata. Pentru aplicatii de foarte joasa tensiune, alimentarea motorului trebuie sa fie conectata direct la VMM care sunteaza circuitul de protectie inversa.

figura 3.3.4 Schema electrica a driver-ului si a circuitului de protectie

III.4. Regulatorul de tensiune de 5 V

Figura 3.4.1. Regulatorul step p /step down conectat la un kit format din driverul DRV8835 si Raspberry PI

Regulatorul de tensiune S7V7F5 este o sursa de tensiune care este capabil sa asigure dintr-o tensiune de alimentare fluctuabila intre limitele 2,7 V si 11,8 V, o tensiune stabila de 5 V. Din tensiunea de alimentare a modului driver motor, regulatorul de tensiune S7V7F5 poate furniza placii Raspberry PI energia necesara functionarii la o tensiune de 5 V si pana la 1 A intensitate de curent.

Capacitatea sa de a converti atat tensiuni mari cat si tensiuni mici de intrare, il face util pentru aplicatii in care tensiunea de alimentare poate varia foarte mult, ca de exemplu cu baterii care pornesc de la o tensiune mai mare , dar exploatate da u o tensiune mai mica de 5 V. Este un modul foarte compact, are o eficienta de peste 90 % si poate furni9za pana la 1 A, atunci cand reduce tensiunea si aproximativ 500 mA cand amplifica.

Figura 3.4.2 Eficienta regulatorului de tensiune step up/ step down S7V7F5

Insertia regulatorului te tesiune in soclul adecvat de pe placa de driver motor trebuie facuta cu atentie pentru ca o conectare inversa determina o defectare iremediabila a sistemului. De asemenea nu se va conecta sursa de alimentare la portul microUSB al sistemului cat timp se afla regulatorul de tensiune montat in sistem pentru a evita distrugerea definitiva a sistemului.

Figura 3.4.3 Limita maxima a curentului de iesire a regulatorului de tensiune step up/ step down S7V7F5

Caracteristicile tehnice la regulatorului S7V7F5 sun urmatoarele :

Tensiunea de alimentare : 2,7 V 11,8 V

Tensiunea de iesire 5 V fix cu o precizie ± 3 %

Curent continuu de iesire : 1 A, atunci cand lucreaza in regim reductor de tensiune; 500 mA atunci cand amplifica tensiunea (curentul continuu real de iesire depinde de tensiunea de intrare)

Facilitate de economisire a energiei : mentine o eficienta ridicata la curenti mici (curentul Quiescent este mai mic de 0,1 A )

Protectie integrata la scurcircuit si supra-temperaturi

Dimensiuni mici : 9 mm x 12 mm x 3 mm

III.5. Senzorul de distanta

Acest mic senzor de distanta digitala detecteaza obiectele aflate la o distanta intre 2 cm si 10 cm. Cu timpul sau rapid de raspuns, dimensiunile sale mici si consumul de curent scazut, acest senzor este o alegere buna pentru detectarea obiectelor de baza de non-contact.

Figura 3.5.1 Senzorul de distanta Sharp GP2Y0D810Z0F

Exista cativa milimetri de histerezis in jurul pragului maxim de raza de actine si nici in histerezis la pragul de interval minim. Este de retinut ca acesti senzori spun doar daca exista un obiect de-a lungul intervalului de detectie cuprins in unghiul lor ingust de actiune; acestia nu vor spune cat de departe este obiectul. Cu detectie la distante de pana la 150 mm si o rata tipica de esantionare de 400 Hz, acesti senzori ofera o alternativa atractiva. Iesirea VO este comutata la valoarea logica 0 atunci cand senzorul detecteaza un obiect, in caz contrar iesirea VO sete comutata la valoarea logica 1.

Codul sursa utilizat pentru acest tip de senzor este urmatorul :

void setup(){

Serial.begin(9600)

pinMode(7,INPUT);

pinMode(8,INPUT);

}

void loop()

{

int valoareSenzor10cm = digitalRead(7);

int valoareSenzor5cm = digitalRead(8);

Serial.print(”Senzor 10cm: ”);

Serial.print(valoareSenzor10cm,DEC);

Serial.print(”Senzor 5cm: ”);

Serial.println(valoareSenzor5cm,DEC);

}

Figura 3.5.2 Schema electrica a detectorului de distanta Scharp GP2Y0D810Z0F

Specificatiile tehnice ale senzorului de distanta sunt :

Distanta maxima de detectie : 10 cm

Distanta minima de detectie : 2 cm

Frecventa de esantionare : 390 Hz

Tensiune de operare : de la 2,7 V la 6,2 V

Consumul mediu de curent : 5 mA

III.6. Camera video

Similar Posts