Sistem Mobil Pentru Achizitie Si Transmisie a Datelor Prin Radiofrecventa

Cuprins

INTRODUCERE ……………..

CAPITOLUL 1. Comunicarea în radiofrecvență ……….

1.1 Radiofrecvența …………………..

1.1.1 Benzile de frecvență ……………………

1.2 Propagarea câmpului electromagnetic ……………..

1.2.1 Generalități …………….

1.2.2 Propagarea undelor de radiofrecvență ……………

1.3 Antene …………………. De modificat

1.4 FSK-Frequency Shift Keying ………

1.4.1 Modulatorul FSK ….

1.4.2 Demodulatorul FSK …..

CAPITOLUL 2. SENZORI …………

2.1 Definiție și clasificare …………….

2.2 Senzori de temperatura și umiditate ……………

2.2.1 Senzor de temperatură ……….

2.2.2 Senzor de umiditate ………

2.2.3 Senzorul DHT22 …….

2.3 Senzori de lumina …………

2.3.1 Senzorul PIR SE-10 …………………… de modificat

2.4 Senzori infraroșu …………………

2.5 Senzori ultrasunete …………………

2.5.1 Senzor ultrasunete HC-SR04 ……….

2.6 Senzori de accelerație …………………..

2.6.1 Accelerometrul MMA8452Q ……….

CAPITOLUL 3. Arduino Pro mini. Atmega328 si RFM12B……………………………

3.1 Arduino Pro Mini …………….

3.1.1 Prezentare Generală ……………….

3.1.2 Schema bloc Arduino Pro Mini ………..

3.1.3 Specificații tehnice …………..

3.2 Atmega328 ………………………………………………

3.2.1 Descrierea pinilor.. ……………..

3.2.2 Caracteristici tehnice ……………………

3.2.3 Caracteristici periferice ……………………

3.2.4 Interfața serial …………………………

3.2.5 Tensiuni operaționale ……………………………

3.3 RFM12B ………………………………………………………

3.3.1 Generalități …………..

3.3.2 Schema bloc …..………………

3.3.3 Caracteristici Detaliate – Descrierea Nivelului ………………..

CAPITOLUL 4. Implementarea software. Realizarea proiectului ……

4.1 Comunicarea cu circuitul ……….

4.2 Limbajul de programare …………..

4.3 Structură Mașină ……………

4.4 Structură Telecomandă ……………..

4.5 Rezultate obținute ………………..

CONCLUZII …………..

BIBLIOGRAFIE ………….

INTRODUCERE

Domeniul temei lucrării

Domeniul care este abordat în lucrarea de față este o combinație între electronică sistemele inteligente de control și securizare, deoarece sunt utilizate atât cunoștințele de electronică precum: senzori, LCD cât și cunoștințe ale sistemelor inteligente de control și securizare( programarea plăcii arduino)

Scopul lucrării

Scopul lucrării este prezentarea modului de proiectare a unui sistem mobil pentru achiziție și transmisie a datelor prin radiofrecvență, sistem capabil să preia anumite informații preluate de la senzori si de a le transmite către un alt sistem de control aflat la distanță.

Tema de proiectare

Tema de proiectare impune realizarea unui sistem mobil controlat la distanță folosind două plăci arduino pro mini, diferiți senzori și un transceiver RFM12B ca mod de comunicare.

Motivația alegerii temei

Mașinile și tehnologia în ziua de astăzi au devenit un lucru indispensabil, o necesitate. Ai nevoie de mașini pentru a te deplasa cum ai nevoie și de tehnologie pentru a comunica și interacționa cu ceilalți mult mai rapid.

Am ales această temă datorită pasiunii mele pentru mașini și tehnologie. Prin această lucrare doresc să îmbin cele două hobby-uri și să construiesc o mașină ce poate detecta anumite lucruri din mediul înconjurător, cum ar fi temperatura, intensitatea luminii, sau anumite obiecte ce îi apar în cale.

Capitolul 1

Comunicarea în radiofrecvență

1.1. Radiofrecvența

Radiofrecvența (prescurtat RF) este un termen folosit pentru a caracteriza domeniul de frecvențe prin care se efectuează, de obicei, transmisiunile radio-electrice.

Prin semnale sau oscilații de radiofrecvență înțelegem tensiunile sau curenții cu variație armonică (sinusoidală). În particular, termenul desemnează domeniul de frecvențe care începe cu frecvențele undelor kilometrice (UL) (circa 100 km lungimea de undă, căreia îi corespunde o frecvență de 3 kHz) și se termină cu frecvențele microundelor (1 mm, 300 GHz).

Studiul lor, precum și al metodelor de generare, amplificare și modulare a fost impus mai ales de faptul că, plecând de la astfel de oscilații, se realizează transmiterea informațiilor prin unde electromagnetice de RF, fără conductoare, la mare distanță și cu viteza luminii.

1.1.1. Benzile de frecvență

1.2. Propagarea câmpului electromagnetic.

1.2.1. Generalități

Dacă un conductor este parcurs de un curent electric variabil, în jurul lui se produce un câmp magnetic și un câmp electric, ambele variabile. Rezultatul acestor câmpuri este câmpul electromagnetic. În domeniul de specialitate se demonstrează că orice sistem care produce câmp electromagnetic variabil poate radia în spațiu unde electromagnetice. Pentru ca radiația să fie eficientă, frecvența câmpului electromagnetic trebuie să fie ridicată și dimensiunile sistemului radiant să fie comparabile cu lungimea de undă. Aceste unde sunt generate de antenele de emisie care reprezintă circuite oscilante deschise. Undele electromagnetice se propagă în spațiu cu viteza luminii și sunt caracterizate prin: lungimea de undă (λ), intensitate, polarizare. Lungimea de undă reprezintă distanța parcursă în spațiu timp de o perioadă de oscilație:

λ = c · T =

unde c reprezintă viteza de propagare a luminii în vid. Dacă propagarea are loc într-un mediu caracterizat prin constantă dielectrică relativă εr și permeabilitate relativă μr atunci avem:

λ =

La distanțe mari de antenă comparativ cu λ, undele electromagnetice sunt plane și se caracterizează prin doi vectori: intensitatea câmpului electric E și intensitatea câmpului magnetic H. Ele sunt perpendiculare pe direcția de propagare. Amplitudinea lor variază în timp cu frecvența semnalului emis (fig. 1.1).

Fig. 1.1. Variația în timp a câmpului electromagnetic

Planul ce conține vectorul E se numește plan de polarizare. Dacă acest plan este orizontal sau vertical atunci undele sunt polarizate orizontal respectiv vertical. Acestea induc o tensiune maximă numai în conductoarele aflate în același plan de polarizare. Undele polarizate orizontal se folosesc în special în transmisiile TV întrucât aceste unde sunt mai puțin reflectate și atenuate de suprafața pământului.

Pentru aprecierea cantitativă a câmpului electromagnetic se folosește o unitate de măsură denumită volt/metru care caracterizează de fapt intensitatea câmpului electric. Prin intermediul ei se poate determina ce tensiune electrică se introduce într-un conductor cu lungimea de un metru când acesta este intersectat cu viteza luminii de undă electromagnetică.

1.2.2. Propagarea undelor de radiofrecvență

Propagarea undelor radio într-un mediu omogen se face în linie dreaptă. În practică însă datorită cauzelor analizate mai jos, undele pot fi supuse unor fenomene de reflexie, refracție, difracție, rotirea planului de polarizare. Ponderea acestor fenomene este strâns legată de lungimea de undă.

