Laboratoare (si) Pintilei Alexandru [308517]

Senzori Inteligenti

Lucrari de laborator

Student: [anonimizat] 6407

Indrumator Sef Lucrari Dr. Ing. Branzila Marius

Laborator 1 : Comunicarea pe portul paralel

Componentele calculatorului (procesorul, memoria, dispozitivele periferice) sunt conectate intre ele prin intermediul placii de baza. Un periferic se conecteaza la placa de baza (si indirect la procesor) [anonimizat]. Fiecare port respecta un anumit standard de conectare.

[anonimizat]-le implementa pe toate sau numai o parte dintre ele. Principalele standarde de conectare sunt:

•         Portul paralel;

•         Portul serial;

•         USB;

•         IDE (Integrated Drive Electronics);

•         FireWire ;

•         SCSI (Small Computer System Interface) .

Portul paralel

Portul paralel permite transmiterea catre periferic a cate unui octet de date intr-o operatie de transfer. Semnalele definite de acest standard sunt transmise pe 3 tipuri de linii:

[anonimizat];

[anonimizat], permitand desfasurarea transferului in bune conditii;

[anonimizat].

* Un exemplu de comunicare a fost sa modificam starea unui led conectat la liniile portului paralel.

Laborator 2 : [anonimizat] o [anonimizat].

Din acest motiv si datorita modului mai sofisticat de gestionare a comunicatiei, viteza interfetei seriale este sensibil mai mica decat cea a interfetei paralele.

Portul serial a fost proiectat de la inceput pentru comunicatii bidirectionale.

[anonimizat]-ul, modemul etc.

[anonimizat]-se intr-o serie pe masura ce sunt transmisi.

In LabVIEW comunicarea se realizeaza prin cateva instrumente virtual cum ar fi:

-[anonimizat], [anonimizat]

• [anonimizat] a portului serial.

• [anonimizat] –instrumente ce realizeza citirea respective scrierea datelor

de la/spre portul serial

• [anonimizat].

* Un exemplu la acest laborator a fost un chat folosind comunicarea cu portul serial

Laborator 3 : Controlul aplicatiilor cu ajutorul unor dispozitive periferice

Cu ajutorul unui dispozitiv periferic (joystick) [anonimizat] 2 axe (X si Y)

Laborator 4 : Placa de sunet. Achizitie si generare semnale.

La acest laborator am implementat in LabView o aplicatie care citeste grafic nivelul de tensiune si totodata poate sa genereze semnal de tact pentru portul audio al calculatorului.

In pozele urmatoare se poate vedea semnalul citit de la un microfon:

Laborator 5 : Interfata USB

Placa de achizitie pe USB utilizata la actionarea unei servodirecții electrice

Schema bloc de control a [anonimizat] 0 și 5 volți, preluat la

intrarea acesteia și îl transformă în semnal digital pe 8 biți, (0…255 valori). Semnalul analogic

este produs de un potențiometru, care reprezintă senzorul de unghi. Acesta este corp comun cu

volanul. Numărul zecimal rezultat este tranformat în binar și constitue intrare în poarta ,, ȘI’’,

cealaltă intrare este o constantă, aleasă astfel încât valoarea LSB (bitul cel mai puțin

semnificativ) are întotdeauna valoarea 0. Astfel la ieșire vom avea un număr la care LSB are o

valoare fixă și anume 0. Operația în sine poartă denumirea de ,,mască’’. Schema bloc conține un

diferențiator, care are ca intrări, valoarea registrului de întârziere și ieșirea porții digitale mai sus

menționate. Altfel spus se face o diferență între poziția curentă a volanului și cea imediat

următoare. Când rezultatul scăderii este negativ asta înseamnă că: volanul se rotește spre stânga,

pe o ieșire analogică a plăcii de achiziție avem un semnal ce constitue comanda de deschiderea a

tranzistoarelor ce vor alimenta motorul, care se va roti spre stânga și deasemeanea roțile vor vira

spre stânga. Dacă rezultatul scăderii este pozitiv, cealaltă ieșire a plăcii K8055 va comanda

cealaltă pereche de tranzistoare să intre în conducție și toate componenetele vor executa mișcarea

spre dreapta (figura51). În momentul în care volanul are o poziție fixă (exemplu: mașina se deplasează pe drum drept sau când virează în curbe cu un unghi constant) motorul este în repaos.

Figura 1 : Schema bloc de comandă

Element de execuție

Placa de achiziție K8055 are 2 canale analogice de unde ,,culegem’’ semnalele cu care

vom comanda cele două perechi de tranzistoare. Dacă volanul este rotit spre dreapta atunci vom

avea semnal pe canalul 1 al plăcii (DAC1). Dacă vom roti spre stânga atunci DAC2 v-a avea

