Lect. Univ. Dr. Ing. ADRIAN COSTESCU ABSOLVENT FLAVIUS ARMAND MIHAI PARALESCU București 2019 UNIVERSITATEA HYPERION DIN BUCUREȘTI FACULTATEA DE… [305375]

UNIVERSITATEA HYPERION DIN BUCUREȘTI

FACULTATEA DE ȘTIINȚE EXACTE ȘI INGINEREȘTI

DEPARTAMENTUL AUTOMATICĂ ȘI INFORMATICĂ APLICATĂ

PROIECT DE LICENȚĂ

COORDONATOR ȘTIINȚIFIC

Lect. Univ. Dr. Ing. ADRIAN COSTESCU

ABSOLVENT: [anonimizat] 2019

UNIVERSITATEA HYPERION DIN BUCUREȘTI

FACULTATEA DE ȘTIINȚE EXACTE ȘI INGINEREȘTI

DEPARTAMENTUL AUTOMATICĂ ȘI INFORMATICĂ APLICATĂ

DRONĂ AERIANĂ CU MICROCONTROLLER ARM PENTRU MONITORIZAREA CALITĂȚII AERULUI

COORDONATOR ȘTIINȚIFIC

Lect. Univ. Dr. Ing. ADRIAN COSTESCU

ABSOLVENT: [anonimizat] 2019

TEMA PROIECTULUI

Să se realizeze o dronă aeriană cu microcontroller ARM necesară monitorizării la diferite altitudini a calității aerului precum: temperatură, umiditate, eCO2 [anonimizat].

Drona care va realiza această cerință va avea următoarele specificații:

Să asigure posibilitatea de conectare a [anonimizat] o [anonimizat] 4G

Să poate fi utilizată de orice persoană cu o pregatire minimă în domeniu

Să ducă la final sarcina de lucru fără a avea erori în funcționare

Să aibă o [anonimizat], căruia i se acordă importanță în diferite domenii de aplicabilitate.

În primul capitol al acestei lucrări se va descrie progresul realizat în decursul timpului a automatizărilor. [anonimizat], [anonimizat]-[anonimizat]. [anonimizat]-Polimer și senzorii necesari pentru monitorizarea calității aerului și a parametrilor atmosferici.

În al doilea capitol voi prezenta dezvoltarea sistemului din punct de vedere hardware prin asamblarea pieselor necesare formării cadrului quadcopoterului, a motoarelor brushless, a regulatoarelor de turație (ESC), a controller-ului de zbor ARM și a radio transmițătorului. [anonimizat], fiecare etapă necesară realizării și construirii unui quadcopter.

[anonimizat]-ului ARM responsabil pentru prelucrarea semnalelor primite de la senzori. [anonimizat] a monitoriza parametrii atmosfericii și calitatea aerului având o precizie foarte mare pe care factorul uman cu greu o poate realiza. Se va mai prezenta și modul de transmitere a datelor primite de la senzori intr-o rețea locală și de asemenea și realizarea și transmiterea imaginilor în timp real de pe dronă pe un laptop.

În această lucrare se creionează înțelegerea și învățarea considerentelor teoretice și aplicarea lor în practică prin testare.

[anonimizat], reprezintă o aeronavă fără pilot uman la bordul acesteia. Vehiculele fără pilot sunt o componentă a unui sistem de aeronave fără pilot (UAS) care includ un UAV, un controler de la sol și un sistem de comunicație între cele două. Un vehicul fără pilot poate funcționa sub diferite comenzi: fie comandate de la distanță de factorul uman, sau poate fi comandată în mod autonom prin intermediul calculatoarelor de la bordul acesteia. Diferențele semnificative dintre un UAV și o dronă sunt reprezentate atât de greutate și de dimensiune, cât și de faptul că o dronă poate fi folosită de orice om cu puțină pregătire în domeniu, pe când un UAV nu poate fi folosit decât în domeniul militar.

Acest termen de UAV a fost acceptat prima dată de Departamentul Apărării al Statelor Unite ale Americii și de Administrația Federală a Aviației în anul 2005.

Prima utilizare care a fost înregistrată a unui vehicul fără pilot a fost în anul 1849 în luna iulie [1].

Conceptul de quadcopter a apărut în jurul anului 1900 când doi barbați francezi au conceput, construit și testat Gyroplane No. 1 fiind un quadcopter.

Inventatorii au reușit să îl decoleze, dar design-ul s-a dovedit impractic și a fost instabil în zbor. Greșeala care s-a dovedit a fii decisivă în realizarea design-ului a constat în faptul că au folosit un singur rotor principal și un singur rotor secundar pentru coadă pentru contrabalansarea cuplului creat de rotorul principal, doar că acest rotor din coadă consuma foarte multă energie, în jur de 15% fără ca acesta să aibă un rol în ridicare.

S-a mai constatat și faptul că o parte din aerul împins în jos de rotorul principal ajunge pe carcasă și reduce din eficiență.

Figura 1 Gyroplane Numărul 1 [2]

În jurul anilor 1930 inginerul de origine franceză E. Oehmichen a reușit să zboare un quadcopter pe o distanță de 360m reușind să realizeze și un record mondial. A mai reușit de asemenea sa zboare un cerc cu lungimea de 1 kilometru în aproximativ 8 minute [4].

Figura 2 Oehmichen Numărul 2 [3]

Quadcopterele sunt utilizate cel mai frecvent de armată, în scopuri militare, dar se mai folosesc și în agricultură pentru supravegherea plantațiilor, în proiecte de cercetare și în operațiuni umanitare. O dată cu progresele înregistrate în domeniul electronicii și dezvoltarea rapidă a echipamentelor necesare pentru a controla un quadcopter a debutat și producerea la scară largă a acestora. Cercetări legate de dezvoltarea quadcopterului se fac și astăzi având ca scop îmbunătățirea performanțelor acestora.

Lucrarea prezentă include toate etapele necesare pentru realizarea unui quadcopter capabil de zbor și capabil să transmită video în timp real datorită camerei amplasată pe aceasta și totodată să transmită tot în timp real informații preluate de la senzorii aflați pe cadrul quadcopterului. Proiectul înglobează cunoștiințe din mai multe domenii precum electronica, mecanica, comunicațiile.

CAPITOLUL I CONSIDERENTE GENERALE

I.1 Principalele tipuri de drone și aplicații

Există mai multe tipuri de drone bazate pe patforma lor aeriană. Printre cele mai folosite sunt dronele de tip multirotor, care la rândul lor se împart în mai multe categorii, urmate de dronele cu aripi fixe.

Dronele de tip multirotor sunt în marea lor majoritate stabile și sunt recunoscute pentru faptul că se pot menține la un punct fix în aer pentru o perioadă îndelungată de timp. Sunt proiectate, de cele mai multe ori, cu patru motoare pentru a ajuta drona să rămână în aer și pentru a își păstra poziția. În marea lor majoritate quadcopterele sunt folosite pentru supravegherea aeriană și pentru fotografiere. De asemnenea dronele de tip multirotor rezistă la vânt mult mai bine decat dronele cu aripă fixă și pot decola și ateriza vertical.

Drona de tip aripă fixă este mult diferită de quadcopterul clasic. Principala deosebire între quadcopter și drona de tip aripă fixă este reprezentată la decolare. Dacă quadcopoterul este capibil să se ridice singur de sol drona de tip aripă fixă nu este capibilă și îi este necesară o pistă de lansare și aterizare necesitând destul spațiu. Acest tip de dronă nu reprezintă o soluție viabilă în zonele urbane deoarece ai avea nevoie de o zonă destul de nepopulată și necirculată pentru a putea decola si ateriza în siguranță drona.

De asemenea o dronă de tip aripă fixă nu poate rămâne într-un punct fix la fel ca un quadcopter aceasta având nevoie de fiind necesară prezența forței de frecare a aerului prezente la nivelul superior al aripii pentru a se putea menține în aer.

Un avantaj semnificativ al dronei cu aripă fixă îl reprezintă eficiența din punct de vedere energetic având o construcție simplă asigură o viteză de deplasare net superioara unui multi rotor. Aceasta poate atinge și o viteză de aproximativ 70 km/h. Un quadcopter nu este chiar cea mai aerodinamică aeronavă, pe când drona cu aripă fixă este mult mai aerodinamică și poate avea o autonomie mult mai mare față de un quadcopter cu același tip de sursă de încarcare.Dronele cu aripă, fixă în general utilizează un singur motor pentru a rămâne în aer pe cand multi rotoarele folosesc minim patru motoare [5].

De asemenea trebuie menționat faptul că dronele de tip aripă fixă sunt capabile să transporte încarcături mari pe distanțe destul de lungi utilizând puțină energie și au un cost mult mai scazut de achiziție și întreținere [6].

Quadcopterele au o aplicabilitate destul de răspandită. Acestea sunt folosite în special în armată, dar sunt utilizate și în agricultură și în întreceri sportive și în fotografiere și filmare aeriană.

În agricultură quadcopterul are o aplicabilitate destul de răspândită fiind capabil să supravegheze culturile agricole, să monitorizeze fazele de vegetație și administrarea la timp a tratamentelor, evaluarea gradului de infestare a culturilor agricole, evaluarea stării de sănătate a culturilor [7].

Figura I.1 dronă cu funcții agricole [7]

Pentru a realiza filmări aeriene, în general se folosesc drone care pot zbura cu ușurință deasupra clădirilor. La sol sunt transmise în timp real imagini din dronă fiind stocate și pe cardul de momorie amplasat pe dronă. Un avantaj al acestora este dimensiunea redusă ceea ce îi permite dronei să fie adaptată la orice tip de teren. Drona este singura metoda prin care imaginile pot fi înregistrate de la o altitudine mai mică de o sută de metri în spații urbane. În fotografiere cu ajutorul multi rotoarelor se pot realiza imagini aeriene urbane din locuri greu accesibile pentru elicoptere sau chiar din zone în care acestea au interdicție. Avantajele principale ale unei imagini obținute cu ajutorul unei drone sunt: obiectivul fotografiat se integrează perfect în peisaj, imaginea este spectaculoasă înălțimea putând să stârnească o emoție și oferă o imagine de ansablu a obiectului fotografiat și a căilor de acces de langă acesta.

De asemenea, dronele se folosesc și în Mass-Media. În ultimii ani tot mai multe trusturi de presă au cumpărat drone pentru a realiza fotografii și filmări de înaltă calitate a evenimentelor de amploare precum inundații sau proteste sau chiar războaie[7].

I.2 Drone de tip multirotor

Multicopterele se clasifică, în special, după numarul de motoare utilizate. Spre exemplu un multicopter cu șase moatare este denumit hexacopter, iar configurația acestuia poate fi considerată ca fiind Y6.

Configurația și numărul de motoare au cel mai mare impact asupra performanței dronei în zbor. Spre exemplu, cu cât drona are mai multe motoare cu atât stabilitatea acesteia în zbor crește și capacitatea sa de ridicare crește, adică poate suporta mult mai multă sarcină utilă. Cu cât are mai multe motoare unei drone îi crește redundanța în cazul defectării unuia dintre motoare. De exemplu, unui quadcopter dacă i se defectează un motor drona va cadea la pământ, dar unui hexacopter dacă i se defectează unul dintre motoare acesta va ateriza în siguranța cu celelalte cinci motoare rămase. Dezavantajul de a avea mai multe motoare este reprezentat de faptul că eficiența energetică scade.

BiCopterul este un multirotor cu două motoare dispuse aproximativ unul lângă celalalt fiind asemănător cu un elicopter. Astfel de BiCoptere s-au folosit în filmarile pentru realizarea filmul “Avatar”.

Figura I.2 BiCopter [9]

BiCopterul este una dintre cele mai ieftine configurații de multirotor având doar două motoare și doua regulatoare de turații, dar este și cel mai dificil de controlat. De asemenea, puterea de ridicare este redusă.

Figura I.3 Schema electrică BiCopter [10]

Tricopterul este un multirotor cu trei motoare dispuse deseori în forma literei Y brațele având o dispunere la un unghi de 120 de grade, dar mai pot fi dispuse și sub forma literei T. Cele două motoare situate pe brațele din față a tricopterului se rotesc unul, cel din partea dreaptă în sens invers acelor de ceasoric(CCW)și celalt, cel din partea stângă, în sensul acelor de ceasoric(CW) pentru a se contracara unul pe celălalt. Al treilea motor, aflat pe brațul din spate se învârte în sensul invers acelor de ceasornic(CCW).

Figura I.4 Tricopter Schemă electrică [11]

Acestă configurație este una destul de populară fiind nevoie doar de trei motoare și trei regulatoare de turație, având un preț destul de accesibil pentru construcție. Cu toate acestea este și o configurație greu de controlat pentru persoanele care se află la început nefiind foarte stabili.

Figura I.5 Tricopter [12]

Quadcopterul este un vehicul aerian cu patru elice plasate in exteriorul motoarelor fără perii care cu ajutorul ajustării vitezei poate realiza manevre în spațiul 3D – tridimensional. Motoarele se situează pe un cadru în formă de X, dar există și alte configurații, de exemplu în formă de plus.

Ajustând turația fiecărui motor cu ajutorul esc-urilor mișcarea se poate realiza în diferite direcții. Motoarele se poziționează simetric față de centrul quadcopterului și se rotesc astfel: doua în sensul acelor de ceasornic și doua în sens invers acelor de ceasornic.

Quadcopterul în formă de plus are brațele situate unul față de celălalt la un unghi de 90 de grade. Două motoare, cele aflate pe axa Y, se rotesc în sensul acelor de ceasornic(CW) și două motoare, cele aflate pe axa X, se rotesc în sens invers acelor de ceasornic(CCW). Acestea creează o fortă opusă oferind un constant echilibru în aer quadcopterului.

Figura I.6 Quadcopter în forma plus [13]

Configurația în formă de plus nu este atât de răspândită precum configurația în formă de X. Un quadcopter având cadru în X dispune de o accelerație și de o stabilitate mult mai mare decât una în formă de plus și de asemenea oferă o vizibilitate mult mai bună pentru camera video deoarece nu este obturată de brațele cadrului. Cel mai des sunt folosite pentru fotografiere și pentru filmari putând obține imagini extraordinare. Capacitatea autonomiei bateriei și cadrele obținute de acestea reprezintă principalele avantaje ale folosirii unui quadcopter, dar și prețul relativ redus. În configurația X motoarele unu și trei se rotesc în aceeași direcție și anume în sensul acelor de ceasornic, pe când motoarele doi și patru se rotesc în sens invers acelor de ceasornic. Quadcopterul se deplasează sau își reglează altitudinea prin aplicarea egală a forței asupra celor patru motoare. De asemenea, acesta își poate regla înclinarea aplicând o forță mai mare asupra motoarelor care se rotesc în aceeași direcție.

Figura I.7 Quadcopter formă X 1234 betaflight [14]

Figura I.8 Quadcopter [15]

Pentacopterul reprezintă o dronă cu cinci brațe dispuse neuniform. Acesta nu este un model așa de răspândit fiind construite de-a lungul timpului doar câteva modele. Pentacopterul este destul de stabil din punct de vedere al aerodinamicii. De asemenea, acesta are o putere mare de ridicare în comparație cu un quadcopter. Pentacopterul a fost conceput cu un unghi larg între brațele frontale ceea ce îl face ideal pentru realizarea de fotografii și filmări video de înaltă calitate.