Reflexia undelor radio poate avea loc în cazul când pe direcția de propagare a apărut un obstacol în care se induc curenți electrici variabili. Aceștia la rândul lor dau naștere la câmpuri electromagnetice secundare rezultând unde reflectate. Reflexia electromagnetică respectă aceleași legi ca și reflexia optică. Ea este mult mai accentuată în cazul corpurilor metalice. În practică, reflexia undelor radio este determinată de formele de relief, de existența clădirilor înalte în cazul orașelor, neuniformități din troposferă, compoziția ionosferei ș.a.

Datorită neuniformității diferitelor straturi ale atmosferei, viteza de propagare nu este constantă și poate apărea un fenomen de refracție caracterizat prin curbarea direcției de propagare. În condiții meteo speciale este posibil ca schimbarea de direcție să se facă astfel încât undele radiate în sus să se întoarcă pe pământ rezultând reflexii și în felul acesta distanța de propagare crește considerabil.

În cazul în care dimensiunile obstacolelor întâlnite sunt comparabile cu lungimea de undă, atunci suprafața lor poate reradia undele în toate direcțiile. Fenomenul se numește difracție și practic datorită lui undele radio pot “ocoli” aceste obstacole.

Suprafața pământului poate produce unde de difracție pe gama undelor lungi iar vârfurile munților pentru undele ultrascurte.

După natura mediului în care are loc propagarea, undele se pot clasifica după cum urmează:

a) Unde terestre – sunt compuse din unde spațiale și unde de suprafață. În figura 1.2. se prezintă componentele undei spațiale și anume: unda directă și unda reflectată. Înălțimile la care sunt situate antenele de emisie si recepție sunt h1 respectiv h2.

Unda de suprafață este acea undă care se propagă de-a lungul suprafeței pământului. Când antele de emisie și recepție sunt plasate la suprafața pământului, unda terestră este formată numai din unde de suprafață.

Fig. 1.2. Unda spațială

b) Unde troposferice – sunt componente ale undelor electromagnetice radiate de emițător și care sunt reflectate de troposferă către receptor. Troposfera reprezintă zona din atmosferă cu limita superioară de 10-12 km. Ea prezintă un coeficient de reflexie redus și deci intensitatea undelor reflectate este mică. Totuși aceste unde prezintă importanță în zonele de umbră ale pământului unde antena de recepție se află sub limita de vizibilitate.

c) Unde ionosferice – sunt componentele undelor electromagnetice care ajung la antena de recepție prin reflexie sau refracție în ionosferă. Ionosfera este compusă din gaze în cantitate mică și o concentrație de ioni pozitivi, negativi și electroni liberi. În funcție de concentrația de ioni cu buna conductibilitate, ionosfera este compusă din mai multe straturi: D (60-80 km), E (90-130 km), F (180-250 km) .Gradul de ionizare variază în funcție de ciclul solar, anotimp sau ora zilei.

1.3. Antene

Generalități

Rolul antenei de recepție constă în captarea unei cantități de energie din câmpul electromagnetic și transformarea ei în semnal electric.

O antenă de recepție este caracterizată de o serie de parametrii electrici din care în continuare îi vom enumera pe cei mai importanți.

Impedanța antenei – reprezintă raportul dintre tensiunea la borne și curentul care o străbate. Dacă la o anumită frecvență componenta reactivă e nulă se spune că antena este acordată pe acea frecvență și prezintă maximum de randament.

Câștigul antenei – reprezintă raportul dintre tensiunea livrată de antena respectivă pe sarcina adaptată la impedanța antenei și tensiunea dezvoltată de antena etalon pe aceeași sarcină. În televiziune ca antenă etalon, se consideră o antenă dipol în . Câștigul se exprimă în decibeli.

Banda de trecere a antenei – se definește în mod similar ca la circuitele oscilante întrucât și antena prezintă o variație a impedanței sale în jurul frecvenței de rezonanță.

Directivitatea antenei – reprezintă proprietatea pe care o are antena de a recepționa un câmp în funcție de orientarea ei. Orientarea trebuie făcută după direcția care oferă câștig maxim. Antenele care nu au nici o direcție preferențială se numesc omnidirecționale.

Raportul față-spate – reprezintă raportul exprimat în decibeli dintre tensiunea obținută la bornele antenei când recepția se face pe direcția maximului principal al caracteristicii de directivitate și tensiunea obținută când recepția se face pe direcția opusă.

1.4. FSK – Frequency Shift Keying

În această formă de modulare sinusoida purtătoare ia două valori de frecvență, determinate de semnalul de date binar. Modulatorul poate fi realizat în mai multe moduri; printre cele mai utilizate vom menționa:

Un oscilator controlat în tensiune (VCO);

Un sistem care transmite una din cele doua frecvențe în funcție de semnalul de date;

Un divizor de frecvență controlat de semnalul de date;

Cea mai utilizată tehnică de demodulare este cea care utilizează un circuit PLL (fig. 1.4).

Semnalul de la intrarea circuitului PLL ia două valori ale frecvenței. Tensiunea de eroare furnizată de comparatorul de fază urmărește aceste variații și în felul acesta se realizează reprezentarea NRZ (nivele high și low) a semnalului FSK. După demodulatorul PLL urmează un FTJ care elimină componentele reziduale ale purtătoarei, urmat de un circuit de formare, care asigură o formă dreptunghiulară a semnalului.

Principali factori care caracterizează FSK sunt:

– Este utilizată în special pentru transmisii de date prin modem ( ITU- T V21, ITU – T V23, BELL 103, BELL 113, BELL 202), în transmisii radio digitale, în sistemul de telefonie celulară ETACS ( informații transmise prin canalul de control);

– Necesită circuite de complexitate medie;

– Rată mare de erori, dar mai mică decât la ASK;

– Dacă denumim Fb viteza de transmisie a biților, spectrul minim de transmisie a semnalului modulat, Bw, este mai mare decât Fb;

– Eficiența transmisiei calculată ca fiind raportul dintre Fb și Bw este mai mic decât valoarea 1;

– Viteza în baud, definită ca viteza simbolurilor, este egală cu viteza de transmisiune Fb.

1.4.1. Modulatorul FSK

Schema bloc a modulatorului FSK este arătată în fig. 1.5. Semnalul FSK este generat prin intermediul a doua modulatoare ASK a căror ieșire este combinată printr-un sumator. Cele două purtătoare sinusoidale de 1200 și 1800 Hz sunt aplicate separat celor două modulatoare. Datele ajung la cele două modulatoare diferit: unele sunt în formă directă, iar celelalte sunt în formă negată.

În acest fel, modulatorul furnizează una din sinusoide atunci când datele sunt 1, iar celălalt furnizează cealaltă sinusoidă atunci când datele sunt 0. Semnalul FSK este obținut prin sumarea celor două semnale.

Atenuatorul de 6 dB micșorează amplitudinea semnalului la jumătate și este activ doar la modulația QAM.

Figura 1.5.Modulator FSK

1.4.2. Demodulatorul FSK

Demodulatorul FSK conține:

– Un detector FM realizat cu un circuit PLL;

– Un FTJ;

– Un circuit de formare dreptunghiulară cu ieșirea în TP 29, pentru cazul datelor asincrone ce nu sunt resincronizate;

– Un circuit de extragere a clock-ului și resincronizare a datelor pentru cazul datelor sincrone (ieșirea de date la TP31, iar a ceasului la TP32).

Filtrul, extractorul de ceas și circuitul de resincronizare sunt folosite și pentru a demodula și alte tipuri de semnale.

Figura 1.6.Demodulator FSK

Capitolul 2

Senzori

2.1 Definiție si clasificare