tensiune la borne, ieșirile plăcii sunt complementare. Aceste semnale constitue intrare în placa ce

conține tranzistoarele cu care vom comanda sensul de rotație al motorului. Elementul de execuție

este construit sub forma unei plăcuțe pe care sunt lipite componentele necesare acționării

motorului.

Figura: Puntea H de comanda a motorului

Plăcuța din figura este realizată după schema electrică mai jos prezentată. În conceperea

ei s-au folosit următoarele componente electronice precum și cu valorile acestora:

– 2 tranzistoare PNP BD140 (T1 și T3);

– 3 tranzistoare NPN BD 139 (T2, T4 și T7);

– 2 tranzistoare NPN BC 107 (T5 și T6);

– 2 diode 1N4002;

– rezistențe de diferite valori;

Facem mențiunea că tranzistoarele de tipul NPN în vederea deschiderii se comandă cu un

impuls pozitiv în bază, iar cele PNP se comandă cu impuls negativ în bază. Tranzistoarele T5 și

T6 au rolul unor inversoare.

Când pe canalul denumit stânga este aplicată o tensiune atunci se vor comanda simultan

perechea de tranzistori T1, T2 aceștia fiind deschiși iar perechea cealaltă de tranzistoare T3, T4

fiind blocate. Curentul având traseul prin circuit conform liniei punctate de culoare roșie. Astfel

motorul se v-a roti spre stânga, v-a acționa cremaliera și roțile autovehiculului ce se vor roti spre

stânga. Odată cu dispariția tensiunii de pe canalul curent v-a apare semnal de comandă pe celălalt

canal (dreapta), atunci vor intra în conducție tranzistoarele (T3 și T4). Curentul de la sursa de

alimentare v-a avea traseul prin circuit asemenea liniei punctate albastre (figura ).

Pe placă se găsesc prizele de alimentare a plăcii cu tensiune, bornele cu semnalele de

comandă a tranzistoarelor, precum și pinii unde este atașat motorul în schemă. Deasemenea

tranzistorul T7 are rolul de protecție în vederea furtului autovehiculului.. Acesta trebuie să

primească o comandă specială pentru a intra în conducție, alimentând astfel întreg circuitul cu

energie. Acestă comandă se poate face atunci când conducătorul auto introduce în contact cheia

autoturismului. Dacă nu, întreaga schemă nu este alimentată și astfel servodirecția nu este activă,

mașinii nu i se poate asigura modificarea direcției.

Figura: Schema electrică e elementului de execuție

Servodirecția electrică este astfel realizată încât volanul se învârte doar jumătate de cursă,

iar roțile sunt bracate, față de servodirecțiile obișnuite unde volanul are 2,7 rotiri complete.

Senzorul de unghi, o piesă esențială a acestui ansamblu este un potențiometru de 230KΩ,

atașat volanului. Acesta este alimentat de la o baterie de 9V, unde vom varia această trensiune

între 0 și 5V. Semnalul va constitui intrare la bornele analogice pe placa de achiziție K8055.

Deoarece intrarea plăcii suportă o tensiune maximă de 5V am înseriat cu potențiometru o

rezistență de 180KΩ.

Laborator 6 : Comunicare TCP/IP

TCP/IP (Transmission Control Protocol/Internet Protocol) este cel mai utilizat protocol folosit în rețelele locale cât și pe Internet datorită disponibilității și flexibilități lui având cel mai mare grad de corecție al erorilor.
TCP/IP permite comunicarea între calculatoarele din întreaga lume indiferent de sistemul de operare instalat.

Protocolul TCP/IP este compus din patru niveluri: Aplicație, Transport, Rețea și Acces la rețea.
Modelul TCP/IP este asemănător cu modelul OSI (Open Systems Interconnection).

Nivelul Aplicație conține următoarele protocoale de nivel înalt:

Transfer de fișiere: TFTP, FTP și NFS

E-mail: SMTP

Remote: telnet, rlogin

Managementul de rețele: SNMP

Managementul de nume: DNS

HTTP

TCP (Trasmission Control Protocol) este un protocol orientat pe conexiune care permite ca un flux de octeți trimiși de la un calculator să ajungă fără erori pe orice alt calculator din Internet. Dacă pe calculatorul destinație un pachet ajunge cu erori, TCP cere retrimiterea acelui pachet.
TCP fragmentează fluxul de octeți în mesaje discrete și pasează fiecare mesaj nivelului Rețea.
TCP tratează totodată controlul fluxului pentru a se asigura că, calculatorul sursă nu inundă calculatorul destinație cu mai multe pachete decât poate acesta să prelucreze.

Protocoalele care lucrează la nivelul Rețea din modelul TCP/IP sunt:

IP (Internet Protocol)

ICMP (Internet Control Message Protocol)

ARP (Address Resolution Protocol)

RARP (Reverse Address Resolution Protocol)

IP caută cea mai bună cale de a trimite pachetele.
ICMP oferă capabilități de control și în schimbul de mesaje.
ARP determină adresa MAC pentru adresele IP
RARP determină adresa IP pentru o adresă MAC cunoscută.
Problemele majore se referă la dirijarea pachetelor și evitarea congestiei în rețea. De aceea este rezonabil să presupunem că nivelul Rețea din TCP/IP funcționează asemănător cu nivelul rețea din OSI.

In acest laborator am vazut exemple de comunicare TCP/IP :

Comunicare server-client pentru transmiterea de caractere

Server de caractere

Client de caractere

Comunicare server-client pentru transmiterea de date

Server de date

Client de date

De asemenea de-a lungul laboratoarelor am invatat despre Arduino si am rulat diferite aplicatii.

In primul rand sa facem o descriere despre Arduino.

1.Ce este Arduino?

Arduino este un instrument prin care poți realiza sisteme informatice capabile să ‘perceapă’ și să ‘controleze’ lumea înconjurătoare . Acest instrument este open-source și este compus dintr-un mediu de dezvoltare (o varianta de Wiring – platforma folosită pentru procesare multimedia) și o placă de dezvoltare cu microcontroler AVR.
Arduino poate fi folosit pentru dezvoltarea de obiecte interactive. Informația este preluată de la o gamă variată de senzori și comutatoare, se procesează în interiorul microcontrolerului AVR, și este transmisă către o gamă la fel de variată de lumini, motoare, actuatoare etc.

2.De ce sa aleg Arduino?
Pe piață există o gamă foarte variată de sisteme de dezvoltare bazate pe microcontroler, avantajele pe care le are Arduino față de aceste sisteme sunt:
-Costuri de achiziție reduse
-Poate fi folosit pe orice sistem de operare (Linux,Windows sau MacOS). Majoritatea plăcilor de dezvoltare fiind limitate la sistemul de operare Windows.
-Un mediu de programare simplu și usor de învățat.
-Este open source, atât placa de dezvoltare cât și mediul de programare

3.Lucruri necesare înainte de a începe
Pentru a putea să folosești platforma Arduino ai nevoie de urmatoarele:
– cablu USB
– placă de dezvoltare Arduino
– mediu de dezvoltare

4.Instalarea plăcii de dezvoltare
Instalarea plăcii de dezvoltare se face foarte simplu. Se leagă placa de dezvoltare cu calculatorul prin intermediul cablului USB, și gata.

Pentru Windows mai trebuie să instalezi și driverul plăcii: Trebuie să mergi în Start->Control Pannel->System and Security->System->Device Manager În grupul Ports (COM & LPT) ar trebuii să găsești un port numit Arduino Uno. Click dreapta pe portul respectiv și selectează Update drivers->Browse my computer for Driver software Mai departe mergi în directorul în care ai dezarhivat aplicația Arduino iar aici va trebuii să alegi directorul Drivers pentru ArduinoUno sau FTDI USB Drivers pentru plăcile ce folosesc adaptor FTDI.

Un exemplu pe care l-am realizat in cadrul laboratoarelor cu ajutorul placutei de dezvoltare Arduino a fost sa comunicam prin intermediul protocolului serial. Am folosit libraria Serial in mediul de dezvoltare. Procesul setup este unul simplu, alegem sa creem un obiect Serial cu baudrate-ul dorit, iar restul de setari sunt puse automat default la cele mai comun folosite (fara paritate, 1 bit de stop, fara control hardware al comunicarii si timp de asteptat al comunicari infinit). Pentru a scrie pe Serial catre PC folosim metodele println, print, iar pentru receptie folosim read (acestea nu sunt singurele, restul putand fii gasit in documentatie. Pe partea de PC folosim o aplicatie de terminal, de exemplu Putty sau Teraterm, in care setam aceleasi setari pentru comunicare si va actiona ca o interfata de asemenea grafica pentru a vedea textul cu care lucram.

O posibilitate pentru citire este folosirea functiei Serial.available() care ne returneaza 1 doar in momentul in care buffer-ul de interare este plin si putem citi informatie relevanta din el, dar nu este necesar sa folosim aceasta metoda, pentru ca daca nu vine informatie noua buffer-ul nu se va goli de la sine.

Putem deci implementa o comunicare text cu utilizatorul in care putem comunica de exemplu valori citite la pini sau scrie valori la pini date de utilizator pe PC sau putem interactiona cu elemente fizici precum relee (tot prin controlul unor pini digitali).

Similar Posts