Figura I.9 Pentacopter [16]

Hexacopterele sunt drone cu șase motare dispuse simetric pe cadru la aproximativ 60 de grade unul față de celălalt. Trei motoare se rotesc în sensul acelor de ceasornic(CW), iar celelalte trei se învârt în sens invers acelor de ceasornic(CCW).

Figura I.10 Hexacopter sens rotire motoare [17]

Hexacopterele se aseamănă cu quadcopterele oferind chiar o capacitate mult mai mare datorată celor șase motoare în loc de patru cum are quadcopterul. De asemenea, hexacopterului îi crește și redundanța prin atașarea a încă două motoare. Dacă un motor se defectează în zbor hexacopterul va putea ateriza în siguranță cu celelalte cinci rămase în funcțiune. Principalele dezavantaje le reprezintă dimensiunile destul de ridicate pentru un astfel de multirotor, dar și costul destul de ridicat.

Figura I.11 Hexacopter [18]

Octocopterul este un multicopter cu opt motoare dispuse uniform pe cadru. Acestea sunt similare quadcopterelor si hexacopterelor. Octocopterul dispune de o capacitate de ridicare mult mai mare decât cea de care dispune un hexacopter. Acesta dispune de două tipuri de poziționare a brațelor, octocopter în forma de plus și octocopter în formă de X. Patru motoare se rotesc în sensul acelor de ceasornic, iar alte patru se rotesc în sens invers acelor de ceasornic.

Figura I.12 Octocopter în forma plus [19]

Figura I.13 Octocopter în forma X [20]

Având un număr ridicat de motoare care consumă o cantitate ridicată de curent, un octocopter trebuie să dispună de o baterie cu capacitate ridicată pentru a putea susține fluxul de curent consumat. Cu toate acestea sunt des folosite ca platforme de forografiere și filmare [8].

Figura I.14 Octocopter [21]

I.3 Controllere de zbor

Controller-ul de zbor al unei drone poate fi considerat “creierul acesteia” deoarece acesta controlează componentele electrice situate pe dronă.

Controller-ele de zbor au ținut pasul cu tehnologia și au continuat să evolueze devenind din ce în ce mai rapid și mai performante. Acestea se denumesc, în special, pentru a include în denumirea acestora si tipul de microprocesor pe care îl utilizează acest controller de zbor, de obicei fiind un dispozitiv STM, având arhitectura de 32 de biți. Printre cele mai utilizate microprocesoare se numără chips-urile STM32 F1, STM32 F3, STM32 F4 și STM32 F7. Cu cât cifra care succede litera F este mai mic cu atât procesorul va avea dimensiuni mai mari. În acest moment se recomanda achiziționarea unui controller de zbor cu un procesor din categoriile F4 sau F7 deoarece acestea sunt capabile să ruleze și ultimele actualizări de firmware. Din nefericire, chips-urile STM32 F1și STM32 F3 la ultimele actualizări de firmware devine foarte lent și întârzie foarte mult răspunsurile.

Figura I.15 Controler de zbor Matek BetaFlight F405-CTR STM32F405 [22]

Firmware este necesar pentru a programa un controller de zbor. Pentru a putea scrie firmware-ul se conectează controller-ul de zbor la un calculator cu ajutorul unui cablu micro USB. Acesta configurează microcontroller-ul pentru a putea permite controlul și gestionarea quadcopterului. Interfața USB permite, persoanei care programeaza microcontroller-ul, modificarea configurărilor plăcii, setările PID, modurile de zbor și setările de siguranță. Pentru toate controller-ele de zbor se recomandă ca atunci când este achiziționat si configurat pentru prima dată să îi fie scris ultimul firmware disponibil pe site-ul dezvoltatorului deoarece cu fiecare versiune nouă lansată pe piață anumite probleme semnalate în trecut sunt rezolvate îmbunătățind calitatea zborului. Printre cele mai utilizate configuratoare se pot menționa: Betaflight și Cleanflight. Cel mai comun configurator este Betaflight deoarece acesta oferă o compatibilitate crescută cu majoritatea controller-elor de zbor aflate pe piață.

Figura I.16 Scrierea unui controller de zbor cu ajutorul Betaflight [23]

Giroscopul este un microcip secundar procesorului principal ARM. Acesta are ca principal scop supravegherea vitezei unghiulare și înclinarea quadcopterului, adică măsoară forțele rotației. Folosind calcule matematice și date giroscopice controller-ul de zbor situat pe dronă poate estima distanța parcursă la rotire de quadcopter și dacă rotația efectuată de acesta accelerează sau deaccelerează. Acest senzor este responsabil de zborul acrobatic al quadcopoterului.

Figura I.17 Cele trei axe ale giroscopului [24]

Accelerometrul este tot un microcip secundar al procesorului ARM. Acesta este responsabil de detectarea accelerației quadcopterului pe cele trei axe. Din cauză că accelerometru detectează accelerația constantă a gravitației, controller-ul de zbor utilizează informația furnizată de acesta și poate calcula unghiul exact al dronei față de orizont.

Figura I.18 Accelerometru măsurând valorile pe cele trei axe [25]

Magnetometru este acel instrument care se ocupă de măsurarea forței magnetice, acesta comportându-se ca o busolă. Datorită controlului insuficient pe care îl oferă accelerometru și giroscopul magnetometru vine în sprijinul celor două pentru a permite controller-ului de zbor exact în ce direcție se îndreaptă. Acest lucru este foarte benefic pentru multicoptere, dar pe dronele de aripi fixe este aproape inutil deoarece acestea pot zbura doar într-o singura direcție.

Figura I.19 Magnetometru [26]

Antena GPS îi permite dronei să iși poată identifica singur poziția exactă a sa, dar și înălțimea și viteza cu care se deplasează. Prin GPS quadcopterul are posibilitatea de a se întoarce la punctul de unde a fost lansată drona în cazul în care drona iese din raza de acțiune a transmițătorului. De asemenea, poziția dronei se poate afișa pe un ecran OSD.

Figura I.20 Modul GPS Beitian BN-880 [27]

Barometru reprezintă un senzor de presiune care este utilizat pentr masurarea altitudinii multicopterelor furnizându-i informații și date microcontroll-erului de zbor. Senzorul este atât de sensibil încât poate detecta o schimbare a presiunii aerului imediat, chiar dacă drona se deplaseaza pe axa OY doar câțiva centimetri. De asemenea, barometru îi permite dronei șă îsi mențină altitudinea în zbor și să se mențină la o altitudine constantă.

Figura I.21 Barometru AOSENMA CG033 [28]

Cutia neagră permite înregistrarea datelor mai multor parametrii precum barometru, accelerometru, giroscop sau alti senzori care se află pe controller-ul de zbor. Înregistrarea se realizează pe un sd card dacă acest slot este prevăzut pe controller-ul de zbor. Înregistrarea datelor este importantă atunci când ceva nu poate funcționa în parametrii optimi, deoarece putem analiza datele salvate pe card și le putem interpreta pentru a rezolva problema. [29]

MultiStar Razor 40A Tower F4 este combinația dintre un controller de zbor F4 și ESC 40A. Este un controller de zbor F4 cu un MCU STM32F405 pentru o procesare rapidă a informațiilor și un giroscop Gyro MPU-6000 SPI pentru a răspunde cât mai rapid. Acest controller de zbor are integrat un slot de OSD card pentru a putea salva datele zborurilor în cutia neagră. De asemenea, acesta mai dispune și de alte conexiuni pentru anumite tipuri de receptoare precum SBUS, PPM, Spektrum, camera FPV, buzzer, led și camera FPV.

ESC 40A având firmware-ul BLHeli_S pentru un răspuns rapid de accelerație se conectează direct la controllerul de zbor.

Figura I.22 MultiStar Razor 40A Tower F4 [30]

Caracteristicile principale ale componentelor sunt:

Controller de zbor:

MCU: STM32F405

Giroscop: MPU-6000 SPI

Firmware Flight Controller: Betaflight_OMNIBUSF4S

Controller de zbor F4, support PPM, SBUS, SPEKTRUM 1024

Mod de recepție maxim 32Gb pentru salvarea informațiilor în cutie negră

Flight Controller integrat 3.3V,5V,12V pentru VTX, camera, buzzer, LED

Figura I.23 Controller de zbor STM32F405 [30]

Regulatoare de turație(ESC):

MCU EFM8BB21F16G pe 8 biți, având o frecvență de operare de 50MHz

Firmware ESC: BLHeli_S, AH-30

Suportă Dshot150, Dshot300 și Dshot600

Figura I.24 Regulatoare de turație MCU EFM8BB21F16G [30]

Dimensiuni:

Curent: 40A x 4

Dimensiuni: 41.5 x 36 x 18 mm

Greutate 22g

Tensiune: 2-4S LiPo [30]

I.4 Motoare de tip brushless și regulatoare de turație(ESC)

Motorul de tip brushless, în română motorul de curent continuu fără perii, este un motor sincron alimentat de curent electric continuu la care comutația căilor de curent necesară învârtirii rotorului se realizeaza electronic. Controlerul transmite impulsuri de curent electric către înfășurările motorului care pot controla viteza și cuplul motorului.

Avantajele unui motor fără perii în fața celor cu perii sunt reprezentate de raportul între putere și greutate mare, viteza mare și controlul electronic. Un alt avantaj îl reprezintă durata de viață este mult mai mare în raport cu motorul cu perii unde uzura periilor generează mereu probleme de funcționare [31].

Scopul principal al motoarelor electrice este de a realiza convertirea energiei electrice în energie mecanică sub forma unei mișcări de rotație. Motorul este controlat de un controller denumit în mod obișnuit regulator de turație sau ESC și acesta controleaza motorul. Puterea motoarelor se măsoară în wați, ceea ce înseamnă că puterea motorului este obținută din ecuația: watt= volt x amper.

Motorul drone se rotește în jurul propriei axe și generează energie pentru a îî putea permite dronei să zboare. Pentru dronele de tip aripă fixă motorul principal este cel care generează energia utilizată pentru ca drona să fie propulsată în față, pe când în cazul quadcopterului motoarele generează energie necesară unei tracțiuni în sus.

Printre criteriile care diferențiază motoarele între ele se pot enumera tipul de putere având două categorii: AC sau DC și metoda de generare a rotației.

Figura I.25 Diferitele tipuri de motoare [32]

Componentele unui motor fără perii sunt:

Rotorul este partea care se rotește și are magneții montați intr-un model radial, fiind asociat ca un magnet permanent și nu are nevoie de curent, eleminând tot odată si necesitatea folosirii periilor și a unui comutator.

Statorul reprezintă partea fixă a motorul și este compus din electromagneți [32].

Figura I.26 Părțile componente ale unui motor fără perii [33]

Pentru multirotoare există două tipuri de motoare fără perii și anume motoare Inrunner și motoare Outrunner. Cel mai des întâlnite pentru multirotoare, dar și pentru dronele de tip aripi fixe sunt motoarele Outrunner. Cele două tipuri de motoare se diferențiază prin faptul că la prima categorie partea rotitivă se situează la interior, iar la a doua categorie rotorul se situează pe partea exterioară a motorului. De asemenea motoarele de tip Outrunner sunt capabile să dezvolte un cuplu mult mai mare față de motoarele Inrunner. Se mai poate menționa și că motoarele Inrunner sunt folosite pe vehicule R/C deoarece acestea se pot roti mult mai repede [34].

Figura I.27 Diferența dintre motorul Inrunner și motorul Outrunner [35]

Regulatorul de turație sau ESC din engleză Electronic Speed Control este un circuit electronic care este folosit pentru a putea schimba viteza motorului electric situat pe dronă. Totodată acesta mai are și rolul de a acționa ca o frână dinamică. Regulatoarele de turație sunt responsabile de rotirea motorului preluând semnale de la controller-ul de zbor. ESC-ul poate fi o piesă separată situată între controller-ul de zbor și motor sau poate fi inclus într-un controller- de zbor de tip Tower ESC-4in1. Inversarea sensului de rotatie pe care regulatorul de turație i-l dă motorului se poate schimba în două moduri, fie prin software, fie hardware, inversând firele între ele.

Figura I.28 Regulator de turație simplu de 30A [37]

Figura I.29 Regulatoare de turație 4in1 [38]

Principalele componente ale unui regulator de turație sunt:

Conexiunile negative(-) LiPo

Conexiunile pozitive(+) LiPo

Intrarea semnalului PWM

Referința GND a semnalului PWM

Puntea de lipire pentru modificarea direcției de rotație (în sensul acelor de ceasornic CW sau în sens invers acelor de ceasornic CCW)

Led de stare [36]

Figura I.30 Schema de conectare a bateriei, regulatorului de turație, a bateriei și a receiver-ului [39]

Marea majoritate a regulatoarelor de turație aflate pe piață la ora actuală sunt echipate cu procesoare pe 32 de biți și rulează un firmware numit BLHeli_32. Aceste regulatoare de turație sunt capabile să îndeplinească și alte funcții cum ar fi schimbarea direcției de rotire a motorului spre exemplu pentru funcția în modul turtle. De asemenea, există mai multe tipuri de firmware pe care le poate avea un regulator de turație. Printre ele putem să menționăm următoarele firmware-uri:

BLHeli: acest firmware se întalnește pe esc-uri mai vechi pe 8 biți

BLHeli_S: este întâlnit tot pe esc-uri mai vechi tot pe arhitectură de 8 biți, având un hardware mai modern fiind capabil să suporte și protocoale D-Shot 600

BLHeli_32: este cel mai nou firmware schimbând și arhitectura esc-urile dispunând de o arhitectură pe 32 de biți putând să susțină protocoale mai rapide precum D-Shot 1200.

Figura I.31 Regulator de turație BLHeli [40]

Funcția principală pe care trebuie să o îndeplinească ESC-urile este aceea de a trimite curent către motor la viteze ridicate. Acest procedeu este controlat de un microprocesor și este efectuat de către tranzistori numiți Mosfet. Calitatea acestor tranzistori precum și mărimea lor determină cât de mult curent, măsurat în amperaj, poate trece prin regulatorul de turație. Pe fiecare ESC este scris amperajul și reprezintă curentul pe care îl poate susține constant acesta. De asemenea, un regulator de turație poate susține pentru un timp mult mai scurt o trecere peste aceea limită scrisă pe acesta. Spre exemplu un ESC care are în caracteristici un amperaj maxim de 30A poate susține pentru un timp scurt și un amperaj de 40A. De preferat este să se aleagă un ESC care poate suporta mult mai mult curent decât poate trage un motor. Spre exemplu, dacă un motor are un consum constant de 30A se preferă un regulator de turație de minim 40A.

Figura I.32 Măsurarea amperajului unui ESC [41]

Majoritatea regulatoarelor de turație este capabilă să funcționeze cu baterii care au între doua și patru celule, cele mai multe baterii utilizate pentru un quadcopter fiind cele cu patru celule. De asemenea, există ESC-uri care sunt capabili să suporte si baterii cu șase celule [42].

Figura I.33 Capacitatea unui regulator de turație [43]

Principalele aplicații pentru vehicule la care se folosesc regulatoarele de turație sunt:

Mașini electrice;

