Specializarea: Electronică de Putere și Acționări Electrice Conducător științific: Prof. Dr. Ing. Rusu Călin Gheorghe UNIVERSITATEA TEHNICĂ DIN… [309765]
[anonimizat]: Nagy Tomas
Specializarea: Electronică de Putere și Acționări Electrice
Conducător științific: Prof. Dr. Ing. [anonimizat]:
Comanda vocală a unui robot mobil educațional
Conținutul proiectului de diplomă:
Piese scrise
Piese desenate
Anexe
Locul documentării:
[anonimizat], bibliotecă
Conducător științific: Prof. Dr. Ing. Rusu Călin Gheorghe
Data emiterii temei: Decembrie 2017
Termen de predare: Iulie 2018
Conducător științific : Absolvent: [anonimizat]. [anonimizat]: [anonimizat].
Data: Semnătura
11.07.2018
Declarație: [anonimizat], [anonimizat].
Data: Semnătura
10.07.2017
Cuprins
Capitolul I
Introducere 9
Capitolul II
2. Placa de dezvoltare Arduino 10
2.1. Dezvoltare si producție 12
2.2. Arduino Uno 13
2.2.1. Configurare terminale 14
2.2.2. Alimentare 14
2.2.3. Intrări și ieșiri 15
2.2.4. Comunicarea 16
2.2.5. Semnal PWM 16
Capitolul III
3. Structura mecanică a robotului mobil educațional 17
3.1. Lista componentelor utilizate 17
3.2. Descrierea componentelor utilizate 20
3.2.1. [anonimizat]-SR04 20
3.2.2. Micro Servo motor SG90 26
3.2.3. Modul punte H dublă L298N 28
3.2.4. Motorul de curent continuu 34
Capitolul IV
4. Schema electrică a robotului mobil educațional 36
4.1. Principiul de funcționare al sistemului 37
Capitolul V
5. Comanda vocală 38
5.1. EasyVR 3 Module 39
5.2. EasyVR Shield 3 for Arduino 42
5.3 Cod sursă 45
Capitolul VI
6. Concluzii XX
Bibliografie
Anexe
Capitolul I
1. Introducere
Proiectul de diplomă este organizat pe 5 capitole după cum urmează:
Capitolul 1 prezintă o scurtă introducere a [anonimizat] o descriere succintă a eficienței, avantajelor și ușurintei utilizării unui robot prin intermediul comenzilor vocale.
Capitolul 2 prezintă elementele structurale ale robotului educational.
Capitolul 3 [anonimizat], structura(hard, soft, interfața) precum și avantajele si dezavantajele acesteia.
Capitolul 4 descrie modul de inregistrare a comenzilor, [anonimizat]-tehnologie.
Motivația acestei lucrări se regăsește in faptul că tehnicile de comandă trebuie să fie cât mai simplu de utilizat atât pentru producător, dar mai ales pentru utilizator(cumpărător). Comanda la distanță este mai avantajoasă prin simpla utilizare a vocii, renunțând la nevoia de a folosi butoane, intrerupătoare sau alte dispositive. Consumatorii pot foarte ușor să utilizeze aceste sisteme in timpul altor activități care necesită folosirea mâinilor.
Recunoașterea vocală este un aspect important pentru un robot mărindu-i abilitatea de a interacționa cu oamenii și mai presus de toate folosește cea mai naturală cale de comunicare. Scopul recunoașterii vocale este de a analiza un cuvânt sau o frază inregistrată de un microfon(dispozitiv de captare a semnalului sinusoidal) și de a o transforma intr-o comandă respectiv acțiune.
Obiectivul principal al acestei lucrări este de a implementa și demonstra ușurința utilizării recunoașterii vocale, un concept actual aflat în proces continuu de expansiune și îmbunătățire pe piață, prin implementarea lui cu ajutorul resurselor hardware și software, disponibile studenților în domeniul ingineriei electrice: platforma de dezvoltare din familia Arduino, senzori și alte dispozitive, algoritmi de implementare, în limbaj specific Arduino (C/C++).
Capitolul II
2. Placa de dezvoltare Arduino
Arduino este o placă de dezvoltare cu un microcontroler, un minicalculator cu ajutorul căruia poți citi date de la senzori sau se pot folosi diverse elemente de execuție (motoare, leduri etc). Este destinat să facă unele medii sau obiecte interactive mai accesibile. Hardware-ul constă dintr-o placă de hardware open-source conceput în jurul valorii de 8 biți (microcontroler Atmel AVR), sau de 32 biți (microcontroler Atmel ARM). Modelele actuale sunt dotate cu o interfață USB, cu 6 pini analogici de intrare, precum și 14 pini digitali I/O care permit utilizatorului să atașeze diverse plăci de extensie.
A fost conceput să ofere studenților un mod ieftin și ușor pentru a programa obiecte interactive. Acesta este dotat cu un simplu mediu de dezvoltate integrat (IDE), care rulează pe calculatoarele personale și permite să scrie programe pentru Arduino folosind C sau C++.
Arduino este una dintre cele mai simplu de utilizat platforme cu microcontroler. Te poți gândi la el ca la un minicalculator (are puterea de calcul a unui computer din obișnuit de acum 15 ani), fiind capabil să culeagă informații din mediu și să reacționeze la acestea.
În jurul lui Arduino există un ecosistem de dispozitive extrem de bine dezvoltat. Orice fel de informație ți-ai dori să culegi din mediu, orice fel de conexiuni cu alte sisteme ai avea nevoie, există o șansă foarte mare să găsești un dispozitiv pentru Arduino capabil să îți ofere ceea ce ai nevoie. Are posibilitatea de a conecta alte sisteme, există plăci de rețea Ethernet pentru Arduino capabile să comunice informații prin Internet, dispozitive capabile să transmită date prin conexiune radio, plăci de rețea WI-FI, dispozitive GSM pentru Arduino (capabile să trimită/recepționeze SMS-uri, să inițieze apeluri de voce sau să trimită date prin rețeaua 3G) sau conectori Bluetooth pentru conectarea Arduino cu telefonul mobil sau laptop. În zona mecanică, există motoare de curent continuu (utilizare pentru robotică), motoare pas cu pas (utilizate de obicei în zona industrială) sau servomotoare, controlate foarte exact.
Pentru afișarea informațiilor preluate, există ecrane LCD pentru Arduino, începând cu cele mai simple (LCD text cu 16 caractere) până la ecrane LCD grafice.
Arduino poate capta mediul înconjurător prin primirea unor date de intrare de la o varietate de senzori și poate influența mediul înconjurător prin intermediul luminilor, motoarelor și altor
servomotoare. Microcontrolerul integrat este programat folosind limbajul de programare Arduino (bazat pe Wiring) și mediul de programare Arduino (bazat pe Processing).
Proiectele Arduino pot fi independente sau pot comunica cu programe care rulează pe un calculator (flash, Processing, MaxMSP).
Wiring este un cadru de programare open-source pentru microcontrolere. Acest cadru de programare permite scrierea de programe software pentru mai multe platforme pentru a controla dispozitivele care dețin o gamă largă de plăci cu microprocesoare pentru a creea o varietate mare de coduri creative, obiecte interactive, spații sau experiențe fizice.
Cadrul este creat de designeri și artiști specializați pentru a oferi o mai bună interfață utilizatorilor începători. Există mii de studenți, designeri, cercetători și pasionați care folosesc mediu de programare Wiring pentru a învăța, pentru prototipuri și pentru finalizarea producției profesionale.
Processing este un limbaj de programare, mediu de dezvoltare, dar și o adevărată comunitate online. Începând cu anul 2001, limbajul de programare Processing a promovat software-ul de alfabetizare în artele vizuale și alfabetizarea vizuală în tehnologie. Creat inițial pentru a servi ca un software precum un caiet de schițe și pentru ai învăța pe programatorii începători chestiile fundamentale în contextul vizual, limbajul de programare Processing a evoluat într-un instrument de dezvoltare pentru profesioniști. Astăzi există zeci de mii de studenți, artiști, designeri, cercetători și pasionați care folosesc limbajul de programare Processing pentru a învăța, pentru a realiza prototipuri și pentru a finaliza producția profesională.
2.1. Dezvoltare și producție
Plăcile Arduino sunt disponibile în două formate: formatul de dezvoltare și formatul de producție. Plăcile de producție sunt din punct de vedere funcțional perfect compatibile cu plăcile de dezvoltare. Spre deosebire de plăcile de dezvoltare, plăcile de producție au dimensiuni fizice mult mai mici, sunt în general mai ieftine și de multe ori nu conțin modulul de comunicație USB.
Ca orice produs are avantaje și dezavantaje:
Avantajele:
-utilizare ușoară:
-preț redus:
-compatibil cu o gamă mare de senzori:
-dimensiuni reduse:
-are intrări analogice și digitale:
-posibilitatea de comunicare USB:
-consum redus (funcționează la tensiuni mici între 1.8-5 V):
-beneficiază de o platformă software de dezvoltare open source:
-platforma software de dezvoltare ușoară cu multe librari:
-beneficiază și de platforma ARM pe 32 biți
Dezavantaje:
-platforma pe 32 biți are intrări digitale și analogice care sunt limitate la o tensiune de 3V
-memorie ram și flash redusă.
-viteza de calcul pe 8 biți este mult mai mică decât una pe 32 biți
-majoritatea microcontrolerelor sunt pe 8 biți.
2.2. Arduino UNO
2.2.1. Configurația terminalelor
Fig. 2.2. Configurația pinilor [17]
2.2.2. Alimentare
Arduino Uno poate fi alimentat prin conexiunea USB 2.0 CABLE TYPE A/B, sursă externă de alimentare nereglementată 6-20V (Pinul 30) sau sursa de alimentare externă reglată la 5V (pinul 27). Sursa de alimentare este selectată automat la cea mai mare sursă de tensiune.
Cipul FTDI FT232RL de pe Uno este alimentat numai dacă placa este alimentată prin USB. Ca rezultat, când rulează pe o sursă externă (non-USB), ieșirea de 3.3V (care este furnizată de chipul FTDI) nu este disponibilă și LED-urile RX și TX vor clipi dacă pinii digitali 0 sau 1 sunt High
2.2.3. Intrări și ieșiri
Fiecare dintre cei 14 pini digitali de pe Arduino UNO poate fi folosit ca intrare sau ieșire, folosind pinMode (), digitalWrite (), și funcțiile digitalRead (). Acestea funcționează la 5 volți. Fiecare pin poate furniza sau primi un maxim de 40 mA și are o rezistență internă de tracțiune (deconectată în mod implicit) de 20-50 kOhmi. În plus, unii pini au funcții speciale:
Serial: 0 (RX) și 1 (TX). Folosiți pentru a recepționa (RX) și transmite (TX) date seriale TTL. Acești pini sunt conectați la pinii corespunzători ai cipului FTDI USB-to-TTL Serial.
Întreruptori externi: 2 și 3. Aceștia pot fi configurați pentru a declanșa o întrerupere la o valoare mică, o margine în creștere sau în scădere sau o modificare a valorii.
PWM: 3, 5, 6, 9, 10, și 11. Furnizează o ieșire pe 8-biți PWM cu funcția analogWrite().
SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). Acești pini acceptă comunicarea SPI, care, deși furnizată de hardware-ul de bază, nu este inclusă în prezent în limbajul Arduino.
LED: 13. Există un LED încorporat conectat la pinul digital 13. Când pinul este HIGH, LED-ul este pornit, când pinul este LOW, este oprit.
Uno are 6 intrări analogice, numerotați de la A0 la A5, fiecare furnizând 10 biți de rezoluție (adică 1024 valori diferite). În mod implicit, se măsoară de la 0 la 5 volți, deși este posibil să se schimbe limita superioară a intervalului lor utilizând pinul 15 AREF și funcția analogReference (). De asemenea și aici anumiți pini au funcții suplimentare:
A4 (SDA) suportă comunicarea prin 2 fire (I2C (I-two-C) sau TWI (Two wire interface)). Acest pin este folosit pentru SDA (Serial Data) la TWI.
A5 (SCL) identic cu pinul 4, doar că acest pin este folosit pentru SCL (Serial Clock) la TWI. Pentru controlul TWI se poate folosi librăria Wire.
Alți pini aflați pe placă:
AREF: Tensiunea de referință pentru intrările analogice. Folosit cu analogReference ().
RESET: Se aduce acest pin LOW pentru a reseta microcontrolerul. În mod normal, pentru a adăuga un buton de resetare la scuturile care blochează butonul de pe placă.
2.2.4. Comunicarea
Arduino Uno are o serie de facilități pentru comunicarea cu un computer, un alt Arduino sau alte microcontrolere. ATmega328 furnizează comunicație serială UART TTL (5V), disponibilă pe pinii digitali 0 (RX) și 1 (TX). Un FTDI FT232RL pe canalele plăcii, această comunicație serială prin USB și driverele FTDI oferă un port virtual pentru software-ul pe computer. Software-ul Arduino include un monitor serial care permite trimiterea de date textuale simple către și de la Arduino. LED-urile RX și TX de pe placă vor clipi când datele sunt transmise prin intermediul cipului FTDI și conexiunii USB la computer (dar nu și pentru comunicația serială pe pinii 0 și 1).
O bibliotecă SoftwareSerial permite comunicarea serială pe oricare dintre pinii digitali ai lui Uno.
ATmega328 suportă și comunicațiile I2C (TWI) și SPI. Software-ul Arduino include o bibliotecă Wire pentru simplificarea utilizării magistralei I2C;
2.2.5. Semnal PWM
PWM = Modulația în durată a Impulsurilor (Pulse Width Modulation)
Este un generator de semnale dreptunghiulare cu frecvență fixă dar cu factorul de umplere modificat dinamic.
Principiul fundamental PWM – Factorul de umplere al unui semnal PWM crește, puterea si tensiunea medie furnizate de PWM cresc in mod liniar.
Tehnica PWM poate fi utilizată pentru a indeplini o varietate de sarcini, de la LED-uri de uluminare pana la controlul vitezei unui motor electric de curent continuu.
PWM Pins: 3, 5, 6, 9, 10 and 11: Acești pini oferă o ieșire PWM pe 8 biți utilizând funcția analogWrite();
Capitolul III
3. Structura mecanică
3.1. Lista componentelor utilizate
Arduino UNO
Senzor: Ultrasonic – HC-SR04
Servo motor: Micro Servo motor SG90
L298N dual motor driver
Motor CC cu reductor (2x)
Șasiu plexiglass 2WD
Roți de cauciuc (2x)
Roată universală
Suport baterii 4xAA
1.5 AA Battery (4x)
Breadboard mini
Suport pentru Senzorul Ultrasonic HC-SR04
Male – Male Jumper Wires
Male – Female Jumper Wires
Fig. 3.2. Arduino UNO
Fig. 3.3. Senzor Ultrasonic – HC-SR04
Fig. 3.4 Micro Servo motor SG90
Fig 3.5. L298N dual motor driver
Fig. 3.6. Motor CC cu reductor (2x)
Fig. 3.7. Șasiu plexiglass 2WD
Fig. 3.8. Roți de cauciuc (2x)
Fig. 3.9. Roată universală
Fig. 3.10. Suport baterii 4xAA
Fig. 3.11. 1.5V AA Battery (4x)
Fig. 3.12. Breadboard mini
Fig. 3.13. Suport pentru Senzorul Ultrasonic HC-SR04
. Descrierea componentelor utilizare
3.2.1. Senzor Ultrasonic – HC-SR04
Pentru ca acest senzor să funcționeze corespunzător este nevoie de utilizarea librăriei “NewPing”.
#include <NewPing.h>
HC-SR04 este printre cei mai utilizați senzori de detectare a distanței. Acest senzor este folosit special special pentru proiectele cu plăci de dezvoltare Arduino.
Principalul avantaj al acestui senzor față de senzorii analogici este datorat faptului că necesită doar pini I/O digitali și are imunitate mai mare la zgomotul din jur. Senzorul HC-SR04 este un senzor ultrasonic, de tip reflexiv, cu rază lungă de acțiune, folosit pentru măsurarea distanței sau pentru detectarea obiectelor. Intervalul de măsurare este cuprins între 2 cm și 400 cm cu o precizie de 2 – 3 mm și un unghi optim al măsurătorii de 15˚.
Modulul are un transmițător ultrasonic, un receptor și un circuit de comanda, iar
principiul de lucru este si*milar cu cel al liliecilor, delfinilor și al submarinelor.
Caracteristici tehnice:
Tensiune de alimentare: 5V
Curent consumat: 15mA
Distanță de funcționare: 2cm – 4m
Unghi de măsurare: 15 grade
Eroare de doar 3mm
Durată semnal input: 10us
Dimensiuni: 45mm x 20mm x 15mm
Exemple de aplicații pentru senzorul HC-SR04:
Detectare obstacole la roboții mobili
Senzor de parcare pentru automobile
Asistență parcare in garaj (avertizare sonoră și/sau vizuală atunci când automobilul a intrat în întregime în garaj și inchidere automată a ușii garajului)
Intrerupător "no touch switch"
Control al luminilor pe casa scării
Control automat al nivelului apei
Alarmă (sisteme de alarmă casnică)
Conectarea senzorului HC-SR04 la Arduino
Modulul HC-SR04 cu ultrasunete are 4 pini:
Gnd – masă
Vcc – alimentare (+ 5V)
Trig – inițiere semnal (output)
Echo – răspuns semnal, (input)
Pinii Vcc si Gnd trebuie să fie conectați la pinii Gnd și respectiv 5V de pe placa Arduino, iar pinii Echo si Trig la oricare din pinii digitali I/O de pe placa Arduino.
Funcționarea senzorului HC-SR04
HC-SR04 trimite un puls sonic de 40 000 Hz in 8 cicluri, la pinul Trig, care se deplaseaza cu viteza sunetului prin aer si care va fi receptionat, dupa reflexia lui de un obstacol, la pinul Echo. Pinul Echo va arata timpul, în microsecunde, pe care l-au facut undele sonore. Durata impulsului obtinut la terminaul Echo este intre 150 μs, corespunzatoare distantei de 2,58 cm, si 25 ms, corespunzatoare distantei de 4,31m=431cm.
Pașii pentru a genera și recepționa ultrasunetele și ulterior de a interpreta datele, urmărind și comenzile dintr-un program Arduino, sunt :
Modulul emite un puls sonic (explozie sonică) de 8 cicluri cu frecvență de 40 kHz. Pentru aceasta trebuie să setați pinul Trig la un nivel inalt (HIGH) timp de cel putin 10 μs după ce ați asigurat un high curat prin setarea pinului la nivel jos (LOW).
digitalWrite(TRIG_PIN, LOW);
delayMicroseconds(4);
digitalWrite(TRIG_PIN, HIGH);
delayMicroseconds(10);
digitalWrite(TRIG_PIN, LOW);
Modulul setează semnalul de ieșire Echo pe 5V (HIGH) și microcontrolerul pornește cronometrul pentru a incepe sincronizarea.
Undele sonore sunt expediate și reflectate de obiecte, iar prima reflectie (ecou) este considerată ca fiind dată de cel mai apropiat obiect (alte ecouri pot fi receptionate ulterior, dar sunt ignorate).
Primul ecou recepționat determină modulul sa seteze semnalul de iesire Echo pe 0V (LOW).
Microcontrolerul trebuie să cunoască cat timp semnalul Echo de la unitate este ridicat (HIGH) pentru a determina timpul ecoului.
duration = pulseIn(ECHO_PIN, HIGH);
Microcontrolerul convertește timpul din microsecunde in distanță, cunoscand ca acest timp este timpul până la cel mai apropiat obiect și inapoi, utilizând formulele inserate in program, direct sau grupate intr-o funcție.
Calcularea distanței cu senzorul ultrasonic HC-SR04
Măsurarea distanței se bazează pe diferența dintre momentul de timp la care s-a transmis pulsul sonic și momentul la care acesta se detectează inapoi, având in vedere viteza sunetului și folosind formula din fizică pentru spatiu.
(1)
s – spațiu
v – viteza
t – timp
Viteza sunetului in aer uscat, la ~ 14 °C, este de 340 m/s sau 0.034 cm/μs, valoare obținută cu formula:
(2)
Putem exprima și timpul in microsecunde, necesar semnalului pentru a parcurge un centimetru, care are valoarea de 29.41 μs/cm, cu formula:
(3)
Pentru a obține distanța de la sursa sunetului la obiectul reflactant in cm, se aplica exemplificat cu linii de cod, următoarele formule:
Dar in aer, ca și in alte gaze, viteza sunetului depinde de temperatură, presiune și umiditate. La 0°C (32oF) viteza sunetului este de 331,4 m/s, iar la 20°C (68oF) aproximativ 343,4 m/s. Exceptând presiunea atmosferică și umiditatea care au un efect redus asupra vitezei sunetului pentru aer, formula aproximativa,
(4)
permite calculul vitezei de propagare a sunetelor în funcție de temperatură, pentru un domeniu de temperaturi in jur de 0°C.
Tabel cu viteza sunetului in m/s și cm/μs, și timpul in μs pentru ca semnalul să parcurgă un centimetru, pentru 3 temperaturi diferite ale aerului.
hyperphysics – un calculator online in javascript care utilizează formula (4) de mai sus pentru determinarea vitezei sunetului la diferite temperaturi.
Timpul in microsecunde pentru ca un puls să fie emis si receptat pe distanța de 1 metru este de aproximativ 5770 de microsecunde. Daca se imparte această valoare la 100 cm se obține 57,70, rotunjit 58.
Micro Servo motor SG90
Fig. 3.19. Micro servo motor SG90
Pentru ca acest senzor să funcționeze corespunzător este nevoie de utilizarea librăriei “Servo”. #include <NewPing.h>
Acest mini servo motor este proiectat special pentru aplicații de mică putere, cum ar fi roboți, jucării telecomandate sau pentru senzori de tip scanare.. De exemplu se poate folosi la o mașinuță pentru a mișca roțile din față pentru a vira.
Controlul servomotorului se realiză cu ajutorul unui semnal de tip PWM. Alimentarea acestui servo motor se poate face direct de la placa de dezvoltare Arduino.
Caracteristici tehnice:
Tensiune de alimentare: 4.8V – 6V DC;
Curent mic consumat: 220mA (fara sa fie blocat), 650mA (stall), 15mA (in gol);
Viteză de rotație: 0.12 sec / 60 grade (@ 4.8V), 0.11 sec / 60 grade (@ 6V);
Cuplu: 1.5 kg*cm (@ 4.8V), 1.7 kg*cm (@ 6V).
Dimensiuni: 22.2 x 11.8 x 31 mm.
Fig. 3.20. Conectarea servo motorului la placa de dezvoltare
Funcționarea Servo motorului SG90
Cipul de modulare a semnalului din servo motor, primește semnale de la placa de comandă, apoi servo motorul va primi tensiunea de bază. Aceste două tensiuni se vor compara între ele, iar diferența va fi extrasă. Apoi, cipul motorului va primi diferența și va decide viteza de rotație, direcția și unghiul. Când nu există nici o diferență între cele două tensiuni, servo motorul se va opri.
Fig. 3.21. Configurarea pinilor si a factorului de umplere
Controlul Servo motorulului SG90
Pentru a controla rotația servomotorului, trebuie să faceți ca impulsul de timp să fie de aproximativ 20 ms, iar impulsul cu nivel înalt să fie de aproximativ 0,5 ms ~ 2,5 ms, ceea ce este în concordanță cu unghiul limitat al servomotorului.
Modul punte H dublă L298N
Modulul L298N cu punte H dublă este un driver de motoare electrice care poate fi folosit pentru controlarea direcției a doua motoare de curent continuu. Se folosește de puntea H dublă L298N care poate controla motoare intre 5 și 35 de volți și pana la 2 amperi.
Intrările digitale permit fiecărui motor să funcționeze independent de celălalt cu control complet asupra vitezei, direcției și frânei. Puntea H are numele derivat de la modul obișnuit de desenare a circuitului. Aceasta este singura cale de tip solid state de a comanda motorul în ambele direcții.
Modulul vine cu un regulator de tensiune de 5V care poate fi folosit pentru a alimenta alte circuite cum ar fi microcontrolerele.
Cu ajutorul pinilor ENA si ENB avem posibilitatea de a modifica turatia motoarelor datorita faptului ca pinii ENA si ENB vin conectati la ieșiri de semnal PWM pe plăcuța de dezvoltare Arduino.
Fig. 3.22. Prezentare generală a modulului
Schema echivalentă a modulului
Fig. 3.23. Schema echivalentă L298N [10]
Puntea H dublă L298
O punte H (engl. H Bridge) este un circuit electronic ce permite aplicarea unei tensiuni pe o sarcină în orice sens. Aceste circuite sunt adesea folosite în robotică și alte aplicații pentru a permite motorașelor de curent continuu să ruleze înainte și înapoi. Punțile H sunt disponibile ca circuite integrate sau pot fi construite din componente discrete, tranzistoare bipolare sau MOS.
Dezavantajul punților cu MOSFET este acela că absorb mult curent din controler dacă nu sunt interfațate corect. Tranzistorul MOSFET atunci când este folosit în regim de comutație , absoarbe un curent direct proporțional cu frecvența de comutație. Puntea H are numele derivat de la modul obișnuit de desenare a circuitului. Aceasta este singura cale de tip solid state de a comanda motorul în ambele direcții.
Fig. 3.25. Diagrama bloc puntea H dublă L298 [15]
Avantajele folosirii circuitelor integrate specializate cu punte H:
Simplitatea întregului circuit și a puținelor componente externe, are ca efect micșorarea întregului cablaj și poate fi folosit în spații înguste. Desigur această micșorare restricționează folosirea unor puterii mari în cadrul punții H.
Aceste circuite integrate sunt limitate în tensiune (de regulă mai mult de 55 V-60 V) la un curent de 3A, și este maximul puterii dezvoltate cu circuite integrate. Trecerea curentului prin această punte determină și disiparea puterii care aduce încălzirea joncțiunii.
Unele integrează și partea de protecție logică.
Dezavantajele folosirii circuitelor integrate specializate cu punte H:
Limitarea puterii datorată tipului de transistor indiferent ca este MOSFET sau BIPOLAR folosit în cadrul circuitului integrat.
Costul ridicat (un LMD 18200 poate costa între 50-70 de lei ) iar dacă avem mai mult de 2 motorașe costul devine semnificativ.
Circuitele integrate L293 și L298 suportă puteri mici dar acestea sunt realizate pe tehnologie BJT adică puntea H este realizată cu tranzistori BIPOLARI aceștia având tensiunea de saturație mai mare decât un MOSFET.
Mod de funționare:
Atunci când întrerupătoarele S1 și S4 (în conformitate cu figura) sunt închise și S2 și S3 sunt deschise o tensiune pozitivă va fi aplicate la nivelul motorului. Prin deschiderea întrerupătoarelor S1 și S4 și închiderea întrerupătoarelor S2 și S3, această tensiune este inversat, astfel să permită funcționarea inversă a motorului.
Folosind nomenclatura de mai sus, întrerupătoarele S1 și S2 nu trebuie să fie închise în același timp, deoarece acest lucru ar provoca un scurt-circuit la sursa de tensiune (Vin). Același lucru se aplică și întrerupătoarelor S3 și S4.
În practică întrerupatoarele S1,S2,S3,S4 sunt tranzistoare bipolare sau MOS-FET.
Fig. 3.26. Schema puntea H minimalizată
Valori maxime admise
Configurația pinilor pentru puntea L298
Fig. 3.27. Configurația pinilor punții L298
Controlarea bidirecțională a motorului de curent continuu
Puntea H este folosită pentru controlarea direcției unui motor DC (motor cc) sau motor de curent continuu prescurtat motor c.c. Puntea H realizează cele 3 funcții necesare controlării unui motor : rotire stânga , rotire dreapta, frâna, eliberare sau (freewheeling). Dacă se depășește acest curent , platforma se poate defecta, iar pentru rezolvarea acestei probleme trebuie interfațat cu mai multe etaje de amplificare pentru ca acest curent debitat să fie cât mai mic.
Fig. 3.28. Controlarea pe două direcții a MCC [15]
L = LOW; H = HIGH, X = Nu contează.
Motorul de curent continuu
Un motor electric este un dispozitiv ce transformă energia electrică în energie mecanică. Motorul de curent continu se compune din două armături. Statorul, partea imobilă a mașinii, având ca elemente constructive principale: carcasa (jugul statoric), magneți permanenți si polii de comutație (auxiliari). La cele două capete frontale ale carcasei sunt prevăzute scuturi (capace) port-lagăre (cu rulmenți sau de alunecare). Tot la stator sunt fixate sistemul de perii, portperii și cutia de borne. Rotorul, partea mobila a mașinii, având ca elemente constructive principale: miezul rotoric, care prezintă la periferie crestături uniform repartizate iar spre interiorul jugului rotoric fixat pe arbore, înfășurarea rotorică distribuita uniform in crestăturile miezului rotoric, colectorul, ventilatorul.
Funcționarea motorului de curent continuu se bazează pe fenomenul de apartiție a forței electromagnetice care acționează asupra unui conductor parcus de curent și situat in câmp magnetic.
Fig. 4.1. Elemente constructive ale mașinii de curent continuu.[ 13]???????
Carcasa
Carcasa sau jugul statoric reprezintă partea imobilă a mașinii în care se fixează toate celelalte elemente constructive și prin care mașina este fixate in fundație prin intermediul unei tălpi si butoane. La mașinile mici si cele care trebuie să funcționeze în regimuri tranzitorii cu constante mici de timp, jugul statoric se realizează din tabla de oțel electrotehnic ștanțată adecvat, astfel în cât se realizează dintr-o dată și polii de excitație.
Polii de comutație
Polii de comutație constau dintr-un miez de oțel masiv și din bobina înfășurată pe miez. Polii de comutație sau auxiliari se așază în axa neutră dintre polii principali și se fixează de jug. Ca și miezul polilor principali, miezul polilor auxiliari se poate confecționa din tabla laminată.
Miezul rotoric
Miezul rotoric se construiește din tole de oțel electrotehnic de 0.5 mm și are ca scop reducerea pierderilor în fier. Pentru îmbunătățirea răcirii, la anumite mașini miezul rotoric este alcătuit din câteva perechi de tole. La periferia exterioară, miezul rotoric are prevăzute crestături deschise sau semi-închise, în care se introduce înfășurarea rotorului.
Înfășurarea rotorică
Înfășurarea rotorică constă din secții care se pregătesc pe șabloane speciale și se așază în crestăturile miezului. Înfășurarea se izolează în miez și se consolidează în crestături, cel mai adesea cu ajutorul unor pene de lemn sau din alt material izolant.
Capetele frontale ale înfășurării se fixează cu bandaje din sfoară sau din sârma de oțel, pentru a nu fi aruncate spre exterior de forțele centrifuge atunci când rotorul se învârtește.
Colectorul
Colectorul este un ansamblu caracteristic de curent continuu. Are forma cilindrică, fiind construit din lamele de cupru izolate una față de alta prin lamele de micanită și de asemenea izolate față de piesele de strângere prin conul izolant. Capetele secțiunilor înfășurării rotorice se lipesc direct de aripioarele lamelelor cu un aliaj de cositor. La mașinile de mică putere, colectorul se realizează din lamele de cupru solidarizate si totodată izolate intre ele cu ajutorul unui material rășinos sintetic.
Capitolul IV
4. Schema electrică a robotului educațional
L298n motor driver:
+12V → Suportul de baterii (+)
GND → Suportul de baterii (- )
+5V → arduino 5V
In1 → arduino digital pin 2
In2 → arduino digital pin 3
In3 → arduino digital pin 4
In4 → arduino digital pin 5
OUT1 → Motor 1 (+)
OUT2 → Motor 1 (-)
OUT3 → Motor 2 (+)
OUT4 → Motor 2 (-)
4.1. Principiul de funcționare al sistemului
Capitol V
5. Comanda vocală
Recunoașterea vorbirii are o gamă largă de aplicabilitate. Domeniul cel mai important pare a fi acela al interfețelor hands-free și eyes-free. Există multe aplicații în care utilizatorii au nevoie să-și foloseasă mâinile și ochii pentru altceva, iar vorbirea rămâne singura lor alternativă de a fi eficient în dialogul cu calculatorul.
Confortul utilizatorului și avantajele concurențiale sunt pe buzele tuturor când vine vorba despre beneficiile garantate de tehnologia de recunoaștere vocală. Folosită inițial pentru rezolvarea unor probleme în care era nevoie de implicarea oamenilor, tehnologia vocală este pe cale de a deveni indispensabilă în toate domeniile.
Pe termen lung, este evident că această tehnologie va sta la baza utilizării aparaturii mobile, va simplifica predarea și învățarea limbilor, prelucrarea înregistrărilor și căutarea multimedia.
Atunci când se realizează o înregistrare digitală dintr-o sursă analogică sunetul este eșantionat la intervale periodice. Amplitudinea sunetului este înregistrată ca număr, creând o înregistrare digitală a sursei audio analogice ca serie de numere distincte. Cantitatea de sunet analogic original capturată de înregistrarea digitală depinde, în principal, de rata de eșantionare și de adâncimea de biți (câte eșantioane sunt prelevate într-o secundă și câte informații conține fiecare eșantion).
Modulul va recunoaște vocea comparând-o cu modelul inregistrat inițial care va deveni o referința pentru următoarele comenzi. Modulul înregistrează și măsoară undele la intervale repetate. Dacă acesta este prea mare, va rata chimbări semnificative ale undelor.
5.1. EasyVR 3 Module
EasyVR 3 este un modul multifuncțional de recunoaștere a vorbirii conceput pentru a adăuga cu ușurință versatilitate și capacitatea de recunoaștere vocală pentru aproape orice aplicație.
Modulul EasyVR 3 poate fi utilizat cu orice host care conține o interfață UART alimentată la 3.3V – 5V. Unele exemple de aplicații includ automatizarea locuinței, cum ar fi intrerupătoarele de lumină cu comandă vocală, încuietori, perdele sau aparate electrocasnice sau adăugând "auz" la cei mai populari roboți de pe piață.
Poate fi ușor conectat într-o placă breadboard sau in diferite plăci de dezvoltare. În interiorul pachetului sunt prevăzuți conectori separati de tip tată, împreună cu un ansamblu de cabluri pentru microfon și difuzor.
Specificații tehnice
Setări și indicatori
Interfața serială
EasyVR 3 comunică printr-o interfață serială asincronă (interfață UART) cu următoarele caracteristici:
Baud Rate: 9600 (default), 19200, 38700, 57600, 115200
Frame: 8 Data bits, No parity, 1 Stop bit
Pinul pentru primirea datelor este RX, iar pinul pentru transmiterea datelor este TX
Exemplu de transmitere serială a caracterului “A” este (decimal 65 or hexadecimal 41):
Configurarea pinilor
5.2. EasyVR Shield 3 for Arduino
EasyVR Shield 3 este o placă adaptoare pentru modulul EasyVR 3 proiectat pentru a simplifica folosirea modului alături de plăcile de dezvoltare Arduino.
Shieldul este compatibil cu orice placă de dezvoltare Arduino folosind UNO-R3 Shield, funcționând fie la tensiune de 3.3V fie la 5V, folosind pinul IOREF pentru a selecta tensiunea de operare a EasyVR 3.
Pini pentru transmiterea si recepția datelor prin portul serial
SW – Se folosește pentru controlarea modulului EasyVR prin Arduino sketch printr-un port serial. Pe aceasta poziție a jumperului ne putem conecta la EasyVR Commander atâta timp cat in codul Arduino avem implementat un Bridge Mode.
PC – Se folosește pentru conectarea directă cu softul EasyVR Commander. În acest mod controlerul Arduino este ținut in modul reset și doar portul USB este folosit.
UP – Acest mod este folosit pentru a actualiza firmware-ul sau pentru a se descărca sound tables-urile in memoria Flash a softului Easy Commander. Modulul Easy VR este ținut in modul pornire.
Protocolul de comunicație
Comunicarea cu modulul Easy VR folosește interfața standard UART compatibil cu nivelele de tensiune 3.3-5V.
Tipuri de comenzi vocale:
TRIGGERS: Cuvintele înregistrate din această categorie se folosesc pentru a activa modulul de recunoaștere vocală. După activarea modulului, robotul va astepta un cuvânt corespunzător unei comenzi.
GROUPS: Cuvintele preferențiale inregistrate de către utilizator, corespund unor acțiuni care pot fi separate pe mai multe grupuri.
WORDSETS: Sunt grupuri de cuvinte prestabilite care nu pot fi sterse sau modificate.
Capitol VI
Concluzii
În această lucrare am prezentat importanța și facilitatea robotului educațional. Scopul acestei lucrari a fost de a ușura utilizarea robotului, prin intermediul comenzilor vocale.
Rezultatele obținute sunt bune, iar metodele folosite sunt accesibile si simple. Robotul educational va fi reprezentativ în viitorul apropiat datorită ușurinței cu care poate fi utilizat, dar mai ales a atracției către publicul pasionat de tehnologie. Inovația consta in simplitatea construcției, atât a structurii mecanice cât și a plăcii de control, oferind posibilitatea unei înțelegeri mai usoare a modului de funcționare a roboților.
Avantajele acestui robot sunt: tehnicile de comanda se utilizează cât mai simplu, comanda la distanță prin simpla utilizare a vocii, recunoașterea vocală este un aspect important pentru un robot marindu-i abilitatea de a interacționa cu oamenii.
Dezavantajul este ca recunoașterea vocală nu depinde doar de sistemul de operare al robotului ci și de mediul în care este folosit. Gălăgia, schimbarea totalității sau a silabisirii comenzilor înregistrate, poate duce la aparitia erorilor.
Cu toate acestea robotul educațional este un concept actual aflat in proces continuu de expansiune si imbunatatire pe piata. Aceeași metodă implementată în această lucrare poate avea un spectru mai larg de folosință și utilizare, poate fi ajustat în diferite …
Bibliografie
[1]https://robodomit.blogspot.com/2017/10/senzor-ultrasonic-de-distanta-hc-sr04.html
[2]http://nicuflorica.blogspot.com/2013/03/senzorul-ultrasonic-de-distanta-hc-sr04.html
[3]https://www.optimusdigital.ro/ro/senzori-senzori-ultrasonici/9-senzor-ultrasonic-hc-sr04-.html
[4]https://cleste.ro/senzor-ultrasonic-hc-sr04.html
[5]ftp://imall.iteadstudio.com/Modules/IM120628012_HC_SR04/DS_IM120628012_HC_SR04.pdf
[6]https://www.mpja.com/download/hc-sr04_ultrasonic_module_user_guidejohn.pdf
[7]http://www.ee.ic.ac.uk/pcheung/teaching/DE1_EE/stores/sg90_datasheet.pdf
[8]https://www.optimusdigital.ro/ro/motoare-servomotoare/26-micro-servomotor-sg90.ht
[9]https://components101.com/servo-motor-basics-pinout-datasheet
[10]https://ardushop.ro/en/home/84-dual-h-bridge-for-dc-and-stepper-motors.html
[11]https://www.instructables.com/id/How-to-use-the-L298-Motor-Driver-Module-Arduino-Tu/
[12]http://www.electronicstefan.ro/2012/01/ce-este-puntea-h/
[13]http://punte-h.blogspot.com/2015/05/punte-h-motoare-dc.html
[14]http://wikielectronic.blogspot.com/2015/04/puntea-h-motoare-dc.html
[15]https://www.sparkfun.com/datasheets/Robotics/L298_H_Bridge.pdf
[16]https://ro.wikipedia.org/wiki/Arduino
[17]http://marcusjenkins.com/arduino-pinout-diagrams/
[18]http://www.geeetech.com/wiki/index.php/Arduino_Uno
[19]https://en.wikipedia.org/wiki/Arduino_Uno
[20]http://fritzing.org/home/
[20]https://hobby.team/blog/2017/10/21/whats-difference-brushless-motor-brushed/
[21]http://www.creeaza.com/tehnologie/electronica-electricitate/MASINA-DE-CURENT-CONTINUU-MCC953.php
[1]https://www.generationrobots.com/en/content/59-speech-recognition-system-robot-parallax
[22]http://speed.pub.ro/speed3/wp-content/uploads/2013/04/Indrumar-de-proiect-PCDTV-v4.pdf
[23]http://www.veear.eu/files/archive/EasyVR%203%20User%20Manual%201.0.10.pdf
Anexe
L298N Datasheet
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: Specializarea: Electronică de Putere și Acționări Electrice Conducător științific: Prof. Dr. Ing. Rusu Călin Gheorghe UNIVERSITATEA TEHNICĂ DIN… [309765] (ID: 309765)
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.