Senzorul este un dispozitiv tehnic care reacționează calitativ sau cantitativ prin proprii mărimi măsurabile, la anumite proprietăți fizice sau chimice ale mediului din preajma lui. Ca parte componentă a unui aparat sau sistem tehnic detector poate măsura/înregistra de exemplu presiunea, umiditatea, câmpul magnetic, accelerația, forța, intensitatea sonoră, radiații ș.a. Vine din latină: sensus=simț.

Senzorul este definit ca fiind “un dispozitiv care detectează sau măsoară unele condiții sau proprietăți și înregistrează, indică sau uneori răspunde la informația primită”. Astfel, senzorii au funcția de a converti un stimul într-un semnal măsurabil, cuprinzând atât traductorul, care transformă mărimea de intrare în semnal electric util, cât și circuite pentru adaptarea și conversia semnalelor, și eventual pentru prelucrarea și evaluarea informațiilor. Stimulii pot fi mecanici, termici, electromagnetici, acustici sau chimici la origine, în timp ce semnalul măsurabil este tipic de natură electrică, deși pot fi folosite semnale pneumatice, hidraulice, optice sau bioelectrici.

În gestionarea proceselor industriale, deosebit de importante sunt sistemele inteligente de conducere, sisteme ce sunt bazate pe sisteme de calcul integrat sau nu.

Senzorii și traductoarele sunt elemente esențiale ale sistemelor de automatizare a dispozitivelor civile și industriale și se bazează pe un domeniu larg de principii fizice de operare.

Calitatea unei automatizări este puternic influențată de calitatea măsurării parametrilor de

proces care intră în componența instalației automatizate, deci de senzorii și traductoarele utilizate, prețul unor asemenea componente influențând serios prețul instalației.

Există mai multe clasificări, una dintre ele se referă la senzori de tip:

1. Activ: consumator de energie, de exemplu radar (măsurarea distanțelor prin emitere de radiații electromagnetice)

2. Pasiv: de exemplu fotorezistența cu care se poate măsura intensitatea luminii incidente.

În automatizare, informația calitativă/cantitativa măsurabilă livrată de senzori, dupa o eventuală amplificare și prelucrare servește la controlul și reglarea sistemelor tehnice automate.

Se evidențiază cel puțin trei proprietăți ale senzorilor:

Un senzor realizează măsurarea intr-o maniera similara organelor de simț ale omului.

Senzorii sunt de dimensiuni reduse, ceea ce conduce la determinări ”punctuale”, făcând posibilă extinderea către o arie de măsurare sau o matrice de senzori.

Senzorii permit determinarea unei hărți a unei scene investigate prin metode sau mijloace de baleiere.

Tipuri de senzori folositi de catre sistemul mobil

2.2 Senzori de temperatură și umiditate

2.2.1 Senzor de temperatură

Măsurarea temperaturii constituie una dintre cele mai uzuale procese de măsurare. Probabil, cel mai simplu și mai des folosit fenomen in măsurarea temperaturii este dilatarea termică. Acesta este principiul ce stă la baza termometrelor din sticlă,cu lichid.

Pentru a transforma energia termică în semnal electric se folosesc detectori rezistivi, termoelectrici, optici si piezoelectrici.

Când un senzor este introdus într-un obiect sau plasat pe suprafața obiectului, va exista un transfer de căldură între sondă si obiect: senzorul se va raci sau se va încălzi. Același fenomen va apărea și în cazul transferului de energie termică sub formă de radiație energetică în IR, senzorul va absorbi sau emite radiație IR în funcție de temperatura corpului monitorizat.

Orice senzor, indiferent de cât de mic este, va perturba rezultatele măsurătorii și deci, este o problemă majoră în a minimiza erorile introduse de senzor și în a adopta o metodă optimă de măsurare. Există două metode de procesare a semnalului în măsurătorile de temperatură: metoda echilibrării și metoda predictivă. În primul caz, temperatura se va măsura doar în momentul în care nu mai există temperatură între senzor și obiect (au aceeași temperatură), iar în cazul metodei predictive, punctul de echilibru nu este atins niciodată, ci este determinat din viteza de schimbare a temperaturii senzorului. Folosind metoda echilibrării, timpul necesar atingerii temperaturii de echilibru poate fi de durată foarte mare mai ales când suprafața de contact este uscată.

Un senzor de temperatură de contact tipic va fi format din următoarele părți componente:

1.Un element senzitiv – un material ce-și modifică proprietățile in funcție detemperatură. Materialul trebuie să aibă o căldură specifică mică, conductivitatea termică ridicată, sensivitate mare la temperatură și o bună predictibilitate.

2.Contactele sunt fire sau plăci (pad) conductive ce asigura interfața dintreelementul senzitiv și circuitul electronic exterior. Contactele trebuie să aibă o conductivitate termică și o rezistență electrică cât mai mică. În general se folosesc și pentru susținerea senzorului.

3.Un strat protector ce separă fizic elementul senzitiv de mediul exterior. Materialul protector trebuie să aibă rezistență termică mică, să fie un bun izolator electric șisă fie impermeabil.

Figura 2.1. Senzor de temperatura

2.2.2 Senzor de umiditate

Sunt utilizați pentru determinarea sau măsurarea umidității relative .Principiul de funcționare: elementul sensibil este o peliculă de polimer care absoarbe sau degajă vaporii de apa din sau în aerul înconjurător, după cum umiditatea relativă ambiantă crește sau scade.

Proprietățile dielectrice ale peliculei de polimer depind de cantitatea de vapori de apă pe care o conține. Astfel capacitatea electrică a senzorului se modifica in funcție de umiditatea aerului ambient.

Circuitele electronice ale aparatului de măsura convertesc valoarea capacității senzorului in valori de umiditate relative pe tot domeniul de variație (de la 0 pana la 100%).

Figura 2.2. Senzor de umiditate

2.2.3 Senzorul de temperatură și umiditate DHT22

Figura 2.3. Senzorul DHT22

Specificații:

Tensiune de alimentare 3.3-6V

Curent 1-1.5mA

Curent standby 40-50 uA

Umiditate  0-100% RH

Temperatură -40 – 80 C

Acuratețe umiditate +-2% RH 

Acuratețe temperatura +-0.5  C

Exemplu cod și conectare Arduino:

plotly graph("username", "api_key", tokens, "filename", nTraces);

graph.init();

graph.openStream();

void loop() {

int dht22_reading = analogRead(dht22_pin);

graph.plot(millis(), dht22_reading, tokens[0]);

}

Figura 2.4 Conectare senzor temperatură și umiditate la Arduino

2.3 Senzor de lumină

Un senzor de lumină este un senzor care folosește fibra optică fie ca un element de detecție ("senzori intrinseci"), fie ca și comutator de semnale de la un senzor la componenta electronică ce procesează semnale("senzori extrinseci"). Fibra optică are multe utilizări în detecția la distanță. În funcție de aplicație, fibra optică poate fi folosită datorită dimensiunilor sale reduse, sau pentru că nu este necesară folosirea nici unei surse de energie electrică în locația controlată de la distanță, sau din cauză că mulți senzori pot fi multiplexați de-a lungul fibrei folosind diferite lungimi de undă ale luminii pentru fiecare dintre aceștia, sau prin detectarea întârzierii temporale în timp ce lumina trece de-a lungul fibrei prin fiecare senzor. Întârzierea poate fi determinată folosind un dispoztiv numit Reflectometru Optic ce lucrează în domeniul timp.

Senzorii cu fibră optică, de asemenea, sunt imuni la interferențe electromagnetice, și nu conduc curentul electric, astfel ca aceștia pot fi folosiți în locații unde există tensiuni foarte înalte sau materiale inflamabile precum combustibilul pentru avioane. Acești senzori pot fi, deasemenea, proiectați să reziste la temperaturi foarte înalte.