Biciclete electrice;

Mașini;

Bărci;

Elicoptere;

Drone;

Drone de tip aripi fixe. [36]

I.5 Module radio de transmisie-recepție pentru comanda de la sol

Una din piesele necesare ale echipamentului pentru zborul cu un quadcopter este reprezentat de un transmițător radio TX și un receptor radio RX.

Dispozitivul electronic care poate utiliza semnalele radio pentru a transmite comenzi prin intermediul frecvenței radio care este conectat la microcontroller-ul dronei se numește un transmițător radio. Altel spus, radio transmițătorul reprezintă dispozitivul electronic care poate transmite multicopterului comenzile persoanei care pilotează drona pentru ca aceasta să poată executa mișcările dorite.

Transmițătorul radio transmite comenzi de la utilizator la dronă prin intermediul unor canale. Fiecare canal reprezintă o acțiune individuală transmisă quadcopterului. Printre cele mai importante comenzi se numără: Throttle, Yaw, Pitch, Roll. Fiecare dintre aceste comenzi folosește un canal individual pentru a controla multicopterul deci va fi nevoie de minim patru canale pentru comenzile principale. Fiecare stare sau buton de pe telecomandă utilizează un canal individual pentru a trimite informații către receptorul aflat pe dronă.

Figura I.34 Reprezentarea în Betaflight configurației radio realizată între dronă și telecomandă [44]

Transmițătoarele radio au fost create pentru a ușura controlul dronei și de aceea telecomanda a fost adaptată atât pentru persoanele care au mâna dreaptă ca mână îndemânatică, dar și pentru persoane care consideră că mâna lor stângă este cea îndemânatică. Astfel au fost create două modele de radio-transmițătoare. Modelul 1 cel pentru stângaci se deosebește de Modelul 2 cel pentru dreptaci prin interschimbarea butoanelor Throttle-Yaw cu Pitch-Roll.

Figura I.35 Cele două moduri diferite în care poate fi configurată telecomanda [45]

Principalele frecvențe pe care le utilizează un radio-transmițător sunt: 900MHz, 1.3GHz, 2.4GHz și 5.8 GHz. În trecut se mai foloseau pentru transmisie și frecvențe de 27MHz și 72MHz. Echipamentul care folosea astfel de frecvențe folosea cristale pentru a putea oferi o transmisie între transmițător și receptor.

Dintre toate frecvențele cea mai utilizată este cea de 2.4 GHz. Frecvența radio, utilizată de multitudinea multicopterelor, realizează legătura dintre emițătorul aflat la sol și dronă aflată în aer.

Dispozitivul care este responsabil de recepționarea comenzilor de la transmițător este receptorul radio. Acesta interpretează semnalul radio cu ajutorul controller-ului de zbor unde comenzile sunt transformate în acțiuni pentru a controla corect drona.

Principalele caracteristici ale unui receptor radio sunt:

Telemetria care reprezintă trimiterea datelor înapoi la emițător

Redundanța este funcția prin care două receptoare sunt conectate împreuna, iar dacă unul din ele pierde semnalul celălalt preia conexiunea

Actualizarea firmware-ului pentru a putea remedia erorile apărute și sesizate de-a lungul timpului

Protocoalele radio de comunicație se împart în două categorii. Prima categorie este reprezentată de protocolul TX care reprezintă legătura dintre receptorul radio și transmițătorul radio, iar protocolul RX descrie legătura dintre controller-ul de zbor și receptorul radio.

Figura I.36 Protocolul RX și Tx de transmisie dintre radio transmițător și controller-ul de zbor [46]

I.6 Acumulatori de tip Litihium-Polimer(Li-Po) și Voltage Alarm

Bateriile din polimeri de litiu sunt adesea folosite la dispozitive electronice precum laptopuri, telefoane și tablete. Evoluția a fost una semnificativă de la bateriile litiu-ion. Acestea oferă un avantaj superior față de predecesoarele lor în materie de durabilitate, cost și utilitate. Bateria din polimeri de litiu poate fi optimizată pentru a se putea potrivi în mai multe dispozitive. Odată cu tehnologia telefoanele, tabletele și laptopurile devin din ce în ce mai subțiri iar bateriile trebuie să țină pasul cu acestea micșorându-și și ele dimensiunile, dar pe de altă parte crescând semnificativ capacitatea [47].

Principalele avantaje ale unei baterii LiPo sunt următoarele:

Greutatea redusă semnificativ și forma care poate fi modelată în aproape orice dimensiune

Capacitate crescută față de predecesorii săi

Ratele de descărcare mult mai mari

Bateriile Lipo prezintă și unele dezavantaje. Printre acestea putem enumera:

Durata de viață redusă aproximativ 200 de cicluri de reîncărcare

Chimia dintre polimer și litium poate provoca declanșarea unui incendiu

Orice baterie are câteva caracteristici predefinite prin care o putem caracteriza. Acest

sistem de a explica proprietățile și caracteristicile unei baterii. Se pot distinge trei evaluări diferite pe care trebuie să le recunoaștem la o baterie: Rata de descărcare, Capacitatea și numărul de celule și voltajul.

Figura I.37 Baterie LiPo Turnigy capacitate, 4 celule, capacitate de descărcare și rata de descărcare [48]

Capacitatea unei baterii reprezintă o măsură a puterii pe care bateria LiPo poate să o susțină. Unitatea de măsură pentru aceasta este miliamper ora(mAh). Cu alte cuvinte această unitate de măsură rezumă cât trebuie să fie consumul pentru a putea descărca bateria într-o oră. Pentru bateria de mai sus care are capacitatea de 6600mAh este nevoie de un consum de 4000mA odată pentru a o putea descărca într-o oră, dar pentru că puterea motorul se măsoară în amperi este necesară următoarea conversie: 1 Ampermetru este egal cu 1000 miliAmperi oră. Capacitatea bateriei reprezintă cât poate fi folosită drona până când aceasta se descarcă și trebuie reîncărcată. Cu cât bateria dispune de mai multe celule și care o capacitate ridicată cu atât bateria se va descărca mai încet.

Pe piață, la ora actuală există baterii cu capacități care se situează între 500mAh și maxim 20000mAh. Există și un dezavantaj major al bateriilor cu capacitate ridicată. Cu cât capacitatea bateriei este mai mare cu atât bateria este mai grea și mai voluminoasă.

Celula LiPo are o tensiune nominală de 3.7V. Pentru o baterie cu patru celule, descrisă mai sus, se regăsesc patru celule legate în serie. Așadar bateria prezentată mai sus are o capacitate de 14.8V.

Capacitatea de descărcare reprezintă puterea de descărcare a bateriei în siguranță și fără a afecta parametrii în care funcționează bateria.

Încărcarea bateriilor LiPo trebuie să se realizeze în deplină singuranță. Pentru aceasta este necesar să se utilizeze un încărcător special pentru bateriile LiPo. Încărcătorul va menține viteza de încărcare constantă până când bateria va fi încărcată complet, adică 4.2V pe fiecare celulă din baterie. Pe de altă parte, încărcătorul special pentru bateriile LiPo realizeză și echilibrarea celulelor bateriei egalizând tensiunile pe fiecare celulă. Dezechilibrarea celulelor apare atunci când bateria este descărcată prea mult. Marea majoritate a bateriilor compuse din litiu și polimer trebuie încarcate lent în comparație cu bateriile de alte tipuri. Cea mai sigură rată de încărcare a bateriei este 1c sau 1 x capacitatea bateriei în amperi. Spre exemplu pentru bateria descrisă mai sus care are capacitatea de 6600mAh ar fi ideal să se realizeze încărcarea cu 6.6A aceasta fiind rata corectă de încărcare.

Figura I.38 Încărcarea corectă a unei bateri LiPo [49]

Temperatura unei baterii este principalul factor care poate determina utilizarea sa în parametrii optimi. Spre exemplu o baterie care se încălzește excesiv în timpul încărcării înseamnă că este o baterie deteriorată și prezintă riscul unui incendiu sau chiar a unei explozii. Nu trebuie să se realizez încărcarea unei baterii care a fost depozitată la temperaturi de sub 0 grade Celsius. Bateria trebuie lăsată o perioadă la temperatura camerei. Căldura excesivă determină acumularea în exces a oxigenului și bateria LiPo începe să se umfle. Acest moment este ideal pentru a renunța la folosirea bateriei deoarece aceasta devine nesigură. Utilizarea după acest moment al bateriei devine periculoasă.

Figura I.39 Baterie LiPo deteriorată cu risc ridicat de a exploda sau de a se aprinde [50]

Tensiunea de stocare corespunzătoare pentru o baterie Lipo este de 3.8V pe fiecare celulă. De asemenea pentru o siguranță ridicată bateria ar trebui depozitată într-un recipient rezistent la foc. Dacă o baterie este depozitată necorespunzător aceasta are tendința să se descarce. Dacă tensiunea scade sub 3.0V marea majoritate a încărcătoarelor aflate pe piață nu o vor mai încărca. Pentru o stocare corespunzătoare de lungă durată se recomandă stocarea la 3.8V pe fiecare celulă. [51]

Voltage Alarm este o alarmă de joasă tensiune care anunță odată ce fiecare celulă a bateriei ajunge la o tensiune predefinită de utilizator. Acest verificator de tensiune poate fi utilizat pe o baterie care are între doua și opt celule. Parametrii tensiunii presetate poate fi stabilită între 2.7V și 3.8V pe fiecare celulă. De asemenea Voltage Alarm dispune de un display care poate arăta atât tensiunea pe fiecare celulă, cât și tensiunea întregii baterii.

Specificațiile acestuia sunt:

Intrare: de la 2s până la 8s

Tipul bateriei suportate: LiPo sau LiFe sau Li-ion

Domeniul de afișare: de la 0.5V până la 4.5V

Tensiunea bateriei: de la 3.7V până la 36V

Valori pentru setarea alarmei: de la 2.7V până la 3.8V

Dimensiuni: 41x25x10milimetri

Greutate: 9 grame [52]

Figura I.40 Voltage Alarm [52]

Figura I.41 Utilizarea corectă a verificatorului de tensiune [52]

I.7 Sisteme First Person View(FPV)

Un sistem First Person View înglobează mai multe componente printre care: o cameră video, un dispozitiv pe care camera video să transmită imaginea cum ar fi un telefon, un monitor sau chiar o pereche de ochelari și ultima componentă fiind un emițător video care să realizeze conexiunea între cele două [56].

Camerele FPV aflate pe o dronă este cea mai importantă componentă aflată pe dronă pentru a realiza transmisia în timp real. Camerele FPV sunt de mici dimensiuni, ieftine și ușoare realizând transmisia cu ajutorul unui emițător video. Atunci când se alege o cameră pentru dronă trebuie avut în vedere următoarele caracteristici ale sale: mărimea, raportul densitatea imaginii, tipul de senzor, câmpul de vedere al obiectivului și caracteristicile suplimentare pe care camera le are. În primele utilizări ale camerelor video pe dronă s-au folosit camere de bord de tip PCB folosit de la camerele de securitate. Primele camere folosite s-au numit HS1177 având dimensiunile de aproximativ 22mm fiind un format încă folosit pentru drone.

Figura I.42 Cameră Turnigy HS1177 [53]

Densitatea unei camere se referă la forma imaginii pe care camera de pe dronă o poate capta. Există două categorii de format: 16:9 și 4:3. Raportul acestui aspect are un efect destul de mic asupra imaginii surprinse. Există o concepție asupra categoriilor de format al imaginii crezându-se că o camera cu aspect de 16:9 oferă un aspect mai larg al imaginii față de 4:3. Acesta este greșită deoarece datorită raportului de pixeli care sunt capabili să fie transmiși de aparatul foto și transmițător către ochelari va fi același pentru ambele camere.

Figura I.43 Aspect 16:9 comparativ cu 4:3 [54]

Senzorul aflat în camera FPV este responsabil de captarea luminii care intra în lentilă și transformă informațiile respective în informații electrice transmisibile.

Acest senzor influențează fundamental performanța camerei. Pentru această operațiune se folosesc doi senzori: CCD și CMOS. Senzorii CCD sunt mult mai scumpi față de cei CMOS, dar și net superiori din punct de vedere calitativ. Spre deosebire de CCD senzorii CMOS sunt mai ieftini și mai ușoare folosind și mai puțină putere. Cele mai utilizate de pasionații de fotografiere cu ajutorul dronelor sunt camerele care folosesc senzori CMOS.

Figura I.44 Comparație între senzorii CCD și CMOS [55]

Latența camerei este reprezentată de întârzierea cauzată de timpul de procesare a aparatului foto a tuturor informațiilor și să le transforme în semnale electrice. Cu cât această procesare este mai rapidă cu atât mai mult latența scade. Orice întârziere care apare în sistem se transmite în faptul că drona se va afla de fapt în alt loc față de locul pe care camera îl transmite ochelarilor că se afla drona. Spre exemplu la o deplasare a dronei cu o viteza de peste 100 km/h orice întârziere ar apărea în sistemul FPV ar putea însemna o coliziune. Marea majoritate a camerelor dispun de o latență mai mică de 40ms.

Câmpul vizual al camerei foto reprezintă o distanță pe care camera o poate suporta în jurul unui unghi. Lungimea focală a obiectivului este dată în milimetri. Cu cât numărul este mai mare cu atât obiectivul va avea un câmp vizual mai îngust. Ochiul uman dispune de o distanță focală de 2.97 milimetri. Pentru un obiectiv de 2.5 milimetri câmpul vizual este de 147 de grade, iar pentru un obiectiv de 6.0 milimetri acest câmp se reduce la doar 78 de grade [58].

Figura I.45 Exemplu unghi al câmpului de vedere a unei camere foto [57]

I.8 Microcontroller

I.8.1 Microcontroller AVR

Microcontroller-ul AVR a fost dezvoltat de Atmel Corporation pentru prima dată în jurul anilor 1990. Arhitectura acestui microcontroller a fost realizată de Alf Bogen și Vegard Wollan. Prescurtarea de AVR provine de la numele celor doi dezvoltatori. Primul microcontroller AVR apărut pe piață, în anul 1997, a fost AT90S1200 și se baza pe arhitectura AVR.

Figura I.46 Primul microcontroller AVR dezvoltat [59]

Figura I.47 Structura microcontroller-ului AT90S1200 [60]

Microcontroller-ele AVR sunt dezvoltate în trei categorii:

TinyAVR având ca principale caracteristici dimensiunea redusă și spațiu de memorie redus, memoria flash situându-se între 0.5 și 8 KB

MegaAVR dispun de o memorie de până la 256KB și de un număr relativ mare de periferice încorporate în acesta

XmegaAVR este utilizat în special pentru aplicații complexe care au nevoie de o memorie mare și de o viteză ridicată dispunând de o memorie flash de maxim 384 KB

AVR este un microcontroller pe 8 biți aparținând arhitecturii RISC. Un microcontroller pe 8 biți are capabilitatea de a transmite și a recepționa date pe 8 biți. Microcontroller-ele AVR de 8 biți au arhitectura bazată pe regiștrii, ceea ce înseamnă ca operanzii sunt stocați intr-un registru.

Figura I.48 Digrama unei operați între doi regiștrii și stocarea valorii rezultate în registru de ieșire [61]

