Asist.univ.dr.ing. STÎNGĂ FLORIN SEPTEMBRIE 2017 CRAIOVA SISTEM INTELIGENT DE PARCARE FOLOSIND ARDUINO UNO Andrei-Constantin Cucu COORDONATOR… [302792]
[anonimizat].univ.dr.ing. STÎNGĂ FLORIN
SEPTEMBRIE 2017
[anonimizat].univ.dr.ing. STÎNGĂ FLORIN
SEPTEMBRIE 2017
CRAIOVA
„Învățătura este o comoară care își urmează stăpânul pretutindeni.”
[anonimizat], student: [anonimizat], Calculatoare și Electronică a [anonimizat], [anonimizat]:
[anonimizat].univ.dr.ing. [anonimizat] S EPTEMBRIE 2017.
[anonimizat]:
reproducerea exactă a [anonimizat]-o [anonimizat]-o [anonimizat],
[anonimizat], [anonimizat] a unor aplicații realizate de alți autori fără menționarea corectă a [anonimizat] a [anonimizat].
Pentru evitarea acestor situații neplăcute se recomandă:
plasarea între ghilimele a citatelor directe și indicarea referinței într-o [anonimizat] a [anonimizat] a sursei originale de la care s-a [anonimizat] s-[anonimizat], figuri, imagini, statistici, [anonimizat], a căror paternitate este unanim cunoscută și acceptată.
Data, Semnătura candidat: [anonimizat],
PROIECTUL DE DIPLOMĂ
REFERATUL CONDUCĂTORULUI ȘTIINȚIFIC
În urma analizei lucrării candidat: [anonimizat]:
[anonimizat]:
Data, [anonimizat] o [anonimizat] a realiza un sitem de parcare inteligentă. În cadrul primului capitol este prezentată o scurtă introducere care face referire la plăcuța de dezvoltare Arduino si la caracteristicile acesteia.
Următorul capitol prezintă implementarea software a proiectului si conceptele utilizate în cadrul acestuia . În următorul capitol urmând să fie descrisă implemntarea hardware si diferitele componente electronice folosite alaturi de placa de dezvoltare Arduino . Conținutul ultimului capitol descrie realizarea montajului și funcționarea efectivă a proiectului în diferite situații.
Termenii cheie: microcontroller , Arduino, senzori, servo-motor.
LISTA FIGURILOR
Figura 2.4.1.1 Helicopter-ul 6
Figura 3.4.2.1 Tricopter-ul 7
Figura 2.4.3.1 Quadcopter-ul 8
Figura 2.5.1 Industrie 4.0 10
Figura 3.1.1.1 Motor 12
Figura 3.1.1.2 Specificații motor 13
Figura 3.1.2.1 ESC 13
Figura 3.1.2.2 Mufă conector ESC 14
Figura 3.1.2.3 Specificații ESC 14
Figura 3.1.4.1 Senzor ultrasonic 17
Figura 3.1.4.2 Diagrama de timp 18
Figura 3.1.5.1 Giroscop 3 axe 19
Figura 3.1.5.2 Componente suplimentare încorporate 21
Figura 3.1.6.1 Magnetometru LIS3MDL 22
Figura 3.1.6.2 Componente suplimentare încorporate 24
Figura 4.1 Placa myRIO-1900 26
Figura 4.1.1 Prezentare hardware placă 27
Figura 4.1.2 Conectarea pinilor de ieșire 28
Figura 4.1.3 Semnale primare/secundare pe conectorul MSP 29
Figura 4.2.1 Circuitul de intrare analogic NI myRIO-1900 30
Figura 4.3.1 Circuitul de ieșire analogic NI myRIO-1900 31
Figura 4.6.1 Linii DIO <13..0> pe conectorul MXP A sau B 33
Figura 4.6.2 Linii DIO <15..14> pe conectorul MXP A sau B 33
Figura 4.6.3 Linii DIO <7..0> pe conectorul MSP C 34
Figura 5.5.1 Interacțiuni între stări, derivate de stare și intrări de control 43
Figura 6.1.1 Generare PWM 46
Figura 6.1.2 Comandă motoare 47
Figura 6.2.1 Implementarea software a accelerometrului 47
Figura 6.2.2 Accelerațiile unghiulare 48
Figura 6.3.1 Deplasări unghiulare 49
LISTA TABELELOR
Tabelul 3.1.6.1 Semnificație pini magnetometru 24
Tabelul 4.1.1 Descrierea semnalelor pe conectorii MXP A și B 29
Tabelul 5.4.1 Parametrii controlerului PD 42
Tabelul 5.6.1 Valori parametrii lege 45
Capitolul 1. Introducere și descrierea proiectului
Scopul
Scopul acestui proiect este crearea modelui unui sistem inteligent de parcare. Pentru a realiza acest lucru, vom utiliza plăcuța de dezvoltare Arduino Uno, precum si o serie de alte componente electronice cum ar fi : servmotorul Fitec FS90R, un afișaj numeric cu 7 segmente, un senzor de presiune a cărui funcționare va fi descrisă in cele ce urmează, rezistoare de 470 ohmi etc.
Motivația
Industria auto se află în continuă dezvoltare ceea ce duce implicit la necesitaea unor amenajări care să permită parcarea autovehiculelor într-o manieră cat mai accesibilă astfel încât să nu fie afectată în nicio manieră circulația și accesul altor autovehicule. De cele mai multe ori locurile amenajate de parcare nu dispun de nicun mijloc de indicare a spațiilor libere și necesiăe cele mai mule ori intervenția sau controlul uman. Insuficiența locurilor de parcare poate deveni uneori o problemă critică. Timpul pierdut precum și diferitele situați neplăcute în caree suntem puși în momentele în care cautam un loc de parcare sunt o problemă cu care majoritatea dintre noi ne-am confruntata la un moment de timp sau altul.
Astfel un sistem inteligent care să controleze dar și să monitorizeze în același timp o parcare amenajată ore o multitudine de avantaje practice. Prin intermediul unui astfel de sistem, se evită supraaglomerarea și eventualele blocaje. De asemenea se reduce intr-o măsură ridicată timpul pierdut în căutarea unui loc liber prin afișarea în timp real a locurilor libere. Un astfel de sistem poate fi considerat ca un punct de plecare în viitoarele proiecte ce au în scop crearea unor spați de parcare.
Obiectivul proiectului
Proiectarea unui sistem eficient de parcare capabil să furnizeze informații în timp real cu privire la locurile libere.
Economisirea timpului pierdut în cautarea unui loc liber de parcare prin afișarea exacta a numarului de locuri libere.
Aflarea mai mulor informații despre impactul energetic asupra mediului și despre rolul nostru de ingineri de a oferi soluții, economisind energia automobilelor care, la rândul lor, reduc emisiile de CO2 și alte gaze nocive; având prin urmare, un mediu mai verde si mai puțin poluat.
Specificațiile proiectului
Principalele puncte cheie ale proiectului sunt :
Consum redus de electricitate.
Ușor de instalat și de întreținut.
Ușor de proiectat pentru minimizarea costurilor.
Afișaj clar și control eficient.
Exmeple de sisteme inteligente de parcare
La nivel global, populația a crescut considerabil în ultimii ani, ajungând la peste 7 miliarde și jumătate de locuitori. Marile orașe au devenit din ce în ce mai aglomerate, iar odată cu această creșterea populației asistam și la o creștere a numărului de autovehicule. Această creștere scoate în evidență problema dar și totodată necesitatea unor locuri de parcarre adecvate.
Experții estimează că, în SUA, de exemplu, procentul posesorilor de vehicule motorizate care sunt în căutarea unui loc de parcare în oraș variază între 10 și 30%. În New York procentul ajunge chiar la 45%. Un studiu realizat în Los Angeles în 2007 a arătat că de-a lungul unui an, deținătorii de vehicule motorizate au condus 1,5 milioane de km în căutarea unui loc de parcare într-un areal de 15 străzi, folosind 180.000 de litri de benzină și au emis 730 de tone de dioxid de carbon. Utilizarea unor sisteme de parcare inteligentă duce la scăderea nivelului de poluare, a timpului pierdut în căutarea unui loc de parcare și la reducerea cheltuielilor cu combustibilul.
Pentru a face față acestor problemelor, este necesar să se dezvolte soluții avansate pentru gestionarea eficientă a spațiului de parcare, în special la aeroporturi, mall-uri, universități și orice parcări mari care sunt utilizate în mare măsură. Există o serie de companii care oferă soluții de gestionare a parcărilor, cum ar fi Siemens, Nortech și Omnitech.
Nortech folosește un grup de produse care oferă metode de numărare a vehiculelor care intră sau părăsesc o parcare sau depozit și care urmăresc spațiile disponibile din cadrul acestora. Compania folosește ceea ce ei numesc Sistemul NorParc de numărare și ghidare a nivelului, care oferă feedback în timp real,alarme și generarea de rapoarte cu privire la situația locurilor dintr-o parcare. Poate gestiona atât parcări mici, cu un singur nivel și parcuri cu mai multe etaje, cu semnele care arată spațiul disponibil la fiecare nivel.
Siemens oferă mai multe servicii de management al parcării, printre care: sisteme inteligente de orientare a parcării, modalități convenabile de plată,afișare și tehnologie modernă pentru parcări.
Utilizează Sitraffic Guide: sistem de orientare pentru parcare care utilizează semnale dinamice și mesaje pentru a furniza informații conducătorului auto cu privire la nivelurile actuale de ocupare a zonelor de parcare individuale și pentru a îndruma oamenii de-a lungul celui mai scurt drum spre destinația finală de parcare, ceea ce va reduce dramatic volumul traficului și poluarea mediului.
Figura 1.5.1. Sistem Sitraffic
Omnitech utilizează sisteme moderne de gestionare a parcării, care constau în unități de barieră de intrare și de ieșire, parcare, sistem de control al parcării auto, sisteme de plăți și sisteme de numărare a parcărilor în toate tipurile diferite. Principalul serviciu oferit de Omnitech este OmnyPark OP-511, care este un senzor de parcare cu ultrasunete, utilizat pentru sistemul de ghidare a parcării în garaj proiectat cu ajutorul unui detector cu ultrasunete ca parte integrantă a soluției de orientare și de management al parcării.
Senzorul de parcare utilizează detectarea cu ultrasunete a spațiului de parcare al autovehiculului pentru a primi un mesaj și a transfera unitatea de control zone sau alte echipamente prin conexiunea RS485. Un spațiu de parcare necesită un detector ultrasonic care este instalat în mijlocul spațiului parcării.
Capitolul 2. Arduino
Ce este Arduino?
Arduino este o platform de dezvoltare “open-source” bazat pe o placă de devoltare ce are în componență un microcontroler și o serie de alte componente care facilitează programarea dar și încorporarea acestuia în cadrul altor circuite. Arduino are o gamă largă de utilizare variind de la interacțiunea cu alte obiecte și senzori până la controlul diferitelor leduri, afișaje sau motoare.Plăcile de dezvoltare Arduino utilizează o varietate de microprocesoare și microcontrolere. Plăcile sunt echipate cu seturi ini I/O, digitali și analogici, care pot fi interfațați cu o gamă largă de plăcuțe numite scuturi (shield-uri) și/sau cu alte circuite.
Arduino vine cu un mediu de dezvoltare integrat (IDE) bazat pe proiectul Processing, care include suport pentru limbaje de programare ca C și C++. Primul Arduino a fost lansat în 2005, având ca țintă asigurarea unei soluții ieftine și simple pentru începători și profesioniști spre a crea dispozitive capabile să interacționeze cu mediul, folosind senzori și sisteme de acționare.
Plăcuțele Arduino sunt disponibile comercial sub formă preasamblată sau sub forma unor kituri de asamblat acasă (do-it-yourself). Specificațiile schemelor sunt disponibile pentru orice utilizator, permițând oricui să fabrice plăcuțe Arduino. Adafruit Industries estimase la mijlocul anului 2011 că peste 300.000 de plăcuțe oficiale Arduino au fost produse, iar în 2013, 700.000 de plăcuțe oficiale erau în posesia utilizatorilor.
Numele Arduino provine dintr-un bar din Ivrea, Italia, unde se întâlneau unii dintre fondatorii proiectului. Barul a fost numit la rândul său după Arduin de Ivrea, care a fost magistrat al Ivreei și rege al Italiei între 1002 și 1014.
Originea proiectului Arduino a început la Institutul de Design al Interacțiunii Ivrea (IDII) din Ivrea, Italia. În acel moment, studenții foloseau un microcontroler BASIC la un cost de 100 de dolari, o cheltuială considerabilă pentru mulți studenți. În 2003, Hernando Barragán a creat platforma de dezvoltare Wiring ca proiect de masterat la IDII, sub supravegherea lui Massimo Banzi și Casey Reas, care sunt cunoscuți pentru contibuția la dezvoltarea limbajului Processing. Scopul proiectului a fost de a crea instrumente simple și ieftine care să poată fie utilizate si de către persoane care nu au o pregătire în inginerie. Hardware-ul original Arduino a fost produs de compania italiană Smart Projects . Unele plăci cu marca Arduino au fost proiectate de companiile americane SparkFun Electronics și Adafruit Industries. Începând din 2016, 17 versiuni ale hardware-ului Arduino au fost produse comercial.
Definiția unui microcontroler
Un microcontoler (de cele mai multe ori abreviat µC, uC sau MCU) poate fi definit ca și un microcalculator integrat într-un singur cip. Acesta include pe aceași placă o unitate centrală de programare (CPU), mermoria precum o serie de periferice Intrare/Ieșire care pot fi programate.
Despre microcontrolere
Microcontrolerele sunt utilizate în produsele și dispozitivele controlate în mod automat, cum ar fi sistemele de control al motorului pentru automobile, dispozitivele medicale implantabile, telecomenzi, aparatele și sculele electrice, jucării și alte sisteme integrate. Prin reducerea mărimii și a costurilor, comparativ cu un design care utilizează un microprocesor separat, memorie și dispozitive de intrare / ieșire, microcontrolerele fac economie în cea privește capacitatea de a controla digital încă și mai multe dispozitive și procese. Microcontrolerele au fost inițial programate numai în limbajul de asamblare, dar diferite limbi de programare la nivel înalt, cum ar fi C, Python și JavaScript, sunt acum utilizate în mod obișnuit pentru a programa microcontrolere și sisteme încorporate.
Microcontrolerul este sistemul central al acestui proiect și al oricărui circuit electric datorită faptului că acesta poate fi considerat ca și “creierul” capabil să ia decizii bazate pe informațiile primite cât și să trimită comenzi către sitemele cu care interacționează. Un alt criteriu îl consideră flexibilitatea în schimbarea și modifcarea programului în sine deoarece necesită doar schimbarea și apoi încărcarea programului pe cipul aflat pe placa de dezvoltare. Acest aspect este foarte dificil de realizat în cazul în care sunt folosite,circuite integrate de exemplu acestea necesitând modificarea fizică a configurațieilucru care consumă timp și duce la o creștere a complexității.
Acest proiect prezintă de asemenea o bună ocazie pentru a învăța despre microcontrolere și programarea sistemelor bazate pe microcontrolere avănd în vedere faptul că majoritatea sistemelor electronice din ziua de azi își bazează funcționarea pe astfel de dispozitive.
Exemple de microcontolere viabile pentru realizarea proiectului
Selecția dizpozitivului utilizat a fost bazată atât pe fiabilitatea acestuia cât și pe gradul de dificultate în cea ce privește programarea acestuia și integrarea cu celălalte dizpzitive. Cele mai commune doua astfel de dizpozitive compatibile cu cerințele proiectului sunt :
Arduino: Un Arduino este mic computer care poate fi programat să transmită dar si să recepționeze semnale și comenzi din și înspre cip. Este ușor de programat si utilizat iar în cea ce privește alimentarea poate fi conectat la un PC prin intermediul unui cablu USB. Programarea acestuia este realizată utilizând limbajul de programare creat de Arduino.
PIC18F8722: Microcontrolorele din familia PIC sunt realizate utilizând arhitectura RISC al cărui set redus de instrucțiuni prezintă atât un avantaj cât și o limitare.
Având în vedere informațiile enumerate anterior am decis să realizez acest proiect utilizând un microcontroler Arduino și anume Arduino Uno. La baza alegeriifacute s-a aflat atât fiabilitatea acestuia cât ușurința cu care se programează un astel de microcontroler.
Arduino Uno : Proprietăți, Specificații Tehnice si Alimentare
Arduino Uno este o placă de dezvoltare bazată pe microcontrolerul ATmega328 . Are 14 pini digitali de intrare/ieșire dintre care 6 pot fi folosiți ca și ieșiri PWM, 6 intrari analogice, un oscilator de cristal de 16 MHz, o conexiune USB, o mufă de alimentare, un antet ICSP și un buton de resetare.
Figura 2.5.1. Arduino Uno
"Uno" înseamnă unu în limba italiană și a fost ales pentru a marca lansarea programului Arduino Software (IDE) 1.0. Placa Uno și versiunea 1.0 a programului Arduino Software (IDE) au fost versiunile de referință ale Arduino, care au evoluat acum în versiuni mai noi. Placa Uno este prima dintr-o serie de plăci USB Arduino și modelul de referință pentru platforma Arduino
Specificații Tehnice:
Tensiune de lucru: 5V
Tensiune de intrare (recomandat): 7-12V
Tensiune de intrare (limita): 6-20V
Pini digitali: 14 (6 PWM output)
Pini analogici: 6
Curent per pin I/O: 40 mA
Curent 3.3V: 50 mA
Memorie Flash: 32 KB (ATmega328) 0.5 KB pentru bootloader
SRAM: 2 KB (ATmega328)
EEPROM: 1 KB (ATmega328)
Clock Speed: 16 MHz
Figura 2.5.2. Lista componentelor
Arduino Uno poate fi alimentat de o conexiune USB sau de o sursă de alimentare externă. Sursa de alimentare este selectată automat. Placa poate fi alimentată la o sursă externă de 6 până la 20 de volți. Dacă mai puțin de 7V sunt furnizați, pinul 5V va furniza la rândul lui mai puțin de 5 volți, iar placa poate fi instabilă. Dacă se utilizează o alimentare cu mai mai mult de 12V, regulatorul de tensiune se poate supraîncălzi și poate deteriora placa. Intervalul recomandat de alimentare este de la 7 la 12 volți.
Figura 2.5.3. Cablu USB și adaptor de tesnsiune Arduino
Arduino poate fi folosit pentru a dezvolta aplicații interactive independente sau poate fi conectat la un computer pentru a prelua sau a trimite date către Arduino și apoi să acționeze asupra acelor date. Gama aplicațiilor în care un arduino poate fi folosit variază de la obiecte interactive până la proiectarea și conducerea roboților. Arduino poate fi conectat la display-uri LED sau LCD, cititoare RFID, butoane, comutatoare, motoare, senzori de temperatură, senzori de presiune, senzori de distanță, camere web, imprimante, receptoare GPS și module Ethernet.
Figura 2.5.4. Diagrama Arduino Uno
Programarea unuui Arduino
Arduino are propriul software de programare, care permite utilizatorului să descarce și să încarce programe și alte funcționalități, cum ar fi depanarea. Software-ul este oferit gratis de Arduino și poate fi descărcat de pe site-ul acestora. Acesta folosește limbajul C ca și li9mbaj de programare lucru care poate fi observat și în urmatoarea figură. Un program scris cu IDE pentru Arduino este numit o schiță. Schițele sunt salvate pe computerul de dezvoltare ca fișiere text cu extensia .ino.
Software-ul de programare IDE Arduino utilizează programul avrdude pentru a converti codul executabil într-un fișier text în codificare hexazecimală care este încărcat în placa Arduino printr-un program de încărcător din firmware-ul plăcii.
Figura 2.6.1. Software-ul utilizat în programarea unui Arduino
Comunicarea dintre Arduino și PC se realizează cu ajutorul unui cablu USB pentru a transfera datele așa cum se arată în figura 2.6.2.
Figura 2.6.2. Transferul programului către Arduino
Vederea datelor seriale necesită un monitor, care, la fel ca un monitor obișnuit, ne va arăta ce date sunt transferate așa cum se arată în figura 2.6.3.
Figura 2.6.3. Serial monitor
Configurarea aplicației Arduino
După descărcarea și instalarea software-ului Arduino, primul pas este configurarea software-ul Arduino pentru ca acesta să folosescă placa de dezvoltare corectă.
Figura 2.7.1. Configurarea aplicației
Următorul pas este alegerea portului serial așa cum este prezentat în următoare figură :
Figura 2.7.2. Alegerea portului serial
Așa cum se observă în următoarea figură programul se poate scrie în următoarea fereastră:
Figura 2.7.3. Fereastra de lucru
Programarea utilizând softul Arduino IDE
Există două secțiuni principale în acest software. Mai jos sunt câteva funcții care sunt folosite în programarea Arduino și esențiale pentru a învăța și realiza chiar și cele mai simple programe. Funcția setup () este apelată când începe un program. Se utilizează pentru inițializarea variabilelor, a modurilor de conectare,pentru includerea bibliotecilor etc. Funcția de configurare va funcționa o singură dată, după fiecare pornire sau resetare a plăcii Arduino. După crearea funcției setup (), care inițializează și stabilește valorile inițiale, funcția de buclă () face exact ceea ce sugerează numele acesteia și rulează repetat programul în cadrul unor bucle consecutive. Este folosită pentru a controla în mod activ tabla Arduino.
Define (#define) este o componentă C utilă care permite programatorului să dea un nume unei constante înainte de compilarea programului. Constantele definite în Arduino nu ocupă nici un spațiu de memorie pe chip. Compilatorul va înlocui referințele la aceste constante cu valoarea definită la momentul compilării. Acest lucru poate avea unele efecte secundare nedorite, dacă, de exemplu, o constantă care a fost definită utilizând #defined este inclusă într-o altă constantă sau variabilă. În acest caz, aceasta va fi înlocuită cu valoarea definită cu ajutorul #defined. Setarea pinilor penru a funcționa ca intare sau ieșire se face cu ajutorul pinMode().
Funcția „digitalWrite()” este folosită pentru a scrie o valoare HIGH sau LOW la un pin digital. Dacă pinul a fost configurat ca iesire (OUTPUT) cu pinMode (), tensiunea acestuia va fi setată la valoarea corespunzătoare: 5V (sau 3.3V pe plăcile de 3.3V) pentru HIGH, 0V (ground) pentru LOW. Dacă pinul este configurat ca intrare(INPUT), digitalWrite () va activa (HIGH) sau va dezactiva (LOW) pe pinul de intrare.Asemanătoar ecu funcția descrisă anterior digitalRead() este folosită pentru a citi valoarea de pe un anumit pin.
Funcția analogWrite() este folosită pentru a atribui o valoare analogică (undă PWM) unui pin. Poate fi folosită pentru a aprinde un LED la diferite luminozități sau pentru a comanda un motor la diferite viteze. Pe cele mai multe plăci Arduino (cele cu ATmega168 sau ATmega328), această funcție funcționează pe pinii 3, 5, 6, 9, 10 și 11. Pe Arduino Mega funcționează pe pinii 2 – 13 și 44 – 46. Plăcile Arduino mai vechi cu un ATmega8 suportă analogWrite () doar pe pinii 9, 10 și 11. O altă comandă folosită extreme de des și care este de asemena utilizată și în cadrul proiectului este delay().
Aceasta întrerupe programul pentru perioada de timp (în milisecunde) specificată ca parametru.
După ce programul a fost scris acesta poate fi compilat și apoi încărcat cu ușurință pe placa Arduino prin intermediul opțiunilor Verify și Upload.
Figura 2.8.1. Compilarea unui program
Așa cum am precizat anterior Arduino posedă o memorie integrată cea ce înseamnă că odată ce codul a fost încărcat pe plăcuță, acestă va fi rulat până la următoarea încărcare a unui program.
Figura 2.8.1. Încărcarea unui program
Microcontrolerul Atmega328
Arduino utilizează un microcontroler atmega328 care utilizează la rândul lui 2 KB de SRAM. Două concepte importante sunt prezenatate: adresarea și locația memoriei. Memoria este alcătuită din toate locațiile de memorie, iar adresarea nu înseamnă altceva decât selectarea uneia dintre ele.
Asta înseamnă că trebuie să selectăm locația de memorie dorită pe de o parte și, pe de altă parte, trebuie să așteptăm conținutul acelei locații. De asemenea, operația principală care apare este operația de citire / scriere. Aceasta se face prin furnizarea unei linii suplimentare numite linie de control. Această linie este desemnată ca R / W (citire / scriere). Această linie de control este utilizată pentru a controla ce operație trebuie executată indifferent dacă este operație de citire sau scriere. Deci, dacă R / W este 1 logic atunci avem de a face cu o operație de citire în timp ce 0 mlogic reprezintă o operație de scriere.
Capitolul 3. Implementarea hardware a proiectului
Descrierea funcționalității
Așa cum am prezentat și în capitolul anterior, proiectul se va bază pe placa de dezvoltare Arduino Uno. Pe lânga aceasta au fost utilizate o serie de alte dizpozitive electronice cum ar fi un servomotor, un afișaj numeric, rezistoare etc. Prin intermediul afișajului numeric vor vi redate în timp real numărul de locuri libere din incinta parcării. Servomotorul va fi folosit pentru acționarea barierei care permite accessul vehiculelor în și din incinta parcării. Acțioanare acestuia este automată în funcție de semnalul primit de la un senzor de presiune care va fi descris în cele ce urmează.
Servomotorul Fitec FS90R
Un servomotor este un actuator rotativ sau un dispozitiv de acționare liniar care permite un control precis al poziției, vitezei și accelerației unghiulare sau lineare.
Un servomotor funcționează pe principiul PWM (pulse with modulation), ceea ce înseamnă că unghiul său de rotație este controlat de durata impulsului aplicat la codul PIN de control. În principiu, servomotorul este alcătuit din motorul DC care este controlat de un rezistor variabil (potențiometru) și niște trepte. Servomotorul poate fi rotit de la 0 la 180 grade, dar poate merge până la 210 grade, în funcție de fabricație. Acest grad de rotație poate fi controlat prin aplicarea impulsului electric de lățime adecvată, la pinul său de control. Servomotorul verifică pulsul la fiecare 20 de milisecunde.
Impulsul de 1 ms (1 milisecundă) lățime poate roti servomnotorul la 0 grade, un impuls de 1.5 ms poate roti la 90 de grade (poziția neutră) și pulsul 2 ms poate roti servomotorul la 180 de grade.
FS90R este un servomotor de dimensiuni mici, construit de FEETECH (cunoscut anterior ca Fitec) special pentru rotație continuă.
Figura 3.2.1. Servomotorul Fitec FS90R
Alimentat la 6 V acesta are o viteză de rotație de aproximativ 130 RPM ți este capabil să producă un cuplu de 1.5 kg-cm. Servo-ul poate fi controlat folosind o conexiune directă la o singură linie de intrare / ieșire a microcontrolerului, fără nici o altă componentă electronică suplimentară, cea ce îl face ideal pentru proiect.
Specificații tehnice:
Dimensiuni: 23.2 × 12.5 × 22 mm.
Greutate: 9 g.
Viteză de operare: 110RPM (4.8V)/130RPM (6V).
Cuplu: 1.3kg.cm (4.8V)/ 1.5kg.cm(6 V).
Tensiune de operare : 4.8V~6V.
Sistem de control: Analog.
Unghi de operare: 360 de grade.
Conectarea acestuia la placa de dezvoltare este realizată ca în următoarea figură:
Figura 3.2.2. Conectarea la Arduino a servomotorului
Afișajul numeric
Pentru a afișa în timp real numărul locurilor de parcare s-a utilizat un afișaj numeric cu 7 segmente, acesta la rândul sau fiind conectat la plăcuța Arduino. Un afișaj cu șapte segmente (SSD) sau un indicator pe șapte segmente este o formă de dispozitiv electronic de afișare a numerelor zecimale, folosit ca alternativă la afișajele matricei mai complexe sau la afișajele LCD.
Figura 3.3.1. Afișaj numeric cu 7 segmente
Cele șapte elemente ale afișajului pot fi aprinse în diferite combinații pentru a reprezenta cifrele arabe. Deseori cele șapte segmente sunt aranjate într-un aranjament oblic (înclinat), care ajută la citire. Segmentele unui afișaj cu 7 segmente sunt numerotate cu literele de la A la G, unde punctul zecimal opțional (un "segment opt", denumit DP) este utilizat pentru afișarea numerelor care nu sunt întregi.
Figura 3.3.2. Numerotarea segmentelor
Conectarea afișajului la placuță s-a realizat cu ajutorul unor fire de conexiune „Male-to-Male” astfel :
Segmentul A a fost conectat la pinul 0;
Segmentul B la pinul 1;
Segmentul C la pinul 2 de pe plăcuță;
Secgmentul D la pinul 3;
Segmentul E la pinul 4;
Segmentul F la pinul 4;
Segmentul G la pinul 6;
Segmentul “opt” DP la pinul 11;
Fiecare conexiune a fost prevăzută cu un rezistor de 470 Ω. Pentru a facilită conectarea acestora s-a utilizat un breadboard
Figura 3.3.2. Montajul Proiectului
Capitolul 4. Implementarea sotware a proiectului
Senzorul de presiune
Un alt domeniu pe care dronele promit să-l transforme este cel al jurnalismului. În Statele Unite, țara cu cele mai multe drone, facultățile de jurnalism au început deja să pregătească studenții pentru această nouă etapă a meseriei de ziarist.
„Ideea «jurnalismului cu drone» nu datează de mai mult de un an. Prima oară când am văzut această idee aplicată a fost în Polonia, în timpul unui protest, când cineva a folosit un mini-elicopter controlat de la distanță pentru a filma evenimentul”, a explicat Profesorul Matt Waite, fondatorul Drone Journalism Lab din cadrul Universității din Nebraska.
Cu ajutorul dronelor se pot obține imagini inaccesibile reporterilor aflați la sol, iar prețul acestor aeronave este unul rezonabil. Recent, dronele au fost folosite pentru a capta imagini în timpul protestelor desfășurate în capitala rusă, Moscova, împotriva fraudelor electorale.
Dronele au fost adoptate și de către paparazzi, care au descoperit că pot obține cu ajutorul lor imagini la care altfel nu ar avea acces. Pe Coasta de Azur, unde își petrec vara numeroase celebrități, dronele sunt deja un instrument esențial în arsenalul fotografilor.
Clasificarea Dronelor
Din punct de vedere al modului de construcție,dronele se clasifică în:
-drone cu două motoare(helicopter);
-drone cu trei motoare(tricopter);
-drone cu patru motoare(quadcopter);
-drone cu cince motoare(pentacopter);
-drone cu șase motoare(sexacopter);
-drone cu opt motoare(octocoter)
Elicopter-ul
Un elicopter este un tip de drona, în care ridicarea și împingerea sunt furnizate de catre doua rotoare. Acest lucru permite ca elicopterul să decoleze și să aterizeze vertical, să zboare înainte, înapoi și lateral. Aceste atribute permit utilizarea elicopterelor în zone aglomerate sau izolate unde aeronave cu aripă fixă și multe forme de aeronave VTOL (zbor vertical și de aterizare) nu pot patrunde.
Elicopterele au fost dezvoltate și construite în prima jumătate de secol de zbor, iar Focke-Wulf Fw 61 a fost primul elicopter perational în 1936. Unele elicoptere au ajuns la o producție limitată, dar până în 1942 un elicopter proiectat de Igor Sikorsky a ajuns – producția de scară, cu 131 de aeronave construite . Deși cele mai vechi modele au folosit mai mult decât un rotor principal, este singurul rotor principal cu configurație rotor de coadă anti-cuplu care a devenit cea mai comună configurație a elicopterului. [W-HELICOPTER]
Tricopter-ul
Tricopter-ul este un tip de drona cu trei rotoare. Cele trei motoare ale unui tricopter sunt de obicei separate de 120°, nu de 90° ca un quadcopter. Și în cazul în care quad-urile trebuie să se bazeze pe elice contra-rotative pentru a manevra cuplul și echilibra aeronava, un tricopter poate folosi elemente de recuzită identice deoarece are un servo înclinat în spate care răstoarnă motorul coada pentru a contracara cuplul.
Tricoptere zboară diferit, de asemenea. Cu motorul lor dedicat pentru răsucire, acestea zboară cu mai multe mișcări fluide, cu aspect natural, pot să bancheze, să se întoarcă și să se răstoarne ca un avion, dar încă se mișcă ca un elicopter. În zbor quadcopter-ul este mai robotic, deoarece placa controlerului calculează rotația precisă pentru toate cele patru motoare pentru a crea un cuplu adecvat și un echilibru pentru a deplasa aeronava. Motorul înclinat oferă, de asemenea, viteze de înclinare mult mai ridicate. [VISAE]
Quadcopter-ul
Un quadcopter, denumit și elicopter sau quadrotor, este un elicopter multirotor care este ridicat și propulsat de patru rotoare. Quadcopters sunt clasificate ca nave de rotor, spre deosebire de aeronave cu aripi fixe, deoarece ridicarea lor este generată de un set de rotoare (elice orientate vertical).
Quadcopters utilizează, în general, două perechi de emițătoare fixe fixe; Două în sens orar (CW) și două în sens invers acelor de ceasornic (CCW). Acestea utilizează variația independentă a vitezei fiecărui rotor pentru a obține controlul. Prin schimbarea vitezei fiecărui rotor este posibilă generarea în mod specific a unei împingeri totale dorite; Pentru a localiza centrul de împingere atât lateral cât și longitudinal; Și pentru a crea un cuplu total dorit sau o forță de întoarcere.
Quadcopters diferă de elicopterele convenționale care utilizează rotoare care sunt capabile să modifice înclinarea lamelor lor în mod dinamic, în timp ce se mișcă în jurul butucului rotorului. În primele zile ale zborului, quadcopters (denumite apoi ca "quadrotors" sau "elicoptere") au fost văzute ca soluții posibile la unele dintre problemele persistente în zborul vertical; Problemele legate de controlul cuplului (precum și problemele de eficiență provenite de la rotorul coadă, care nu generează o ridicare utilă) pot fi eliminate prin contra-rotație, iar lamele relativ scurte sunt mult mai ușor de construit. În anii 1920 și 1930 au apărut numeroase desene și modele. Aceste vehicule au fost printre primele vehicule de lansare și aterizare verticale (VTOL) mai grele decât aerul. Cu toate acestea, prototipurile timpurii au suferit din cauza performanțelor slabe , iar prototipurile ulterioare au necesitat prea multă sarcină pilot, datorită slabei stabilități și a autorității de control limitate.
La sfârșitul anilor 2000, avansurile în domeniul electronicii au permis producția de regulatoare de zbor ieftine, accelerometre (IMU), sisteme globale de poziționare și camere de luat vederi. Acest lucru a dus la o proliferare rapidă a quadcopterelor mici și ieftine, împreună cu alte modele multi rotor. Proiectele Quadcopter au devenit, de asemenea, populare în cercetarea vehiculelor aeriene fără pilot (UAV sau drone). Cu dimensiunile mici și manevrabilitatea lor, aceste quadcoptere pot fi transportate atât în interior, cât și în aer liber.
La o mărime mică, quadcopterile sunt mai ieftine și mai durabile decât elicopterele convenționale datorită simplității lor mecanice. Lamele lor mai mici sunt de asemenea avantajoase deoarece posedă mai puțină energie cinetică, reducând capacitatea lor de a provoca daune. Pentru quad-copters la scară redusă, acest lucru face vehiculele mai sigure pentru o interacțiune strânsă. Este, de asemenea, posibilă montarea quadcopterelor cu dispozitive de protecție care închid rotoarele, reducând în continuare potențialul de deteriorare. Cu toate acestea, pe măsură ce crește mărimea, quadcopatoarele fixe ale propulsorului dezvoltă dezavantaje față de elicopterele convenționale. Creșterea mărimii lamelor mărește impulsul lor. Aceasta înseamnă că schimbările în viteza lamelor durează mai mult, ceea ce are un impact negativ asupra controlului. În același timp, mărirea dimensiunii lamei îmbunătățește eficiența deoarece necesită mai puțină energie pentru a genera forța de tracțiune prin deplasarea unei mase mari de aer la o viteză lentă decât prin mutarea unei mici mase de aer la viteză mare. Prin urmare, creșterea eficienței vine cu costul controlului. Elicoptrii nu se confruntă cu această problemă, deoarece mărirea dimensiunii discului rotor nu influențează în mod semnificativ capacitatea de a controla pasul lamelor.
În ultimele decenii, vehiculele aeriene fără pilot pe scară mică au fost utilizate pentru multe aplicații. Nevoia de aeronave cu manevrabilitate mai mare și capacitatea de a se deplasa a condus la o creștere a cercetării quadcopter-urilor. Designul cu patru rotoare permite quadcopter-urilor să fie relativ simple în design, dar foarte fiabile și manevrabile. Cercetările continuă să sporească abilitățile quadcopterelor, făcând progrese în comunicarea cu mai multe ambarcațiuni, explorarea mediului și manevrabilitatea. Dacă aceste calități în dezvoltare pot fi combinate, quad-copters ar fi capabil de misiuni autonome avansate care în prezent nu sunt posibile cu alte vehicule. [W-QUADCOPTER]
Industrie 4.0
Noțiunea de “Smart Industry” sau “Industrie 4.0”, înseamnă trecerea de la sisteme embedded(sisteme încapsulate) la sisteme inteligente(cyber-phisical systems sau smart embedded sistems) care comunică între ele pentru realizarea unui anumit task cu productivitate mult mai mare. Mai simplu, Industrie 4.0 reprezintă cu adevărat o nouă revoluție industrială, bazată pe noile tehnologii de tip IoT(Internet of Things), gestiunea globală a datelor prin stocarea în Cloud și servicii inovative aplicate proceselor industriale. Totodată, Idustrie 4.0 reprezintă o un compromis între “DESCENTRALIZARE” și “CENTRALIZARE” la nivel de producție industrială, cu scopul generării de productivități la un nivel foarte înalt. Astfel instalațiile industriale comunică între ele pentru realizarea unui anumit task. Încapsularea între componenta virtuală a unui sistem de control(soluția de control) și a procesului real/fizic conduc la un nou sistem mai performant. Mai mult, comunicarea între instalațiile dintr-o fabrică conduc la noul concept de fabrică inteligentă(smart factory). Cum orice sistem de control automat se bazează pe informație, prin comunicație smart(inteligentă) se realizează accesul la acestă informație on-line și relativ în timp real, iar prin tehnologiile Cloud se realizează accesul la informația off-line. Fuziunea acestei cantități mari de informație on-line și off-line conduce la dezvoltarea unor soluții de control forte bine documentate ce coduc la performanțe inimaginabile în urmă cu numai cățiva ani. Pe scurt, paradigma industrie 4.0 poate fi percepută ca având la dispoziție posibilități hardware imense(sisteme de achiziție, traductoare inteligente, elemente de execuție inteligente) și o “inundație” de unelte software, se crează premisa dezvoltării unor soluții de control cu adevărat “advanced”. Percepția este că rolul ideii de automatică/control/reglare este miezul acestei paradigme. După cum se știe de la ingineria reglării automate, soluția de control nu este unică și astfel rolul generației actuale de ingineri automatiști este de a găsi cea mai bună soluție de decizie pentru procesul condus. [PO17]
Legislație drone
Drona este „noul trend” în fotografie și fime, mai ales de amatori – dar în România, încă, este ilegal să decolezi și să aterizezi o dronă în oraș, chiar dacă aceasta are mai puțin de 50 de grame. Pentru a zbura în legalitate o dronă în țara noastră, de orie dimensiuni și greutate, posesorul trebuie să o identifice, iar în momentul în care vrea să o ridice sau înainte să facă acest lucru, trebuie să anunțe centrul de operațiuni aeriene. Este de-a dreptul ilegal să decolezi și să aterizezi o dronă într-un spațiu intravilan dintr-un oraș sau localitate. Orice dronă care are o greutate cuprinsă între 15 kg și 150 de kg trebuie să aibă permis național de zbor.
Practic, pentru a folosi în deplină legalitate în România o dronă cu o greutate mai mică de 15 Kg trebuie mai întâi să o identifici, să o duci într-un spațiu care nu este intravilan și apoi să ceri permisiunea de zbor înainte ca aceasta să fie ridicată în aer. Nu contează faptul dacă dispozitivul este echipat cu cameră sau nu. Dronele pot fi folosite, însă, fără a cere permisiune de zbor, în spații închise, precum săli, camere sau hale. Încălcarea legislației dronelor în țara noastră constituie infracțiune penală. În ciuda faptului că, din 2016, au intrat în vigoare noi reglementări legale, nici acestea nu sunt foarte permisive pentru pașionații și proprietarii de drone. Mai mult, atunci când vrei să filmezi, ai nevoie de aprobare, în funcție de zona acoperită sau a obiectivului pe care urmărești să îl filmezi/fotografiezi. Totodată, dacă drona provoacă daune, răspunzător este proprietarul ei, conform legii.
În baza prevederilor Legii 182 din 12 aprilie 2002 privind protecția informațiilor clasificate și a Legii 167 /2015 de modificare și completare a Legii 182/2002, pentru activitățile de zbor cu drone din care rezultă produse geospațiale sau înregistrări aerofotogrammetrice (așa cum acești termeni sunt definiți în Legea 167/2015), operatorul dronei are obligația de a deține un certificat care să-i permită accesul la date secret de serviciu sau de stat;
În baza prevederilor Hotărârii Guvernului nr. 912/2010 pentru “aprobarea procedurii de autorizare a zborurilor în spațiul aerian național, precum și a condițiilor în care decolarea și aterizarea aeronavelor civile se pot efectua și de pe/pe alte terenuri sau suprafețe de apă decât aerodromurile certificate” operatorul dronei, indiferent de greutatea ei, este obligat să obțină avizul Ministerulul Apărării Naționale pentru desfășurarea activităților de filmare/fotografiere aeriană. Formularul standard de cerere precum si datele de contact sunt menționate în HG nr. 912/2010;
Ulterior emiterii aprobării, operatorul are obligația de a se adresa ROMATSA și Ministerului Apărării Naționale/Statul Major al Forțelor Aeriene (MApN/SMFA) în vederea semnării protocolului cadru.
Ori de câte ori zona de zbor se va schimba, operatorul va adresa AACR o nouă solicitare de segregare a spațiului aerian, iar în cazul aprobării, noua zonă segregată va constitui o nouă anexă a protocolului.
Zona segregată va putea fi activată ori de câte ori este nevoie, în acest scop operatorul dronei contactând ROMATSA la datele de contact menționate în protocol, conform procedurii specificate;
Totuși, este bine să amintim ce stabilește actuala reglementare legală ca fiind contravenție și infracțiune și care sunt sancțiunile care se aplică:
– utilizarea unei drone în activități de zbor fără identificarea / înmatricularea acesteia: fapta constituie, conform prevederilor Codului Aerian, infracțiune și se sancționează cu închisoare sau amendă penală;
– utilizarea unei drone în activități de zbor fără a se obține segregarea spațiului aerian: fapta constituie, conform prevederilor Codului Aerian, contravenție și se sancționeaza cu amendă.
Componentele de drone sunt produse aeronautice motiv pentru care sunt incidente reglementările din Codul Aerian care asimilează dronele ca fiind aeronave civile. În prezent, Autoritatea Aeriană Civilă Română estimează că sunt active 4.000 de drone în România, aici incluzând însă și drone de mici dimensiuni, nu doar cele performante din care, doar circa 60 au fost și înmatriculate. [CRAR]
Capitolul 3. Proiectarea sistemului hardware
Descrierea pieselor componente
Motorul
Motorul dji 2212/920 este un motor electric de curent continuu, la care comutația căilor de curent necesară învărtirii rotorului se realizează electronic. Poate fi numit și motor de c.c. fără colector, fiindcă colectorul și periile colectoare formează împreună (la motorul cu perii), un dispozitiv complet de comutare electromecanică.
Motorul fără colector și perii, este un motor electric sincron alimentat în curent continuu, care funcționează cu ajutorul unui sistem electronic de comutație. Comutarea câmpurilor electromagnetice necesare rotirii rotorului este comandată și controlată prin intermediul unui circuit electronic microprocesor.
Cu o greutate de doar 54g, acest motor este capabil să producă până la o jumătate de kilogram de tracțiune pe un propulsor standard de 9". [DJI]
Bridge-ul (ESC)
Acest sistem ESC nou și îmbunătățit, împreună cu algoritmi noi de răspuns foarte eficient și rapid, combinați pentru a oferi o optimizare drastică atât a parametrilor motorului, cât și a parametrilor rotorului, toate combinate pentru a spori acest sistem de propulsie pentru a utiliza o forță agilă care oferă aeronavei o manevrabilitate suplimentară și stabilitate atat în timpul urcării cât și în timpul coborârii. Dispune de asemenea de un design compatibil electromagnetic cu un cablu coaxial, care lucrează împreună pentru a asigura un mediu electromagnetic calm pentru senzorii din aer. [DJI]
Baterie
Acumulatorii Gens Ace LiPo asigură energie pentru cele mai pretențioase aplicații RC din lume. Fie că pilotați un aeromodel, automodel sau navomodel într-un concurs sau pur și simplu vă distrați, Gens Ace LiPo vă duce la nivelul următor fără probleme. Pur și simplu pentru că nimeni nu poate bate Gens Ace LiPo la putere și performanță. Gens Ace LiPo este opțiunea finală pentru RC automodele, avioane, elicoptere, bărci, roboți și tot ceea ce necesită sursă de energie de înaltă calitate.
Specificații:
Tensiune: 11.1 V
Capacitate: 2200 mA
Rată descărcare: 25C
Curent maxim de încărcare: 11 A (5C)
Curent de încărcare recomandat: 2.2 – 6.6 A
Curent maxim de descărcare: 55 A
Dimensiuni: 106 x 35 x 25 mm
Masă: 180 g
Conector egalizare: JST-XH
Acumulatorii Litiu-Polymer (abreviați LiPo) necesită mare atenție în utilizare. Aceasta se aplică atât pentru încărcare cât și pentru descărcare, dar și stocare și alte aspecte ale utilizării lor generale.
Utilizarea inadecvată a acestor acumulatori poate cauza explozii, foc, fum și risc de intoxicare. În plus, acumulatorii își vor altera caracteristicile chimice (scădere considerabilă a performanțelor și pot chiar deveni inutilizabili).
Capacitatea unui acumulator LiPo scade de fiecare dată când este încărcat și descărcat. Stocarea acestor acumulatori la temperaturi foarte ridicate sau foarte scăzute va accelera procesul. În aplicațiile normale de modelism, acești acumulatori vor fi supuși la descărcări cu curenți foarte mari, iar capacitatea lor va ajunge la 50-80% din capacitatea inițială după 50 cicluri descărcare/încărcare, chiar și atunci când sunt utilizați corect.
Pachetele de acumulatori sunt construite din celule alese special. Acestea sunt selectate astfel încât să aibă proprietăți chimice foarte asemănătoare, ceea ce înseamnă că pachetul va lucra ca un întreg. Nu cuplați în serie sau în paralel cu alți acumulatori, și nu înlocuiți o celulă din pachet cu o altă celulă, aparent asemănătoare. [GENSACE]
Încărcare
Pentru încărcarea acumulatorilor LiPo folosiți doar încărcători acreditați și cabluri de încărcare adecvate. Încărcători sau cabluri de încărcare improvizate sau confecționate artizanal pot cauza daune grave.
Când încărcați, plasați acumulatorul pe o suprafață neimflamabilă, rezistentă la temperaturi înalte și care nu conduce curentul electric. Păstrați orice materiale inflamabile sau volatile la distanță de încărcător și acumulatorul de încărcat. Nu lăsați niciodată acumulatorii la încărcat nesupravegheați.
Procedați cu atenție când setați parametrii (numărul de celule, celulele de încărcare, voltajul încărcat, voltajul descărcat, etc.) pe încărcătorul în cauză. Citiți instrucțiunile livrate cu încărcătorul care îl veți folosi pentru a preveni orice erori în operare. Dacă încărcați acumulatorul cu parametri greșiți, acesta va deveni inutilizabil.
Conectorul mic, alb, cu doi sau mai mulți pini este pentru egalizare. Folosiți un încărcător cu egalizator, sau egalizator extern, pentru o încărcare/descărcare sigură. Acesta monitorizează tensiunea fiecărei celule în parte și, la finalul încărcării/descărcării, le va aduce, pe cât posibil, la același nivel.
Ca o regulă generală pentru acumulatorii LiPo, diferența dintre voltajul celulelor individuale nu trebuie să fie mai mare de 0.05V. Dacă este, atunci încărcați și descărcați fiecare celulă în parte, până când acestea respectă condiția enunțată anterior.
Fiecare acumulator are specificat, de la producător, un curent maxim de încărcare. Acumulatorul se încarcă cu acest curent până când pachetul atinge 4.2 V pe celulă, după care se continuă cu voltaj constant, până când curentul de încărcare scade sub 0.1 – 0.2 A. Evitați ca acumulatorul să ajungă la un voltaj mai mare de 4.25V pe celulă. Capacitatea maximă încărcată nu trebuie să depășească 1.05x din capacitatea acumulatorului. (ex. Pentru un acumulator de 700 mAh nu încărcați mai mult de 735 mAh).
La sfârșitul încărcării, măsurați fiecare celulă din pachet. Verificați ca acestea să nu aibă mai mult de 4.2V, iar diferența dintre celule nu trebuie să fie mai mare de 0.05V. Diferențe între celule pot apărea după o perioadă de utilizare. Pentru a evita amplificarea efectului și deteriorarea pachetului, descărcați și încărcați celulele individual, astfel încât voltajul lor să fie apropiat sau identic.
Nu inversați niciodată polaritatea la încărcare. În acest caz, reacții chimice anormale vor avea loc, cauzând distrugerea celulelor, foc și fum. Pachetul va fi inutilizabil.
Temperaturile adecvate pentru încărcarea și stocarea acumulatorilor LiPo sunt de 0 – 50° C. [GENSACE]
Stocare
Când nu veți utiliza acumulatorii LiPo pentru o perioadă îndelungată de timp (ex. În sezonul rece) este cel mai bine ca aceștia să fie încărcați la o capacitate de 10-20%. Dacă voltajul pe celulă scade sub 3V, încărcații din nou la 10-20% din capacitatea lor. Stocarea acumulatorilor LiPo complet descărcați îi poate face inutilizabili după o perioadă de timp. [GENSACE]
Descărcare
Toți acumulatorii au un curent maxim de descărcare. Vedeți specificațiile producătorului și nu depășiți acest curent (pe model, sau cuplat la descărcător).
Nu descărcați acumulatorii sub 2.7 V pe celulă. Sub acest nivel acumulatorii LiPo intră în fenomenul de 'deep-discharge' care îi deteriorează iremediabil. Pentru a preveni acest fenomen, utilizați diversele accesorii disponibile care se instalează pe model și atenționează (sonor sau/și vizual) utilizatorul când acumulatorul este descărcat, în timp util. Dacă observați scăderi de performanță în timpul zborului, poate însemna că acumulatorul este descărcat. Aterizați modelul în cel mai scurt timp posibil și măsurați tensiunea celulelor.
Evitați, numaidecât, scurt-circuitul. Acumulatorii se vor încălzi, pot lua foc sau exploda, cablurile atinse se pot suda de la temperatură. Pachetul va fi inutilizabil.
În timpul descărcării (pe model, sau cuplat la descărcător), temperatura pachetului nu trebuie să depășească 70° C. [GENSACE]
Senzor ultrasonic
Modulul de măsurare cu ultrasunete HC – SR04 oferă o funcție de măsurare fără contact de 2cm – 400cm, precizia de măsurare poate ajunge la 3mm.
Modulele include transmițătoare ultrasonice, receptor și circuit de control.
Principiul de functionare:
Folosind trigger IO pentru cel puțin 10us de nivel ridicat de semnal,
Modulul trimite automat opt 40 kHz și detectează dacă există un semnal de impuls înapoi.
Dacă semnalul înapoi, prin nivel ridicat, timpul de ieșire mare IO este timpul de la trimiterea ultrasonicului la revenire.
Distanta de test = (timp de nivel ridicat × viteza de sunet (340M / S) / 2
Diagrama de timp
Diagrama de timp este prezentată mai jos. Trebuie doar să se furnizeze un impuls de 10uS scurt la intrarea declanșatorului pentru a începe măsurarea, iar apoi modulul va trimite o explozie de 8 cicluri de ultrasunete la 40 kHz și va ridica ecoul său.
Echo-ul este un obiect la distanță care este lățimea impulsului și intervalul roportional.
Se poate calcula intervalul prin intervalul de timp dintre trimiterea semnalului declanșator și primirea semnalului de ecou.
Formula:
uS / 58 = centimetri sau uS / 148 = inch;
sau:
intervalul = viteza mare * viteză * (340M / S) / 2;
Se recomanda sa se utilizeze un ciclu de măsurare de peste 60 ms, pentru a preveni semnalul de declanșare a semnalului de ecou. [HCSR04]
Giroscop 3 axe L3GD20H
Specificații:
Dimensiune: 0.4 "× 0,9" × 0.1 "
Greutate: 0,6 g
Interfața: I2C, Spi2
Tensiune minimă de funcționare: 2,5 V
Tensiunea maximă de funcționare: 5,5 V
± 245, ± 500, sau ± 2,000° / s
Curent: 6 mA
Acest senzor este o placă de suport pentru giroscopul cu trei axe ST L3GD20H, care măsoară vitezele unghiulare de rotație în jurul axelor X, Y și Z. Măsurătorile de viteză unghiulară cu o gamă configurabilă de ± 245° / s, ± 500° / s sau ± 2000° / s pot fi citite printr-o interfață digitală I2C sau SPI. Placa dispune de un regulator liniar de 3,3 V și de comutatoare de nivel integrate care permit funcționarea la o tensiune de intrare cuprinsă între 2,5 V și 5,5 V, iar distanța dintre pini de 0, 1 inchi îl face ușor de utilizat cu panourile de lipit standard și cu perforații de 0,1 inchi.
Această placă este o placă compactă (0,4 "× 0,9") pentru giroscopul tri-axial cu ieșire digitală L3GD20H ST. L3GD20H este un IC excelent, dar pachetul său mic, fără plumb, LGA face dificil pentru studentul sau hobby-ul tipic să-l folosească. De asemenea, funcționează la tensiuni mai mici de 3,6 V, ceea ce poate face interfața dificilă pentru microcontrolerele care funcționează la 5 V. Această placă suportă aceste probleme prin încorporarea electronică suplimentară, incluzând un regulator de tensiune de 3,3 V și circuite de schimbare a nivelului, menținând în același timp dimensiunea globală cât mai compactă posibil. Panoul de bord este complet populat cu componente SMD, inclusiv L3GD20H.
L3GD20H are multe îmbunătățiri față de versiunile mai vechi L3GD20, incluzând o precizie și stabilitate mai bună, un consum redus de energie și un timp de pornire mult mai scurt, toate într-un pachet mai mic, care permite ca placa de bază să fie mai mică. L3GD20H oferă, de asemenea, o gamă mai largă de rapoarte de date de ieșire selectabile de utilizator, cu frecvențe mai scăzute care sunt mai potrivite pentru detecția gesturilor umane și dispune de un știft de activare a datelor (DEN) care permite citirea sincronizată cu declanșatoarele externe. În timp ce purtătorul L3GD20H nu reprezintă o înlocuire directă a drop-in-ului pentru purtătoarea L3GD20 datorită diferențelor dintre orientarea pinui și senzor, ar trebui să fie utilizabilă în continuare ca înlocuire cu modificările corespunzătoare ale cablajului și deoarece cele două circuite integrate au aceeași structură de registru Și adresa dispozitivului I2C, codul scris pentru unul trebuie să fie ușor portabil pentru celălalt.
Indiferent de interfața utilizată pentru a comunica cu L3GD20H, pinul său VIN ar trebui să fie conectat la o sursă de 2.5 V până la 5.5 V, iar GND ar trebui să fie conectat la 0 volți. (Alternativ, dacă utilizați giroscopul cu un sistem de 3,3 V, puteți lăsa VIN deconectat și treceți prin reglajul încorporat conectând 3,3 V direct la VDD.)
Pentru a utiliza modulul L3GD20H în modul I²C sunt necesare minimum două conexiuni logice: SCL și SDA. Aceștia sunt conectați la dispozitive de comutare de nivel încorporate care le fac în siguranță la tensiuni de peste 3,3 V; Acestea ar trebui să fie conectate la o magistrală I²C care funcționează la același nivel logic ca VIN. Pinii rămași nu sunt conectați la comutatoare de nivel pe placă și nu sunt toleranți la 5V, dar schimbătorul de nivel logic bidirecțional cu 4 canale poate fi utilizat extern cu acele ace pentru a obține același efect.
Pentru a utiliza modelul L3GD20H în modul SPI, în mod obișnuit sunt utilizate patru conexiuni logice: SPC, SDI, SDO și CS. Acestea ar trebui să fie conectate la o magistrală SPI care operează la același nivel logic ca VIN. Interfața SPI funcționează în modul cu 4 fire în mod prestabilit, cu SDI și SDO pe pinii separați, dar poate fi configurat să utilizeze modul cu 3 fire astfel încât SDO să împartă un pin cu SDI.
Schema de mai sus prezintă componentele suplimentare care încorporează placa suport pentru a ușura utilizarea L3GD20H, inclusiv regulatorul de tensiune care permite alimentării plăcii de la o sursă de alimentare de la 2,5V la 5,5V și circuitul schimbătorului de nivel care permite I2C și SPI Comunicare la același nivel de tensiune logic ca VIN. [L3GD20H]
Comunicația I2C
Cu pinul CS în starea implicită (tras până la VDD), L3GD20H poate fi configurat și citirile sale de viteză unghiulare pot fi interogate prin magistrala I²C. Comutatoarele de nivel de pe liniile ceasului I²C (SCL) și de date (SDA) permit comunicarea I²C cu microcontrolere care funcționează la aceeași tensiune ca VIN (de la 2,5 V la 5,5 V. [L3GD20H]
În modul I2C, adresa slave pe 7 biți a giroscoapelor are un bit cel mai puțin semnificativ (LSb) determinat de tensiunea pe pinul SDO. Placa de transport trage SDO la VDD printr-un rezistor de 4.7 kΩ, făcând LSb 1 și setând adresa slave la 1101011b în mod implicit (aceasta este aceeași adresă slave ca și L3GD20). [L3GD20H]
Comunicarea SPI
Pentru a comunica cu modul L3GD20H în modul SPI, pinul CS (pe care placa le trage la VDD printr-o rezistență de 4,7 kΩ) trebuie să fie declanșat înainte de începerea unei comenzi SPI și permis să se întoarcă înalt după terminarea comenzii. Comutatoarele de nivel ale ceasului SPI (SPC) și datele din linia (SDI) permit comunicarea SPI cu microcontrolerele care funcționează la aceeași tensiune ca VIN (2,5 V până la 5,5 V).
În modul prestabilit cu 4 fire, giroscopul transmite date către masterul SPI pe o linie SDO (dedicated data out). Dacă interfața SPI este configurată să utilizeze modul cu 3 fire, linia SDI se dublează ca SDO și este condusă de L3GD20H atunci când transmite date către comandant. [L3GD20H]
Magnetometrul
Acest modul este o placa purtatoare/Breakout pentru ST LIS3MDL – magnetometru pe trei axe. Senzorul de masuratori asigura intensitatea campului magnetic, cu un interval configurabil de ± 4 gauss la ± 16 gauss, care pot fi citite printr-o interfata I²C sau SPI.Placa include un regulator de 3.3v.
Specificații :
Dimensiuni: 22.8 x 10 x 2.5 mm
Greutate: 0.6 g
Interfata: I2C, SPI
Tensiune minima de operare: 2.5 V
Tensiune maxima de operare: 5.5 V
Gama de masurare: ± 4, ± 8, ± 12 sau ± 16 gauss
Curent consumat: 3mA
LIS3MDL are multe opțiuni configurabile, inclusiv patru setări de sensibilitate (câștig) selectabile, o gamă largă de rate de date de ieșire și un semnal programabil de întrerupere externă. Cele trei valori ale intensității câmpului magnetic sunt disponibile printr-o interfață digitală, care poate fi configurată să funcționeze în modul I2C (TWI) sau SPI.
Indiferent de interfața utilizată pentru a comunica cu LIS3MDL, pinul său VIN ar trebui să fie conectat la o sursă de 2.5 V până la 5.5 V, iar GND ar trebui să fie conectat la 0 volți. (Alternativ, dacă utilizați placa cu un sistem de 3.3 V, puteți lăsa VIN deconectat și ocoli regulatorul încorporat conectând 3.3 V direct la VDD.)
Sunt necesare minim două conexiuni logice pentru a utiliza LIS3MDL în modul I²C (acesta este modul implicit): SCL și SDA. Acești pini sunt conectați la comutatoare de nivel încorporate care le fac în siguranță la tensiuni mai mari de 3,3 V; Acestea ar trebui să fie conectate la o magistrală I²C care funcționează la același nivel logic ca VIN. Pinii rămași nu sunt conectați la comutatoarele de nivel ale plăcii și nu sunt tolerante la 5V, dar schimbătorul de nivel logic bidirecțional cu 4 canale poate fi utilizat extern cu acele ace pentru a obține același efect. [LIS3MDL]
Tabelul .1.6.1 Semnificație pini magnetometru
Comunicarea I²C
Cu PIN-ul CS în starea implicită (tras până la VDD), LIS3MDL poate fi configurat și citirile sale pot fi interogate prin magistrala I²C. Comutatoarele de nivel ale ceasului I²C (SCL) și liniile de date (SDA) permit comunicației I²C cu microcontrolere care funcționează la aceeași tensiune ca VIN (2.5-5.5V). O explicație detaliată a protocolului poate fi găsită în foaia de date LIS3MDL (2MB pdf) și mai multe informații detaliate despre I²C în general pot fi găsite în specificația I2C-bus a NXP (371k pdf).
În modul I²C, adresa slave a senzorului pe 7 biți are cel puțin două biți semnificative determinate de tensiunea pe pinul SA1. Plăcuța de transport trage SA1 în VDD printr-un rezistor de 10 kΩ, făcând cel puțin cel de-al doilea bit semnificativ 1 și setând adresa slave la 0011110b în mod implicit. Dacă adresa slave selectată se întâmplă să se afle în conflict cu un alt dispozitiv de pe magistrala dvs. I²C sau dacă doriți să utilizați doi senzori LIS3MDL pe aceeași magistrală, puteți să conduceți SA1 low pentru a seta cel mai mic bit semnificativ la 0 (care stabilește Adresa slave la 0011100b).
Interfața I²C de pe LIS3MDL este compatibilă cu standardul I²C rapid (400 kHz). În testele noastre de la bord, am reușit să comunicăm cu cipul la frecvențe de ceas până la 400 kHz; Frecvențele mai mari ar putea funcționa, dar nu au fost testate. [LIS3MDL]
Comunicația SPI
Pentru a comunica cu LIS3MDL în modul SPI, pinul CS (pe care placa îl trage la VDD printr-o rezistență de 10 kΩ) trebuie să fie declanșat înaintea începerii unei comenzi SPI și lăsat să revină la înălțime după terminarea comenzii. Comutatoarele de nivel ale ceasului SPI (SPC) și datele din linia (SDI) permit comunicarea SPI cu microcontrolerele care funcționează la aceeași tensiune ca VIN (2,5 V până la 5,5 V).
În modul prestabilit cu 4 fire, senzorul transmite date către masterul SPI pe o linie dedicată de ieșire a datelor (SDO) care nu este deplasată pe nivel. Dacă interfața SPI este configurată să utilizeze modul cu 3 fire, linia SDI se dublează ca SDO și este condusă de LIS3MDL atunci când transmite date către comandant. [LIS3MDL]
Capitolul 4. Descrierea plăcii myRIO-1900
Placa myRIO-1900 furnizată de către National Instruments este un dispozitiv portabil reconfigurabil I/O (RIO) pe care studenții îl pot folosi pentru a proiecta sisteme de control, robotică și mecatronică.
Acest produs a fost testat și respectă cerințele de reglementare și limitele de compatibilitate electromagnetică (EMC) specificate în specificațiile produsului. Aceste cerințe și limite oferă o protecție rezonabilă împotriva interferențelor dăunătoare atunci când produsul este utilizat în mediul electromagnetic de funcționare prevăzut.
Acest produs este destinat utilizării în spații comerciale. Nu există nicio garanție că interferențele dăunătoare nu vor apărea într-o anumită instalație sau când produsul este conectat la un obiect de testare. Pentru a minimiza interferența cu recepția radio și televiziune și pentru a preveni degradarea performanțelor inacceptabile, instalați și utilizați acest produs în strictă conformitate cu instrucțiunile din documentația produsului. În plus, orice modificare a produsului care nu a fost aprobată în mod expres de către National Instruments ar putea anula autoritatea utilzatorului de a opera în conformitate cu regulile locale de reglementare. [MYRIO]
Prezentare hardware
NI myRIO-1900 oferă intrare analogică (AI), ieșire analogică (AO), intrare și ieșire digitală (DIO), audio și ieșire către un dispozitiv compact incorporat. NI myRIO-1900 se conectează la un computer gazdă prin USB și wireless 802.11b, g, n.
Figura următoare prezintă configurația și funcțiile componentelor NI myRIO-1900.
Connector Pinouts
NI myRIO-1900, conectorii de expansiune (MXP) A și B poartă seturi identice de semnale. Semnalele se deosebesc în software prin numele conectorului, ca și în cazul conectorului A / DIO1 și al conectorului B / DIO1. Consultați documentația software pentru informații despre configurarea și utilizarea semnalelor.
Următoarea figură și tabel arată semnalele conectoarelor MXP A și B. Rețineți că unii pini au funcții secundare, precum și funcții primare.
Tabelul .1.1 Descrierea semnalelor pe conectorii MXP A și B
Figura și tabelul de mai jos arată semnalele de pe conectorul Mini System Port (MSP) C. Rețineți că unii pini au funcții secundare, precum și funcții primare. [MYRIO]
Canale de intrare analogice
NI myRIO-1900 dispune de canale de intrare analogice pe conectorii A și B portului myRIO pentru expansiune (MXP), conectorul Mini System Port (MSP) C și un conector de intrare audio stereo. Intrările analogice sunt multiplexate într-un singur convertor analog-digital (ADC) care eșantionează toate canalele.
Conectorii MXP A și B au patru canale de intrare analogice cu un singur capăt per conector, AI0-AI3, pe care le puteți utiliza pentru măsurarea semnalelor de 0-5 V. Conectorul MSP C are două canale de intrare analogice cu înaltă impedanță, AI0 și AI1, pe care le puteți utiliza pentru măsurarea semnalelor de până la ± 10 V. Intrările audio sunt intrări de intrare stereo de stânga și dreapta cu o tensiune de ± 2,5 V. [MYRIO]
Canale de ieșire analogice
NI myRIO-1900 are canale analogice de ieșire pe conectorii A și B portului de expansiune myRIO (MXP), conectorul Mini System Port (MSP) C și un conector de ieșire audio stereo. Fiecare canal de ieșire analogic are un convertor digital-analogic dedicat (DAC), astfel încât acestea să poată fi actualizate simultan. DAC-urile pentru canalele analogice de ieșire sunt controlate de două magistrale de comunicație seriale de la FPGA. Conectorii MXP A și B împărtășesc o singură magistrală, iar conectorul MSP C și ieșirile audio partajează oa doua magistrală. Prin urmare, rata de actualizare maximă este specificată ca cifră agregată în secțiunea Analog Output a Specificațiilor. Conectorii MXP A și B au două canale analogice de ieșire pentru fiecare conector, AO0 și AO1, pe care le puteți utiliza pentru a genera semnale de 0-5 V. Conectorul MSP C are două canale de ieșire analogice, AO0 și AO1, pe care le puteți utiliza pentru a genera semnale de până la ± 10 V. Ieșirile audio sunt iesiri de ieșire stereo de stânga și dreapta, capabile să conducă căști. [MYRIO]
Accelerometrul
NI myRIO-1900 conține un accelerometru cu trei axe. Accelerometrul prelevează fiecare axă continuu și actualizează un registru lizibil cu rezultatul. Consultați secțiunea Accelerometru din Specificațiile pentru ratele de eșantionare a accelerometrului. [MYRIO]
Convertirea valorilor datelor prime la tensiune
Puteți utiliza următoarele ecuații pentru a converti valorile datelor brute în volți:
V = Valoarea datelor prime * LSB Greutate
LSB Greutate = Intervalul nominal ÷ 2ADC Rezoluție
Unde valoarea datelor prime este valoarea returnată de Nodul I/O al FPGA, greutatea LSB este valoarea în volți a incrementului dintre valorile datelor;
Intervalul nominal este valoarea absolută în volți a intervalului nominal maxim, vârf-vârf al canalului, și rezoluția ADC este rezoluția ADC în biți. (Rezoluția ADC = 12). [MYRIO]
Pentru canalele AI și AO pe conectorii MXP,
Greutate LSB = 5 V ÷ 212 = 1.221 mV
Viteză maximă = 4095 * 1.221 mV = 4.999 V
Pentru canalele AI și AO de pe conectorii MSP,
Greutate LSB = 20 V ÷ 212 = 4.883 mV
Citirea maximă pozitivă = +2047 * 4.883 mV = 9.995 V
Citire maximă negativă = -2048 * 4.883 mV = -10.000 V
Pentru intrare / ieșire audio,
Greutate LSB= 5 V ÷ 212 = 1.221 mV
Citirea maximă pozitivă = +2047 * 1.221 mV = 2.499 V
Citire maximă negativă = -2048 * 1.221 mV = -2.500 V
Pentru accelerometru,
Greutate LSB = 16 g ÷ 212 = 3,906 mg
Citire maximă pozitivă = +2047 * 3.906 mg = +7.996 g
Citire maximă negativă = -2048 * 3.906 mg = -8.000 g
Linii DIO
NI myRIO-1900 are linii DIO de uz general de 3,3 V pe conectorii MXP și MSP. Conectorii MXP A și B au 16 linii DIO pe fiecare conector. La conectorii MXP, fiecare linie DIO de la 0 la 13 are o rezistență de tracțiune de 40 kΩ la 3.3 V, iar liniile DIO 14 și 15 au rezistențe de tracțiune de 2.1 kΩ la 3.3 V. Conectorul MSP C are opt linii DIO. Fiecare linie MSP DIO are o rezistență de 40 kΩ la sol. DGND este referința pentru toate liniile DIO. Puteți programa toate liniile ca intrări sau ieșiri. Funcțiile digitale secundare includ Serial Peripheral Interface Bus (SPI), I2C, modulația cu lățimea impulsurilor (PWM) și intrarea encoderului de tip quadrature. Consultați documentația software NI myRIO pentru informații despre configurarea liniilor DIO. [MYRIO]
Atunci când o linie DIO plutește, plutește în direcția rezistenței de tracțiune. O linie DIO poate să plutească în oricare dintre următoarele condiții:
când dispozitivul myRIO este pornit
când linia este configurată ca intrare
când dispozitivul myRIO se oprește
Puteți adăuga o rezistență mai puternică la o linie DIO pentru a face să plutească în direcția opusă. [MYRIO]
Linii UART
NI myRIO-1900 are o linie de intrare UART și o linie de transmitere UART pe fiecare conector MXP. Liniile UART sunt identice din punct de vedere electric cu liniile DIO de la 0 la 13 ale conectorilor MXP. Ca și acele linii, UART.RX și UART.TX au rezistoare pullup de 40 kΩ la 3.3 V. Utilizați LabVIEW Real-Time pentru a citi și scrie peste liniile UART. [MYRIO]
Capitolul 5. Modelare matematică
Structura quadcopter-ului
Structura quadcopter-ului este prezentată în figura următoare , incluzând vitezele unghiulare corespunzătoare, cuplurile și forțele create de cele patru rotoare (numerotate de la 1 la 4).
Poziția absolută liniară a quadcopterului este definită în axele inerțiale x, y, z cu ξ. Atitudinea, adică poziția unghiulară, este definită în cadrul inerțial cu trei unghiuri Euler η. Unghiul de unghi θ determină rotația quadcopterului În jurul axei y. Unghiul de rotire φ determină rotirea în jurul axei x și unghiul de înclinare ψ în jurul axei z. Vectorul q conține vectorii de poziție liniar și unghiular.
Originea cadrului corpului este în centrul masei quadcopterului. În cadrul cadrului, vitezele liniare sunt determinate de VB și vitezele unghiulare de către v.
Matricea de rotație de la cadrul corpului la cadrul inerțial este:
în care Sx = sin (x) și Cx = cos (x). Matricea de rotație R este ortogonală astfel încât R-1 = RT care este matricea de rotație din cadrul inerțial la cadrul corpului.
Matricea de transformare pentru vitezele unghiulare de la cadrul inerțial la cadrul cadrului este Wη, iar din cadrul cadrului până la cadrul inerțial este W -1η. [SAMI]
În care Tx = tan (x). Matricea Wη este inversibilă dacă θ (2k – 1) ɸ/ 2, (k ∈ Z). Se presupune că quadcopterul are o structură simetrică cu cele patru brațe aliniate cu axele x și y ale caroseriei. Astfel, matricea de inerție este matricea diagonală I în care Ixx = Iyy.
Viteza unghiulară a rotorului i, notată cu ωi, creează forța fi în direcția axei rotorului. Viteza unghiulară și accelerația rotorului creează de asemenea un cuplu τMi în jurul axei rotorului.
Forțele combinate ale rotoarelor creează forța T în direcția axei z. Momentul constă din cuplurile , și în direcția corespunzătoare nghiurilor cadrului corpului.
Ecuațiile Newton-Euler
Quadcopterul este presupus a fi un corp rigid și astfel ecuațiile Newton-Euler pot fi folosite pentru a descrie dinamica sa. În cadrul cadrului, forța necesară pentru accelerarea m și forța centrifugă ν × (m) sunt egale cu RTG-ul gravitațional și forța totală a roților TB.
În cadrul inerțial, forța centrifugă este anulată. Astfel, numai forța gravitațională și magnitudinea și direcția forței de tracțiune contribuie la accelerarea quadcopterului.
În cadrul cadrului, accelerația unghiulară a inerției Iν˙, forțele centripetale ν × (Iν) și forțele giroscopice Γ sunt egale cu cuplul exterior τ.
în care ωΓ = ω1 -ω2 + ω3 -ω4. Accelerațiile unghiulare în cadrul inerțial sunt apoi atrase de la accelerațiile cadrului corpului cu matricea de transformare W-1η și derivatul său de timp.
Ecuațiile Euler-Lagrange
Lagrangianul ℒ este suma energiilor transversale Etrans și de rotație Erot minus energia potențială Epot.
Așa cum se arată în [CA05], Ecuațiile Euler-Lagrange cu forțe și cupluri externe sunt:
Componentele liniare și unghiulare nu depind una de cealaltă, astfel încât acestea pot fi studiate separat. Forța externă liniară este forța totală a rotoarelor. Ecuațiile liniar Euler-Lagrange sunt:
care este echivalentă cu ecuația (10).
Matricea Jacobiană J(η) de la ν la este:
Astfel, energia rotativă Erot poate fi exprimată în cadrul inerțial ca:
Forța unghiulară exterioară este cuplul roților. Ecuațiile unghiulare Euler-Lagrange sunt:
în care matricea C (este termenul Coriolis, care conține termenii giroscopici și centripetali.
Matricea C ( are forma, după cum se arată în [RA10],:
Ecuația (18) conduce la ecuațiile diferențiale pentru accelerațiile unghiulare echivalente cu ecuațiile (11) și (12).
Stabilizarea quadcopter-ului
Pentru a stabiliza quadcopterul, se utilizează un controler PID. Avantajele controlerului PID sunt structura simplă și implementarea ușoară a controlerului. Forma generală a controlerului PID este:
în care u (t) este intrarea de control, e(t) este diferența dintre starea dorită xd(t) și starea actuală x(t), iar KP, KI și KD sunt parametrii pentru elementele proporțional, derivativ și integrator ale controlorului PID.
Într-un quadcopter, există șase stări, pozițiile ξ și unghiurile ᶯ dar numai patru intrări de comandă, vitezele unghiulare ale celor patru rotoare ωi. Interacțiunile dintre stări și forța totală T și momentele t create de rotoare sunt vizibile din dinamica quadcopter-ului definită de ecuațiile (10), (11) și (12). Forța totală T afectează accelerația în direcția axei z și menține quadcopterul în aer. Momentul τɸ are un efect asupra accelerației unghiului ɸ, cuplul Tθ afectează accelerarea unghiului θ, iar cuplul τψ contribuie la accelerarea unghiului ψ.
Prin urmare, controlerul PD pentru quadcopter este ales , similar [DI09]
în care sunt luate în considerare și gravitația g și masa m și momentele de inerție I ale quadcopterului. Vitezele unghiulare corecte ale rotoarelor ωi pot fi calculate din ecuațiile (7) și (8).
Performanța regulatorului PD este testată prin simularea stabilizării unui quadcopter. Parametrii controlerului PD sunt prezentați în Tabelul 2. Condiția inițială a quadcopterului este pentru poziția ξ = (0 0 1) T în metri și pentru unghiurile η = (10 10 10) T în grade. Poziția dorită pentru altitudine este zd=0.
Scopul stabilizării este fixarea stabilă, astfel încât ηd = (0 0 0) T.
Tabelul .4.1 Parametrii controlerului PD
Controlul traiectoriei
Scopul controlului traiectoriei este de a muta quadcopterul de la locația inițială în locația dorită prin controlul vitezelor rotorului quadcopterului. Găsirea unei traiectorii optime pentru un quadcopter este o sarcină dificilă din cauza dinamicii complexe. Totuși, o metodă simplă de control este capabilă să controleze în mod adecvat quadcopterul. Astfel, o abordare euristică este studiată și dezvoltată aici. Baza dezvoltării unei metode de control este studiul interacțiunilor și dependențelor dintre stări, derivate de stare și intrări de control. Aceste interacțiuni și dependențe sunt definite prin ecuațiile (7), (8), (20) și prezentate in figura 5.5.1.
Intrările de control date ωi definesc forța totală T și cuplurile τφ, τθ și τψ.
Cuplurile afectează accelerațiile unghiulare în funcție de unghiurile și vitezele unghiulare actuale. Unghiurile η pot fi integrate de la vitezele unghiulare , care sunt integrate de la accelerațiile unghiulare . Accelerațiile liniare depind de forța totală T, unghiul η și viteza liniară . Poziția liniară ξ este integrată de la accelerațiile liniare prin vitezele liniare .
Prin urmare, pentru a găsi intrări de control adecvate ωi pentru anumite stări ξ, această linie de gândire trebuie făcută invers.
O metodă este de a genera accelerații liniare care realizează traiectoria dorită în funcție de pozițiile x, y și z pentru fiecare timp t.
în care ξ¨, ξ˙, și ψ sunt valori ale traiectoriei dorite, precum și unghiurile ɸ și θ și forța totală T sunt valori necunoscute care trebuie rezolvate.
Din această ecuație, unghiurile necesare ϕ și θ și forța totală T pentru fiecare timp t pot fi calculate, așa cum se arată în [ZU10],
în care
Atunci când valorile unghiurilor ɸ și θ sunt cunoscute, vitezele și accelerațiile unghiulare pot fi calculate de la acestea cu derivare simplă. Cu vitezele și accelerațiile unghiulare, cuplurile τ pot fi rezolvate din ecuația (20). Atunci când sunt cunoscute cuplurile și forța de tracțiune, intrările de control ωi pot fi calculate din ecuația (23).
Controler PD integrat
O altă metodă de a lua în considerare posibilele abateri în unghiuri este de a integra un controler PD în metoda euristică. Aceasta este o versiune simplificată a metodei de control . Valorile dorite dx, dy și dz în ecuația (25) sunt date de controlerul PD ținând cont de deviațiile dintre valorile curente și cele dorite (indicele d) ale pozițiilor ξ, vitezele , accelerațiile .
Apoi, unghiurile comandate ϕc și θc și forța T sunt date de ecuația (25). Momentele τ sunt controlate de către controlerul PD în ecuația (28), la fel ca în ecuația (22). Intrările de comandă pot fi rezolvate prin forța și cuplurile calculate folosind ecuația (23).
Simularea este realizată cu parametrii PD prezentați în Tabelul 5.6.1.
Tabelul .6.1 Valori parametrii lege
Capitolul 6. Implementarea sistemului de reglare
Pentru implementarea sistemului de reglare am utilizat mediul de programare grafica LabVIEW.
Comanda PWM către motoare
În figura 6.1.1 este implementat programul pentru generarea PWM-ului unui motor de curent continuu. Am setat frecvența de 440 Hz. Ciclul de funcționare este dat cu ajutorul unui potenționetru care se incrementează cu valoarea de 0.001. Pentru punerea în funcțiune a celor patru motoare ale dronei, în program se folosesc patru PWM-uri diferite, pentru fiecare setându-se frecvența și canalul corespunzător.
Implementarea și citirea datelor furnizate de către accelerometru
Pentru a măsura accelerația unghiulară am folosit accelerometrul integrat plăcuței myRIO-1900. Senzorul accelerometru are la bază o infimă structură mobilă de siliciu care se deplasează în interior în funcție de mișcările aplicate dronei. În funcție de mărimea deplasării și de direcția acționării, senzorul produce variația cumulată a mai multor valori capacitive.
Accelerometrul este sensibil pe toate axele la accelerația gravitațională a Pământului, care are întotdeauna direcția verticală. Deoarece accelerometrul lucrează concomitent pe toate axele fizice (x, y și z), aplicația software va ști în orice moment care sunt unghiurile de înclinație ale dronei și care sunt accelerațiile instantanee produse pe axe de către fiecare mișcare în parte.
În figura 6.2.2 sunt afișate accelerațiile unghiulare pe cele 3 axe fizice (x, y, z).
Implementarea și citirea datelor furnizate de către giroscop
Funcționarea giroscopului se bazează pe conservarea impulsului unghiular; un corp care se rotește în jurul propriei axe tinde să își păstreze această axă de rotație și se va opune unui impuls perturbator cu un altul, de-a lungul unei axe perpendiculare pe axa de rotație și pe axa impulsului perturbator.
Conexiunea gisoscopului cu placa myRIO-1900 s-a făcut prin magistrala I2C. Adresa slave a giroscopului este 107. Pentru fiecare axă sunt citiți doi byți. Datele rezultate citirii celor 6 byți sunt indexate într-un subvector. Subvectorii obținuți sunt integrați obținându-se deplasările unghiulare pentru fiecare axă in parte.
CONCLUZII
Conform obiectivelor stabilite, am urmărit proiectarea unui sistem de control al unei drone. Pentru a realiza acest lucru am început prin a mă documenta despre industria și aplicabilitatea dronelor. Am accesat diverse cărți și pagini web pentru a aprofunda cât mai bine acest subiect.
Pentru atingerea obiectivelor stabilite lucrarea a fost împărțită în cinci capitole. În primul capitol este prezentată o scurtă introducere care face referire la „Ce sunt dronele?” și domeniile în care sunt utilizate, tipurile și legislația acestora. Următorul capitol prezintă o scurtă descriere a componentelor hardware, urmând ca în capitolul trei să fie descrisă mai amănunțit placa myRIO-1900 de la National Instruments. În capitolul al patrulea am dezvoltat un model matematic dorindu-se a fi implementat în proiect.
Așa cum era de așteptat, în momentul implementării software am întâmpinat câteva dificultăți peste care am reușit să trecem în urma unor studii mai amănunțite urmate de o serie de teste.
Ȋn urma rezultatelor obținute pot spune că obiectivele propuse au fost parțial atinse.
BIBLIOGRAFIE
[CA05] – P. Castillo, R. Lozano, and A. Dzul, “Stabilisation of a mini rotorcraft with four rotors,” IEEE Control Systems Magazine, pp. 45–55, Dec. 2005.
[DI09] – I. C. Dikmen, A. Arısoy, and H. Temelta¸s, “Attitude control of a quadrotor,” 4th International Conference on Recent Advances in Space Technologies, pp. 722– 727, 2009.
[PO17] – M. I. Popescu, “Sisteme de control distribuit”, curs 2017.
[RA10] – G. V. Raffo, M. G. Ortega, and F. R. Rubio, “An integral predictive/nonlinear H∞ control structure for a quadrotor helicopter,” Automatica, vol. 46, no. 1, pp. 29–39, 2010.
[SAMI] – T. S. Alderete, “Simulator aero model implementation.” NASA Ames Research Center, Moffett Field, California, http://www.aviationsystemsdivision.arc.nasa.gov/publications/hitl/rtsim/Toms.pdf.
[ZU10] – Z. Zuo, “Trajectory tracking control design with command-filtered compensation for a quadrotor,” IET Control Theory Appl., vol. 4, no. 11, pp. 2343–2355, 2010.
REFERINȚE WEB
[CRAR] – https://criticarad.ro/ce-trebuie-sa-stii-daca-ai-o-drona-in-primul-rand-ca-este-aproape-ilegal-sa-o-folosesti/
[DI11] – http://gizmodo.com/5871086/sea-shepherd-now-using-drones-to-hunt-japanese-whalers
[DJI] – http://www.dji.com/e300
[GENSACE] – https://www.sierra.ro/Acumulator-LiPo-GENS-ACE-11-1-V–2200-mA–25C-p4505p.html
[HCSR04] – https://cdn.sparkfun.com/datasheets/Sensors/Proximity/HCSR04.pdf
[L3GD20H] – https://www.pololu.com/file/download/L3GD20H.pdf?file_id=0J731
[LA12] – http://www.bbc.com/news/world-europe-16545333
[LIS3MDL] – https://www.pololu.com/file/download/LIS3MDL.pdf?file_id=0J1089
[MYRIO] – http://www.ni.com/pdf/manuals/376047c.pdf
[VISAE] – http://www.visionaerial.com/blog/benefits-of-a-tri-rotor-drone/
[W-QUADCOPTER] – https://en.wikipedia.org/wiki/Quadcopter
[W-HELICOPTER] – https://en.wikipedia.org/wiki/Helicopter
[WO15] – https://www.theatlantic.com/international/archive/2015/05/america-first-drone-strike-afghanistan/394463/
CD / DVD
Copyright Notice
© Licențiada.org respectă drepturile de proprietate intelectuală și așteaptă ca toți utilizatorii să facă același lucru. Dacă consideri că un conținut de pe site încalcă drepturile tale de autor, te rugăm să trimiți o notificare DMCA.
Acest articol: Asist.univ.dr.ing. STÎNGĂ FLORIN SEPTEMBRIE 2017 CRAIOVA SISTEM INTELIGENT DE PARCARE FOLOSIND ARDUINO UNO Andrei-Constantin Cucu COORDONATOR… [302792] (ID: 302792)
Dacă considerați că acest conținut vă încalcă drepturile de autor, vă rugăm să depuneți o cerere pe pagina noastră Copyright Takedown.