Figura 2.5. Senzor de lumină

2.4 Senzor de mișcare cu infraroșu

Senzorul de prezență

Există câteva categorii de senzori de prezență, clasificați în funcție de modul de funcționare în:

Detectori pasivi de radiații infraroșii (Passive Infrared Detectors/ PIR)

Detectori duali PIR – microunde ( PIR/Microwave Detectors)

Bariere de radiații in infraroșu (Photoelectric Beam Detectors )

Senzori de mișcare cu infraroșu

Figura 2.6. Funcționarea senzorului PIR

Un senzor pasiv cu  infraroșu este un dispozitiv electronic utilizat pentru determinarea radiației IR din câmpul vizual al senzorului. Funcționarea senzorului este bazată pe faptul că în câmpul vizual al senzorului vor exista două surse ce emit două tipuri de radiație IR. Prima ar fi peretele sau un alt obiect fix, și având emisia în IR fixăm, respective obiectul sau persoana aflată în mișcare prin fața senzorului. Măsurând cele două surse și comparând nivelul radiațiilor este detectată mișcarea. Datorită construcției speciale, orice obiect, chiar unul de aceeași temperatură ca și obiectele din jur va activa senzorul PIR dacă corpul se deplasează în câmpul vizual al senzorului. Toate obiectele emit energie sub formă de radiații. De obicei, radiațiile infraroșii sunt invizibile pentru ochiul uman, dar pot fi detectate de dispozitive electronice concepute în acest sens.

Teoria detecției în infraroșu

Detecția pasivă de radiații infraroșii se bazează în principiu pe modificarea energiei primită de sensor de la mediu. În figura SPT-2 este prezentat un exemplu la trecerea unei persoane prin fața senzorului.

Figura 2.7. Modificarea energiei radiațiilor IR la trecerea unei persoane

Persoana în mișcare produce o astfel de schimbare în mediu, “schimbare”  care poate fi mai caldă sau mai rece decât mediul curent.

Componentele unui senzor PIR

Un senzor de mișcare cuprinde 3 componente principale:

partea optică;

senzorul propriu-zis;

circuitul de procesare.

Partea optică a senzorului de mișcare

Figura 2.8. Componentele senzorului PIR (partea optică)

Partea optică  are rolul de a focaliza energia termica pe senzorul de captură. Pentru partea optica a senzorului de obicei se utilizează oglinda sau lentila Fresnel. Fețele oglinzii sau secțiunii lentilelor definesc zona de acoperire a detectorului.

Senzorul

Figura 2.9. Componentele senzorului PIR (senzor)

Senzorul – convertește energia infraroșie în energie electrică.

Figura 2.10. Conversia energiei IR în semnal electric

Procesarea semnalului

Circuitul de procesare analizează semnalul electric și separă alarmele reale de cele false. Pentru acest lucru:

– semnalul reclamă o “Semnătură” specifică.  Circuitul utilizează praguri multiple pentru a măsura relația complexă între amplitudinea semnalului, polaritatea acestuia și durata. Această relație complexă produce o “semnătură” specifică pe care procesorul  o utilizează pentru a determina dacă semnalul ar trebui să activeze o alarmă.

Figura 2.11. Componentele senzorului PIR (partea de prelucrare)

2.4.1. Senzorul PIR SE-10

SE-10 este un senzor pasiv cu IR, și lucrează în zona 7-14µm a spectrului IR. Corpul uman emite de regulă în zona de la 8 la 14µm, astfel acest senzor este util în detecția mișcării persoanelor. Conceptul de realizare cu senzor IR dublu permite corecțiile necesare eliminării zgomotului de fond provenind de la mediu din cauza vremii sau a luminii exterioare.

Senzorul folosește o lentilă Fresnel pentru focalizarea radiației IR pe cele două elemente piroelectrice cu dimensiunea de 2x1mm, aflate la o distanță de 1mm. După alimentarea senzorului acesta intră în stare de autocalibrare, timp de 1-2 secunde. În acest timp măsoară radiația emisă de fundal. După calibrare senzorul intră în regim de funcționare normal, la apariția mișcării activează ieșirea Alarma. Această ieșire este de tip colector în gol, deci este nevoie de conectarea la o sursă de alimentare prin intermediul unei rezistențe. În cazul detectării mișcării ieșirea va fi în stare logică 0.

Figura 2.13. Senzorul PIR SE-10

Figura 2.14. Conectarea senzorului în sisteme Arduino

Exempu cod Arduino

int PIRpin=2; // Pinul pe care ați conectat senzorul de mișcare

int LEDpin=13; // Pinul la care se află LED-ul

void setup() {

pinMode(PIRpin,INPUT);

pinMode(LEDpin,OUTPUT);

}

void loop() {

digitalWrite(LEDpin,digitalRead(PIRpin));

delay(100);

}

2.5 Senzor de mișcare radar

Senzorii de mișcare radar denumiți și senzori cu ultrasunete sau senzori de înaltă frecvență ( HF – high frequency), funcționează prin transmiterea undelor sonore de înaltă frecvență, care scanează obiectele aflate în jur și emit senzorului informațiile din mediu. Mișcarea detectată în câmpul de acțiune al senzorului perturba modelul undelor reflectate și activează senzorul. Senzorul de mișcare cu ultrasunete emite unde sonore de frecvențe înalte neperceptibile de auzul uman.

Avantaje și dezavantaje

Cel mai mare avantaj al senzorului de mișcare de înalta frecvență (HF) este de asemenea și cel mai mare dezavantaj. Senzorii HF sunt sensibili la orice mișcare, nu doar mișcările umane și prin urmare pot crea alarme false. Atunci când senzorii HF se utilizează pentru controlul luminilor, există posibilitatea ca luminile să fie aprinse chiar dacă în câmpul vizual al senzorului nu se află nicio persoană.

Senzorii HF au o acoperire similară cu senzorii de mișcare cu infraroșu (PIR). Senzorii HF au raza de acțiune de 3 metri în înălțime și 8 metri în lungime.

Senzorii HF pot avea încorporată tehnologia-duală, însemnând că pe langă senzorul HF este inclus și un senzor PIR. Senzorii cu tehnologie duală utilizează senzorul PIR care are o sensibilitate moderată pe distanțe mari și senzorul HF care are o sensibilitate ridicată pe distanțe mici. Împreuna senzorul HF și PIR îmbunătățesc capacitatea generală de detecție.

Un alt avantaj/dezavantaj al senzorului HF este acela că detectează mișcarea prin obiecte solide (sticla, perete). În zonele în care nu exista o vedere directă, senzorul poate detecta mișcarea. În acest caz faptul că senzorul detectează mișcarea prin obiecte solide reprezintă un avantaj. În cazul în care senzorul HF detectează mișcarea dintr-o zonă adiacenta populată, senzorul va declanșa lumina din zona nepopulată, creând alarme false.

Alegerea și montarea corectă a senzorului conduce la o opțiune viabilă pentru controlul luminilor atât în zona rezidențială cât și în cea industrială/comercială.

2.5.1. Senzorul ultrasonic HC-SR04

Figura 2.15. Senzor HC-SR04

Descriere generală

Senzorul de ultrasunete HC-SR04 funcționează pe principiul sonarului pentru a aprecia distanța până la un obiect, oferind o mare precizie a distanței măsurate: de la 2 cm până la 400 cm, cu precizie de până la 3 mm. Modulul include atât Transmițătorul (T) care trimite semnalul cât și Receptorul (R) care îl recepționează.