Microcontroller-ul își ia valori de la cele două registre de intrare denumite Input-1 și Input-2 după care realizează operația logică și realizează stocarea rezultatului obținut în registrul Output [61].

Microcontroller-ele AVR sunt realizate pe o arhictetura RISC. ATmega32 este un microcontroller CMOS pe 8 biți putând să realizez aproximativ un milion de instrucțiuni pe secundă.

Principalele caracteristici ale microcontroller-ului ATmega32 sunt:

Șase moduri principale: Idle, ADC noise reduction, power-save, power-down, standby, extended standby;

Oscilatorul RC se calibrează intern;

Surse interne și externe de întrerupere;

Figura I.49 PDIP de 40 de pini ATmega 32 [62]

La unitatea logică artimetică (ALU) se conectează toate cele treize și două de registre putând accesa două registre diferite în aceeași instrucțiune executată intr-un singur interval de timp.

Figura I.50 Pini ATmega32 [63]

Explicitarea fiecărui port este:

VCC: alimentarea cu tensiune digital

GND: împământarea

Portul A(PA7-PA0): portul realizează intrările analogice către convertorul A/D, dar este și port I/O birecțional pe 8 biți dacă convertorul nu este utilizat.

Porturile B(PB7-PB0) și D(PD7-PD0) sunt porturi I/O bidirecționale. Acestea sunt responsabile de realizarea unor funcții speciale ale microcontroller-ului ATmega32.

Portul C(PC7-PC0) este tot un port I/O bidirecțonal. Acest port este responsabil de interfața JTAG. Dacă aceasta este activate atunci vor fi activate și rezistențele pe pinii PC5, PC3 și PC2.

Reset: este o singură intrare.

XTAL1: reprezintă intrarea pentru amplificatorul oscilatorului inversat.

XTAL2: este ieșirea amplificatorului oscilatorului inversat.

AVCC: reprezintă alimentarea pentru convertoarele porturilor A și A/D. Acesta trebuie să fie conectat la VCC.

AREF: acesta reprezintă pinut analogic de referințăpentru convertorul A/D [66].

Convertorul A/D este un dispozitiv care poate reprezenta de la circuite integrate realizate doar dintr-un singur bloc până la module foarte performate. Acestea transformă datele analogice de intrare într-o formă digitală echivalentă [65].

Toate intrările și ieșirile se află în zona I/O. Acestea se pot accesa printr-o serie de instrucțiuni specifice OUT și IN. Aceste instrucțiuni realizeză transferal de date între cele treizeci și două de registre. Regiștrii I/O cu adresa 00-1F se pot accesa direct prin folosirea instruțiunilor SBI și CBI [66].

Figura I.51 Interfața JTAG utilizând portul C al microcontroller-ului ATmega32 [64]

ATmega32 conține de două spații de memorie principale, de un spațiu de memorie pentru program și de o memorie EEPROM necesară stocării datelor. ATmega32 dispune de 32Kbytes în memoria flash care este reprogramabilă de sistem pentru stocarea programelor. Memoria flash este sistematizată ca 16K x 16, iar memoria este divizată în două părți: Boot program section și Application program section.

Figura I.52 Schema circuit a programatorului ISP [67]

Memoria de dare EEPROM este alcătuită din 1024 de octeți de memorie. Această memorie poate fi accesată ca un spațiu separat de date în care scrierea și citirea se poate face doar pentru un singur octet.

I.8.2 Microcontroller ARM

Advanced Risc Machine (ARM) Cortex-M este un microcotroller de 32 de biți și face parte din grupul procesoarelor ARM RISC. Aceste micrcontrollere sunt printre cele mai folosite în întreaga lume fiind produse în milioane de exemplare. Nucleele dezvoltate de ARM Holdings sunt: Cortex-M0, Cortex-M0+, Cortex-M1, Cortex-M3, Cortex-M4, Cortex-M7, Cortex-M23, Cortex-M33 și Cortex-M35P [68].

Există trei profiluri de arhitectură: A,R,M. A-Profile se utilizează în domenii foarte complexe pentru aplicații de calcul precum telefoanele mobile. R-Profile se întrebuințează doar dacă este nevoie de un răspuns în timp real. Spre exemplu un echipament medical sau o aplicație de siguranță. M-Profile se folosește în cazul în care eficiența energetică alături de consumul de energie și mărimea sunt importante [69].

Toate procesoarele de tipul ARM Cortex-M se fundamentează pe arhitectura M-Profile. Aceasta oferă operații cu latență redusă și deterministe pentru sistemele integrate. Ultima generație lansată pe piață a arhitecturii M-Profile este reprezentată de ARMV8.1-M [70].

Figura I.53 ARM Cortex M4 [71]

ARM Cortex M4 este unul dintre cele mai noi procesoare lansate și incorporate de ARM. Caracteristicile principale ale acestuia sunt:

procesarea semnalului de înaltă eficiență

consumul de energie redus

un cost redus

ușor de folosit [72]

Figura I.54 Arhitectura ARM Cortex M4 [72]

Raspberry Pi este un calculator de dimensiuni reduse care poate fi conectată la un monitor sau un televizor prin intermediul unui cablu HDMI. Aceasta placă de dezvoltare dispune de porturi USB pentru a putea fi conectate o tastatură și un mouse. Principalele limbaje de dezvoltare pe care aceasta le suportă sunt Scratch și Python. Raspberry Pi este capabilă să navigheze pe internet, să redea videoclipuri de calitate superioară, poate crea foi de calcul [73].

Datorită dimensiunilor reduse Raspberry Pi poate fi folosită în orice aplicație inclusiv în proiecte ce necesită dimensiuni scăzute cum ar fi transmiterea informațiilor primite de la senzorii aflați pe o dronă cu dimensiuni mici. Dimensiunile plăcii sunt următoarele:

Figura I.55 Dimensiunile plăcii Raspberry Pi Model B+ [77]

Raspberry Pi a fost pentru prima dată lansat în anul 2012. Prima placă de dezvoltare a beneficiat de un procesor cu un singur nucleu cu o frecvență de 700MHz și dispunea de 256MB RAM. Cea mai recentă placă de pe piață, Raspberry Pi 3 beneficiează de un procesor în patru nuclee cu o frecvență de 1.4 GHz și dispune de o memorie RAM de 1 GB.

Oameni de pe întreg Mapamondul utilizează Raspberry Pi sub diferite forme. O parte din utilizatori întrebuințează placa pentru a crea proiecte de tip hardware sau doar pentru a își însuși limbaje și abilități de programare, iar pe de altă parte Raspberry Pi poate fi folosită pentru a automatiza casa.

Raspberry Pi rulează Linux și bine înțeles că oferă un set de pini GPIO care permit controlarea unor componente electronice.

Până în acest moment au fost lansate trei generații: Raspberry Pi 1, Raspberry Pi 2, Raspberry Pi 3. Fiecare generație a dispus de două modele: Model A și Model B. În general modelul A era mai ieftin și cu dimensiuni mai reduse decât modelul B și dispunea de porturi USB și un port de Ethernet.

Raspberry Pi operează in open source. Această rulează sub Linux și principalul sistem de operare este Raspbina fiind tot open source [74].

Figura I.56 Plăcile de dezvoltare de la Raspberry Pie 1 până la Raspberry Pie 3 [74]

Cel mai nou produs din gama Raspberry Pi este reprezentat de Raspberry Pi 3 Model B+. Principalele caracteristici ale acestuia sunt:

Procesor Cortex-A53(ARMv8) 64 biți cu frecvența de 1.4GHz

Memoria RAM 1GB

Gigabit Ethernet

Extensie GPIO cu patruzeci de pini disponibili

Port HDMI

Patru porturi USB

Port camera CSI pentru a realiza conectarea unei camera video Raspberry Pi

Port de afișare DSI

Bluetooth 4.2

2.4GHz %GHz LAN

Port microSD pentru încărcarea și rularea sistemului de operare

Port MicroUSB pentru alimentare 5V 2A [75]

Figura I.57 Placa de dezvoltare Raspberry Pi 3 Model B+ [76]

Figura I.58 Explicarea fiecărei intrări sau ieșiri de pe placă [78]

I.9 Senzori pentru monitorizarea parametrilor atmosferici și a calității aerului

Aerul reprezintă cel mai rapid mod prin care se împraștie poluanții în mediu. Poluarea acestuia are foarte mult efecte adverse asupra sănătății omului, dar provoacă și daune importante și faunei și florei. Din aceste considerente se acordă o atenție sporită activității pentru menținerea, supravegherea și încercarea de îmbunătățire a calității aerului.

Calitatea aerului este direct influențată de emisiile de noxe din aer provenite de la surse precum fabrici sau mașini. Această calitate a aerului este cu preponderență mai scăzută în marile orașe [79].

Parametrii atmosferici sunt reprezentați de măsurarea temperaturii, a umidității și a presiunii.

Temperatura aerului variază în funcție de mai mulți facturi:

Latitudine: temperatura scade de la Ecuator către Poli

Anotimp

Deosebirea dintre noapte și zi

Altitudine: pentru fiecare 1000m temperature aerului scade cu 6 grade Celsius

Principala sursă care încălzește aerul și pământul este Soarele care trimite către Terra o cantitate de energie de 3216×1027 calorii pe minut. Temperatura are două variații una pe termen scurt adică zilnică și una pe termen lung adică anuală. Variația zilnică se măsoară dimineața înainte să răsară Soarele pentru minim și în jurul orei 14:00 pentru maximul zilei, iar variația anuală se definește printr-o maximă anuală în luna iulie și un minim în luna ianuarie [80].

Umiditatea din aer este reprezentată de cantitate vaporilor de apă care se regăsește intr-o unitate de măsură de aer. În principiu, umiditatea se poate defini în trei moduri. Umiditatea absolută reprezintă o cantitate a vaporilor de apă care se regăsește în aceeași cantitate de aer. Umiditatea relativă reprezintă un raport între presiunea vaporilor de apă în anumite condiții date și presiunea vaporilor în condiții de echilibru. Umiditatea relativă este dependentă de presiune și temperatură [81]. Umiditatea specifică este masa vaporilor de apă care se regăsesc intr-un kilogram de aer. În momentul în care atmosfera este saturată cu vapori de apa, umiditatea tinde spre maxim [82].

Presiunea atmosferică reprezintă forta cu care aerului atmosferic apasă pe o unitate de suprafață. Această presiune este datorată efectului forței gravitaționale care atrage atmosfera către Terra. Presiunea atmosferică este direct influențată de temperatură și de altitudine. Aceasta are un nivel mai ridicat deasupra mărilor și a oceanelor. Presiunea atmosferică influențează semnificativ vremea. Dacă presiunea este crescută riscul producerii unor fenomene extreme este scăzut, în schimb o presiune atmosferică scăzută favorizează apariția instabilității atmosferice. Aceasta variază o dată cu altitudinea. Presiunea este mai scăzută la munte și mai crescută la nivelul mărilor și oceanelor. În sistemul internațional unitatea de măsură pentru presiunea atmosferică este Pascalul (Pa), dar se mai utilizează în practica meteorologică și milibarul(mb) sau milimetrul coloană de mercur (mmHg) [83].

Senzorul este o componentă elementară a unui sistem care poate prelua informații despre o mărime fizică (temperatură, umiditate, presiune) și le poate transmite prin intermediul unui canal de comunicare către un receptor pentru a fi analizat și prelucrat [84].

Senzorul reprezintă un dispozitiv care poate reacționa atât calitativ cât și cantitativ pentru anumite proprietăți chimice sau fizice ale mediului din jurul senzorului. În domeniul automatizărilor informația cantitativă sau calitativă pe care o măsoară senzorului după o amplificare și o prelucrare deservește pentru reglarea și controlul sistemelor automate [85].

Senzorul care se va ocupa de colectarea datelor și transmiterea lor către Raspberry Pi va fi senzorul SparkFun CCS811/BME280(Qwiic). Mai bine spus acest senzor înglobează doi senzori. Primul senzor, CCS811, este capabil să preia date din mediu date precum compuși organici volatili TVOC și dioxid de carbon CO2 sau eCO2. Cel de-al doilea senzor, BME280 preia din mediu informațiile despre temperatură, umiditate și presiune barometrică. De asemenea, senzorul afișează și altitudinea de la care se preiau informațiile. Comunicarea între Raspbbery Pi și senzor se va realiza prin interfața I2C [86].

Figura I.59 Senzorul SparkFun CCS811/BME280 [87]

Figura I.60 Senzor SparkFun CCS881/BME280 [93]

Specificațiile tehnice ale senzorului sunt următoarele:

Tensiunea de alimentare 3.3V

Compatibilitate Qwiic

TVOC – Compușii organici volatili detectează de la 0 până la 1,187 Parts Per Billion

eCO2, detectează de la 400 până la 8,192 Parts Per Million

Intervalele de măsurare pentru:

Temperatură: de la -40 de grade Celsius până la +85 de grade Celsius

Umiditatea: de la 0 până la 100% RH

Presiunea: de la 30,000 Pascal până la 110,000 Pascal

Altitudinea: de la 0 m până la 9200m, precizia relativă fiind între 1m și 2 m [88]

Figura I.61 Qwiic Pi Hat [90]

Pentru a conecta rapid senzorul la Raspbbery Pi vom folosi un Pi Hat. Pi Hat-ul reprezintă cea mai ușoară și rapidă cale pentru a le conecta. Qwiic Pi Hat dispune de patru porturi de conectare Qwiic toate conectându-se prin intermediul magistralei I2C [89].

Figura I.62 Schema electrică a senzorului CCS811/BME280 [91]

Figura I.63 Utilizarea corectă a senzorului CCS811/BME280 împreună cu Raspberry PI 3 folosind interfața I2C [92]

I.10 Monitorizarea de la distanță a calității aerului prin sisteme 4G

Tehnologia wireless a transformat viața oamenilor. Până la apariția tehnologiei pentru a ne conecta online era necesară o legătură directă a unui calculator la un port de internet. Comunicațiile wireless reprezintă un transfer de date și informații pe o anumită lungime fără a utiliza cabluri de internet. Tehnologia a evoluat de la 1G până a atins în prezent 5G.

Prima generație 1G folosește o rețea analogică fără fir de bandă îngustă, astfel realizându-se apelurile vocale. Prin 1G apelul vocal se realizează modulat având frecvența aproximativ 150MHz.

A doua generație 2G a fost lansată în jurul anilor 1980. Spre deosebire de prima generație aceasta a venit cu ceva nou, permițând trimitea unor mesaje scurte. De asemenea, calitatea convorbirilor s-a îmbunătățit. Generația doua a avut și câteva îmbunătățiri aduse prin 2.5G-GPRS (General Packet Radio Service) și 2.75-EDGE (Rate Enhanced Data for GSM Evolution).

A treia generație 3G a apărut în anul 2003 și implică servicii de comunicație mult mai rapide având capabilitatea de a transmite datele prin fax, internet și voce. 3G a adus în plus față de predecesorii săi o viteză ridicată a internetului, o bandă mult mai lată. De asemnenea 3G suportă videoconferințe și roaming. A treia generație a fost succedată de 3.5G-HSDPA (Access Packet Downlink) și de 3.75G-HSUPA [94].

