Cuprins:
- Pasul 1: Echipament
- Pasul 2: Configurarea microcontrolerului
- Pasul 3: Configurarea MATLAB
- Pasul 4: Funcții
- Pasul 5: Testare
- Pasul 6: Concluzie
Video: Modelul de aer condiționat Arduino: 6 pași
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:45
Ca parte a unei demonstrații a capacității echipei noastre de a crea un model de dispozitiv de tren inteligent în scopuri de marketing, obiectivul a fost crearea unui sistem în care un senzor de temperatură să citească datele din circuit și să transforme informațiile într-o valoare de temperatură care este atât afișat pe un ecran luminat și concentrat asupra faptului dacă un ventilator pornește sau se oprește. Scopul este de a ajuta la acomodarea condițiilor de călătorie ale pasagerilor utilizând un sistem automat care acționează și pentru afișarea temperaturii în imediata apropiere.
Folosind un kit de microcontroler Arduino și versiunile MATLAB 2016b și 2017b, am putut demonstra aceste rezultate cu relativ succes.
Pasul 1: Echipament
Kit microcontroler cu următoarele:
-Sparkfun Red Board
-Sparkfun Breadboard
-Consiliu LCD
-Potentiometru
-Senzor de temperatura
-Servo
-Adaptor USB / Arduino
-Siruri jumper (25, minim)
Laptop (Windows 10) cu intrare USB
Obiect imprimat 3D (opțional)
Pasul 2: Configurarea microcontrolerului
Luați în considerare acest lucru: întregul sistem este compus din unități unice care aplică fiecare un factor semnificativ pentru rezultatul final. Din acest motiv, este foarte recomandat să configurați o imagine a circuitului înainte de a atașa fire într-o mizerie complicată.
Imaginile fiecărui model individual pot fi găsite în manualul kitului de instrumente Microcontroller sau pe site-ul său web la
Începeți cu atașarea senzorului de temperatură, potențiometrului, conectorilor servo și a ecranului LCD pe placă. Se recomandă ca, datorită dimensiunii și cerinței LCD-ului pentru numărul de fire pentru acesta, să fie așezat pe propria jumătate a panoului cu celelalte piese pe cealaltă jumătate și ca potențiometrul să fie într-o zonă pentru ca cineva să rotiți ușor butonul.
Pentru trimitere:
LCD: c1-16
Servo: i1-3 (GND + -)
Senzor de temperatură: i13-15 (- GND +)
Potențiometru: g24-26 (- GND +)
Apoi, începeți conectarea firelor jumper la fiecare pin al unităților de microcontroler; deși arbitrar în marea schemă generală, designul a fost creat cu aceste conexiuni importante:
Conectarea potențiometrului la LCD: f25 - e3
Sârmă Servo GND: j1 - Intrare digitală 9
Senzor de temperatură GND: j14 - Intrare analogică 0
Intrări LCD: e11-e15 - Intrare digitală 2-5
e4 - Intrare digitală 7
e6 - Intrare digitală 6
(Notă: dacă reușește, ambele lumini de pe marginea ecranului LCD ar trebui să aprindă, iar potențiometrul poate ajuta la reglarea luminozității acestuia, odată ce puterea este dată de adaptor.)
Opțional: un obiect tipărit 3D a fost utilizat ca parte a unei cerințe. Pentru a evita deteriorarea potențială a părților mai fragile, o carcasă extinsă a fost plasată ca un manșon în jurul ecranului LCD. Măsurătorile ecranului LCD s-au dovedit a fi de aproximativ 2-13 / 16 "x 1-1 / 16" x 1/4 "și, astfel, doar înălțimea a fost modificată semnificativ. Dacă o imprimantă 3D este ușor disponibilă, luați în considerare adăugarea unui obiect personal, deși inutilă. De asemenea, rețineți că măsurătorile pot diferi.
Pasul 3: Configurarea MATLAB
Instalați o versiune mai actualizată a MATLAB (2016a și în continuare), disponibilă pe site-ul web MathWorks https://www.mathworks.com/products/matlab.html?s_tid=srchtitle. Odată deschis, accesați Add-Ons din fila Acasă și descărcați „MATLAB Support Package for Arduino Hardware” pentru ca comenzile microcontrolerului să fie accesibile.
Odată finalizat, se poate face un test pentru a găsi conectivitatea microcontrolerului la computer / laptop. După conectarea acestora cu adaptorul USB din trusa de instrumente, introduceți comanda „fopen (serial („ nada”))”.
Va apărea un mesaj de eroare care indică conectorul ca „COM #”, care va fi necesar pentru a crea un obiect arduino, atâta timp cât este aceeași intrare în orice moment.
Deoarece LCD-ul nu are o conexiune directă cu biblioteca Arduino, trebuie creată o nouă bibliotecă pentru a afișa mesajele. O recomandare este să creați un fișier LCDAddon.m din exemplul LCD găsit în fereastra de ajutor MATLAB după ce ați căutat „Arduino LCD” și l-ați plasat în folderul + arduinoioaddons sau utilizați folderul comprimat atașat și copiați tot conținutul acestuia în mențiunea menționată anterior. pliant.
Dacă are succes, atunci codul pentru a crea un obiect Arduino în MATLAB este așa cum se arată mai jos.
a = arduino ('com #', 'uno', 'Libraries', 'ExampleLCD / LCDAddon');
Pasul 4: Funcții
Creați o funcție MATLAB. Pentru intrări, folosim variabilele "eff" și "T_min"; pentru rezultate, deși inutile în proiectarea generală, am folosit variabila „B” ca modalitate de a conține date din rezultate. Intrarea „eff” permite gestionarea vitezei maxime a servo-ului, iar intrarea „T_min” controlează temperatura minimă dorită. Valoarea „B” ar trebui astfel să producă o matrice care conține trei coloane pentru timpul, temperatura și eficiența ventilatorului. De asemenea, ca bonus pentru detalii, codul enumerat mai jos are, de asemenea, o declarație if, astfel încât viteza ventilatorului să fie redusă cu cincizeci la sută atunci când se apropie de temperatura minimă dorită.
Dacă toate intrările și firele jumper sunt plasate exact și presupunând că portul conexiunii arduino este COM4 și numele funcției este "fanread", următorul cod ar trebui să fie suficient:
funcție [B] = fanread (Tmin, eff)
clar a; clear lcd; a = arduino ('com4', 'uno', 'Libraries', 'ExampleLCD / LCDAddon');
t = 0; t_max = 15; % timp în secunde
lcd = addon (a, 'ExampleLCD / LCDAddon', {'D7', 'D6', 'D5', 'D4', 'D3', 'D2'});
initializeLCD (lcd, 'Rows', 2, 'Coloane', 2);
dacă eff> = 1 || e <0
eroare („Ventilatorul nu se va activa decât dacă efectul este setat între 0 și 1.”)
Sfârșit
pentru t = 1: 10% număr de bucle / intervale
clar c; % preveni repetarea erorii
v = readVoltage (a, 'A0');
TempC = (v-0,5) * 100; % estimare pentru intervalele de tensiune 2,7-5,5 V
dacă TempC> Tmin dacă TempC
c = ['Temp', num2str (TempC, 3), 'C On'];
writePWMDutyCycle (a, 'D9', eff / 2); % porniți servo la jumătate de viteză
spd = 50;
altceva
c = ['Temp', num2str (TempC, 3), 'C On'];
writePWMDutyCycle (a, 'D9', eff); % porniți servo la viteza dată
spd = 100;
Sfârșit
altceva
c = ['Temp', num2str (TempC, 3), 'C Off'];
writePWMDutyCycle (a, 'D9', 0); % închideți dacă este deja activat
spd = 0;
Sfârșit
printLCD (lcd, c);
pauză (3); % trei secunde trec pe buclă
timp (t) = t. * 3;
tempplot (t) = TempC;
act (t) = spd;
subtrama (2, 1, 1)
grafic (timp, grafic temporal, „b-o”)% grafic liniar
axa ([0 33 0 40])
xlabel („Timp (secunde)”)
ylabel („Temperatura (C)”)
stai asa
complot ([0 33], [Tmin Tmin], 'r-')
stai asa
complot ([0 33], [Tmin + 2 Tmin + 2], 'g-')
subtrama (2, 1, 2)
bar (timp, act)% grafic de bare
xlabel („Timp (secunde)”)
ylabel („Eficiență (%)”)
Sfârșit
B = transpune ([timp; complot temporar; act]);
Sfârșit
Acum că funcția este completă, este timpul să testați.
Pasul 5: Testare
Acum testați funcția în fereastra de comandă inserând „nume_funcție (valoare_introducere_1, valoare_introducere_2)” și urmăriți. Asigurați-vă că niciun obiect Arduino nu există deja; dacă da, folosiți comanda „ștergeți” pentru a o elimina. Dacă apar erori, verificați și verificați dacă există conectori în locul greșit sau dacă sunt utilizate intrări digitale sau analogice greșite. Se așteaptă ca rezultatele să varieze, deși acest lucru poate fi cauzat de amplasarea anumitor fire jumper și a senzorului de temperatură.
Așteptările rezultatelor ar trebui să producă modificări ale performanței servo și a datelor de pe ecranul LCD. La fiecare interval de trei secunde, o linie de text ar trebui să afișeze temperatura în grade Celsius și dacă ventilatorul este sau nu activ în timp ce ventilatorul funcționează la viteză maximă, la jumătate sau fără viteză. Datele ar trebui să nu fie consecvente, deși dacă doriți mai multe rezultate diferite, plasați valoarea „Tmin” aproape de temperatura medie produsă de circuit.
Pasul 6: Concluzie
Deși o sarcină dificilă de realizat prin încercare și eroare, rezultatele finale s-au dovedit a fi destul de interesante și satisfăcătoare. Un sistem ca atare ajută să ilustreze câte mașini complicate, sau chiar unele dintre piesele lor, pot fi văzute ca o colecție de piese independente plasate împreună pentru a atinge un scop specific.
Datorită designului destul de simplist al proiectului final, cei care au un interes în îmbunătățirea performanței sale pot face modificări și modificări ale produsului final care pot face proiectul mai bun și mai elaborat. Cu toate acestea, dezvăluie puncte slabe ale circuitului, cum ar fi activarea servo-ului, rezultând fluctuații sporadice în citirea tensiunii circuitului, ceea ce poate face ca sistemul să nu producă niciodată rezultate identice. De asemenea, au apărut probleme cu modificarea vitezei servo atunci când „eff” este setat la 0,4 și mai mare. Dacă s-ar fi folosit un senzor de temperatură și umiditate, modelul final ar fi mai complicat, dar ar prezenta valori mai consistente. Cu toate acestea, aceasta este o experiență care arată că o mașină complexă poate funcționa ca o combinație a părților sale simple.
Recomandat:
Aer condiționat cu cupă DIY: 13 pași (cu imagini)
DIY Bucket Air Conditioner: Locuiesc într-un loc destul de cald din sudul Indiei și spațiul meu de lucru devine înfundat. Am găsit o soluție îngrijită la această problemă transformând o găleată veche într-un aparat de aer condiționat DIY. Modelul AC este foarte simplu, cost redus, dar totuși eficient
Comutator automat de aer condiționat: 5 pași
Comutator automat al aparatului de aer condiționat: Deoarece există diferite lucruri pe care oamenii trebuie să le facă în timpul vieții de zi cu zi, uităm adesea câteva detalii minore, uneori provocând consecințe grave, uitând să opriți aparatul de aer condiționat este unul dintre ele. În timp ce oamenii accidental
Telefon mobil Aparat de aer condiționat cu infraroșu Telecomandă Producere DIY: 7 pași
Telefon mobil Aparat de aer condiționat cu infraroșu Telecomandă Producție DIY: În vara fierbinte, când mergeți acasă sau la birou, doriți să porniți aparatul de aer condiționat, dar nu puteți găsi telecomanda pentru o vreme. Este un lucru foarte enervant. În epoca în care acest telefon mobil nu pleacă, puteți folosi telefonul mobil ca
Cască pentru biciclete cu aer condiționat (fabricată din calculatoare reciclate): 5 pași (cu imagini)
Cască pentru biciclete cu aer condiționat (fabricată din computere reciclate): această cască cu ventilatoare peste găuri aspiră aerul din cap și îl poți simți venind peste față și pe părțile laterale ale capului! Foarte bun pentru a merge cu bicicleta în zilele însorite când este foarte cald. LED-urile ajută, de asemenea, la ciclism pe timp de noapte! Piesele toate
Aer mai rece! pentru mai puțini bani! Supraalimentarea aparatului de aer condiționat !!: 14 pași (cu imagini)
Aer mai rece! pentru mai puțini bani! Supraîncărcarea aparatului de aer condiționat !!: Puteți obține o răcire îmbunătățită și costuri mai mici de energie cu această metodă. Un aparat de aer condiționat funcționează prin comprimarea unui agent frigorific gazos până când se condensează în condensatorul (l-ați ghicit) din partea exterioară. Acest lucru eliberează căldură în exterior. Atunci când