Ultrasunetele au o frecvență ridicată (în principiu 40kHz). La început este trimis un semnal de 10μs, apoi o serie de 8 impulsuri de 40 kHz. Receptorul așteaptă ecoul: dacă răspunsul este între 150μs-25ms se detectează un obstacol; dacă timpul este peste 38ms nu se detectează nimic).

Distanța este calculată folosind formula L= C * T/2, unde L este lungimea, C este viteza sunetului în aer (344 m/s la temperatura ambiantă de 20 grade C), iar T este diferența de timp de la trasmitere până la recepționare; timpul este înjumătățit deoarece distanța este parcursă în ambele sensuri. Trebuie ținut cont că viteza sunetului este afectată de densitatea aerului (iar densitatea este afectată în principal de temperatură și altitudine).

Conectivitate

Modulul are 4 pini:

Vcc tensiunea de alimentare: +5.0V;

Trig care transmite semnalul;

Echo cel care asteaptă ecoul;

Gnd reprezintă masa;

Exemplu utilizare

Pentru a testa modulul conectați pinul de Vcc la +5v iar GND la Arduino, Echo la pinul 2 iar Trig la pinul 3. Se descarcă biblioteca HR-SR04 Ultrasonic Arduino Library (decomprimați arhiva zip în subdirectorul libraries din directorul în care ați instalat mediul de dezvoltare Arduino). În continuare este prezentat un mic exemplu ce afișează pe serial monitor distanța măsurată în cm.

#include "Ultrasonic.h" // se aplelează libraria Ultrasonic.h

Ultrasonic ultrasonic(3,2); //se setează pinii Trig si Echo

void setup()

{

Serial.begin(9600); // setarea transmisiei seriale catre serial monitor

}

void loop()

{

Serial.print("cm=");

Serial.println(ultrasonic.Ranging(CM)); // afisarea pe serial monitor a distanței in cm

delay(1000); // intervalul la care se face citirea

}

2.6 Senzori de accelerație

Senzorii de accelerație măsoară diferența dintre orice accelerație liniară într-un cadru de referință și vectorul câmp gravitațional al Pământului.
În absența accelerației liniare se măsoară rotația vectorului câmp gravitațional pentru a determina unghiul de rotire și de tangaj.
Unghiurile de orientare sunt dependente de ordinea în care se aplică rotațiile, ținând cont de mișcarea de girație în cazul domeniului aerospațial.
Senzorii de accelerație sunt insensibili la mișcarea de rotație a Pământului pentru a preveni instabilitatea.
Expresii simple de algebră vectorială sunt utilizate pentru calculul de înclinare a accelerometrului de la verticală sau unghiul de rotație între oricare două citiri de accelerometru.
Cea mai comună aplicație a accelerometrelor în aparate electronice de consum este trecerea între portret sau peisaj.

Devierea masei probei se măsoară prin schimbarea valorii capacității între degetele de la masa probei și plăcile sensibile. 
Circuitele interne ale senzorului accelerometru convertesc variația de capacitate mică la un semnal de tensiune care, în accelerometre digitale, este apoi convertită în semnal digital de ieșire și transmis pe un bus serial.
Problema determinării poziției este complexă și presupune calcule rapide pentru a citi tranzițiile și a determina poziția actuală a dispozitivului. 
Astfel, pe baza unor reguli se determină mișcările efectuate:

• (|Gpz| < 0.5g) AND (Gpx > 0.5g) AND (|Gpy| < 0.4g): Schimbarea orientării în sus
• (|Gpz| < 0.5g) AND (Gpx < -0.5g) AND (|Gpy| < 0.4g): Schimbarea orientării în jos
• (|Gpz| < 0.5g) AND (Gpy > 0.5g) AND (|Gpx| < 0.4g): Schimbarea orientării spre dreapta
• (|Gpz| < 0.5g) AND (Gpy < -0.5g) AND (|Gpx| < 0.4g): Schimbarea orientării spre stânga

2.6.1. Accelerometrul MMA8452Q

Descriere generală:

MMA8452Q este un accelerometru inteligent de joasă putere, cu trei axe, microtextuat capacitiv cu 12 biți de rezoluție. Acest accelerometru este dotat cu funcții integrate flexibile, cu opțiuni programabile de către utilizator, configurabile pentru doi pini de întrerupere. Funcțiile de întrerupere incorporate permit economii masive de energie.

MMA8452Q permite utilizatorului să selecteze scale complete de ± 2 g / ± 4g / ± 8g cu rată mare de filtrare a datelor, precum și date care nu sunt filtrate disponibile în timp real. Dispozitivul poate fi configurat pentru a genera semnale de pornire sau întrerupere de la orice combinație ale funcțiilor configurabile încorporate, permițând accelerometrului MMA8452Q să monitorizeze evenimentele și să rămână într-un mod de consum redus de energie în timpul perioadelor de inactivitate. MMA8452Q este disponibil într-un pachet QFN de 3 mm x 3 mm x 1 mm.

Figura 2.16. Accelerometrul MMA8452Q

Specificații tehnice:

• 1,95 V la 3,6 V tensiune de alimentare

• Tensiune de interfață 1.6 V la 3.6 V

• ± 2 g / ± 4g / ± 8g dinamic selectabil la scară mare

• Rata de ieșire de date (SOL) de la 1,56 Hz la 800 Hz

• 99 pg / zgomot √Hz

• 12 biți și 8 biți de ieșire digitală

• interfață de ieșire digitală I2C (funcționează la 2,25 MHz, cu 4,7 kΩ )

• Doi pini de întrerupere programabili pentru șase surse de întrerupere

• Trei canale integrate de detectare a mișcării

– Freefall sau de detectare a mișcării: 1 canal

– Pulse detectare: 1 canal

– Detectarea Jolt: 1 canal

• Orientare (Portret / Peisaj) detectare cu set histerezis

• schimbare automată ODR pentru Auto-WAKE și a reveni la SLEEP

• filtre de date cu rata mare disponibile în timp real

• Autotestare

• conforme cu RoHS

• Consumul de curent: 6 mA – 165 mA

Exemplu cod Arduino:

#include <MMA8452Q.h>

#include <Wire.h> // so the Arduino IDE auto-detects the dependency

MMA8452Q accel;

int axes[3];

void setup() {

Serial.begin(9600);

if (accel.begin())

while (1); // error

}

void loop() {

// get and print raw axes values

accel.axes(axes);

Serial.print("x: ");

Serial.print(axes[0]);

Serial.print(", y: ");

Serial.print(axes[1]);

Serial.print(", z: ");

Serial.println(axes[2]);

delay(1000);

}

Figura 2.17. Diagrama bloc a Accelerometrului MMA8452Q

Capitolul 3

Arduino Pro Mini, ATMega328 și RFM12B

3.1 Arduino Pro Mini

3.1.1 Prezentare Generală:

Arduino Pro Mini este un microcontroler bazat pe procesor ATmega328. Are 14 intrări și ieșiri digitale, 6 intrări analogice, un rezonator inclus pe placă, un buton de resetare și găuri pentru a monta pini de conectare. Șase pini de conectare pot fi conectați la un cablu FTDI sau placa breakout SparkFun pentru a oferi suport de comunicare și putere prin usb.

Placa Arduino Pro Mini vine cu pini de conectare premontați, permițând folosirea mai multor tipuri de conectori sau lipirea directă a firelor. Schema pinilor este compatibilă cu Arduino Mini.

Exista două versiuni de Arduino Pro Mini. Una care rulează la 3,3 V și 8 MHz și cealaltă șa 5 V și 16 MHz.

Arduino Pro Mini a fost proiectată și produsă de SparkFun Electronics.

3.1.2 Schema bloc Arduino Pro Mini:

Fig. 3.1 Schema bloc Arduino Pro Mini