Tehnologia 4G oferă tot ce oferă și tehnologia 3G, dar la o viteză net superioară. Principalele îmbunătățiri cu care vine 4G sunt: viteza crescută de download și upload, reducerea latenței și apeluri vocale clare.

Figura I.64 Comparație a vitezelor de descărcare de pe internet între 3G și 4G [95]

Figura I.65 Comparație a vitezelor de încărcare a datelor pe internet între 3G și 4G [96]

Tehnologia 4G sau 4G LTE este mai rapidă decât predecesoarea ei 3G de aproximativ cinci ori punând la dispoziție viteze de descărcare și încărcare de 80Mbps. Spre exemplu cu tehnologia 4G un film cu calitate HD de 2Gb va fi descărcat in aproximativ 3 minute, pe când cu tehnologia 3G acest lucru se realiza în jur de 25 de minute. 4G a fost îmbunătăți la puțin timp după lansare apărând 4G LTE și oferind viteze de aproximativ 300Mbps.

Tehnologia 4G nu a îmbunătăți doar viteza de descărcare și încărcare pe internet ci și a venit cu un răspuns mult mai prompt datorat latenței mult mai mici. Adică un dispozitiv care este conectat la o rețea 4G va răspunde mult mai rapid decât același dispozitiv conectat la o rețea 3G. Timpul de latență a fost redus considerabil de la aproximativ 120 de milisecunde pentru tehnologia 3G la 75 de milisecunde pentru tehnologia 4G [98].

Figura I.66 Comparație a latenței între tehnologia 3G și tehnologia 4G [97]

Tehnologia 4G începe și ea la rândul ei ca predecesorii acesteia să nu mai corespundă standardelor din zilele noastre și să tindă spre o viteză insuficientă de descărcare și de încărcare. De aceea se pregătește trecerea, în scurt timp, la un alt nivel și anume 5G.

Se preconizează ca viteza de download și upload va crește de 10 ori față de 4G, va apărea servicul de clouad care se va baza pe inteligența artificială și multe alte beneficii [99].

Principalele tehnologii care se vor bucura de 5G sunt: mașinile autonome, dispozitivele IoT și orașele smart. Standardul 5G va putea fi folosit nu numai de telefoanele mobile ci de orice dispozitiv smart, de la ceasuri inteligente până la mașini. În plus față de toate beneficiile pe care le va aduce odată lansată tehnologia 5G va elimina latența în domeniul telecomunicațiilor. Aceasta va fi 0 în special pentru mașinile autonome deoarece va fi nevoie de un răspuns promt în cazul unui pericol.

Tehnologia 5G va utiliza frecvențe înalte oferind viteză și lațime de bandă mari, dar aceste unde sunt mai slabe decât cele pe care tehnologia 4G le utilizează și deci pe distanțe lungi va fi o problema pentru traversarea structurilor solide întâlnite. Acest lucru se poate reglementa prin montarea unor miniemițătoare care să acopere complet.

Se preconizează că tehnologia 5G va fi lansată în anul 2020 [100].

CAPITOLUL II CONSTRUIREA UNUI QUADCOPTER CU MICROCONTROLLER ARM PENTRU MONITORIZAREA CALITĂȚII AERULUI

II.1 Asamblarea cadrului

Drona este construită din patru brațe alcătuite dintr-un plastic, iar partea de mijlocal este realizată dintr-un aliaj. Drona este propulsată de patru motoare electrice fără peri având elice cu dimensiunea de 8 centimetri. Cadrul are o greutate de doar 156 grame. Lungimea unui braț este de 13.5 centimetri.

Figura II.1Părțile componente ale cadrului dronei

Figura II.2 Cadrul dronei asamblat

La capătul brațelor se găsește suportul pentru motoare. Motoarele se fixează în patru șuruburi pentru o stabilitate cât mai bună.

Figura II.3 Fixarea motorului brushless pe capătul brațului dronei

Pentru a nu a ateriza pe baterie și pentru a proteja în același timp bateria s-a ales achiziționarea unui set de picioare pentru trenul de aterizare. Picioarele sunt confecționate dintr-un plastic dur pentru a rezista la impact și a nu se rupe în caz de aterizări bruște.

Figura II.4 Montarea trenului de aterizare pentru cadrul dronei

În capătul opus motoarelor brațele se fixează in trei șuruburi de partea din mijloc a dronei formată din două plăci din aliaj pe care este montată electronica. Pentru o bună fixare s-au folosit trei șuruburi dispuse în formă de triunghi pentru partea de sus și două șuruburi pentru partea de jos.

Figura II.5 Sistemul de fixare al brațelor de plăcile rigide din aliaj

II.2 Montarea motoarelor brushless și a regulatoarelor de turație

Quadcopterul a fost echipat cu patru motoare fără perii (brushless) acestea fiind controlotare de patru regulatoare de turație fiecare de 40A. Motoarele au fost dotate cu elice autofiletante de 8 centimetri.

Figura II.6 Motor brushless montat pe brațul dronei

Figura II.7 Montarea elicei autoînfiletante pe motorul brushless

Acumulatorul de tip Li-Po va fi așezat sub cadrul de metal al quadcopter-ului. Acumulatorul are o capacitate de 6600mAh și dispune de patru celule.

Pentru a preveni descărcarea bateriei în zbor și pentru a evita căderea acesteia din aer, se va monta și un Voltage Alarm, care va indica atât tensiunea fiecărei celule, cât și tensiunea tuturor celulelor. Astfel când tensiunea va scădea sub valoarea setată acesta va emite o alarmă pentru a atenționa utilizatorul că bateria este pe terminate și drona trebuie coborâtă.

Motoarele se rotesc alternat, clockwise și respectiv counter clockwise, astfel încât fiecare motor să se rotească în sens invers față de motorul de lângă el. Acest lucru este redat în schema de mai jos, aceasta fiind schema Quad X inversă.

Figura II.8 Sensul de rotire al motoarelor brushless

Înainte de a înălța drona trebuie verificat fiecare motor dacă funcționează corect în programul Betaflight. Pentru aceasta se alimentează motoarele de la baterie, se scot elicele motoarelor și se bifează butonul de siguranță pentru a nu porni motoarele din greșeală.

Figura II.9 Testarea motoarelor brushless

Regulatorul de turație este dispozitivul electronic care se ocupă de controlul vitezei motorului. Sensul de rotație al motorului de asemenea poate fi schimbat din ESC-uri. Acest lucru se poate realiza în două moduri: primul mod este hardware și implică schimbarea a două fire ce leagă motorul de ESC și a două metodă este cea software ce implică modificarea firmware-ului ESC-ului. Pentru a modifica sensul software vom folosi programul BLHELI Configurator.

Figura II.10 Configurarea regulatoarelor de turație în BLHELI

Figura II.11 Panoul de control al regulatoarelor de turație

Pentru eficientizarea spațiului și pentru a nu avea probleme cu așezarea ESC-urilor cadrul fiind unul mic s-a ales să achiziționarea unui Tower în care regulatoarele de turație și controller-ul de zbor sunt suprapuse.

Figura II.12Controller-ul de zbor și regulatoarele de turație

Figura II.13 Lipirea firelor motoarelor la regulatoarele de turație

Pentru a folosi cât mai puțin spațiu de pe dronă pentru a nu o încărca s-au așezat reguloatoarele de turație împreună cu flight controller-ul în mijlocul plăcii din aliaj.

Figura II.14 Aranjarea regulatoarelor de turație pe placa de aliaj

II.3 Programarea controller-ului de zbor și a receiver-ului radio

Microcontroller-ul principal care coordonează funcțiile principale ale quadcopterului este un procesor STM32F405 de tipul Cortex M4 cu arhitectura ARM pe 32 de biti și rulează pe o frecvență de 168MHz. Datorită arhitecturii pe 32 de biți microcontrollerul dispune de multiple funcții precum: o putere mare de calcul, permite adăugarea mai multor senzori și dispozitive adiționale. Aceste lucruri nu erau posibile pe arhitectura de 8 biți de care dispune un microcontroller AVR.

Microcontroller-ul are și un număr integrat de senzori precum accelerometru, compas electronic, giroscop și magnetometru. Toți acești senzori integrați au rolul de a ajuta drona în zbor și de a ușura controlul acesteia.

Figura II.15 Prezența giroscopului, accelerometrului și a instrumentelor în Betaflight

În programul Betaflight se va configura și programa receiver-ul radio. Pentru aceasta se vor fixa valorile Roll, Pitch, cât mai aproape de valoarea de mijloc adică în jur de 1500. Throttle se va modifica odată cu creșterea vitezei dronei. Valorile minime ale paramentrilor Roll și Pitch vor fi aproximativ 1000, iar cele maxime vor fi aproximativ 2000.

Figura II.16 Calibrarea fiecărei direcții în care zboară drona

Pentru a putea fi armată drona trebuie să dispună de o valoare minimă setată pe care aceasta să o păstreze constantă până butonul de throttle este acționat.

Figura II.17 Setarea vitezei minime și maxime de rotire a motoarelor

Figura II.17 Setarea vitezei dronei de la un minim la un maxim

Figura II.18 Montarea corectă a receiverului radio la controler-ul de zbor

După ce toate componentele au fost asamblate, iar controller-ul de zbor, regulatoarelor de turație și receiverul radio au fost configurate quadcopterul este gata de zbor. Pentru a controla drona de la sol se va folosi o telecomandă marca Turnigy model 9X.

Figura II.19 Dronă pregătită pentru zbor

CAPITOLUL III UTILIZAREA UNUI QUADCOPTER PENTRU MONITORIZAREA PARAMETRILOR ATMOSFERICI, A CALITĂȚII AERULUI ȘI TRANSMITEREA IMAGINILOR ÎN TIMP REAL

III.1 Montarea microcontroller-ului ARM și a senzorilor pentru monitorizarea parametrilor atmosferici și a calității aerului

Pentru transmiterea și afișarea indicilor transmiși de senzori s-a ales placa de dezvoltare Raspberry Pi. Aceasta dispune de multiple funcții, dintre toate s-a ales enumerarea celor mai importante și de asemnea pe acelea dintre ele care vor fi utilizate. În primul rând Raspberry Pi 3 vine echipat cu un microcontroller ARM. Acesta mai dipsune si de următoarele facilități precum: un modul integrat de wireless, 40 de pini GPIO, interfață pentru camera video, interfață Ethernet, 4 porturi USB, slot pentru SD card, port HDMI. Pe acest microcontroller Raspberry Pi se rulează un sistem de operare ce se aseamănă cu sistemul de operare Linux. Pentru a evita supraîncălzirea microcontroller-ului s-au utilizat și 2 radiatoare.

Figura III.1 Placa de dezvoltare Raspberry Pi 3B+

Pentru achiziția datelor din mediu s-a ales folosirea a doi senzori integrați, practic un combo, pe aceeasi placă pentru a nu îngreuna quadcopterul și pentru a transmite date cât mai corecte. Pentru aceasta s-au folosit senzorii BME280 și CCS811, dezvoltat de compania Sparkfun. Pentru a facilita transmiterea datelor s-a ales folosirea interfeței I2C, de care senzorul dispune.

Figura III.2 Senzorul Combo CCS811/BME280

Cu toate că Raspberry Pi 3B+ dispune de multiple funcții, aceasta nu dispune de un port I2C. Pentru a rezolva această problema s-a ales achiziționarea unui Pi Hat Qwiic dezvoltat tot de compania Sparkfun, care va facilita această transmitere a datelor și va realiza legătura între senzorul combo CCS811/BME280 și placa de dezvoltare Raspberry Pi. Pi Hat dispune de patru porturi I2C, alimentat fiecare cu 3.3V.

Figura III.3 Pi Hat Qwiic

Datorită încălzirii senzorului și pentru a evita transmiterea de date eronate s-a ales poziționarea acestuia pe unul din brațele quadcopterului sub elice, aceasta fiind indirect răspunzătoare de răcirea senzorului în zbor. De asemenea, pentru a nu dezechilibra drona și pentru a îi păstra centrul de greutate fix s-a ales poziționarea plăcii Raspberry Pi deasupra părții superioare din aliaj.

Figura III.4 Poziționarea Raspberry Pi și a senzorului combo CCS811/BME280 pe cadrul quadcopterului

III.2 Programarea microcontroller-ului ARM în vederea achiziției datelor provenite de la senzori

Pentru programarea microcontroller-ului ARM va trebui instalat sistemul de operare Raspbian. Acest lucru se realizează foarte simplu pe un card SD. După ce sistemul de operare a fost instalat următorul pas este de a activa pinii GPIO și interfața I2C deoarece transmiterea valorile de la senzor către placa de dezvoltare Raspberry Pi se va realiza prin interfața I2C.

Pentru activarea pinilor GPIO se deschide Command Prompt și se execută următoarele linii de comandă:

pi@raspberrypi:~ $ sudo apt-get update

pi@raspberrypi:~ $ sudo apt-get install rpi.gpio

Figura III.5 Instalarea pinilor GPIO

Pentru activarea interfeței I2C se deschide Command Prompt și se execută următorele linii de comandă:

pi@raspberrypi:~ $ sudo apt-get update

pi@raspberrypi:~ $ sudo raspi-config

Figura III.6 Interfața Raspbian configurare I2C

După executarea acestei linii de comandă se va deschide o interfață în care se va selecta punctul numărul 5 “Interfacing Options Configure connections to peripher” se va da click și se va merge la P5 I2C.

Figura III.7 Configurare I2C

După aceea se va da enter și apoi „Yes” și „Ok”.

Următorul pas care trebuie făcut este acela de a activa utilitățile. Pentru acest lucru se deschide, din nou, Command Prompt și se execută următoarele linii de comandă:

pi@raspberrypi:~ $ sudo apt-get update

pi@raspberrypi:~ $ sudo apt-get install -y python-smbus i2c-tools

pi@raspberrypi:~ $ sudo halt

Figura III.8 Instalare I2C tools

Pentru a verifica dacă interfața I2C a detectat senzorii se va scrie următoarea linie de comandă: pi@raspberrypi:~ $ lsmod | grep i2c_

Figura III.9 Verificarea recunoașterii senzorilor

Pentru a testa detectarea și poziția senzorilor se va scrie linia de comandă în Command Prompt: pi@raspberrypi:~ $ i2cdetect -y 1.

Figura III.10 Recunoașterea senzorilor

Codul sursă pentru senzorul BME280 care se va ocupa de achiziția datelor privind temperatura aerului care va fi afișată atât în grade Celsius cât și în grade Fahrenheit, umiditatea relativă a aerului și presiunea barometrică se regăsește la Anexa 1. Acesta este realizat în limbajul de programare Python.

Rezultatele codului rulat vor fi afișate in Command Prompt cu ajutorul următoarelor instrucțiuni:

pi@raspberrypi:~ $ cd Desktop

pi@raspberrypi:~/Desktop $ python3 SenzorBme280.py

Figura III.11 Afișarea, în Command Prompt, a valorilor citite de senzorul BME280

Codul sursă pentru senzorul CCS811 care se va ocupa de achiziția datelor privind dioxidul de carbon eCO2 și TVOC- Compuși organici volatili este realizat în limbajul de programare Python și se regăsește la Anexa 2.

Deoarece senzorul combo BME280 / CCS811 nu a fost conceput pentru Raspberry Pi, va trebui aplicat un delay asupra transmiterii datelor. Acestă întârziere se realizează prin succesiunea următorilor pași:

