Tartalomjegyzék:
- 1. lépés: Felszerelés
- 2. lépés: A mikrokontroller beállítása
- 3. lépés: MATLAB beállítás
- 4. lépés: Funkciók
- 5. lépés: Tesztelés
- 6. lépés: Következtetés
Videó: Arduino légkondicionáló modell: 6 lépés
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:43
Csapatunk azon képességének bemutatása részeként, hogy marketing célokra készítsen egy okosvonat -modellt, a cél egy olyan rendszer létrehozása volt, amelyben a hőmérséklet -érzékelő beolvassa az áramkörből származó adatokat, és az információkat olyan hőmérsékleti értékké alakítja át, amely megvilágított képernyőn jelenik meg, és arra összpontosít, hogy a ventilátor be- vagy kikapcsol. A cél az, hogy segítsen az utasok vezetési körülményeinek kielégítésében egy automatizált rendszer segítségével, amely a közvetlen közelében lévő hőmérséklet kijelzésére is szolgál.
Az Arduino mikrokontroller készlet és a MATLAB 2016b és 2017b verziók használatával relatív sikerrel bizonyíthattuk ezeket az eredményeket.
1. lépés: Felszerelés
Mikrokontroller készlet a következőkkel:
-Sparkfun Red Board
-Sparkfun Breadboard
-LCD tábla
-Potenciométer
-Hőmérséklet szenzor
-Szervo
-USB/Arduino adapter
-Jumper vezetékek (minimum 25)
Laptop (Windows 10) USB bemenettel
3D nyomtatott objektum (opcionális)
2. lépés: A mikrokontroller beállítása
Tekintsük ezt: az egész rendszer egyetlen egységből áll, amelyek mindegyike jelentős tényezőt alkalmaz a végeredményhez. Emiatt erősen ajánlott az áramkörről képet készíteni, mielőtt a vezetékeket összekuszált rendetlenségben csatlakoztatná.
Az egyes modellek képei megtalálhatók a mikrokontroller szerszámkészlet kézikönyvében vagy annak webhelyén:
Kezdje a hőmérséklet -érzékelő, a potenciométer, a szervocsatlakozók és az LCD rögzítésével. Javasoljuk, hogy az LCD mérete és a hozzá szükséges vezetékek száma miatt helyezze a kenyérsütő saját felére, a többi darab pedig a másik felére, és hogy a potenciométer olyan helyen legyen, ahol valaki könnyedén forgassa el a gombját.
Referencia:
LCD: c1-16
Szervó: i1-3 (GND + -)
Hőmérséklet érzékelő: i13-15 (- GND +)
Potenciométer: g24-26 (- GND +)
Ezután kezdje el az áthidaló vezetékek csatlakoztatását a mikrovezérlő egységek minden csapjához; bár a teljes nagy tervben tetszőleges, a tervezést a következő fontos kapcsolatokkal hozták létre:
A potenciométer csatlakoztatása az LCD -hez: f25 - e3
Szervo GND vezeték: j1 - Digitális bemenet 9
Hőmérséklet érzékelő GND: j14 - analóg bemenet 0
LCD bemenetek: e11-e15-Digitális bemenet 2-5
e4 - Digitális bemenet 7
e6 - Digitális bemenet 6
(Megjegyzés: Ha sikeres, az LCD szélén mindkét lámpának fel kell világítania, és a potenciométer segíthet a fényerő beállításában, ha az adaptert táplálja.)
Választható: Egy 3D nyomtatott objektumot használtak a követelmény részeként. A törékenyebb részek esetleges károsodásának elkerülése érdekében egy hosszabb tokot helyeztek hüvelyként az LCD köré. Az LCD képernyőjének méretei körülbelül 2-13/16 "x 1-1/16" x 1/4 "méretűnek bizonyultak, és így csak a magasság változott jelentősen. Ha a 3D nyomtató könnyen elérhető, fontolja meg személyes tárgy hozzáadását Figyelembe kell venni azt is, hogy a mérések eltérhetnek.
3. lépés: MATLAB beállítás
Telepítse a MATLAB (2016a és újabb) frissített verzióját, amely elérhető a MathWorks webhelyén: https://www.mathworks.com/products/matlab.html?s_tid=srchtitle. Miután megnyitotta, nyissa meg a Kiegészítők elemet a Kezdőlap lapon, és töltse le a "MATLAB támogatási csomagot az Arduino hardverhez", hogy a mikrovezérlő parancsai elérhetők legyenek.
Ha elkészült, tesztelhető a mikrovezérlő számítógéphez/laptophoz való csatlakoztathatósága. Miután csatlakoztatta őket a szerszámkészlet USB -adapterével, írja be a "fopen (serial ('nada'))" parancsot.
Hibaüzenet jelenik meg, amelyben a csatlakozó "COM#" lesz, amire szükség lesz egy arduino objektum létrehozásához, amennyiben az mindig ugyanaz a bemenet.
Mivel az LCD nem rendelkezik közvetlen kapcsolattal az Arduino könyvtárhoz, új könyvtárat kell létrehozni az üzenetek megjelenítéséhez. Javasoljuk, hogy hozzon létre egy LCDAddon.m fájlt a MATLAB súgóablakában található LCD példából, miután rákeresett az "Arduino LCD" elemre, és a +arduinoioaddons mappába helyezte, vagy használja a mellékelt tömörített mappát, és másolja át annak tartalmát a fent említett mappa.
Ha sikeres, akkor az Arduino objektum MATLAB -ban való létrehozásának kódja az alábbi.
a = arduino ('com#', 'uno', 'Libraries', 'ExampleLCD/LCDAddon');
4. lépés: Funkciók
Hozzon létre egy MATLAB függvényt. A bemenetekhez az "eff" és a "T_min" változókat használjuk; a kimenetek esetében, bár szükségtelenek az általános kialakításban, a "B" változót használtuk az eredmények adatainak tárolására. Az "eff" bemenet lehetővé teszi a szervó maximális sebességének szabályozását, a "T_min" bemenet pedig a kívánt minimális hőmérsékletet szabályozza. A "B" értéknek tehát mátrixot kell készítenie, amely három oszlopot tartalmaz a ventilátor időtartamára, hőmérsékletére és hatékonyságára vonatkozóan. Továbbá, a részletek bónuszaként az alább felsorolt kód is tartalmaz egy if-utasítást, amely szerint a ventilátor fordulatszáma ötven százalékkal csökken, ha eléri a kívánt minimális hőmérsékletet.
Ha minden bemenet és áthidaló vezeték pontosan van elhelyezve, és feltételezve, hogy az arduino csatlakozó portja COM4, és a funkció neve "fanread", akkor a következő kódnak elegendőnek kell lennie:
függvény [B] = fanread (Tmin, eff)
tiszta a; clear lcd; a = arduino ('com4', 'uno', 'Libraries', 'ExampleLCD/LCDAddon');
t = 0; t_max = 15; % idő másodpercben
lcd = addon (a, 'ExampleLCD/LCDAddon', {'D7', 'D6', 'D5', 'D4', 'D3', 'D2');
initializeLCD (lcd, 'Sorok', 2, 'Oszlopok', 2);
ha eff> = 1 || e <0
hiba ("A ventilátor nem aktiválódik, ha az effekt 0 és 1 között van beállítva.")
vége
t = 1 esetén: 10 % ciklus/intervallum
tiszta c; % megakadályozza az ismétlődő hibát
v = olvasási feszültség (a, 'A0');
Hőmérséklet = (v-0,5)*100; % -os becslés 2,7-5,5 V feszültségtartományokra
ha TempC> Tmin, ha TempC
c = ['Hőmérséklet', szám2str (TempC, 3), 'C Be'];
writePWMDutyCycle (a, 'D9', eff/2); % kapcsolja be a szervót fél sebességgel
spd = 50;
más
c = ['Hőmérséklet', szám2str (TempC, 3), 'C Be'];
writePWMDutyCycle (a, 'D9', eff); % kapcsolja be a szervót a megadott sebességgel
spd = 100;
vége
más
c = ['Hőmérséklet', szám2str (TempC, 3), 'C Ki'];
writePWMDutyCycle (a, 'D9', 0); % kapcsolja ki, ha már be van kapcsolva
spd = 0;
vége
printLCD (lcd, c);
szünet (3); % három másodperc telik el ciklusonként
idő (t) = t.*3;
tempplot (t) = TempC;
aktus (t) = spd;
részterület (2, 1, 1)
plot (idő, temppplot, 'b-o') % vonaldiagram
tengely ([0 33 0 40])
xlabel ('Idő (másodperc)')
ylabel ('Hőmérséklet (C)')
kitartás
plot ([0 33], [Tmin Tmin], 'r-')
kitartás
diagram ([0 33], [Tmin+2 Tmin+2], 'g-')
részterület (2, 1, 2)
bar (time, act) % oszlopdiagram
xlabel ('Idő (másodperc)')
ylabel ('Hatékonyság (%)')
vége
B = transzponálás ([idő; temppplot; aktus]);
vége
Most, hogy a funkció befejeződött, ideje tesztelni.
5. lépés: Tesztelés
Most tesztelje a funkciót a parancsablakban a "function_name (input_value_1, input_value_2)" beillesztésével és nézze meg. Győződjön meg arról, hogy már nincs Arduino objektum; ha igen, akkor a "clear a" paranccsal távolítsa el. Hiba esetén ellenőrizze és ellenőrizze, hogy a csatlakozók nem a megfelelő helyen vannak -e, vagy nem megfelelő digitális vagy analóg bemenetet használnak. Az eredmények várhatóan változhatnak, bár ezt bizonyos áthidaló vezetékek és a hőmérséklet -érzékelő elhelyezése okozhatja.
Az eredmények elvárásainak változásokat kell okozniuk a szervó teljesítményében és az LCD -n megjelenő adatokban. Minden három másodperces időközönként egy szövegsornak meg kell jelenítenie a Celsius -fokban mért hőmérsékletet, valamint azt, hogy a ventilátor aktív -e vagy sem, miközben a ventilátor teljes sebességgel, fél sebességgel vagy egyáltalán nem működik. Az adatok nagy valószínűséggel nem lehetnek konzisztensek, bár ha többféle eredményt szeretne, helyezze a "Tmin" értéket az áramkör által termelt átlaghőmérséklet közelébe.
6. lépés: Következtetés
Bár a próba -tévedés nehéz feladat, a végeredmény meglehetősen érdekesnek és kielégítőnek bizonyult. Egy rendszer önmagában segít szemléltetni, hogy hány bonyolult gép vagy akár egyes alkatrészeik tekinthetők független alkatrészek gyűjteményének, amelyeket egy meghatározott cél elérése érdekében helyeznek össze.
A végső projekt meglehetősen leegyszerűsített felépítése miatt azok, akik érdeklődnek a teljesítmény javítása iránt, módosíthatnak és módosíthatnak a végterméken, ami jobbá és bonyolultabbá teheti a projektet. Azonban feltárja az áramkör gyengeségeit, például a szervó aktiválását, amely az áramkör feszültségleolvasásának szórványos ingadozását eredményezi, ami miatt a rendszer soha nem eredményez azonos eredményt. Ezenkívül problémák merültek fel a szervósebesség változásának észlelésekor, amikor az "eff" érték 0,4 vagy magasabb. Ha hőmérséklet- és páratartalom -érzékelőt használnának, a végső modell bonyolultabb lenne, ugyanakkor következetesebb értékeket mutatna be. Mindazonáltal ez egy olyan tapasztalat, amely azt mutatja, hogy egy összetett gép egyszerű részeinek kombinációjaként is működhet.
Ajánlott:
DIY Bucket légkondicionáló: 13 lépés (képekkel)
DIY Bucket Air Conditioner: Egy meglehetősen forró helyen élek Dél -Indiában, és a munkahelyem eldugul. Remek megoldást találtam erre a problémára azzal, hogy egy régi vödröt barkács légkondicionálóvá alakítottam át. Az AC modellje nagyon egyszerű, olcsó, de mégis hatékony. A
Automatikus légkondicionáló kapcsoló: 5 lépés
Automatikus klímaberendezés -kapcsoló: Mivel különféle dolgokat kell tennie az embereknek mindennapi életük során, gyakran elfelejtünk néhány apró részletet, amelyek néha súlyos következményeket okozhatnak, és a légkondicionáló kikapcsolásának elfelejtése az egyik ilyen. Míg az emberek véletlenül
Automatikus ventilátor/légkondicionáló rendszer: 6 lépés
Automata ventilátor/légkondicionáló rendszer: Üdvözöljük! Ebben az utasításban bemutatom, hogyan kell felépíteni saját automatikus ventilátor/légkondicionáló rendszerét. Ez az utasítás egy ablakventilátorral foglalkozik, amelyet a nyári melegben a szobák hűtésére használnak. A projekt célja, hogy
Légkondicionáló NYÁK bemutató működésével és javításával: 6 lépés
Légkondicionáló NYÁK bemutató működésével és javításával: Hé, mi van, srácok! Akarsh itt a CETech -től. Gondolkozott már azon, hogy mi történik a légkondicionáló belső oldalán? Ha igen, akkor nézze át ezt a cikket, mivel ma betekintést engedek az összefüggésekbe és az összeállításba
A légkondicionáló automatikus bekapcsolása: 5 lépés
Automatikus bekapcsolású légkondicionáló készülék: Ezt az eszközt hívják automatikus bekapcsolási légkondicionáló eszköznek. Amikor meleg szobában van, és éppen befejezte az iskolát, túl fáradt ahhoz, hogy bekapcsolja a légkondicionálót, akkor ez a készülék tökéletes az Ön számára. Ennek az eszköznek a mechanizmusa nagyon egyszerű. W