3.1.3 Specificații tehnice:

ATmega328 functioneaza la 8MHz cu rezonator extern (toleranta de 0,5%)

Placa cu voltaj scazut nu are nevoie de circuite pentru device-uri si module populare de 3,3V (GPS, acceleratometru, senzori etc.)

Conexiune USB in afara placii

Suport resetare automata

Regulator 3,3V

Iesire de maxim 150mA 

Protectie pentru curent depasit

Protectie pentru polaritate inversata

Alimentare DC de la 3.3V pana la 12V

LED-uri pentru Power si Status

Dimensiuni : 18×32 mm

Greutate 2 grame

Fig. 3.2 Placa Arduino Pro Mini

3.2 ATMEGA328

Atmega8 este un microcontroler CMOS low-power e 8 biți, bazat pe arhitectura AVR RISC.

Prin executarea unor instrucțiuni puternice într-un singur moment de tact, Atmega328 ajunge la performanța de 1 MIPS/MHz permițându-i designerului de sistem sa optimizeze consumul de putere contra vitezei de procesare.

Conținutul AVR combină un bogat set de instrucțiuni, cu 32 registre cu scop general. Toate cele 32 de registre sunt direct conectate la unitatea aritmetica și logică (UAL), fapt ce permite ca 2 registre independente să fie accesate printr-o singură instrucțiune într-un singur moment de tact. Arhitectura rezultată este mult mai eficientă deoarece atinge performanțe de 10 ori mai mari decât microcontrolerele convenționale.

Atmega328 are următoarele caracteristici: 8k biti de Flash Programmable In-System cu capacitate Citire in timpul Scrierii, 1k bit de EEPROM, 2k bit de SRAM, 23 de linii I/O cu scop general, 3 Cronometre/Numărătoare flexibile cu moduri de comparare, întreruperi interne si externe, USART serial-programabil, Interfața Serială, AdC cu 6 canale ( 8 canale in TQFP si pachete MLF ) cu acuratețe de 10 biți, un Cronometru de supraveghere cu oscilator intern, un port serial SPI și 5 moduri software de economisire de putere. Modul Idle oprește unitatea centrală în timp ce permite SRAM-ului,cronometrelor/numărătoarelor, porturilor SPIi și sistemului de întrerupere să funcționeze.

Modul Power-down salvează conținutul registrelor dar îngheață oscilatorul, făcând incapabile orice alte funcții ale cip-ului până la următoarea întrerupere sau resetare de hard. În modul Power-save numărătorul asincron continuă să funcționeze, fapt ce permite utilizatorului să mențină o bază în timp ce restul dispozitivului este în repaus.

Modul ADC Noise Reduction oprește unitatea centrală și toate modulele de I/O cu excepția numărătorului asincron și ADC-ul, pentru a minimaliza zgomotul de comutație din timpul conversiei ADC. În modul Standby funcționează doar oscilatorul în timp ce restul dispozitivului este în repaus.

Dispozitivul este fabricat folosind tehnologia de memorie volatilă cu densitate mare Atmel.

Memoria flash poate fi reprogramată folosind o interfață serială SPI , printr-un program de memorie convențional nonvolatilă. Programul boot poate folosi orice interfață pentru a descărca programul de aplicații din memoria de aplicații flash. Soft-ul din secțiunea de boot flash va continua să ruleze în timp ce aplicațiile flash sunt updatate furnizând operații reale de citire în timpul scrierii. Combinând o unitate centrala RISC pe 8 biți cu flash self programmable in system, pe un cip monolithic , Atmel ATmega328 devine un microcontroler puternic care furnizează soluții extreme de flexibile și optime ca preț pentru multe aplicații.

ATmega328 AVR este dotat cu un set complet de programe și instrucțiuni ce includ compilatoare C, macro-asamblatoare și simulatoare/corectoare de programe, emulatoare de circuite și kituri de evaluare.

În arhitectura Harvard, bus-ul de date și bus-ul de adrese sunt separate. Astfel este posibil un mare debit de date prin unitatea de procesare centrală, și bineînțeles, o viteza mai mare de lucru. Separarea programului de memoria de date face posibil ca mai departe instrucțiunile să nu trebuiască să fie cuvinte de 8 biți. Este de asemenea tipic pentru arhitectura Harvard să aibă mai puține instrucțiuni decât von-Newmann și să aibă instrucțiuni executate uzual într-un ciclu. 
Microcontrolerele cu arhitectura Harvard sunt de asemenea numite "microcontrolere RISC". RISC înseamnă Reduced Instruction Set Computer. Microcontrolerele cu arhitectură von-Newmann sunt numite "microcontrolere CISC". Titlul CISC înseamnă Complex Instruction Set Computer. 

3.2.1 Descrierea pinilor:

VCC- Alimentarea cu tensiune

GND- Masă

Portul B( PB7…PB0-XTAL1/XTAL2/TOSC1/TOSC2)
Portul B este un port de ieșire bidirecțional pe 8 biți cu rezistoare interne, selectate pentru fiecare bit.
Depinzând de setările selecției de ceas , PB6 poate fi folosit ca intrare pentru amplificatorul oscilatorului sau circuitului operațional intern de ceas. PB7 poate fi folosit ca ieșire pentru amplificatorul oscilatorului.

Portul C(PC5…PC0)
Portul C este bidirecțional intrare/ieșire pe 7 biți cu rezistoare interne selectate pentru fiecare bit. Ieșirea portului C are caracteristici simetrice . Pinii portului C sunt “tri-stated” când o condiție de resetare devine activă, chiar daca ceasul nu funcționează.

PC6/RESET
Dacă RSTDISBL este programat, PC6 este folosit ca pin de intrare/ieșire. Caracteristicile electrice ale portului PC6 diferă de cele ale altor pini ai portului C.
Daca conținutul RSTDISBL-ului este neprogramat, PC6 este folosit ca o resetare a ieșirilor. Un nivel scăzut pe acest pin pentru o lungime minimă de puls va genera o resetare, chiar dacă ceasul nu este funcțional. Pulsuri mai mici nu garantează o resetare.

Port D ( PD7..PD0 )
Portul D este un port de intrare/ieșire bidirecțional pe 8 biți cu rezistoare interne selectate pentru fiecare bit.

RESET
Un nivel scăzut pe acest pin pentru o lungime minimă de puls va genera o resetare, chiar daca ceasul nu este funcțional. Pulsuri mai mici nu garantează o resetare..

AVCC
AVCC este un pin pentru alimentarea de la sursă a convertorului A/D, a Port-ului C ( 3..0 ) și ADC ( 7..6 ) . Ar trebui să fie conectat extern la VCC chiar dacă ADC nu este folosit. Dacă ADC este folosit ar trebui să fie conectat la VCC printr-un filtru de joasă trecere.
AREF este un pin analogic pentru convertorul A/D.

3.2.2 Caracteristici tehnice:

– Performanțe mari, Microcontroler AVR -8 biti-low power s2e3ek
– Arhitectura RISC avansata
– 130 de instrucțiuni – Executare într-un singur ciclu de ceas
– 32*8 registre de scop general
– operații complet statice
– MIPS Throughput at 16 MHz
– Multiplicator de 2 cicluri pe cip

– Programe si memorii de date nonvolatile
– 8 kbiti in-system self-programmable flash ; Rezistenta : 10.000 cicluri Scriere/Ștergere
– 1k bit EEPROM , Rezistenta : 100.000 Scrie/Sterge
– 2 kbiți intern SRAM
– Închidere programabilă pentru securitatea softului

3.2.3 Caracteristici periferice
– Doua cronometre/numărători de 8 biti cu prescalar separate, si un mod de comparare
– Un cronometru/numărător de 16 biti cu prescalar separate, mod de comparare, si mod de