pi@raspberrypi:~ $ sudo/nano/boot/config.txt

pi@raspberrypi:~ $ dtparam=i2c_baudrate=10000

După adăugarea liniei care întârzie citirea datelor primite de la senzor se vor executa următoarele comenzi pentru salvarea modificărilor și revenirea la pagina prinicipală a Command Prompt: CTRL+X apoi Y și Enter.

Rezultatele codului rulat vor fi afișate in Command Prompt cu ajutorul următoarelor instrucțiuni:

pi@raspberrypi:~ $ cd Desktop

pi@raspberrypi:~/Desktop $ python3 SenzorCCS811.py

Figura III.12 Afișarea în Command Prompt a valorilor citite de senzorul CCS811

III.3 Transmiterea imaginilor în timp real prin intermediul camerei pentru Raspberry Pi situată pe quadcopter

Pentru a vedea imagini în timp real de pe quadcopter se va folosi o camera dedicată pentru Raspberry Pi. Camera video Raspberry Pi înregistrează imagini și sunet la calitate Full HD, camera dispunând de un senzor de 8 MegaPixeli. Conectarea camerei se va realiza printr-o interfață serial dedicată pentru aceasta.

Activarea camerei se va realiza prin accesarea meniului Preferințe Raspberry Pi Config Tool. În tabelul Interface, în dreptul camerei se bifează căsuța de “Enable”, iar apoi se execută comanda, în Command Prompt, reboot pentru a restarta placa.

Figura III.13 Activarea camerei

După restartare se deschide, din nou, Command Prompt și se execută comanda: sudo raspi-config. Se selectează “ Interfacing Options”, iar apoi se selectează “P1 Camera” și se dă “Enter”.

Figura III.14 Interfața Raspbian configurare camera

Figura III.15 Configurare camera

Pentru a avea acces către serverul web de streaming trebuie identificată adresa IP a Raspberry Pi. Pentru aceasta se va utiliza comanda, în Command Prompt: ifconfig. Vor fi afișate mai multe informații și date, dar cea care este necesară este: inet 192.168.100.4. Aceasta reprezintă adresa RPi IP.

Figura III.16 Identificarea IP-ului plăcii Raspberry Pi

Se va crea un fișier denumit: rpi_camera_surveillance_system.py. După crearea fișierului se va deschide Command Prompt și se va executa următoarea linie de comandă: nano rpi_camera_surveillance_system.py. În fereastra deschisă se va scrie următorul cod descris în Anexa 3.

Se salvează fișierul apăsând Ctrl+X, apoi Y și după Enter. Se execută linia de comandă: python3 rpi_camera_surveillance_system.py, iar de pe dispozitivul de pe care se vrea vizualizarea în timp real se deschide o pagină de internet în care se introduce adresa ip a Raspberry Pi urmată de portul :8000.

Figura III.17 Conectarea unui dispozitiv la livestreaming

Figura III.18 Imagine preluată cu ajutorul Pi Camerei

III.4 Transmiterea datelor obținute de senzori și crearea graficelor aferente prin intermediul programului Grafana

Pentru a putea realiza graficele necesare datelor transmise de cei doi senzori, BME280 și CCS811 se va folosi programul Grafana. Pentru acesta se vor scrie următoarele linii de cod în Command Prompt.

pi@raspberrypi:~ $ wget <debian package url>

pi@raspberrypi:~ $ sudo apt-get install -y adduserlibfontconfig1

pi@raspberrypi:~ $ sudo dpkg -u grafana_<version>_amd64.deb

pi@raspberrypi:~ $ sudo add-apt-repository “deb https://www. packages.grana.com/oss/debstable main”

pi@raspberrypi:~ $ curl https://packages.grafana.com/gpg.key

pi@raspberrypi:~ $ sudo apt-key add –

pi@raspberrypi:~ $ sudo apt-get update

pi@raspberrypi:~ $ sudo apt-get install grafana

pi@raspberrypi:~ $ sudo service grafana-server start

pi@raspberrypi:~ $ sudo update-rc.d grafana-server defaults

pi@raspberrypi:~ $ sudo systemctl enable grafana-server.service

După ce instalarea programului Grafana pe Raspbian s-a încheiat se va instala și programul InfuxDB OSS. Pentru aceasta se deschide Command Prompt și se scriu următoarele linii de cod.

pi@raspberrypi:~ $ sudo apt-get update && sudo apt-get install influxdb

pi@raspberrypi:~ $ sudo service influxdb start

pi@raspberrypi:~ $ sudo systemctl unmask influxdb.service

pi@raspberrypi:~ $ sudo systemctl start influxdb

După ce s-a finalizat instalarea celor două programe și comunicarea între placa Raspberry Pi și pc are lor pe portul alocat :3000. Se vor scrie în Grafana linii de cod in limbajul SQL pentru a importa datele și a crea graficele. Pentru fiecare parametru citit de senzori, temperatură, umiditate, presiune, dioxid de carbon și compuși organici volatili se va crea un grafic separat.

Figura III.19 Preluarea datelor din tabelul creat pentru crearea graficelor

Graficul pentru datele preluate de la senzorul BME280 va arăta astfel:

Figura III.20 Graficul realizat cu datele preluate de la senzorul BME280

Graficul pentru datele preluate de la senzorul CCS811 va arăta astfel:

Figura III.21 Graficul realizat cu datele preluate de la senzorul CCS811

CAPITOLUL IV CONCLUZII ȘI DEZVOLTĂRI VIITOARE

În cadrul proiectului s-a construit un quadcopter care monitorizează calitatea aerului și parametrii atmosferici determinând compoziția de dioxid de carbon din aer și compuși organici volatili și determinând parametrii atmosferici precum temperatura, umiditatea și presiunea aerului. De asemenea, cu ajutorul camerei dedicate pentru Raspberry Pi se pot identifica zonele poluate din marile orașe.

Decizia de a construi o dronă care să transmită, printre alte date și date din aer privind compoziția de dioxid de carbon am luat-o deoarece în ultimul deceniu problema poluării în marile orașe este una reală. Cu cât numărul de mașini crește cu atât aerul respirat de oameni devine mai contaminat, iar zonele cele mai poluate pot fi identificate și luate măsuri.

Alegerea senzorilor reprezintă punctul esențial întrucât aceștia sunt cei care oferă infomațiile și transmit feedback-ul în cadrul sistemului. S-a ales combo-ul format din cei doi senzori BME280 și CCS811 deoarece dispune de interfața I2C. Pe lângă senzorii aleși s-a mai ales si un microcontroller, Raspberry Pi Model 3B+, care să fie compatibil cu senzorii și care să aibă o putere de calcul destul de mare, dar să dispună și de o programare accesibilă prin software-ul oferit, Python. O problemă a fost cauzată de citirea prin interfața I2C a senzorului CCS811 care nu putea să trimită informațiile atât de repede pe cât Raspberry Pi le cerea. Problema s-a remediat prin aplicarea unei mici întârzieri de citire a datelor primite de la senzor prin aplicarea liniei $ dtparam=i2c_baudrate=10000 în folderul sudo/nano/config.txt

Soluția identificată pentru a realiza conectarea echipamentelor utilizate a determinat funționalitatea și acuratețea informațiilor primite de la senzori.

Raspberry Pi se folosește de un IP privat din rețeaua locală la care acesta este conectat, iar aplicabilitatea acestuia se rezumă doar către dispozitive precum laptop, telefon sau tabletă conectate în aceeași rețea cu acesta. Acesta realizează transmiterea datelor primite de la senzori precum și imagini live de pe dronă doar într-o rețea locală.

Qudcopterul este construit dintr-un cadru a alcătuit din patru brațe din plastic și partea de mijloc fiind alcătuită dintr-un aliaj. Drona proiectată are o greutate de circa 2.8 kg fiind un quadcopter ușor de controlat de la sol. Qaudcopterul este propulsat de patru motoare de curent continuu fără perii.

Pentru a obține performanțe deosebite și pentru a procesa în timp real un flux de parametrii cât mai mare, drona a fost echipată cu un microcontroller ARM Cortex M4 pe 32 de biți.

Alimentarea quadcopterului cu energie electrică se realizează prin intermediul unui acumulator de tip Li-Po care dispune de patru celule legate în serie cu o tensiune de 14.8V și o capacitate de 6600 mAh. Cu această configurație drona poate zbura aproximativ 25 de minute. Pentru a beneficia de o protecție la descărcarea bateriei s-a ales folosirea unui Voltage Alarm care se setat la 3.5V pe fiecare celulă va emite un semnal acustic când fiecare celulă a bateriei va atinge această valoare.

Comanda de la sol se va efectua prin intermediul unui modul de transmisie-recepție în banda de 2.4 GHz.

Pentru implementarea practică s-au ales echipamente adecvate pentru timpul de aplicație ținându-se cont nu în ultimul rând și de raportul dintre cost și performanță.

În realizarea lucrării au fost consultate numeroase surse din literatura de specialitate precum studii de caz, articole și cărți.

Cu toate că multicopterele au fost studiate foarte intens în ultimii ani mereu se vor găsi noi idei și noi inițiative pentru dezvoltare. Pentru proiectul dezvoltat propun următoarele îmbunătățiri:

Adăugarea unui GPS pentru a se putea deplasa autonom drona

Folosirea unui cadru din fibră de carbon pentru a fi mult mai ușoară

Realizarea comunicației între mai multe drone pentru a compara datele din mai multe zone ale unui oraș aglomerat pentru a determina concentrația de dioxid de carbon și diferențele de temperatură, umiditate și presiune

Extinderea accesării datelor primate de la senzori și de pe alte dispozitive precum laptop, tableta sau telefon mobil din exteriorul rețelei locale de internet

Extinderea accesării imaginilor preluare de camera situată pe quadcopter de pe alte dispozitive aflate în exteriorul rețelei la care este conectată placa Raspberry Pi

CAPITOLUL V BIBLIOGRAFIE

[1] Unmanned aerial vehicle

https://en.wikipedia.org/wiki/Unmanned_aerial_vehicle

[2] Helicopters built between 1907 and 1935 Breguet-Richet Gyroplane no.1

http://www.aviastar.org/helicopters_eng/breguet_gyro.php

[3] SkyProwler2

https://www.krossblade.com

[4] History of quadcopters and other multirotors

https://www.krossblade.com/history-of-quadcopters-and-multirotors/

[5] Six best fixed wing drones reviewed Sydney Butler

6 Best Fixed Wing Drones Reviewed [Ultimate Guide 2025]

[6] Fixed wing versus rotary wing for UAV

https://www.questuav.com/media/case-study/fixed-wing-versus-rotary-wing-for-uav-mapping-applications/

[7] Drones: Revolutionizing the Future of Agriculture Sanskiriti Shukla

Drones: Revolutionizing the Future of Agriculture

[8] Types of multirotor

https://www.oscarliang.com/types-of-multicopter/

[9]

https://www.google.com/search?biw=1366&bih=625&tbm=isch&sa=1&ei=Xtm2XI3pL4SzsAev_J_QBQ&q=bi+copter+avatar&oq=bi+copter+avatar&gs_l=img.3…11401.14923..15049…6.0..0.124.1431.13j2……1….1..gws-wiz-img…….35i39j0i19j0i30i19.Xgw4JRybvl0#imgdii=QxmcUJihPYF7aM:&imgrc=4BkaWvZanYuQkM:

[10]

https://www.google.com/search?biw=1366&bih=576&tbm=isch&sa=1&ei=79u2XPmULq6j1fAPjcqduAc&q=duocopter+schema&oq=duocopter+schema&gs_l=img.3…4374.7597..7904…0.0..0.126.488.6j1……1….1..gws-wiz-img.ad4SZEcnZ0c#imgrc=4zWHMURND1AuGM:

[11]

https://www.google.com/search?biw=1366&bih=576&tbm=isch&sa=1&ei=6t62XO_3EZO21fAP0M6qkAg&q=tricopter+schema&oq=tricopter+schema&gs_l=img.3..0i5i30j0i8i30j0i30.2853.4421..4670…0.0..0.104.655.6j1……1….1..gws-wiz-img…….0i19.ehzACAvN1oQ#imgrc=LgqMkBFPjII-VM:

[12]

https://www.google.com/search?biw=1366&bih=576&tbm=isch&sa=1&ei=OOG2XMT0LdSU1fAPt_-HkAc&q=tricopter+drone+designs&oq=tricopter+&gs_l=img.1.2.35i39j0i19l9.137821.137821..140953…0.0..0.91.91.1……1….1..gws-wiz-img.qglX_2a6qO0#imgrc=Mx-DSysd-fFjuM:

[13]

https://www.google.com/search?biw=1366&bih=576&tbm=isch&sa=1&ei=s-W2XP6MMsWXsAfzlJvIDA&q=quadcopter+plus+configuration&oq=quadcopter+plus+configuration&gs_l=img.3…7334.12441..12681…3.0..0.162.1777.11j6……1….1..gws-wiz-img._cDXJeJU7SY#imgrc=I_sA5IEuYeHC0M:

[14]

https://www.google.com/search?biw=1366&bih=576&tbm=isch&sa=1&ei=buy2XIbRFqeLlwS9hp6YDg&q=quad+x+betaflight&oq=quad+x+betaflight&gs_l=img.3..0i8i30l2.11819.16841..17028…0.0..0.207.1913.13j4j1……1….1..gws-wiz-img…..0..35i39j0i67j0j0i19j0i5i30i19j0i30i19j0i30.srOOlF1NhFw#imgrc=rmf6fQ9gu_zhhM:

[15]

https://www.google.ro/search?hl=ro&tbm=isch&source=hp&biw=1366&bih=625&ei=-Pi2XIPQDKOurgTwpJ_oAg&q=quadcopter&oq=quadcopter&gs_l=img.3..35i39l2j0j0i30l7.372.2649..2811…0.0..1.123.842.9j1……1….1..gws-wiz-img…..0.qxHW9ImXomk#imgrc=i0acCYGOGHuPuM:

[16]

https://www.google.com/search?q=pentacopter&source=lnms&tbm=isch&sa=X&ved=0ahUKEwjL-fSN59bhAhVC_CoKHaGbAsQQ_AUIDigB&biw=1366&bih=576#imgrc=UGsxktxqgvg-aM:

[17]

https://www.google.com/search?q=hexacopter+schema&source=lnms&tbm=isch&sa=X&ved=0ahUKEwil_NrD8dbhAhUPlYsKHaWtD8IQ_AUIDigB&biw=1366&bih=576#imgrc=6iBaItY9tbbSiM:

[18]

https://www.droneware.ro/drones/droneware-blackhawk-v2

[19]

https://www.google.com/search?biw=1366&bih=576&tbm=isch&sa=1&ei=1v62XKK3CMPgkgXlmZ_gDQ&q=octocopter+x+and+plus&oq=octocopter+x+and+plus&gs_l=img.3…17661.20137..20316…0.0..0.120.978.7j3……1….1..gws-wiz-img.mt2h6tOs5hw#imgrc=jCQUoq2Vv2mLeM:

[20]

