PROGRAMUL DE STUDIU SISTEME ELECTRICE FORMA DE ÎNVĂȚĂMÂNT CU FRECVENȚĂ PROIECTAREA ȘI REALIZAREA UNUI SISTEM DE SEMNALIZARE ȘI AVERTIZARE COMANDAT DE… [308609]
UNIVERSITATEA DIN ORADEA
FACULTATEA DE INGINERIE ELECTRICĂ ȘI
TEHNOLOGIA INFORMAȚIEI
PROGRAMUL DE STUDIU SISTEME ELECTRICE
FORMA DE ÎNVĂȚĂMÂNT CU FRECVENȚĂ
PROIECTAREA ȘI REALIZAREA UNUI SISTEM DE SEMNALIZARE ȘI AVERTIZARE COMANDAT DE ARDUINO
COORDONATOR ȘTIINȚIFIC:
Prof. Dr. Ing. [anonimizat]: [anonimizat]
2018
Introducere
Scopul acestei lucrări este prezentarea realizării unui sistem de semnalizare luminoasă și avertizare sonoră controlată de un microcontroller. Drept platforma de realizare am ales ecosistemul "Arduino" – o platforma de dezvoltare completă cu parte hardware ([anonimizat] 1) și partea software care este bazat pe pe limbajul de programare C/C++ însă cu o [anonimizat]-se pe librării și diferite extensii pentru reducerea complexității scrierii programului de către utilizator.
[anonimizat] (Imaginea 2), iar pentru avertizare sonoră am folosit o sirenă electronică cu horn (Imaginea 3). Datorită faptului că aceste dispozitive electronice necesită o tensiune de alimentare de 12V [anonimizat].
Capitolul I – Arduino
I. [anonimizat] 8, 16 sau 32-biți, componentele esențiale funcționarii microcontrolerului ([anonimizat]) și alte componente complementare care facilitează programarea și încorporarea în alte circuite. Aspectul important al Arduino este că acesta dispune de niște conectori standard (Imaginea 4), [anonimizat]. [anonimizat], dar altele sunt adresabile individual prin magistrala serială I²C permițând utilizarea mai multor module în paralel. Un microcontroler instalat pe modulul Arduino vine preprogramat cu un bootloader care simplifică încărcarea programelor pe memoria flash a integratului, în avantaj față de alte plăci de dezvoltare care necesită programatoare externe. Bootloader-ul implicit instalat pe Arduino UNO se numeste "optiboot". Acest aspect face aceasta platforma de dezvoltare o [anonimizat].
[anonimizat]. Implementarea acesteia diferă de la o varianta hardware la altă. [anonimizat]-serial, cum ar fi circuitul integrat FT232. [anonimizat], [anonimizat].
I.1 [anonimizat] "Harvard" în cadrul căreia memoria de program (FLASH) și memoria pentru date (SRAM) [anonimizat] (Imaginea 5). Microprocesorul Atmega328 are o memorie flash de 32kb, 2kb memorie SRAM și 1kb memorie EPROM iar acesta fucționează la o frecvența de 16MHz dată de oscilatorul cu cristal de cuarț aflat pe placă de dezvoltare.
Programele pentru Arduino pot fi scrise în orice limbaj de programare, pe urmă acestea fiind prelucrate în "cod mașină" binar de un compilator pentru a pregăti programul să fie încărcat in memoria microcontrolerului utilizat.
I.2 ATmega328
La bază, integratul pe care îl folosim este un chip AVR din familia de microcontrolere dezvoltată de compania Atmel la începutul anilor 1996, pe o arhitectura Harvard de 8 biți denumită "RISC" (Reduced Instruction Set Computer), arhitectura având un set de atribute care permit un număr redus de cicluri per instrucțiune (CPI), spre deosebire de un calculator cu set complex de instrucțiuni (CISC). Memoria SRAM, cea Flash și EEPROM sunt integrate în acelasi chip astfel nefiind nevoie sa se conecteze la microcontroler o astfel de memorie externă.
Principalele caracteristici tehnice ale ATmega328 sunt:
memoria flash de 32KB – ISP (In System Programming) oferind posibilitatea microcontrolerului de a fi programat cand el se află deja instalat în sistem, spre deosebire de programarea lui înainte ca acesta să fie instalat.
Capabilități de scriere în timpul citirii programului
1024 Biti EEPROM – Electrically Erasable Programmable Read-Only Memory
2KB SRAM – Static Random Access Memory
Linii de Intrări/ Ieșiri generale
32 regiștrii de uz general
3 cronometre/ contoare flexibile cu moduri de comparare
Canale de întrerupere interne si externe
USART (Universal Synchronous / Asynchronous Reveiver / Transmitter) programabil pe portul serial
Interfața serială orientată pe biți cu 2 căi
Port serial SPI (Serial Peripheral Interface)
Convertor Analog–Digital pe 10 biți cu 6 canale
Un cronometru de tip “WatchDog” care detectează automat anomalii software și resetează procesorul dacă acestea se produc.
5 moduri software selectabile de standby
Schema bloc al ATmega328 este prezentată în Imaginea 6.
Prin executarea unor instrucțiuni avansate într-un singur ciclu de procesor, acest microcontroller ajunge la o viteză de 1 milion de instrucțiuni pe secundă, la fiecare 1 MHz, resursele consumate și puterea de procesare fiind bine echilibrate.
În continuare, în Imaginea 7, este prezentată semnificația pinilor circuitului integrat ATmega328 folosită pe placă de dezvoltare Arduino UNO.
I.3 Interfața Arduino – USB
Programarea și comunicarea cu calculatorul a modulului de dezvoltare Arduino se realizează prin simplă conectare a acestuia la un port USB (Universal Serial Bus), însă trebuie avut în vedere faptul că microcontrolerul ATmega328 nu dispune de conectivitate directă pe standardul USB astfel având nevoie de un convertor de date USB la serial pentru a facilita comunicarea și încărcarea de programe direct în memoria Flash a integratului.
Convertorul de date este în mare parte format dintr-un procesor care preia datele de la USB, le procesează și le transmite unui driver serial care aplică tensiunile corecte semnalelor și le transmite mai departe spre ieșirea serială.
Schema bloc a acestei interfețe de comunicare arata astfel:
În cazul nostru, pe placă de dezvoltare Arduino UNO, conversia de date este realizată de un microcontroler ATmega16u2 care la rândul său este programat pentru a desemna această singură funcție: cea de convertor USB – Serial. În cazul altor modele de Arduino acest convertor este diferit, folosindu-se alte componente specializate pentru conversia de date precum integratul FTDI FT232 sau o alternativă a sa mult mai ieftină precum CH340. Indiferent de componentele aslese de a fi utilizate, aceastea îndeplinesc exact aceleași funcții și au același mod de operare.
Microcontrolerul ATmega16u2 utilizat în acest caz ca și convertor de date, acționează ca o punte între datele venite de la calculator și procesorul principal ATmega328, acesta având instalat un "firmware" diferit față de un program obijnuit deoarece nu poate fi modificat odată programat în integrat, decât printr-o procedura specială și anume utilizând un protocol USB numit "Device Firmware Update" sau DFU. Principiul de functionare este foarte asemanator cu ATmega328 insa fiind un model mai inferior dispune de resurse mai limitate astfel si pretul sau fiind mai mic. Semnificația pinilor microcontrolerului ATmega16u2 și schema bloc sunt prezentate în Imaginea 8 respectiv Imaginea 9.
I.4 Sursa de alimentare
Deoarece circuitele integrate folosite în cadrul plăcii de dezvoltare Arduino sunt alimentate la o tensiune nominală de 5 volți, folosirea conexiunii USB pentru alimentarea cu curent electric este o opțiune simplă și convenabilă putându-se folosi direct curentul furnizat de calculator. Însă adesea cei 500mA cât este capabilă o mufă USB standard să furnizeze sunt de neazjuns sau pur și simplu vrem să folosim modulul alimentat separat de la o sursă de tensiune pentru a nu fi nevoie să îl ținem mereu conectat la un calculator. Pentru rezolvarea acestei probleme, placă Arduino UNO are incluse o serie de componente care soluționează problema alimentării cu o tensiune stabilizată de 5V microprocesoarele și restul componentelor auxiliare.
I.4.1 Circuitul integrat NCP1117
Unul din cele mai importatne componente aflate în circuitul de alimentare este stabilizatorul de tensiune NCP1117ST50T3G care oferă la ieșire o tensiune stabilizată de 5V cu un curent de maxim 1A. Acesta este un stabilizator de tensiune cu o pierderi reduse și prezintă următoarele caracteristici:
Curent de iesire până la 1.0 A
1.2V cădere maximă de tensiune la 800mA la depăsirea temperaturii nominale
Tensiuni de iesire fixe: 1.5V, 1.8V, 1.9V, 2.0V, 2.5V, 2.85V, 3.3V, 5V, 12V
Opțiune de ajustare a tensiunii de iesire
Nu necesită o sarcină minimă pentru a furniza o tensiune stabilă la iesire
Tensiune de iesire de referinta ajustată la ±1.0%
Protecție la suprasarcină, protectie termică
Tensiune de intrare până la 20V
Schemă electrică de conectare în configurație de stabilizator cu conexiune fixă este prezentată în Imaginea 11 iar în Imaginea 10 se poate vedea numerotarea pinilor integratului.
I.4.2 Amplificatorul operational LM358
Acest circuit integrat are în componență două amplificatoare operaționale independente unul față de celălalt (Imaginea 12), cu compensare internă a frecvenței, realizate în vederea operării cu o gamă variată de tensiuni și o singură sursă de alimentare. Ca domeniu de utilizare, acest circuit integrat poate satisface o gama largă de nevoi, de la amplificatoare de semnal cu sau fără inversor la comparatoare de semnal, filtre in spectrul audio, oscilatoare, etc. Fiind un circuit relativ ieftin și decent că performanțe este larg răspândit în diverse aplicații.
În cazul nostru, LM358 este utilizat în configurație de comparator în componența sursei de alimentare pentru a face trecerea între tensiunea sursei de alimentare externă împreună cu stabilizatorul de 5V și alimentarea de 5V de pe portul USB al interfeței de programare. Utilizarea acestui circuit este vitală pentru a comută sursă de unde este alimentat circuitul electronic cu tensiune de 5V pentru a nu intră în conflict cu tensiunea de 5V a calculatorului prin portul USB.
Un exemplu de circuit comparator se poate observa mai jos in Imaginea 13.
În cazul circuitului prezentat, iesirea amplificatorului operational va fi activată, comparând intrarea A cu setarea semireglabilului R10, acesta actionand ca un divizor de tensiune, iar valoarea de prag de pe pinul 2 al amplificatorului va fi luată drept referință față de care se masoara tensiunea de pe intrarea A de pe pinul 3.
Caracteristici electrice:
Compensare în frecvență implementată intern
Amplificare mare pe tensiune: 100 dB
Bandă de frecvență largă: 1.1MHz (cu compensare de temperatură)
Curent de alimentare foarte redus pe fiecare canal, practic independent de tensiunea de alimentare
Gama largă a tensiunii de alimentare:
Sursă simplă: 3V la 32V
Sursă dublă: ±1.5V la ±16V
Influența scăzută a curentului de intrare: 20nA (cu compensare temperatură)
Tensiune de intrare mică: 2mV
Curent mic de intrare: 2nA
Intrarea în gama de tensiune comună include și linie negative de alimentare
Gama tensiunii de intrare diferențială este egală cu puterea sursei de alimentare
Spectrul larg a tensiunii de ieșire pe 0V la (VCC + – 1.5 V)
Schema echivalenta a unui amplificator operațional din componența circuitului LM358 este prezentat în continuare mai jos, în Imaginea 14.
I.5 Oscilatorul cu cristal de cuarț
Un oscilator cu cristal de cuarț este un dispozitiv electronic care utilizaeaza rezonanță mecanică a unui cristal de material piezoelectric pentru a genera un semnal electric precis în frecvența. Acestea se folosesc pentru generarea semnalelor de referință pentru ceasuri, circuite integrate, cât și pentru emițătoare și receptoare radio. Câte un asemenea oscilator de 16MHz (Imaginea 15) este folosit și în cazul nostru pe placă Arduino UNO pentru fiecare microcontroler ATmega pentru a-i furniza un semnal de funcționare a procesorului.
Oscilatorul cu cristal funcționează pe baza deformarii structurii cristaline a materialului piezoelectric într-un câmp electric când o tensiune este aplicată pe niște electrozi din imediată vecinătate a cristalului. Când acest câmp electric dispare, cristalul revine la formă să inițială generând o tensiune electrică. Rezultatul final fiind că acest oscilator se comportă similar cu un oscilator RLC. În Imaginea 16 este prezentat simbolul electric și circuitul echivalent a unui oscilator cu cristal de cuarț.
Matematic, impedanța acestui circuit poate fi exprimată folosind următoarea formulă:
unde s – frecventa complexă
Caracteristică de frecvența este dependență de formă cristalului și de modul în care acesta este "tăiat". Un cristal de tip diapazon este tăiat în general astfel încât dependență să de temperatura să fie limitată în general spre maxim 25. Acest lucru înseamnă că rezonatorul va oscila aproape de valoarea să nominală la temperatura camerei, însă va încetini când temperatura scade sau crește. Un coeficient parabolic comun pentru un cristala de tip diapazon de 32kHz este de -0.04ppm/2.
În aplicația reală, acest lucru însemnând că un ceas realizat folosind utilizaand un oscilator standard de 32kHz își va reține precizia la temperatura camerei, însă va întârzia 2 minute pe an la 10 peste sau sub această temperatura și va întârzia până la 8 minute pe an la o temperatura de 20 peste cea a camerei doar datorită cristalului de cuarț.
În aplicația noastră modul de conectare a oscilatorului de cuarț la nivelul microcontreler-ului este realizată precum în schemă din Imaginea 17, utilizând și doi condensatori ceramici nepolarizati de valoare mică conectați la masă, pentru stabilizarea oscilatorului.
I.6 Schema electricăI.7 Ecranul LCD
Ecranul cu cristale lichide (Liquid Crystal Display) este un dispozitiv de afișare realizat la baza din două straturi de sticlă transparență între care se află cristale lichide (Imaginea 18). Elementul funcțional fiind pixel-ul, format dintr-o celulă care conține cristatele lichide. Aceste cristale sub acțiunea unei diferențe de potențial electric își schimbă polarizarea, astfel modificând cantitatea de lumina ce trece prin celulă. Diferența de potențial este creată cu ajutorul unui sistem de electrozi, în general printați direct pe suprafață sticlei dintr-un material conductor de electricitate. Pentru evidențierea dintre pixelii activați și cei deactivati folosiți să formeze imagini, se folosește o sursă de lumina plasată în spatele celor două straturi de sticlă în cazul ecranelor cu retroiluminare sau un material reflectorizant în spatele straturilor de sticlă pentru ecranele fără retroiluminare, care se bazează pe lumina reflectată de acel material reflectorizant pentru a reazila imaginea vizibilă. În funcție de complexitatea ecranului, în afară de componentele menționate se mai folosesc în componentă unui ecran modern, filtre de polarizare verticală și orizontală dar și diverse filtre de culoare pentru îmbunătățirea vizibilității imaginii generate. Există două principale metode de a produce imagini folosind celule LCD:
Metoda segmentelor, care afișează caractere folosind celule de forme specifice.
Metoda matricii, care afișează caractere si imagini folosind celule in forma de puncte pe care apoi sunt multiplexate.
I.7.1 Modulul LCD NDM162 (16×2 caractere)
Datorită simplității utilizării și disponibilitatea ridicată în magazinele de specialitate, am ales să folosim un ecran LCD cu 32 de caractere împărțite pe două rânduri a câte 16. Fiecare "caracter" este compus dintr-o matrice de 5×7 pixeli cu ajutorul căreia se pot reprezenta litere, cifre dar și caractere ori simboluri speciale, aranjarea acestora putând fi observată în Imaginea 20.
Modelul NDM162 folosește controller-ul HD44780 de la Hitachi, care este un integrat specializat pentru comandă ecranului cu cristale lichide multiplexat, iar comunicarea cu acest controller să face pe interfață paralelă care poate fi observată și în Imaginea 21. Acest controller a fost special proiectat pentru ecrane monocromatice utilizate în aplicații de afișare a textului precum la fax-uri, telefoane fixe, copiatoare, imp rimante dar și echipamente de rețelistică precum modem-uri sau routere.
Caracteristici generale ale modulului:
16×2 caractere
5×7 pixeli / caracter
Controler integrat HD44780
Alimentare +5V
Ciclu de funcționare 1/16
Iluminare de fundal
Numerotarea și semnificația pinilor modulului LCD NDM162 este următoarea:
Caracteristici electrice furnizate de producător în documentația tehnică:
I.8 Tranzistorul bipolar
Tranzistorul este o componentă electronică a cărei rezistență poate fi controlată folosind un asanumit "semnal de comandă". Astfel tranzistorul este principala componentă care ne permite să controlăm un curent electric mare cu ajutorul unei mici cantități de energie electrică, motiv pentru care principala să întrebuințare este cea de amplificator de semnal.
Din punct de vedere constructiv, tranzistorul bipolar este format din două joncțiuni PN dispuse spate în spate, iar denumirea revine din faptul că este realizat din două tipuri de materiale semiconductoare care pot formă un tranzistor de tip PNP (cu o regiune de tip N între două regiuni de tip P) sau NPN ( cu regiunea P între două regiuni N) simbolizarea și descrierea pinilor în Imaginea 22, însă ținem cont că este reprezentată schemă simplificată doar pentru a descrie modul în care este compus transiztorul bipolar.
Cele trei zone au fiecare cate o denumire, in functie de rolul fiecarea in functionarea tranzistorului ca ansamblu:
Baza (B) – realizată dintr-un semiconductor sub forma unei foițe subtiri, plasată între colector si emitor pentru a realiza o barieră de potențial între aceștia
Emitorul (E) – format dintr-un semiconductor puternic dopat, dispune de o cantitate mare de electroni liberi
Colectorul (C) – format dintr-un semiconductor mai slab dopat, cu mai puțini electroni liber, pregătit să accepte electroni de la emitor. Colectorul reptrezintă cea mai voluminoasă zonă a tranzistorului
Conectând tranzistorul la un circuit de intrare și de ieșire și țînând cont de sensul real al curentului în Imaginea 23 observăm modul de polarizare directă joncțiunea B-E cu o nensiune mai mare decât tensiunea de dechidere a acesteia, astfel anulând barieră de potențial a acestei joncțiuni.
Astfel electronii liberi vor putea trece in golurile din baza și de acolo spre bornă pozitivă a sursei de alimentare, formând un curent electric de bază (). Baza având o suprafață relativ mică, nu va permite trecerea ușoară prin ea a electronilor liberi, ceea ce ba determina apariția unui surplus de electrni. Acești electroni vor fi însă absorbiți de colector creeand așa numitul curent de colector (). Doarece curentul de bază și cel de colector sunt formați din electroni proveniți din emitor, curentul de emitor () este format din suma celor doi.
Componentele tranzitorului bipolar sunt astfel optimizate încât partea cea mai mare a electronilor plecați din emitor ajung prin bază în colector iar astfel curentul de colector este mult mai mare decât cel de bază . Raportul dintre aceștia ne dau factorul de amplificare a tranzistoriului – care are o valoare cuprinsă între 10 și 1000.
I.8.1 Tranzistorul BC171
Tranzistorul bipolar BC171 este realizat din plastic încapsulat în carcasa de tip TO-92, este o componenta de tip Trough-Hole si se monteaza prin inserția pinilor prin cablajul imprimat, exemplificat in imaginea alăturată. Pinul 1 corespunzând colectorului, pinul 2 bazei iar pinul 3 emitorului.
Caracteristici:
Tip PNP
Tensiune C-E: 45 V
Tensiune C-B: 50 V
Tensiune E-B: 6 V
Curent de Colector: 0.1 A
Putere disipata de Colector: 0.3 W
Castig curent (hfe): 110 la 450
Zgomot: 10 dB
Plaja de functionare si stationare: -65 la +150 °C
Capsulă: TO-92
Echivalenți direcți pentru acest tranzistor sunt: BC337, BC445, BC447, BC449, BC546, BC547, BC550
I.8.2 Tranzistorul BD139
Tranzistorul bipolar BD139 este realizat din plastic încapsulat în carcasa de tip TO-162, este o componentă de tip Trough-Hole si se monteaza prin inserția pinilor prin cablajul imprimat si are posibilitatea de a fi montat pe radiator pentru disiparea căldurii, dată fiind capacitatea sa de a gestiona curenți mai mari. Pinul 1 corespunzând emitorului, pinul 2 colectorului iar pinul 3 bazei, începând citirea de la stanga spre dreapta.
Caracteristici:
Tip PNP
Tensiune C-E: 80 V
Tensiune C-B: 100 V
Tensiune E-B: 5 V
Curent de Colector: 1.1 A
Putere disipata de Colector: 12.5 W
Castig curent (hfe): 40 la 250
Plaja de functionare si stationare: -55 la +150 °C
Capsulă: TO-126
Variantă capsulă fără Pb: BD139G
Echivalenți direcți pentru acest tranzistor sunt: BD139G, BD230, BD237, BD237G, BD379, BD791, MJE244
I.9 Traductorul piezoelectric
Difuzorul piezoelectric sau "buzzer-ul" este un traductor acustic care funcționează pe baza efectului piezoelectric. Acesta este constituit în general dintr-un disc metalic (diafragmă) pe suprafață căruia este laminat un material piezoelectric. La apariția unei diferențe de potențial dintre diafragmă metalică și discul piezoelectric, acesta își modifică ușor formă curbandu-se în funcție de polaritatea curentului electric iar în momentul întreruperii curentului acesta revine la formă inițială.
Această mică oscilație, antrenată la anumite frecvente, fac ca această diafragmă să emită un sunet, care de cele mai multe ori este amplificat de o cavitate rezonantă, în cazul nostru carcasa de plastic a traductorului de sunet (Imaginea 27). Frecventa la care acest tip de traductor este operat variaza inre 1kHz si 5kHz pentru aplicatii audibile si de pana la 100kHz in cazul aplicațiilor pentru ultrasunete.
În Imaginea 28 se poate observa un asemenea disc piezoelectric sub forma sa liberă, fără a fi montat in cavitatea rezonatoare de plastic.
Important de notat este faptul că în practică aceste traductoare sunt adesea folosite în sens invers, ca niște senzori sau chiar microfoane: în momentul aplicării unui șoc sau a unei vibrații asupra diafragmei, la bornele traductorului va apărea o tensiune electrică proporțională cu intensitatea deformarii suferite de traductor.
Capitolul II – Elemente de avertizare și demnalizare
II.1 Sirena electronică
Sirenă electronică este un dispozitiv de avertizare sonoră extrem de eficient și des întâlnit în aplicații mobile sau portabile. În mare acest dispozitiv are în componentă să trei subansamble pe cât de simple pe atât de eficiente când sunt îmbinate într-un singur dispozitiv. Cele trei componente principale sunt prezentate în schemă bloc de mai jos.
Oscilatorul împreună cu modulatorul generează semnalul de audio-frecvență care va fi redat de dispozitiv, combinând diverse tipuri de modulație al semnalului generat de oscilator (sau oscilatoare) se obțin diverse efecte sonore precum cele mai cunoscute sirene de poliție, salvare, dar și alte efecte sonore speciale.
Amplificatorul preia semnalul de audio-frecvență și îl amplifică că intensitate
Difuzorul cu horn are rolul de a transformă curentul electric alternativ generat de primul etaj și amplificat, în sunet de înalta intensitate, fiind mai eficient decât un difuzor tradițional, folosind principiul reflexiei undelor sonore pentru a le amplifica
II.1.1 Principiul de funcționare
Modul de funcționare a difuzorului cu horn sau pâlnie este același că a unui difuzor clasic; și anume o bobina mobilă străbătută de un curent electric alternativ atașată de o diafragmă se mișcă în interiorul unui câmp magnetic static generat de un magnet permanent. Diferența este că difuzorul cu horn se folosește de factorul de amplificare a sunetului folosind un horn, iar pentru aplicațiile mobile și frecvente înalte se folosește horn-ul "reentrant" sau horn-ul împăturit. Acesta reduce lungimea întregului ansamblu la aproximativ o treime, având hornuri concentrice de diametre diferite montate în interiorul ansablului. În Imaginea 30 se poate observă reprezentarea unui astfel de difuzor cu pâlnie concentrică în secțiune transversală, de asemnea este reprezentat traseul parcurs de undele sonore în interiorul hornului.
Difuzoarele cu pâlnie sunt utilizate pentru creșterea randamentului. Cu ajutorul pîlniei se produce o transformare și o adaptare de impedanță acustică a sunetului și randamentul difuzorului poate crește până la valori de ordinul a 50% sau chiar mai mult. Astfel puterea electrică de audiofrecvență poate fi de 50 ori mai mică decît în cazul difuzoarelor cu radiație directă, pentru obținerea acelorași rezultate.
Trebuie să remarcăm că acestea nu pot reproduce un sunet de inaltă calitate, ca cele cu radiație directă; iar spre exemplu pentru redarea frecvențelor joase de ordinul a 50 Hz ar fi necesare lungimi foarte mari a pâlniilor (4—6 m), ceea ce ar fi greu de realizat practic și foarte costisitor. De aceea acest tip de difuzor este utilizat în prealabil în aplicații de avertizare sonoră și de adresare publică.
II.2 Dioda electroluminiscentă – LED
LED-ul face parte din ramură industriei electronice cel mai bine dezvoltate în ultimii zeci de ani, fiind un important contribuitor la evoluția întregului avans tehnologic. Diodă electroluminiscenta (Light Emiting Diode) este realizată la baza dintr-o joncțiune p-n dintre doi semiconductori care în polarizare directă emite lumina. La nivelul acestei joncțiuni, în prezența unui curemt, electronii liberi se reorganizează cu golurile de electroni din dispozitiv astfel emitand energie sub formă de fotoni. Acest efect poartă numele de electroluminiscenta, iar culoarea luminii este determinată de bandă lipsă de energie a semiconductorului. Dimensiunea efectivă a LED-ului este de obicei mai mică de 1.
În Imaginea 31 se pot observa elementele constructive ale unui LED:
Terminal pozitiv – Anod
Terminal negativ – Catod
Teșitură ce marchează catodul
Țăruș
Nicovala
Reflector
Jonctiunea p-n
Fir de legatura – Bond
Capsula din rășină transparentă
II.2.1 Principiul de funcționare
LED-ul funcționează numai în polarizare directă prin eliberarea de energie sub formă de fotoni după reorganizarea electronilor din bandă de conductie cu golurile din bandă de valență a atomilor la nivelul joncțiunii p-n iar acest fenomen este prezentat în schema de mai jos.
Eficiența tipică exprimată îm lumen/W, senzaţia umană/putere electrică şi eficienţa tipică (putere optică/putere electrică) a LED-ului în funcție de culoare este prezentată min tabelul de mai jos:
II.2.2 Polarizarea LED-urilor:
Tensiunea de operare a LED-urilor tipică este cuprinsă între 1V și 3V iar curentul de polarizare directă între 20mA și 100mA. Desigur că sunt și excepții în cazul LED-urilor de mare putere spre exemplu. În cazul depășirii tensiunii de 3V, regiunea activă a joncțiunii este trapunsa iar curentul suferă o creștere bruscă, care poate distruge cu ușurință dispozitivul. Pentru a evita acest inconvenient, este necesară plasarea în circuit a unui rezistor în serie cu LED-ul și sursă de alimentare. Acest lucru este exeplificat în schema din Imaginea 33.
Rezistorul dintre sursă si LED poartă denumirea de "rezistor de limitare" pentru simplul fapt că are rolul de a limita curentul ce trece prin circuit în momentul polarizarii directe a diodei electroluminiscente. Curentrul ce străbate circuitul este determinat de raportul dintre diferența tensiunii de alimentare si caderea de tensiune pe LED si rezistența
Unde:
= Curent de polarizare directă
= Tensiunea de alimentare a sursei
= Căderea de tensiune pe LED
= Rezistența electrică a rezistorului
II.2.3 Caracteristica de ieșire
În general, dioda LED este un dispozitiv foarte liniar când vine vorba de caracteristica sa de ieșire. Intensitatea luminoasa pe care o produce este direct proportionala cu curentul ce strabate LED-ul în polarizare directă.
Culoarea unui LED este determinată de lungimea de undă emisă de acesta, fiind dependență de materialul semiconductor din care este realizat. Spre exemplu pentru obținerea culorii albastre este folosit nitrit-ul de galiu iar pentru culoarea roșie fosfid-ul de galiu.
II.2.4 Avantajele LED-ului
Principalele avantaje ale utilizării LED-urilor sunt:
Consumul redus de energie electrică
Costul redus si varietatea mare de produs
Intensitatea luminoasă poate fi ușor controlată
Dimensiuni și greutate reduse
Durata mare de viață
Timpul de răspuns foarte rapid
Vasta diversitate a culorilor disponibile
Nu conțin materiale toxice precum mercur sau gaze
Capitolul III – Implementarea software
Program-ul pentru Arduino poate fi scris în orice limbaj de programare atât timp cât avem un compilator care va transformă programul într-un cod binar ce poate fi încărcat și interpretat de microprocesor-ul nostru. Atmel, producătorul seriei ATmega, oferă un mediu de dezvoltare pentru microprocesoarele lor și anume: AVR studio și mai noul Atmel Studio. Soluția dezvoltată pentru Arduino oferă un Mediu de Dezvoltare Integrat (IDE) care este o aplicație bazată pe limbajul de programare Java. Acesta este deviat din IDE pentru limbajele "Processing" și "Wiring" iar acesta include un editor de cod cu funcții precum: copy-paște, căutarea și înclouirea textului, indentare automată, evidențierea perechilor de caractere speciale (paranteze, ghilimele, etc.), evidențierea sintaxelor și oferă o metodă simplă, cu un click, pentru compilarea și încărcarea programelor pe circuitul Arduino.
Interfața programului (prezentată în Imaginea 34) conține și o zonă pentru text, o bară de instrumente cu butoane pentru diferite funcții și un meniu de operații ierarhizat. Programul scris prin intermediul interfeței IDE pentru Arduino paorta denumirea de "schița", iar acestea sunt salvate local că și fișiere text cu extensia ".ino". De exemplu, până la versiunea IDE V1.0 erau salvate schițele în extensia ".pde" Arduino IDE suportă limbajele de programare C și C++ folosind reguli speciale de structurare a codului scris. De asemenea, oferă și o librărie de software a proiectului Wiring, care furnizează o multitudine de proceduri de intrare-ieșire comune. Codul scris de utilizator necesită doar două funcții de bază: începerea unei schițe și buclă principală de program, care sunt compilate și legate de un program “main()” într-un executabil ciclic împreună cu setul de unelte GNU, inclus în distribuția IDE. Arduino IDE utilizează compilator-ul numit "avrdude" pentru a converti codul executabil într-un fișier text de codificare hexazecimală care este încărcat și interpretat de placă de dezvoltare Arduino folosind bootloader-ul înscris în microcontroller-ul ATmeaga328.
În imaginea de mai jos este prezentată o fereastra a Arduino IDE cu o mică parte din programul scris pentru acest proiect.
Capitolul IV – Implementarea practică
IV.1 Prezentare generală
Ideea de la baza acestui priect a fost realizarea unui dispozitiv de semnalizare și avertizare, atât vizual cât și acustic cu un larg domeniu de utilizare și posibilitatea modificării parametrilor de funcționare a sistemului fără nevoia de a interveni fizic asupra circuitului electric. Astfel am ales platforma Arduino că un "creier" pentru acest proiect datorită flexibilității software și simplitatea implementării, cu o vastă posibilitate de îmbunătățiri și adaptări ce pot fi aduse pe parcurs. Ca tensiune de alimentare am ales utilizarea unei tensiuni nominale de 12V, astfel întreg sistemul putând fi montat și utilizat în aplicații mobile precum instalat pe autospecialele diferitor organe de salvare, poliție sau alte aplicații rutiere precum la escortarea transporturilor agabaritice. Singurul lucru pentru a adapta sistemul la una din aceste aplicații fiind schimbarea module-lor cu LED în unele de culoarea specifică aplicației în care se folosesc. Roșu și albastru putându-se utiliza de exemplu în cazurile mașinilor de poliție, ambele lumini albastre la mașinile de salvare sau lumini galbene la mașinile însoțitoare de transport agabaritic sau special.
IV.2 Afișare și interfață
Pentru partea de afișare am utilizat ecranul LCD de 16×2 caractere, iar pentru partea de comandă am utilizat două butoane pentru selectarea modurilor de lucru, respectiv acționarea sirenei. Interfață de utilizare am optat să o patrez cât mai simplă, astfel încât utilizatorul să poată acționa și înțelege ușor modul de funcționare a comenzilor pentru selectarea modului de lucru a sistemului. Ecranul LCD este conectat la Arduino conform schemei din imaginea alăturată, iar ulterior am adăugat un semireglabil pe pinul 3 a ecranului pentru reglarea contrastului.
IV.3 Comanda electrică
Partea de comandă a dispozitivelor de semnalizare (două module roșu, respectiv albastru, cu LED-uri de mare putere) și a dispozitivului de avertizare sonoră (sirenă electronică) este realizată cu ajutor unor tranzistori bipolari, conectatii la ieșirile de semnal utilizate de la modulul de dezvoltare Arduino. Implementarea acestor tranzistor este necesară deoarece modulele cu LED și sirenă electronică sunt alimentate la 12V și au un consum relativ crescut de curent față de capacitățile electrice ale microcontrolerului ATmega328, care este capabil de a furniza pe ieșiri o tensiune de 5V și doar câțiva miliamperi. Pentur a soluționa problema interfeței de comandă a dispozitivelor de putere, am realizat circuitul din schemă de mai sus, utilizând câte un tranzistor BC171 pentru fiecare modul LED și un tranzistor BD139 pentru sirenă. De asemnea pentru semnalizarea acustică a comenzilor primite de la butoane am folosit un traductor piezoelectric pentru a genera niște scurte tonuri, de asemenea comandat cu ajutorul unui tranzistor.
Alimentarea modulului Arduino UNO se face de la aceeași sursă V1 de 12V, utilizând stabilizatorul de tensiune integrat pe placă pentru a reduce tensiunea la 5V cât are nevoie microprocesorul, iar furnizarea tensiunii de 12V se realizează cu ajutorul unui alimentator de la rețea, în serie cu un întrerupător.
Astfel am realizat circuitul din imaginile de mai jos pe cablaj de test, ținând cont de necesitatea interconectării modulelor și folosirea unor conectori cu șurub pentru partea de putere, niște conectori cu pini pentru partea de comandă și o mufă DC-jack tată pentru conectarea alimentatorului de 12V la întreg circuitul.
Interconectarea modulelor la interfața de conexiuni prin mufele acesteia se face astfel:
Intrare 12V – alimentator
Iesire 12V – Arduino
Intrare comnezi de la Arduino
Iesire Sirenă
Iesire LED albastru
Iesire LED rosu
Pentru interconectare am folosit fire electrice de diferite secțiuni, partea de comandă, nefiind solicitata prea mult din punct de vedere a curentului, utilizând fire mai subtiri acestea fiind strict pentru semnale iar pentru partea de iesire (spre LED-uri si sirenă) am folosit fire cu o secțiune transversală mai mare, pentru a acoperi necesarul de curent pentru buna funcționare a dispozitivelor.
IV.4 Asamblarea finală
Pentru asamblarea întregului sistem în format final, am optat pentru un placaj de policarbonat de culoare neagră drept suport. Iar după luarea de măsurători și observarea modului în care modulele diverse vor putea fi așezate, am început construirea unei structuri de rezistență din niște rigle de lemn care pe urmă a fost montată sub placajul principal pentru a oferi rezistență structurală necesară transportului și de asemenea au rol de distantier pentru a avea loc la cablarea ulterioară a firelor pe partea din spate.
În continuare, după reverificarea modului în care butoanele, intrerupătorul și ecranul LCD pot fi montate, am realizat găurile necesare pentru montarea acestora pe placajul principal, finalizarea acestui pas prezentată in imaginea următoare.
Pe urmă, am continuat cu asamblarea și cablarea pe panou a modulelor cu LED, a sirenei electronice și pe urmă a interfeței de conectare și a modulului de dezvoltare Arduino, după care am instalat și organizat cablurile pe partea din spate cu ajutor unor bucăți de pat-cablu pentru a evita ruperea sau desfacerea accidentală a firelor sau a firelor electrice.
După etichetarea si fixarea definitivă a modulelor și a cablurilor am obținut varianta finală a sistemului nostru complet:
Ultimul pas al asamblării constând în verificarea conexiunilor și a continuității firelor, verificarea funcționării butoanelor și a întretupătorului și nu în ultimul rănd alimentarea sistemului pentru a verifică alimentarea cu curent a modulului Arduino și a ecranului LCD.
IV.5 Implementarea programului
Programul sistemului este conceput într-un mod relativ simplu, în prima faza include librăria "LiquidCrystal.h" care ne ajută să controlăm ecranul LCD, definim pinii de intrare și ieșire pe care îi vom folosi. Apoi prezintă pe ecranul LCD titlul proiectului, apoi așteaptă comenzi pentru activarea unuia din modurile de acționare a luminilor și activarea sau dezactivarea sirenei. În exemplul acesta de cod, sunt definite trei moduri în care cele două module de LED vor fi animate.
Codul sursă a programului impreună cu explicatiile funcțiilor este prezentat mai jos in forma scoasa din Arduino IDE:
// include libraria pentru ecranul LCD
#include <LiquidCrystal.h>
// defineste pinii Arduino la care este conectat ecranul LCD
LiquidCrystal lcd(7, 6, 5, 4, 3, 2);
#define pinSirena 8 // pinul 8 este setat pentru Sirena
#define TonePin 13 // pinul 13 este setat pentru buzzer
#define RED 12 // pinul 12 este setat pentru led-ul rosu
#define BLUE 11 // pinul 11 este setat pentru led-ul albastru
int button = 10; // pinul 10 este setat pentru buton-ul Mod Lumini
int button2 = 9; // pinul 10 este setat pentru buton-ul Sirena
int val; // variabila pentru citirea butonului Mod Lumini
int state; // variabila pentru a retine ultima stare Lumini
int presses = 0; // de cate ori a fost apasat butonul Mod Lumini
int mode = 0; // mod lumini selectat
int val2; // variabila pentru citirea butonului Sirena
int state2; // variabila pentru a retine ultima stare Sirena
int presses2 = 0; // de cate ori a fost apasat butonul Sirena
int mode2 = 0; // mod Sirena selectat
void setup() {
pinMode(pinSirena,OUTPUT); // seteaza pinSirena ca iesire
pinMode(TonePin,OUTPUT); // seteaza TonePin ca iesire
pinMode(RED,OUTPUT); // seteaza led-ul rosu ca iesire
pinMode(BLUE,OUTPUT); // seteaza led-ul albastru ca iesire
pinMode(button,INPUT); // seteaza buton Mod Lumini ca intrare
pinMode(button2,INPUT); // seteaza buton Sirena ca intrare
state = digitalRead(button); // citeste pozitia de statrt a butonului
state2 = digitalRead(button2); // citeste pozitia de statrt a butonului
// Reda acest ton la pornire
tone(TonePin,1800);
delay(50);
tone(TonePin,1600);
delay (50);
tone(TonePin,2000);
delay (50);
noTone (TonePin);
lcd.begin(16, 2); // seteaza numarul de coloane si randuri ale ecranului
lcd.setCursor(0, 0); // seteaza cursorul
lcd.print("PROIECT LICENTA"); // afiseaza
lcd.setCursor(0, 1); // seteaza cursorul
lcd.print("Pop Andrei Radu"); // afiseaza
delay(2000); // asteapta
lcd.clear();
lcd.setCursor(5, 0);
lcd.print("Sistem");
lcd.setCursor(1, 1);
lcd.print("de semnalizare");
delay(2000);
lcd.clear();
lcd.setCursor(1, 0);
lcd.print("si avertizare");
lcd.setCursor(3, 1);
lcd.print("controlata");
delay(2000);
lcd.clear();
lcd.setCursor(7, 0);
lcd.print("de");
lcd.setCursor(5, 1);
lcd.print("Arduino");
delay(2000);
// Reda un ton
tone(TonePin,1450);
delay(50);
tone(TonePin,1700);
delay (50);
tone(TonePin,1880);
delay (50);
noTone (TonePin);
delay (2000);
}
void loop() {
val2 = digitalRead(button2); //seteaza valoare pentru buton
delay(10); //evita apasarea accidentala multipla
if (val2 != state2){ //compara starea butonului cu cea actuala
if (val2 == LOW){
//reda un ton la apasarea butonului
tone(TonePin,1160);
delay (50);
tone(TonePin,1330);
delay (50);
noTone (TonePin);
if (mode2 == 0){ //daca modul a fost 0 si se apasa butonul, comuta la 1
mode2 = 1;
} else {
if (mode2 == 1) { //creste valoarea cu 1
mode2 = 0;
}
}
}
state2 = val2;
}
if (mode2 == 0){ //Lumini oprite
lcd.clear();
lcd.setCursor(10, 0);
lcd.print("SIRENA");
lcd.setCursor(11, 1);
lcd.print("OFF");
digitalWrite(pinSirena,LOW);
}
if (mode2 == 1){ //Program 1 lumini
lcd.clear();
lcd.setCursor(10, 0);
lcd.print("SIRENA");
lcd.setCursor(12, 1);
lcd.print("ON");
digitalWrite(pinSirena,HIGH);
}
val = digitalRead(button);
delay(10);
if (val != state){
if (val == LOW){
tone(TonePin,1560);
delay (50);
tone(TonePin,1830);
delay (50);
noTone (TonePin);
if (mode == 0){
mode = 1;
} else {
if (mode == 1) {
mode = 2;
} else {
if (mode == 2){
mode = 3;
} else {
if (mode ==3){
mode = 0;
}
}
}
}
}
state = val;
}
if (mode == 0){ //Lumini oprite
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("LUMINI");
lcd.setCursor(1, 1);
lcd.print("OFF");
digitalWrite(RED,LOW);
digitalWrite(RED,LOW);
}
if (mode == 1){ // Mod 1 lumini
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("LUMINI");
lcd.setCursor(0, 1);
lcd.print("Mod 1");
byte count = 0; //seteaza un numarator
byte number = 0; while (count < 2){ //bucla numarator
digitalWrite(RED,HIGH);
delay(20);
digitalWrite(RED,LOW);
delay(100);
count++;
delay(100);
}
while (number < 2){
digitalWrite(BLUE,HIGH);
delay(20);
digitalWrite(BLUE,LOW);
delay(100);
number++;
delay(100);
}
}
if (mode == 2){ // Mod 2 lumini
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("LUMINI");
lcd.setCursor(0, 1);
lcd.print("Mod 2");
byte count = 0; //seteaza un numarator
byte number = 0; while (count < 6){ //bucla numarator
digitalWrite(RED,HIGH);
delay(20);
digitalWrite(RED,LOW);
delay(50);
count++;
delay(50);
}
while (number < 6){
digitalWrite(BLUE,HIGH);
delay(20);
digitalWrite(BLUE,LOW);
delay(50);
number++;
delay(50);
}
}
if (mode == 3){ // Mod 3 lumini
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("LUMINI");
lcd.setCursor(0, 1);
lcd.print("Mod 3");
byte count = 0; //seteaza un numarator
byte number = 0; while (count < 5){ //bucla numarator
digitalWrite(RED,HIGH);
digitalWrite(BLUE,HIGH);
delay(30);
digitalWrite(RED,LOW);
digitalWrite(BLUE,LOW);
delay(30);
count++;
delay(50);
}
delay(500);
}
}
// Sfarsitul programului //
Concluzii
Arduino este un întreg ecosistem relativ ușor de utilizat, foarte versatil și ideal pentru creearea rapidă a unor proiecte cu grad scăzut de complexitate, care nu necesită foarte multă putere de calcul. Codul programului este destul de ușor de pus pe picioare datorită interfeței prietenoase a mediului de programare integrat IDE.
Realizarea acestui proiect demonstrează modul în care diferite module electronice și electrice pot fi îmbinate pentru a crea un sistem complet de semnalizare și avertizare de sine stătător fără un număr extrem de mare de componente auxiliare.
Dezvoltând partea de software se poate îmbunătăți modul de funcționare sau chiar includerea mai multor "moduri" cu noi jocuri de lumini. Implementarea timpilor de așteptare în interiorul codului nu este cel mai fericit mod de a pune în practică un program deoarece întârzie timpii de răspuns la comenzi a procesorului, astfel fiind loc de îmbunătățiri a programului inițial.
Bibliografie
Arduino
https://profs.info.uaic.ro/~arduino/index.php/Laboratorul_1
https://www.arduino.cc/en/Guide/Introduction
https://ro.wikipedia.org/wiki/Arduino
https://ro.wikipedia.org/wiki/USB
https://en.wikipedia.org/wiki/In-system_programming
http://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-42735-8-bit-AVR-Microcontroller-ATmega328-328P_Summary.pdf
https://en.wikipedia.org/wiki/Atmel_AVR
http://www.edgefxkits.com/blog/arduino-technology-architecture-and-applications/
https://www.electroschematics.com/10955/build-arduino-bootload-atmega-microcontroller-part-1/
https://en.wikipedia.org/wiki/USB_adapter
http://ww1.microchip.com/downloads/en/DeviceDoc/doc7799.pdf
https://www.onsemi.com/pub/Collateral/NCP1117-D.PDF
https://www.efxkits.us/lm324-comparator-ic-working-applications/
https://www.electronics-tutorials.ws/oscillator/crystal.html
https://en.wikipedia.org/wiki/Crystal_oscillator
Ecranul LCD:
Tehnologia din spatele ecranului – LCD (Liquid Crystal Display)
http://ctmtc.utcluj.ro:8080/romana/Cursuri/Televiziune%20-%20EA/Plasma%20vs%20LCD.pdf
https://en.wikipedia.org/wiki/Liquid-crystal_display
Interfacing LCD with Atmega32 Microcontroller using Atmel Studio
https://en.wikipedia.org/wiki/Hitachi_HD44780_LCD_controller
Despre LED:
https://phys.utcluj.ro/PersonalFile/Cursuri/BarleaLaborator/18.Lab_LED_2c.pdf
https://en.wikipedia.org/wiki/Light-emitting_diode
http://www.physics-and-radio-electronics.com/electronic-devices-and-circuits/semiconductor-diodes/lightemittingdiodeledconstructionworking.html
Avertizarea acustică:
https://ro.wikipedia.org/wiki/Difuzor
https://en.wikipedia.org/wiki/Siren_(alarm)
http://tehnium.org/wp/?p=4378
Generalități:
https://hobbytronica.ro/despre-tranzistor-principii-fizice-de-functionare/
https://ro.wikipedia.org/wiki/Tranzistor
https://ro.wikipedia.org/wiki/Tranzistor_bipolar
https://en.wikipedia.org/wiki/Piezoelectric_speaker
http://www.el-component.com/bipolar-transistors/bc171
https://hobbytronica.ro/despre-tranzistor-principii-fizice-de-functionare/
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: PROGRAMUL DE STUDIU SISTEME ELECTRICE FORMA DE ÎNVĂȚĂMÂNT CU FRECVENȚĂ PROIECTAREA ȘI REALIZAREA UNUI SISTEM DE SEMNALIZARE ȘI AVERTIZARE COMANDAT DE… [308609] (ID: 308609)
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.