capturare
– Numărător în timp real cu oscilator separat
– Trei canale PWM
– ADC pe 8 canale in TQFP si pachet MLF 
– ADC pe 6 canale in pachet PDIP 

3.2.4 Interfața serial
– USART serial programabil
– Interfață serial SPI Master/Slave
– Comparator analogic pe cip

– Caracteristici speciale ale microcontrolerului
– Oscilator Rc intern calibrat
– Surse de întrerupere interne și externe
– Cinci moduri de repaus : Idle,ADC Noise Reduction, Power-save, Power-down, Standby
– Intrări/Ieșiri si Pachete
– 23 de linii programabile de I/O
– 8-lead PDIP, 32-lead TQFP si 32-pad MLF

3.2.5 Tensiuni operaționale

– 2.7-5.5 V(ATmega8L)
– 4.5-5.5 V(ATmega8)

Grade de viteaza
0-8 MHz(ATmega8L)
0-16 MHz(ATmega8)

Puterea consumata la 4MHz , 3V, 25 grade celsius
Activ : 3.6 mA
Idle mode : 1.0 mA
Power-down mode : 0.5µA

Fig. 3.3. Microcontroler ATMega328

3.3 Transceiver RFM12B

Fig. 3.3.1 RFM12B

RFM12B este un chip, cu un consum redus de energie electrica, multi-canal , conceput pentru aplicații ce necesită să fie în conformitate cu FCC sau ETSI, și care folosește ca benzi de comunicație frecvențele 433,868 si 915 MHz.

Trancieverul RFM12B aparține de linia de producție ERZadio, linie care produce ansamble electrice ce au un cost redus și reprezintă o alternativă deosebit de bună.

Chip-ul este un modul radio, care include un mixer convertor, filtre de bandă și amplificatoare, și un demodulator. Toate funcțiile menționate sunt integrate.

Schema Bloc RFM12B

Figura 3. Diagrama bloc RFM12B

Caracteristici Detaliate – Descrierea Nivelului

RFM12B este proiectat să acopere frecvențe de bandă cu valori de 433, 868 si 915Mhz. Facilitățile dispozitivului sunt în conformitate cu cerințele EFF si ETSI.

Blocul receptor permite să se folosească un număr minim de componente externe pentru aplicațiile tipice. RFM12B încorporează un sintetizator complet integrat, multi-band, ce se folosește de o antenă, de filtre și amplificatoare de joasă frecvență, și de un demodulator urmat de un filtru de date.

PLL

Sintetizatorul programabil PLL determină frecvența de operare, păstrând acuratețea oscilatorului de referință. Rezoluția mare a PLL permite folosirea multiplelor canale pentru orice bandă.

RF(Power Amplifier)PA

Amplificatorul de putere are o ieșire de tip open collector la care se pot monta diferite tipuri de antene de putere. Se recomandă folosirea unui circuit automat pentru a evita procedurile de tip “hand effect”.

LNA(Low-Noise Amplifier)

LNA are o impedanță de intrare de aproximativ 250 Ohm care funcționează bine cu antenele propuse. Dacă intrarea RF a chip-ului este conectată la dispozitive de 50 Ohm atunci este nevoie de un circuit extern pentru a oferi potrivirea corectă și pentru a minimiza zgomotul receptorului. Câștigul LNA poate fi selectat în patru pași în funcție de intensitatea semnalului RF. Poate fi folositor într-un mediu cu puternice interferențe.

Baseband Filters(Filtre de lățime de bandă)

Lățimea de bandă a receptorului este selectabilă prin programarea lățimii de bandă(BW) a filtrelor de bază. Aceste lucru permite pregătirea receptorului în concordanță cu caracteristicile semnalului ce va fi recepționat.

O lățime de bandă corespunzătoare poate fi aleasă pentru a se potrivi diverselor deviații FSK, rata de date și toleranță de cristal cerute. Structura filtrului Butterworth de joasă trecere cu supresie de 40 dB la frecvență BW 2, este de ordinul 7. Reglarea frecvenței este realizată cu ajutorul unui filtru de mare trecere, cu o frecvență sub 7 kHz.

Data filtering and Clock Recovery (Filtrare de date și recuperare Clock)

Filtrarea datelor de ieșire poate fi completată de un condensator extern sau prin utilizarea filtrării digitale în conformitate cu aplicația finală.

Operații analogice: filtrul este de tip RC filtru de joasă trecere, urmată de un declanșator Schmitt (St). Rezistor (10 kOhm) și St sunt integrat pe cip. Un condensator (extern) poate fi ales în funcție de rata reală de biți. În această setare, receptorul poate rezista până la 256 kbps rată de date. FIFO nu poate fi utilizat în această setare iar ceasul nu este prevăzut pentru datele demodulate.

Operații digitale: un filtru digital este utilizat cu o frecvență de ceas de 29 ori mai mare decât rata de biți. În acest mod, există un circuit de recuperare a ceasului (CR), care poate sincroniza ceasul cu datele. Folosind acest ceas, datele primite pot umple un FIFO. CR are trei moduri de operare: rapid, lent, și automat. În modul lent, imunitatea de zgomot este foarte mare, dar are timp de setare mai lent și necesită sincronizare de date mai precisa decât în ​​modul rapid. În modul automat, CR modifică automat între rapid și modul lent. RC începe în mod rapid, apoi, după blocare, aceasta comută automat la modul lent.

(Numai filtrul de date digitale și recuperarea ceasului folosesc rata de biți ceas. Pentru operarea analogică, nu este nevoie pentru stabilirea ratei de biți corectă.)

Definirea pachetului de pini

Tipuri de pini:

-D = Digital

-A = Analog

-S = Supply

-I = Intrare

-O = Ieșire

-IO = Intrare/Ieșire

Figura 3. SMD, DIP

Tabel 3.1. Explicația pinilor

Capitolul 4

Implementarea software. Realizarea Proiectului

4.1 Comunicarea cu circuitul

Acest sistem mobil,se bazează pe platforma programabilă Arduino Pro Mini și constă din mai multe module conectate între ele. Modulele pot fi caracterizate de mai multe principii, iar conectarea acestora la platforma de dezvoltare se poate face în mai multe feluri.

Platforma de dezvoltare este o placă electronică ce conține microcontroller-ul programabil. Dat fiind că platforma Arduino este open source, sunt disponibile atât platforme Arduino originale, cât și clone compatibile, mai ieftine. Totuși limbajul de programare, mediul de dezvoltare și interconectarea diverselor module sunt practic identice, indiferent de modelul specific al platformei.

Module de intrare, numite și senzori, sunt module care se conectează la platforma Arduino pentru a trimite date către aceasta (în cazul nostru butoane, senzori).

Module de ieșire sunt module care se conectează la platforma Arduino pentru a permite acesteia să transmită informații către lumea exterioară. Acestea pot fi relee, afișaje, difuzoare, etc.

Modulele de date permit platformei Arduino să comunice direct cu alte dispozitive digitale (inclusiv cu alte module Arduino). Modulele de date pot fi module Ethernet, care permit comunicația prin Internet sau printr-o rețea locală, module radio, care pot comunica cu computere sau alte platforme Arduino, module USB, module GSM, etc. În cazul nostru, comunicarea se face prin module radio. Vom mai avea nevoie de un conector FTDI basic(figura 4.1) de 3,3V pentru a putea face conexiunea cu un computer pe care se scrie,se compilează și se încarcă programul utilizat.

Accesoriile nu sunt în general considerate module Arduino, însă sunt o parte uzuală a proiectelor de acest gen. Există tot felul de accesorii, de la soluții de alimentare cu curent electric până la cele mai diverse accesorii.