https://www.google.com/search?biw=1366&bih=576&tbm=isch&sa=1&ei=9v62XMexMIG3kwXogJVI&q=octocopter+x&oq=octocopter+x&gs_l=img.3…46514.46514..46738…0.0..0.86.86.1……1….1..gws-wiz-img.nBVLOTJ05Sk#imgrc=j29rzu1KuOuwAM:

[21]

https://www.google.com/search?biw=1366&bih=576&tbm=isch&sa=1&ei=6_62XK-5BoGYkwXyxKPQCg&q=octocopter+&oq=octocopter+&gs_l=img.3..35i39l2j0i19l8.393772.394468..395305…0.0..0.96.847.10……1….1..gws-wiz-img.7DALVWmIhJQ#imgrc=am-BDfjMXAxOoM:

[22]

https://www.banggood.com/Matek-Systems-BetaFlight-F405-AIO-Flight-Controller-Built-in-PDB-5V-2A-9V-2A-Dual-BEC-for-RC-FPV-Racing-Drone-p-1165338.html?cur_warehouse=CN

[23]

https://www.google.com/search?biw=1366&bih=576&tbm=isch&sa=1&ei=2iG3XPTaD4mZlwSByb6QBg&q=flash+firmware+betaflight&oq=flash+firmware+betaflight&gs_l=img.3…6748.10227..10447…0.0..0.206.2580.15j9j1……1….1..gws-wiz-img…….35i39j0i24j0i30.140U2wCAVhc#imgrc=4it1Sk4NmX9BEM:

[24]

https://www.google.com/search?biw=1366&bih=576&tbm=isch&sa=1&ei=RSy3XK_GM46KlwSmoYvIBQ&q=gyroscope+drone&oq=gyroscope+drone&gs_l=img.3..0i19.5048.9351..9510…2.0..0.103.1815.16j3……1….1..gws-wiz-img…….0i5i30i19j0i8i30i19j35i39j0j0i30j0i67.rK7yEJQqI-o#imgrc=Mq-dgOTYWtkQLM:

[25]

https://www.google.ro/search?hl=ro&biw=1366&bih=576&tbm=isch&sa=1&ei=0C23XJvzIYrOwALK9K7IAw&q=accelerometer&oq=accelerometer&gs_l=img.3..35i39j0j0i30l8.14199.15350..16588…0.0..0.103.544.5j1……1….1..gws-wiz-img…….0i8i30j0i19j0i8i30i19._mXN-VWyG_k#imgrc=hHLxOXCFhSeB6M:

[26]

https://www.google.ro/search?hl=ro&tbm=isch&q=magnetometer+quadcopter&spell=1&sa=X&ved=0ahUKEwiFq-a1vNfhAhXHPFAKHczACXwQBQg7KAA&biw=1366&bih=576&dpr=1#imgrc=qeJVGwfzNz7NNM:

[27]

https://www.banggood.com/UBLOX-NEO-M8N-BN-880-Flight-Control-GPS-Module-Dual-Module-Compass-p-971082.html?rmmds=search&cur_warehouse=CN

[28]

https://www.banggood.com/AOSENMA-CG033-WiFi-FPV-RC-Drone-Quadcopter-Spare-Parts-Barometer-Air-Pressure-Board-p-1378014.html?rmmds=search&cur_warehouse=CN

[29] All about multirotor drone FPV Flight Controllers

https://www.getfpv.com/learn/new-to-fpv/all-about-multirotor-fpv-drone-flight-controller/

[30] Multistar Razor 40A Tower F4 BLHeli_S

https://hobbyking.com/en_us/multistar-razor-40a-tower-f4-blheli-s.html

[31] Brushless DC electric motor

https://en.wikipedia.org/wiki/Brushless_DC_electric_motor

[32] What are Brushless DC Motors

https://www.renesas.com/in/en/support/technical-resources/engineer-school/brushless-dc-motor-01-overview.html

[33]

https://www.google.ro/search?hl=ro&biw=1366&bih=625&tbm=isch&sa=1&ei=03i4XJrJO8PosAfF_rvYCQ&q=rotor+and+stator+from+a+brushless+motor&oq=rotor+and+stator+from+a+brushless+motor&gs_l=img.3…8436.10349..10530…0.0..0.143.623.3j3……1….1..gws-wiz-img…….0i7i30.fyKd8eATvvA#imgrc=X8wjHk9n-jjIjM:

[34] Brushless motors – how they work and what the numbers mean Guides

https://www.dronetrest.com/t/brushless-motors-how-they-work-and-what-the-numbers-mean/564

[35]

https://www.google.com/search?biw=1366&bih=576&tbm=isch&sa=1&ei=s6i4XLHvJZLUwALgnryIBQ&q=inrunner+motor&oq=inrunner+motor&gs_l=img.3..0i19j0i5i30i19j0i8i30i19l3.94771.95952..96223…0.0..0.122.497.4j1……1….1..gws-wiz-img.AEmRyuoM0EQ#imgrc=YzSB5zhrBT7ehM:

[36] Introduction to electronic speed control (ESC) working and applications

https://www.elprocus.com/electronic-speed-control-esc-working-applications/

[37]

https://www.google.com/search?q=esc&source=lnms&tbm=isch&sa=X&ved=0ahUKEwi42J-Wj9rhAhU1i8MKHah5CwwQ_AUIDigB&biw=681&bih=566#imgrc=bJM69TIctV3QJM:

[38]

https://www.google.com/search?tbm=isch&q=esc+4+in+1&spell=1&sa=X&ved=0ahUKEwiXjpHCj9rhAhXPGewKHTM2C-cQBQg7KAA&biw=1366&bih=576&dpr=1#imgrc=gZgqo79VfeZoiM:

[39]

https://www.google.com/search?q=esc+battery+motor&source=lnms&tbm=isch&sa=X&ved=0ahUKEwjcv9eekdrhAhVCw4sKHQBUDXsQ_AUIDigB&biw=681&bih=566#imgrc=Q7XK9omF_3j-vM:

[40]

https://www.google.ro/search?hl=ro&tbm=isch&source=hp&biw=681&bih=566&ei=2rW5XIGQDorKrgTR1ouYDw&q=blheli+esc&oq=esc+blhe&gs_l=img.1.0.0i8i30l2j0i24l2.942.2459..4138…0.0..1.141.853.4j4……1….1..gws-wiz-img…..0..0j35i39j0i30j0i19j0i8i30i19.0D9QHvncOpw#imgrc=5DbuRjFqUOpq8M:

[41]

https://www.google.com/search?q=esc+30A&tbm=isch&source=univ&sa=X&ved=2ahUKEwjTysmYkNzhAhUNp4sKHS1iDwIQsAR6BAgIEAE&biw=681&bih=566#imgdii=wj2efEkNJhsyVM:&imgrc=hQ4ZrVq2cD-3KM:

[42] All about multirotor drone FPV electronic speed controllers

https://www.getfpv.com/learn/new-to-fpv/all-about-multirotor-fpv-drone-electronic-speed-controller/

[43]

https://www.google.com/search?biw=1366&bih=576&tbm=isch&sa=1&ei=ZsK5XKyIJs6QkwXinZngBQ&q=esc+&oq=esc+&gs_l=img.3..35i39l2j0l2j0i30l6.1318.1318..1661…0.0..0.106.106.0j1……1….1..gws-wiz-img.JbB-7-duuyk#imgrc=Hvf4B8uoH6Ez-M:

[44]

https://www.google.com/search?q=betaflight+throttle+limit&source=lnms&tbm=isch&sa=X&ved=0ahUKEwiP3PGoy9zhAhU6AxAIHQztC8MQ_AUIDygC&biw=681&bih=566#imgdii=5XgYvWAI5KN4bM:&imgrc=LH9bReTS4VtzsM:

[45]

https://www.google.ro/search?hl=ro&biw=1366&bih=576&tbm=isch&sa=1&ei=nPu5XPzSGZHgkgXE3a34Cw&q=flying+modes+mode+1+and+mode+2&oq=flying+modes+mode+1+and+mode+2&gs_l=img.3…14530.19304..19487…1.0..0.145.1808.14j5……1….1..gws-wiz-img.ruxLm0BsPNA#imgrc=jnqaxc2P4n86TM:

[46]

https://www.google.com/search?q=protocol+rx+and+tx&source=lnms&tbm=isch&sa=X&ved=0ahUKEwjh87yn29zhAhUlposKHR0nDDEQ_AUIDigB&biw=681&bih=566#imgrc=ncttAOMx1NHGKM:

[47] Lithium Polymer batteries

https://www.all-battery.com/lithiumpolyerbatteries.aspx

[48] Information about battery Turnigy

https://hobbyking.com/en_us/turnigy-high-capacity-battery-6600mah-64s-12c-drone-lipo-pack-xt60.html

[49]

https://www.google.com/search?q=charging+lipo+batteries&source=lnms&tbm=isch&sa=X&ved=0ahUKEwjByLTHhuPhAhXExMQBHb-bBIEQ_AUIDygC&biw=681&bih=566#imgrc=NVbQslaoe5vJ1M:

[50]

https://www.google.com/search?biw=1366&bih=576&tbm=isch&sa=1&ei=nGC9XNbdC9aX1fAP79W-sA8&q=battery+lipo+puffy&oq=battery+lipo+puffy&gs_l=img.3..0i8i30.4587.8830..9145…0.0..0.140.1077.9j2……1….1..gws-wiz-img…….35i39j0i19j0i30i19j0i8i30i19.qGE2grOYS1s#imgrc=ptsdPD4egNgEIM:

[51] A guide to understanding LiPo batteries

https://rogershobbycenter.com/lipoguide

[52] Information about Voltage Alarm

https://hobbyking.com/en_us/hobbykingtm-lipo-voltage-checker-2s-8s.html?___store=en_us

[53]

https://www.google.com/search?q=camera+hs1177&source=lnms&tbm=isch&sa=X&ved=0ahUKEwiV7MzlzObhAhVCtIsKHdB8CJgQ_AUIDigB&biw=1366&bih=576#imgrc=njk6vUywe7mSjM:

[54]

https://www.google.com/search?biw=681&bih=566&tbm=isch&sa=1&ei=l0G_XL2zE4GzkwX7h4GgDg&q=aspect+16%3A9+and+4%3A3&oq=aspect+16%3A9+and+4%3A3&gs_l=img.3…7880.9717..10096…0.0..0.82.592.8……1….1..gws-wiz-img.Q9a55JAmmWo#imgrc=Ya1TJc7rH5bi9M:

[55]

https://www.google.com/search?q=cmos+sensor&source=lnms&tbm=isch&sa=X&ved=0ahUKEwifx-XA1-bhAhXwBBAIHT-LAdoQ_AUIDigB&biw=681&bih=566#imgrc=98f7AviRRtezgM:

[56] Începeți vizualizarea zborului unei drone David Adler

https://www.bhphotovideo.com/explora/video/buying-guide/get-your-drone-first-person-view

[57]

https://www.google.com/search?q=latenta+fpv&source=lnms&tbm=isch&sa=X&ved=0ahUKEwi4n9jV3ebhAhVwsIsKHU7MAsUQ_AUIDigB&biw=681&bih=566#imgrc=MZMF5AikvbKAYM:

[58] All about mutirotor drone FVP cameras

https://www.getfpv.com/learn/new-to-fpv/all-about-multirotor-drone-fpv-camera/

[59]

https://www.google.com/search?q=at90s1200&source=lnms&tbm=isch&sa=X&ved=0ahUKEwiPp5yIiujhAhVwwMQBHStgBPYQ_AUIDigB&biw=732&bih=615#imgrc=0p0cVy3urt9M-M:

[60]

https://www.google.com/search?q=at90s1200&source=lnms&tbm=isch&sa=X&ved=0ahUKEwiPp5yIiujhAhVwwMQBHStgBPYQ_AUIDigB&biw=1366&bih=576#imgrc=FhezkMJ5k0P1vM:

[61] AVR Microcontroller: All you need to know (Part 1/46)

https://www.engineersgarage.com/articles/avr-microcontroller

[62]

https://www.google.com/search?q=dip+40+pini+atmega32&source=lnms&tbm=isch&sa=X&ved=0ahUKEwiG3ZCus-7hAhVthosKHb57CCYQ_AUIDigB&biw=681&bih=615#imgdii=sba9VBwRMxwi7M:&imgrc=U-lQGjblx-Xz8M:

[63]

https://www.elprocus.com/wp-content/uploads/2013/08/44-pad-TQFP-MLF.jpg

[64]

https://www.elprocus.com/wp-content/uploads/2013/08/Interfacing-of-JTAG-using-port-C-of-ATmega32.jpg

[65] Achiziția și prelucrarea semnalelor provenite de la sisteme multisenzoriale Matrix Rom București 2007 Eugenie Posdărăscu, Capitolul 3 Elemente componente și structuri sle sistemelor de achiziție multisenzoriale pagina 69

[66] Types of AVR Microcontroller – ATmega32 and ATmega8

https://www.elprocus.com/types-of-avr-microcontroller-atmega32-and-atmega8/

[67]

https://www.elprocus.com/wp-content/uploads/2013/08/ISP-programmer-circuit-diagram.jpg

[68] ARM Cortex-M

https://en.wikipedia.org/wiki/ARM_Cortex-M

[69] CPU Arhitecture

https://developer.arm.com/architectures/cpu-architecture

[70] Arm Cortex-M Series Processors

https://developer.arm.com/ip-products/processors/cortex-m

[71]

https://www.google.com/search?biw=1366&bih=576&tbm=isch&sa=1&ei=G-TTXPy2LK2XlwSR2ZKgDQ&q=arm+cortex+m&oq=arm+cortex+m&gs_l=img.3..35i39l2j0i19l8.2155.2688..3048…0.0..0.105.193.1j1……1….1..gws-wiz-img.vrI5_WjHc8o#imgrc=g-qQwEcWI2N2XM:

[72] ARM Cortex TM -M4 Technology

https://ro.mouser.com/ARMCortexM4/

[73] What is a Raspberry Pi?

https://www.raspberrypi.org/help/what-%20is-a-raspberry-pi/

[74] What is a Raspberry Pi?

https://opensource.com/resources/raspberry-pi

[75] Raspberry Pi 3 Model B+

https://www.raspberrypi.org/products/raspberry-pi-3-model-b-plus/

[76]

https://www.google.com/search?q=raspberry+pi+3b%2B&source=lnms&tbm=isch&sa=X&ved=0ahUKEwjTl7a_lY7iAhVK5eAKHXn9BcYQ_AUIDigB&biw=1366&bih=576#imgrc=bb4_oxHO82yxvM:

[77]

https://www.raspberrypi.org/documentation/hardware/raspberrypi/mechanical/rpi_MECH_3bplus.pdf

[78]

https://www.google.com/search?q=raspberry+pi+3b%2B&source=lnms&tbm=isch&sa=X&ved=0ahUKEwi7gqbu3Y7iAhWLAxAIHfwOCeUQ_AUIDigB&biw=681&bih=615#imgrc=SlFSM8W2H3_DqM:

[79] Calitatea Aerului

http://www.mmediu.ro/categorie/calitatea-aerului/56

[80] Temperatura Aerului

[81] Umiditate

https://ro.wikipedia.org/wiki/Umiditate

[82] Măsurarea Umidității Aerului

http://www.rasfoiesc.com/educatie/geografie/meteorologie/MASURAREA-UMIDITATII-AERULUI85.php

