Sadržaj:
- Korak 1: Oprema
- Korak 2: Postavljanje mikrokontrolera
- Korak 3: Postavljanje MATLAB -a
- Korak 4: Funkcije
- Korak 5: Testiranje
- Korak 6: Zaključak
Video: Arduino model klima uređaja: 6 koraka
2024 Autor: John Day | [email protected]. Zadnja izmjena: 2024-01-30 08:08
Kao dio demonstracije sposobnosti našeg tima da stvori model pametnog vlaka u marketinške svrhe, cilj je bio stvoriti sistem u kojem senzor temperature čita podatke iz kruga i pretvara informacije u vrijednost temperature koja je prikazuje se na osvijetljenom ekranu i fokusira se na to hoće li se ventilator uključiti ili isključiti. Svrha je pomoći u prilagođavanju uslova vožnje putnika pomoću automatiziranog sistema koji također djeluje na prikaz temperature u neposrednoj blizini.
Korištenjem Arduino kompleta mikrokontrolera i MATLAB verzijama 2016b i 2017b uspjeli smo relativno uspješno pokazati ove rezultate.
Korak 1: Oprema
Komplet mikrokontrolera sa sljedećim:
-Sparkfun Red Board
-Sparkfun Breadboard
-LCD ploča
-Potenciometar
-Senzor temperature
-Servo
-USB/Arduino adapter
-Jamper žice (najmanje 25)
Laptop (Windows 10) sa USB ulazom
3D štampani objekat (opcionalno)
Korak 2: Postavljanje mikrokontrolera
Uzmite u obzir ovo: cijeli sistem se sastoji od pojedinačnih jedinica od kojih svaka primjenjuje značajan faktor prema konačnom rezultatu. Iz tog razloga, preporučuje se postavljanje slike kola prije pričvršćivanja žica u zamršen nered.
Slike svakog pojedinog modela mogu se pronaći u priručniku kompleta alata za mikrokontroler ili na njegovoj web stranici na adresi
Počnite s pričvršćivanjem osjetnika temperature, potenciometra, servo konektora i LCD -a na ploču. Preporučuje se da zbog veličine LCD -a i zahtjeva za brojem žica za njega, bude postavljen na vlastitu polovicu matične ploče s ostalim dijelovima na drugoj polovici i da potenciometar bude u području za nekoga lako okrenuti dugme.
Za referenciju:
LCD: c1-16
Servo: i1-3 (GND + -)
Senzor temperature: i13-15 (- GND +)
Potenciometar: g24-26 (- GND +)
Zatim počnite povezivati kratkospojne žice sa svakim pinom jedinica mikrokontrolera; iako proizvoljan u cjelokupnoj velikoj shemi, dizajn je nastao s ovim važnim vezama:
Povezivanje potenciometra s LCD -om: f25 - e3
Servo GND žica: j1 - digitalni ulaz 9
Senzor temperature GND: j14 - analogni ulaz 0
LCD ulazi: e11-e15-digitalni ulaz 2-5
e4 - digitalni ulaz 7
e6 - digitalni ulaz 6
(Napomena: U slučaju uspjeha, oba svjetla na rubu LCD -a bi trebala zasvijetliti, a potenciometar može pomoći u podešavanju svjetline nakon što dobije napajanje iz adaptera.)
Opcionalno: 3D ispisani objekt korišten je kao dio zahtjeva. Kako bi se izbjeglo potencijalno oštećenje osjetljivijih dijelova, produženo kućište postavljeno je kao omotač oko LCD -a. Mjere ekrana LCD-a pokazale su se otprilike 2-13/16 "x 1-1/16" x 1/4 ", pa je samo visina značajno promijenjena. Ako je 3D štampač odmah dostupan, razmislite o dodavanju ličnog predmeta, iako nepotrebno. Imajte na umu da se mjerenja mogu razlikovati.
Korak 3: Postavljanje MATLAB -a
Instalirajte ažuriraniju verziju MATLAB -a (2016a i dalje), dostupnu na web stranici MathWorksa https://www.mathworks.com/products/matlab.html?s_tid=srchtitle. Nakon otvaranja, idite na Dodaci na kartici Početna i preuzmite "MATLAB paket podrške za Arduino hardver" da bi naredbe mikrokontrolera bile dostupne.
Nakon što se završi, može se izvršiti test za utvrđivanje povezanosti mikrokontrolera sa računarom/laptopom. Nakon što ste ih povezali s USB adapterom iz kompleta alata, umetnite naredbu "fopen (serijski (" nada "))."
Pojavit će se poruka o grešci koja kaže da je konektor "COM#", što će biti potrebno za stvaranje arduino objekta sve dok je to isti ulaz u svakom trenutku.
Zbog toga što LCD nema izravnu vezu s Arduino knjižnicom, mora se stvoriti nova knjižnica za prikaz poruka. Preporuka je stvoriti datoteku LCDAddon.m iz primjera LCD -a koji se nalazi u prozoru za pomoć MATLAB -a nakon pretraživanja "Arduino LCD -a" i stavljanja u mapu +arduinoioaddons, ili upotrijebiti komprimiranu mapu u prilogu i kopirati sav njen sadržaj u prethodno spomenuto folder.
Ako je uspješno, kod za stvaranje Arduino objekta u MATLAB -u je prikazan ispod.
a = arduino ('com#', 'uno', 'Libraries', 'ExampleLCD/LCDAddon');
Korak 4: Funkcije
Kreirajte funkciju MATLAB. Za ulaze koristimo varijable "eff" i "T_min"; za izlaze, iako nepotrebni u cjelokupnom dizajnu, koristili smo varijablu "B" kao način za sadržavanje podataka iz rezultata. Ulaz "eff" omogućava upravljanje maksimalnom brzinom servo, a ulaz "T_min" kontrolira željenu minimalnu temperaturu. Vrijednost "B" bi stoga trebala proizvesti matricu koja sadrži tri stupca za vrijeme, temperaturu i učinkovitost ventilatora. Također, kao bonus detaljima, dolje navedeni kôd također sadrži if-naredbu tako da će se brzina ventilatora smanjiti za pedeset posto kada se približi željenoj minimalnoj temperaturi.
Ako su svi ulazi i kratkospojne žice točno postavljeni i pod pretpostavkom da je priključak arduino veze COM4, a naziv funkcije "fanread", sljedeći kôd bi trebao biti dovoljan:
funkcija [B] = čitač ventilatora (Tmin, eff)
clear a; clear lcd; a = arduino ('com4', 'uno', 'Libraries', 'ExampleLCD/LCDAddon');
t = 0; t_max = 15; % vremena u sekundama
lcd = addon (a, 'ExampleLCD/LCDAddon', {'D7', 'D6', 'D5', 'D4', 'D3', 'D2'});
initializeLCD (lcd, 'Rows', 2, 'Columns', 2);
ako je eff> = 1 || e <0
greška ('Ventilator se neće aktivirati osim ako je eff postavljeno između 0 i 1.')
kraj
za t = 1: 10 % broj petlji/intervala
jasan c; % sprečavanje ponavljanja greške
v = readVoltage (a, 'A0');
TempC = (v-0,5)*100; % procjena raspona napona 2,7-5,5 V
ako je TempC> Tmin ako je TempC
c = ['Temp', num2str (TempC, 3), 'C uključeno'];
writePWMDutyCycle (a, 'D9', eff/2); % uključite servo na pola brzine
spd = 50;
else
c = ['Temp', num2str (TempC, 3), 'C uključeno'];
writePWMDutyCycle (a, 'D9', eff); % uključite servo pri zadanoj brzini
spd = 100;
kraj
else
c = ['Temp', num2str (TempC, 3), 'C Off'];
writePWMDutyCycle (a, 'D9', 0); % isključeno ako je već uključeno
spd = 0;
kraj
printLCD (lcd, c);
pauza (3); % prođu tri sekunde po petlji
vrijeme (t) = t.*3;
tempplot (t) = TempC;
act (t) = spd;
podcrt (2, 1, 1)
dijagram (vrijeme, grafički prikaz, 'b-o') % linijski grafikon
os ([0 33 0 40])
xlabel ('Vrijeme (sekunde)')
ylabel ('Temperatura (C)')
Čekaj
iscrtavanje ([0 33], [Tmin Tmin], 'r-')
Čekaj
iscrtavanje ([0 33], [Tmin+2 Tmin+2], 'g-')
podcrt (2, 1, 2)
stupac (vrijeme, čin) % stupčasti grafikon
xlabel ('Vrijeme (sekunde)')
ylabel ('Efikasnost (%)')
kraj
B = transponiranje ([vrijeme; tempplot; čin]);
kraj
Sada kada je funkcija dovršena, vrijeme je za testiranje.
Korak 5: Testiranje
Sada testirajte funkciju u komandnom prozoru umetanjem "function_name (input_value_1, input_value_2)" i gledajte. Budite sigurni da već nema Arduino objekta; ako je tako, upotrijebite naredbu "clear a" da biste je uklonili. Ako dođe do grešaka, provjerite jesu li neki konektori na krivom mjestu ili se koriste pogrešni digitalni ili analogni ulazi. Očekuje se da će rezultati biti različiti, iako to može biti uzrokovano postavljanjem određenih kratkospojnih žica i temperaturnog senzora.
Očekivanja rezultata trebala bi proizvesti promjene u performansama serva i podacima na LCD -u. Sa svakim intervalom od tri sekunde, redak teksta trebao bi prikazivati temperaturu u Celzijusima i je li ventilator aktivan ili ne dok ventilator radi punom brzinom, polovinom ili bez brzine. Podaci najvjerojatnije ne bi trebali biti dosljedni, iako ako želite više različitih rezultata, postavite vrijednost "Tmin" blizu prosječne temperature koju proizvodi krug.
Korak 6: Zaključak
Iako mukotrpan zadatak koji je trebalo postići pokušajima i greškama, konačni rezultati pokazali su se prilično zanimljivim i zadovoljavajućim. Sustav kao takav pomaže ilustrirati koliko se složenih strojeva, pa čak i nekih njihovih dijelova, može vidjeti kao skup neovisnih dijelova smještenih zajedno radi postizanja određenog cilja.
Zbog prilično pojednostavljenog dizajna konačnog projekta, oni koji imaju interes poboljšati njegove performanse mogu napraviti izmjene i izmjene u konačnom proizvodu koje mogu učiniti projekt boljim i razrađenijim. Međutim, otkriva slabosti u krugu, kao što je aktiviranje servo -a, što rezultira sporadičnim fluktuacijama očitavanja napona u krugu, što može uzrokovati da sustav nikada ne daje identične rezultate. Također, bilo je problema s promjenom brzine servo servera kada je "eff" postavljeno 0,4 i više. Da je korišten senzor temperature i vlažnosti, konačni model bio bi složeniji, ali bi imao dosljednije vrijednosti. Ipak, ovo je iskustvo koje pokazuje da složena mašina može funkcionirati kao kombinacija njenih jednostavnih dijelova.
Preporučuje se:
Klima kutija za gljive: 7 koraka (sa slikama)
Klima kutija s gljivama: Zdravo! Izgradio sam klimu za uzgoj gljiva. Može regulirati i temperaturu i vlažnost. Grijanje ili hlađenje radi s elementom peltier. Vlažnost zraka se povećava ultrazvučnim raspršivačem. Izgradio sam sve modularno, s
Automatsko uključivanje klima uređaja: 5 koraka
Uređaj za automatsko uključivanje klima uređaja: Ovaj uređaj se naziva uređaj za automatsko uključivanje klima uređaja. Kada ste u toploj sobi, a tek ste završili školu, previše ste umorni da biste uključili klima uređaj, onda je ovaj uređaj savršen za vas. Mehanizam ovog uređaja je vrlo jednostavan. W
Razumijevanje IC protokola daljinskih upravljača klima uređaja: 9 koraka (sa slikama)
Razumijevanje IC protokola daljinskih upravljača klima uređaja: Učim o IC protokolima već duže vrijeme. Kako slati i primati IC signale. U ovom trenutku preostaje jedino IC protokol daljinskih upravljača za izmjeničnu struju. Za razliku od tradicionalnih daljinskih upravljača gotovo svih elektroničkih uređaja (recimo televizora) gdje
Upravljajte do 4 servo uređaja pomoću pametnog telefona ili bilo kojeg uređaja sa audio izlazom: 3 koraka
Upravljajte do 4 serva pomoću pametnog telefona ili bilo kojeg uređaja sa audio izlazom: Ovdje predstavljam jednostavnu elektroničku montažu za upravljanje do četiri servo servera sa bilo kojim uređajem koji može čitati audio datoteku
Hladniji vazduh! za manje novca! Punjenje klima uređaja !!: 14 koraka (sa slikama)
Hladniji vazduh! za manje novca! Punjenje klima uređaja !!: Ovom metodom možete postići bolje hlađenje i niže troškove energije. Klima uređaj radi komprimiranjem plinovitog rashladnog sredstva dok se ne kondenzira u (pogađate) kondenzatoru na vanjskoj strani. To oslobađa toplinu vani. Onda kad to