Conectorii de pe platformele de dezvoltare Arduino sunt conectori de tip „mama”. Acești conectori sunt luați drept pini și au următoarele funcții:

-GND — ground, masă, polul negativ al circuitului, cu o tensiune de 0V;

-VCC — tensiunea de intrare. Platforma Arduino se alimentează fie prin conectorul USB,

fie prin mufă de alimentare; acest pin prezintă tensiunea de alimentare

neschimbată, indiferent că este 3,3V, 5V, 9V, 12V sau oricare alta;

-Digital 0, Digital 1, …, Digital N — pini de intrare/ieșire digitală. Pinul X va fi folosit

pentru intrare sau pentru ieșire, în mod opțional. Pinii digitali au doar două stări: 1 sau 0 (logic), HIGH sau LOW (notația în cod), 3,3V sau 0V (tensiunea propriu-zisă). Numărul concret de pini disponibili depinde de modelul specific al platformei de dezvoltare; în general, numărul lor este de 14 sau 54;

-Analog 0, Analog 1, …, Analog N — pini exclusiv de intrare analogică. Aceștia pot citi

valori discrete între 0 și 1023, corespunzătoare în

mod proporțional tensiunii de intrare (între 0 și 3,3V). Din nou, numărul de pini diferă de la placă la placă; în general numărul lor este de 6 sau 16.

Figura 4.1. Conectare FTDI Basic la Arduino

4.2. Limbajul de programare

Pentru a programa microcontroler-ul am conectat FTDI Basic la placa Arduino și la un computer pe care am instalat mediul de dezvoltare și driverele necesare. Mediul de dezvoltare este disponibil în mod gratuit pe site-ul producătorului pentru diverse sisteme de operare la adresa http://arduino.cc/en/Main/Software.

Pașii pe care i-am parcurs pentru instalare și programare sunt următorii:

am descărcat aplicația de la adresa de mai sus și am dezarhivat-o în directorul C:\arduino

am conectat placa Arduino la computer printr-un cablu USB folosind FTDI Basic și unul dintre LED-urile de pe placă s-a aprins;

la indicarea locației driverului, am indicat directorul C:\arduino\drivers;

am pornit mediul de dezvoltare executând C:\arduino\arduino.exe;

am indicat modelul plăcii în meniul Tools > Board;

am indicat portul pe care s-a conectat placa Arduino în meniul Tools > Serial Port;

am încărcat programul pe placă prin opțiunea: File > Upload.

Toate platformele de dezvoltare Arduino pot fi programate cu ajutorul Arduino IDE. Programul are câteva biblioteci incluse, necesare scrierii unor programe de bază. În cazul în care se dorește introducerea unor noi biblioteci, ele trebuie copiate în directorul libraries de unde s-a extras/instalat programul(ex: c:\Arduino\libraries\ ).

Biblioteci standard (incluse):

EEPROM – citirea și scrierea unor date stocate permanent.

Firmata – pentru comunicarea cu aplicații de pe PC folosind un protocol serial standard.

GSM – pentru conectarea la o rețea GSM/GRPS folosind un shield GSM.

LiquidCrystal – pentru controlarea afișajelor cu cristale lichide (LCD).

SD – pentru scrierea sau citirea cardurilor SD.

Servo – pentru controlarea servomotoarelor.

SPI – pentru comunicarea cu dispozitive folosind Serial Peripheral Interface (SPI).

SoftwareSerial – pentru comunicarea serială pe orice pini digitali.

Wire – interfața cu doua fire (Two Wire Interface TWI/I2C) pentru comunicarea datelor într-o rețea de dispozitive sau senzori.

De asemenea, este posibilă și crearea unor biblioteci personalizate, care trebuie apoi implementate în directorul „libraries” din directorul Arduino.

Limbajul de programare Arduino IDE este asemănător celui de C++, cu unele restricții și unele funcții special construite. În loc de o funcție principală, se folosește funcția void setup () , unde se definesc librăriile pentru diferiți senzori, constantele, variabilele și tot felul de obiecte ce vor fi folosite pe parcursul programului. Se folosește funcția setup () la fiecare început de comandă, iar funcția loop() se repetă pe parcursul liniilor de cod.

4.3. Structura mașinii

Structura mașinii a fost construită conform schemei realizate în programul Fritzing ( fig.4.2). Software-ul Fritzing este ușor de utilizat, dispune de o bibliotecă mare de componente și se găsește gratuit la adresa http://fritzing.org/download/?donation=0 .

Figura 4.2. Structura mașinii în programul Fritzing

Realizarea practică a proiectului am început-o realizând conexiunile între placa Arduino și circuitul mașinii. Au urmat senzorii și transceiverul RFM12B.

4.4. Structura telecomenzii

Pentru schema telecomenzii (fig. 4.3) am folosit software-ul Eagle care este foarte ușor de utilizat și se găsește gratuit.

Figura 4.3. Proiectarea telecomenzii în programul Eagle

Pentru realizarea telecomenzii am modificat circuitul deja existent și am adăugat un microcontroler ATMega328. Am adăugat apoi afișajul LCD și transceiverul RFM12B

Concluzii

Bibliografie

[1] Virgiliu Zamfir: Bazele radioelectronicii, Editura Facla, Timișoara 1987

[2] C. Găzdaru, C. Constantinescu, Editura Tehnică, București 1986

[3] https://ro.wikipedia.org/wiki/Radiofrecven%C8%9B%C4%83 (accesat mai 2015)

[4] https://vega.unitbv.ro/…/Modulatia%20digitala/Lab2_Modulatia%20FSK-5.doc (accesat mai 2015)

[5] http://www.scritub.com/stiinta/informatica/TRANSMISIUNI-DE-DATE-CU-MODULA32833.php (accesat mai 2015)

[6]http://www.adafruit.com/datasheets/Digital%20humidity%20and%20temperature%20sensor%20AM2302.pdf (accesat iunie 2015)

[7] https://plot.ly/arduino/dht22-temperature-tutorial/ (accesat iunie 2015)

[8] http://senzor-miscare.ro/senzori/senzori-de-miscare/ (accesat iunie 2015)

[9] https://www.teguna.ro/wiki/Senzor_de_distan%C5%A3%C4%83_cu_ultrasunete_HC-SR04 (accesat iunie 2015)

[10] https://ro.wikipedia.org/wiki/Senzor_de_mi%C8%99care_radar (accesat iunie 2015)

[11] http://www.electronica-azi.ro/articol/8180 (accesat iunie 2015)

[12] http://www.robofun.ro/senzori/accelerometru/accelerometru_MMA8452Q (accesat iunie 2015)

[13] www.freescale.com/files/…/MMA8452Q.pdf (accesat iunie 2015)

[14] http://www.robofun.ro/arduino/arduino_pro_mini_328_8mhz (accesat aprilie 2015)

[15] https://www.arduino.cc/en/Main/ArduinoBoardProMini (accesat aprilie 2015)

[16] https://learn.sparkfun.com/tutorials/using-the-arduino-pro-mini-33v (accesat aprilie 2015)

[17] http://www.atmel.com/devices/atmega328.aspx (accesat mai 2015)

[18] http://www.atmel.com/images/Atmel-8271-8-bit-AVR-Microcontroller-ATmega48A-48PA-88A-88PA-168A-168PA-328-328P_datasheet_Complete.pdf (accesat mai 2015)

[19] http://just2play.ro/forum/index.php?/topic/95822-senzor/ (accesat iunie 2015)

[20] https://ro.wikipedia.org/wiki/Senzor (accesat iunie 2015)

Similar Posts