[83] Măsurarea presiunii aerului

https://www.scribd.com/presentation/200197779/Masurarea-presiunii-atmosferice

[84] Achiziția și prelucrarea semnalelor provenite de la sisteme multisenzoriale Matrix Rom București 2007 Eugenie Posdărăscu, Capitolul 2 Conceptul de sistem multisenzorial, pagina 13

[85] Senzor

https://ro.wikipedia.org/wiki/Senzor

[86] CCS811/BME280(Qwiic) Environmental Combo Breakout Hookup Guide

https://learn.sparkfun.com/tutorials/ccs811bme280-qwiic-environmental-combo-breakout-hookup-guide?_ga=2.88114843.1865145136.1557419225-1373542379.1553105664

[87]

https://www.google.com/search?q=CCS811/BME280&source=lnms&tbm=isch&sa=X&ved=0ahUKEwin7Jmn8Y7iAhVDmYsKHZGIAKwQ_AUIDigB&biw=681&bih=566#imgrc=gf1Ay0QyVz3TOM:

[88] Modul SparkFun Qwiic cu Senzori CCS811/BME280 pentru Monitorizarea Condiții Atmosferice și Calitate Aer

https://www.optimusdigital.ro/ro/senzori/4097-modul-sparkfun-qwiic-cu-senzori-ccs811bme280-pentru-monitorizare-conditii-atmosferice-si-calitate-aer.html

[89] SparkFun Qwiic HAT for Raspberry Pi

https://www.sparkfun.com/products/14459?_ga=2.55845291.1865145136.1557419225-1373542379.1553105664

[90]

https://www.google.com/search?biw=1366&bih=576&tbm=isch&sa=1&ei=9VrUXIL2OrmCjLsPiLS9uAg&q=qwiic+pi+hat&oq=qwiic+pi+hat&gs_l=img.3…5494.7005..7212…0.0..0.476.1003.1j4j4-1……1….1..gws-wiz-img.OEpxR03EH9o#imgrc=19BotacRBK8d2M:

[91] Environmental_Combo_Breakout_Qwiic_v10

https://cdn.sparkfun.com/assets/3/a/5/c/9/Environmental__Combo_Breakout_Qwiic_v10.pdf

[92]

https://www.google.ro/search?hl=ro&biw=1366&bih=625&tbm=isch&sa=1&ei=aV3UXJfOJMbCwALAqL7wBw&q=qwiic+pi+hat&oq=qwiic+pi+hat&gs_l=img.3..35i39.6185.7018..7255…0.0..0.90.496.6……1….1..gws-wiz-img.spjTCHxEktE#imgrc=Ccl5C0cKksmkAM:

[93]

https://www.robofun.ro/senzori/vreme/senzor-ccs811-bme280-qwiic-?sort=p.price&order=DESC

[94] Engineers Garage 4G Technology

https://www.engineersgarage.com/articles/4G-technology

[95]

https://www.4g.co.uk/userfiles/wp-content/4g-download-speeds.jpg

[96]

https://www.4g.co.uk/userfiles/files/4g-upload-speeds.jpg

[97]

https://www.4g.co.uk/userfiles/wp-content/4G-Latency-Pings.jpg

[98] What is 4G?

https://www.4g.co.uk/what-is-4g/

[99] Tehnologia 5G și noua lume nouă

https://semneletimpului.ro/stiinta/tehnologie/inventii/tehnologia-5g-si-noua-lume-noua.html

[100] 5G e mai mult decât un viitor standard de telecomunicații. Revoluția care e deja în pregătire ar urma să ne transfore radical viețile de George Stanciu

https://playtech.ro/2018/5g-standard-tehnologie-beneficii-romania/

CAPITOLUL VI ANEXE

Anexa 1

Cod sursă preluare date Senzor BME280

import smbus

import time

from influxdb import InfluxDBClient

client = InfluxDBClient('localhost', 8086, 'admin', 'admin', 'date')

while True:

bus = smbus.SMBus(1)

b1 = bus.read_i2c_block_data(0x77, 0x88, 24)

# Temp coefficients

dig_T1 = b1[1] * 256 + b1[0]

dig_T2 = b1[3] * 256 + b1[2]

if dig_T2 > 32767 :

dig_T2 -= 65536

dig_T3 = b1[5] * 256 + b1[4]

if dig_T3 > 32767 :

dig_T3 -= 65536

# Pressure coefficients

dig_P1 = b1[7] * 256 + b1[6]

dig_P2 = b1[9] * 256 + b1[8]

if dig_P2 > 32767 :

dig_P2 -= 65536

dig_P3 = b1[11] * 256 + b1[10]

if dig_P3 > 32767 :

dig_P3 -= 65536

dig_P4 = b1[13] * 256 + b1[12]

if dig_P4 > 32767 :

dig_P4 -= 65536

dig_P5 = b1[15] * 256 + b1[14]

if dig_P5 > 32767 :

dig_P5 -= 65536

dig_P6 = b1[17] * 256 + b1[16]

if dig_P6 > 32767 :

dig_P6 -= 65536

dig_P7 = b1[19] * 256 + b1[18]

if dig_P7 > 32767 :

dig_P7 -= 65536

dig_P8 = b1[21] * 256 + b1[20]

if dig_P8 > 32767 :

dig_P8 -= 65536

dig_P9 = b1[23] * 256 + b1[22]

if dig_P9 > 32767 :

dig_P9 -= 65536

dig_H1 = bus.read_byte_data(0x77, 0xA1)

b1 = bus.read_i2c_block_data(0x77, 0xE1, 7)

# Humidity coefficients

dig_H2 = b1[1] * 256 + b1[0]

if dig_H2 > 32767 :

dig_H2 -= 65536

dig_H3 = (b1[2] & 0xFF)

dig_H4 = (b1[3] * 16) + (b1[4] & 0xF)

if dig_H4 > 32767 :

dig_H4 -= 65536

dig_H5 = (b1[4] / 16) + (b1[5] * 16)

if dig_H5 > 32767 :

dig_H5 -= 65536

dig_H6 = b1[6]

if dig_H6 > 127 :

dig_H6 -= 256

bus.write_byte_data(0x77, 0xF2, 0x01)

bus.write_byte_data(0x77, 0xF4, 0x27)

bus.write_byte_data(0x77, 0xF5, 0xA0)

time.sleep(0.5)

data = bus.read_i2c_block_data(0x77, 0xF7, 8)

# Convert pressure and temperature data to 19-bits

adc_p = ((data[0] * 65536) + (data[1] * 256) + (data[2] & 0xF0)) / 16

adc_t = ((data[3] * 65536) + (data[4] * 256) + (data[5] & 0xF0)) / 16

# Convert the humidity data

adc_h = data[6] * 256 + data[7]

# Temperature offset calculations

var1 = ((adc_t) / 16384.0 – (dig_T1) / 1024.0) * (dig_T2)

var2 = (((adc_t) / 131072.0 – (dig_T1) / 8192.0) * ((adc_t)/131072.0 – (dig_T1)/8192.0)) * (dig_T3)

t_fine = (var1 + var2)

cTemp = (var1 + var2) / 5120.0

fTemp = cTemp * 1.8 + 32

# Pressure offset calculations

var1 = (t_fine / 2.0) – 64000.0

var2 = var1 * var1 * (dig_P6) / 32768.0

var2 = var2 + var1 * (dig_P5) * 2.0

var2 = (var2 / 4.0) + ((dig_P4) * 65536.0)

var1 = ((dig_P3) * var1 * var1 / 524288.0 + ( dig_P2) * var1) / 524288.0

var1 = (1.0 + var1 / 32768.0) * (dig_P1)

p = 1048576.0 – adc_p

p = (p – (var2 / 4096.0)) * 6250.0 / var1

var1 = (dig_P9) * p * p / 2147483648.0

var2 = p * (dig_P8) / 32768.0

pressure = (p + (var1 + var2 + (dig_P7)) / 16.0) / 100

# Humidity offset calculations

var_H = ((t_fine) – 76800.0)

var_H = (adc_h – (dig_H4 * 64.0 + dig_H5 / 16384.0 * var_H)) * (dig_H2 / 65536.0 * (1.0 + dig_H6 / 67108864.0 * var_H * (1.0 + dig_H3 / 67108864.0 * var_H)))

humidity = var_H * (1.0 – dig_H1 * var_H / 524288.0)

if humidity > 100.0 :

humidity = 100.0

elif humidity < 0.0 :

humidity = 0.0

# client.query('INSERT bme,celsius={0},fahrenheit={1} pressure={2};'.format(cTemp, fTemp, pressure))

json_body = [

{

"measurement": "bme",

"fields": {

"celsius": cTemp,

"fahrenheit": fTemp,

"pressure": pressure,

"humidity": humidity

}

}

]

print("Write points: {0}".format(json_body))

client.write_points(json_body)

Anexa 2

Cod sursă preluare date Senzor CCS811

import pigpio

import time

from influxdb import InfluxDBClient

client = InfluxDBClient('localhost', 8086, 'admin', 'admin', 'date')

CCS811_ADDR = 0x5B

CSS811_STATUS = 0x00

CSS811_MEAS_MODE = 0x01

CSS811_ALG_RESULT_DATA = 0x02

CSS811_RAW_DATA = 0x03

CSS811_ENV_DATA = 0x05

CSS811_NTC = 0x06

CSS811_THRESHOLDS = 0x10

CSS811_BASELINE = 0x11

CSS811_HW_ID = 0x20

CSS811_HW_VERSION = 0x21

CSS811_FW_BOOT_VERSION = 0x23

CSS811_FW_APP_VERSION = 0x24

CSS811_ERROR_ID = 0xE0

CSS811_APP_START = 0xF4

CSS811_SW_RESET = 0xFF

class CCS811:

def __init__(self):

self.pi = pigpio.pi()

self.device = self.pi.i2c_open(1, 0x5B)

self.tVOC = 0

self.CO2 = 0

def print_error(self):

error = self.pi.i2c_read_byte_data(self.device, CSS811_ERROR_ID)

message = 'Error: '

if error & 1 << 5:

message += 'HeaterSupply '

elif error & 1 << 4:

message += 'HeaterFault '

elif error & 1 << 3:

message += 'MaxResistance '

elif error & 1 << 2:

message += 'MeasModeInvalid '

elif error & 1 << 1:

message += 'ReadRegInvalid '

elif error & 1 << 0:

message += 'MsgInvalid '

print(message)

def check_for_error(self):

value = self.pi.i2c_read_byte_data(self.device, CSS811_STATUS)

return value & 1 << 0

def app_valid(self):

value = self.pi.i2c_read_byte_data(self.device, CSS811_STATUS)

return value & 1 << 4

def set_drive_mode(self, mode):

if mode > 4:

mode = 4

setting = self.pi.i2c_read_byte_data(self.device, CSS811_MEAS_MODE)

setting &= ~(0b00000111 << 4)

setting |= (mode << 4)

self.pi.i2c_write_byte_data(self.device, CSS811_MEAS_MODE, setting)

def configure_ccs811(self):

hardware_id = self.pi.i2c_read_byte_data(self.device, CSS811_HW_ID)

if hardware_id != 0x81:

raise ValueError('CCS811 not found. Please check wiring.')

if self.check_for_error():

self.print_error()

raise ValueError('Error at Startup.')

if not self.app_valid():

raise ValueError('Error: App not valid.')

self.pi.i2c_write_byte(self.device, CSS811_APP_START)

if self.check_for_error():

self.print_error()

raise ValueError('Error at AppStart.')

self.set_drive_mode(1)

if self.check_for_error():

self.print_error()

raise ValueError('Error at setDriveMode.')

def setup(self):

print('Starting CCS811 Read')

self.configure_ccs811()

result = self.get_base_line()

def get_base_line(self):

a, b = self.pi.i2c_read_i2c_block_data(self.device, CSS811_BASELINE, 2)

baselineMSB = b[0]

baselineLSB = b[1]

baseline = (baselineMSB << 8) | baselineLSB

return baseline

def data_available(self):

value = self.pi.i2c_read_byte_data(self.device, CSS811_STATUS)

return value & 1 << 3

def run(self):

self.setup()

while True:

if self.data_available():

self.read_logorithm_results()

json_body = [

{

"measurement": "ccs",

"fields": {

"CO2": self.CO2,

"tVOC": self.tVOC}

}

]

print("Write points: {0}".format(json_body))

client.write_points(json_body)

elif self.check_for_error():

self.print_error()

time.sleep(1)

def read_logorithm_results(self):

b, d = self.pi.i2c_read_i2c_block_data(self.device, CSS811_ALG_RESULT_DATA, 4)

co2MSB = d[0]

co2LSB = d[1]

tvocMSB = d[2]

tvocLSB = d[3]

self.CO2 = (co2MSB << 8) | co2LSB

self.tVOC = (tvocMSB << 8) | tvocLSB

c = CCS811()

c.run()

Anexa 3

Cod sursă pentru realizarea livestreaming

import io

import picamera

import logging

import socketserver

from threading import Condition

from http import server

PAGE="""\

<html>

<head>

<title>Raspberry Pi – </title>

</head>

<body>

<center><h1>Raspberry Pi – Vizualizare in timp real</h1></center>

<center><img src="stream.mjpg" width="1920" height="1080"></center>

</body>

</html>

"""

class StreamingOutput(object):

def __init__(self):

self.frame = None

self.buffer = io.BytesIO()

self.condition = Condition()

def write(self, buf):

if buf.startswith(b'\xff\xd8'):

self.buffer.truncate()

with self.condition:

self.frame = self.buffer.getvalue()

self.condition.notify_all()

self.buffer.seek(0)

return self.buffer.write(buf)

class StreamingHandler(server.BaseHTTPRequestHandler):

def do_GET(self):

if self.path == '/':

self.send_response(301)

self.send_header('Location', '/index.html')

self.end_headers()

elif self.path == '/index.html':

content = PAGE.encode('utf-8')

self.send_response(200)

self.send_header('Content-Type', 'text/html')

self.send_header('Content-Length', len(content))

self.end_headers()

self.wfile.write(content)

elif self.path == '/stream.mjpg':

self.send_response(200)

self.send_header('Age', 0)

self.send_header('Cache-Control', 'no-cache, private')

self.send_header('Pragma', 'no-cache')

self.send_header('Content-Type', 'multipart/x-mixed-replace; boundary=FRAME')

self.end_headers()

try:

while True:

with output.condition:

output.condition.wait()

frame = output.frame

self.wfile.write(b'–FRAME\r\n')

self.send_header('Content-Type', 'image/jpeg')

self.send_header('Content-Length', len(frame))

self.end_headers()

self.wfile.write(frame)

self.wfile.write(b'\r\n')

except Exception as e:

logging.warning(

'Removed streaming client %s: %s',

self.client_address, str(e))

else:

self.send_error(404)

self.end_headers()

class StreamingServer(socketserver.ThreadingMixIn, server.HTTPServer):

allow_reuse_address = True

daemon_threads = True

with picamera.PiCamera(resolution='1920×1080', framerate=30) as camera:

output = StreamingOutput()

camera.rotation = 180

camera.start_recording(output, format='mjpeg')

try:

address = ('', 8000)

server = StreamingServer(address, StreamingHandler)

server.serve_forever()

finally:

camera.stop_recording()

Similar Posts