laboratorijska vjezbaapeg.ac.me/nastava/vjezba 7 primjer.pdf · 2018. 4. 5. · prva laboratorijska...
TRANSCRIPT
UNIVERZITET CRNE GORE
MAŠINSKI FAKULTET
Studijski program: Mehatronika
Predmet: Integrisani I u realnom vremenu upravljani sistemi
Studijska godina 2017/18
LABORATORIJSKA VJEZBA
Temperaturni regulator sa ARDUINOM
Predmetni nastavnik: Studenti:
Prof. dr Radovan Stojanović Jovan Novosel 2/15
Petar Stojanovic 4/15
Pavle Asanovic 21/15
Problem
Prva laboratorijska vjezba iz predmeta “Integrisani I u realnom vremenu upravljani sistemi” sastoji se od kontrolisanja stanja sijalice (upaljena ili ugasena) pomocu temperaturnog senzora, I ocitavanja temperature na Serial Ploteru. Sve komponente su povezane sa Arduino Uno mikrokontrolerom.
1.1 Temperaturni senzor :
Prvi korak u ovoj laboratorijskoj vjezbi je povezivanje temperataurnog senzora TMP-BTA sa Arduino Uno-m, I pisanje odgovarajuceg koda. Temperaturni senzor TMP–BTA je uređaj koji mjeri temperaturu na osnovu fizičke zakonitosti da prilikom promjene temperature se mijenja i električna otpornost materijala. Najčešći termistori su napravljeni od keramičkih poluprovodnika ili žica od platine koje su prevučene keramičkim slojem. Nominalna otpornost našeg senzora je 20kΩ. Prilikom porasta temperature otpornost opada nelinearno, pri padu temperature od 25O C dolazi do pada otpora približno 4,3% po jednom stepenu C. Jednačina koja povezuje električnu otpornost sa temperaturom data je u prospektu koji dolazi sa senzorom i ona je:
T=[K0+K1(ln 1000R)+K2(ln 1000R)3 ] -1 -273.15
Gdje je T temperatura, R otpornost u kΩ, a K0 =1,02119 x 10-3, K1=2,22468 x 10-4, K2=1,33342 x 10-7
Sledeci korak je spajanje sijalice na DC razvodno kolo, koje je u istom vrijeme sa Arduino Uno-m.
1.2 Povezivanje komponenti:
1. Temperaturni senzor : Napajanje temperaturnog senzora dovodimo na +5V, uzemljenje dovodimo na pin GND, dok signal (SIG1) dovodimo na analogni pin A0.
2. Sijalica i DC razvodna kutija: Napajanje DC razvodne kutije dovodimo na +5V, uzemljenje dovodimo na pin GND, HIGH stanje sijalice je definisano napisanim programom I ona je povezna na digitalni pin 8, Zero Crossing (ZC) je doveden na digitalni pin 2.
1.3 Kod u Arduino Uno okruzenju:
#include <math.h>
float tempup=30.5;
float tempdown=29.5;
double Vout,Rt, T=0,Temp=0, K0=0.00102119, K1=0.000222468, K2=1.33342*pow(10,-7);
int angle;
int lampa=8;
void setup()
pinMode(lampa, OUTPUT);
pinMode(2, INPUT);
angle=3000;
Serial.begin(9600);
void loop()
Temp=analogRead(A0);
Vout=5.0*Temp/1023.0;
Rt=Vout*15000.0/(5.0-Vout);
T=1.0/(K0+K1*(log(Rt))+K2*pow(log(Rt),3))-273.15;
Serial.println(T);
delay(500);
if (T>tempup)
digitalWrite(8,LOW);
if (T<tempdown)
digitalWrite(8,HIGH);
delay (50);
Serial.println(T);
Slika 1. Sistem arhitektura
Temp senzor
Konektor za
temp senzor
Arduino
Sijalica
Kontroler
Slika 2. Sijalica, Temperaturni senzor I DC razvodna kutija
Temperatura je
iznad 30.5 C, pa
je sijalica
ugasena
Senzor je ocitao
temperaturu preko
unaprijed definisane
T=30.5 C
Slika 3. Regulacioni diagram
U kodu je unaprijed definisana temperatura paljenja i gasenja sijalice. Kada se dostigne temperatura koja je veca od promjenljive ” tempup=30.5” sijalica ce se ugasiti, takodje kada temperature opadne ispod promjenljive “tempdown=29.5” sijalica ce se upaliti.
Na ovoj slici temperatura je iznad unaprijed definisane granice I sijalica je izgasena. (Slika 2 )
Temperatura je
iznad 30.5 C, pa
je sijalica
ugasena
Slika 4. Paljenje sijelice ako je izmjerena vrijednost manja od zadate
Temperatura je ispod unaprijed definisane vrijednosti (tempdown=29.5) , sto daje signal Arduinu da upali sijalicu. Sijalica ce biti upaljena sve dok vrijednost temperature ne predje unaprijed definisanu granicu (tempup=30.5) .
Temperatura je
ispod 29.5 C, pa
je sijalica
upaljena
Senzor je ocitao
temp ispod
unaprijed
deifnisane
temperature
T=29.5 C
Slika 5. Dijagram regulacije
Na datom dijagramu, temperatura je ispod unaprijed definisane temperature (tempdown=29.5) sto znaci da je sijalica upaljena. (Slika 4 )
Temperatura je
ispod 29.5 C, pa
je sijalica
upaljena