Turinys:
- 1 žingsnis: įranga
- 2 žingsnis: mikrovaldiklio sąranka
- 3 žingsnis: MATLAB sąranka
- 4 žingsnis: Funkcijos
- 5 žingsnis: bandymas
- 6 žingsnis: Išvada
Video: „Arduino“oro kondicionavimo modelis: 6 žingsniai
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:48
Demonstruodami mūsų komandos sugebėjimą sukurti išmaniojo traukinio įrenginio modelį rinkodaros tikslais, tikslas buvo sukurti sistemą, kurioje temperatūros jutiklis nuskaitytų grandinės duomenis ir paverstų informaciją į temperatūros vertę, kuri yra rodomas apšviestame ekrane ir sutelkiamas dėmesys į tai, ar ventiliatorius įjungiamas, ar išjungiamas. Tikslas yra padėti pritaikyti keleivių važiavimo sąlygas naudojant automatinę sistemą, kuri taip pat rodo temperatūrą artimiausioje vietoje.
Naudodami „Arduino“mikrovaldiklio rinkinį ir MATLAB 2016b ir 2017b versijas, mes sugebėjome santykinai sėkmingai parodyti šiuos rezultatus.
1 žingsnis: įranga
Mikrovaldiklių rinkinys su:
-„Sparkfun Red Board“
-„Sparkfun“duonos lenta
-LCD plokštė
-Potenciometras
-Temperatūros jutiklis
-Servo
-USB/Arduino adapteris
-trumpieji laidai (mažiausiai 25)
Nešiojamasis kompiuteris („Windows 10“) su USB įvestimi
3D spausdintas objektas (neprivaloma)
2 žingsnis: mikrovaldiklio sąranka
Apsvarstykite tai: visa sistema yra sudaryta iš atskirų vienetų, kurių kiekvienas turi reikšmingą faktorių galutiniam rezultatui pasiekti. Dėl šios priežasties labai rekomenduojama sukurti grandinės vaizdą prieš prijungiant laidus į susivėlusią netvarką.
Kiekvieno modelio vaizdus galima rasti mikrokontrolerio įrankių rinkinio vadove arba jo svetainėje adresu
Pradėkite nuo plokštės pritvirtinimo temperatūros jutiklio, potenciometro, servo jungčių ir LCD. Rekomenduojama, kad dėl LCD dydžio ir reikalaujamo laidų skaičiaus jis turėtų būti dedamas ant savo duonos lentos pusės, o kitos dalys - kitoje pusėje, o potenciometras turi būti tokioje vietoje, kur kas nors gali lengvai pasukite rankenėlę.
Nuoroda:
LCD: c1-16
Servo: i1-3 (GND + -)
Temperatūros jutiklis: i13-15 (- GND +)
Potenciometras: g24-26 (- GND +)
Tada pradėkite jungti trumpiklius su kiekvienu mikrovaldiklio bloko kaiščiu; nors ir savavališkas bendroje didžiojoje schemoje, dizainas buvo sukurtas naudojant šiuos svarbius ryšius:
Potenciometro prijungimas prie LCD: f25 - e3
Servo GND laidas: j1 - skaitmeninis įėjimas 9
Temperatūros jutiklis GND: j14 - analoginis įėjimas 0
LCD įėjimai: e11-e15-2-5 skaitmeninė įvestis
e4 - skaitmeninė įvestis 7
e6 - skaitmeninė įvestis 6
(Pastaba: jei pavyks, abi LCD lemputės turi užsidegti, o potenciometras gali padėti sureguliuoti jo ryškumą, kai tik gauna maitinimą iš adapterio.)
Neprivaloma: kaip reikalavimas buvo naudojamas 3D spausdintas objektas. Siekiant išvengti pažeidžiamesnių pažeidžiamų dalių, aplink LCD ekraną buvo uždėtas prailgintas dėklas. Pasirodė, kad LCD ekrano matmenys yra maždaug 2-13/16 "x 1-1/16" x 1/4 ", todėl labai pasikeitė tik aukštis. Jei 3D spausdintuvas yra lengvai prieinamas, apsvarstykite galimybę pridėti asmeninį objektą Be to, atminkite, kad matavimai gali skirtis.
3 žingsnis: MATLAB sąranka
Įdiekite naujesnę MATLAB versiją (2016a ir vėliau), kurią rasite „MathWorks“svetainėje https://www.mathworks.com/products/matlab.html?s_tid=srchtitle. Atidarę eikite į „Priedai“skirtuke „Pagrindinis“ir atsisiųskite „MATLAB Support Package for Arduino Hardware“, kad būtų pasiekiamos mikrovaldiklio komandos.
Užbaigus, galima atlikti bandymą, kad būtų galima rasti mikrovaldiklio prijungimą prie kompiuterio/nešiojamojo kompiuterio. Prijungę juos prie USB adapterio iš įrankių rinkinio, įveskite komandą „fopen (serial ('nada'))“.
Atsidarys klaidos pranešimas, kuriame nurodoma, kad jungtis yra „COM#“, kuri bus reikalinga norint sukurti „arduino“objektą, jei jis visada yra tas pats.
Kadangi LCD ekranas neturi tiesioginio ryšio su „Arduino“biblioteka, norint sukurti pranešimus, reikia sukurti naują biblioteką. Rekomenduojama sukurti LCDAddon.m failą iš LCD pavyzdžio, esančio MATLAB pagalbos lange, atlikus paiešką „Arduino LCD“ir įdėjus jį į aplanką +arduinoioaddons, arba naudokite pridėtą suspaustą aplanką ir nukopijuokite visą jo turinį į pirmiau minėtą aplanką.
Jei pavyks, tada „Arduino“objekto kūrimo MATLAB kodas yra toks, kaip parodyta žemiau.
a = arduino ('com#', 'uno', 'Libraries', 'ExampleLCD/LCDAddon');
4 žingsnis: Funkcijos
Sukurkite MATLAB funkciją. Įvestims naudojame kintamuosius „eff“ir „T_min“; išėjimams, nors ir nereikalingi bendrame projekte, mes panaudojome kintamąjį „B“kaip būdą, kaip įvesti duomenis iš rezultatų. Įvestis „eff“leidžia valdyti maksimalų servo greitį, o „T_min“įvestis valdo norimą mažiausią temperatūrą. Taigi reikšmė „B“turėtų sudaryti matricą, kurioje būtų trys laiko, temperatūros ir ventiliatoriaus efektyvumo stulpeliai. Be to, kaip smulkmena, toliau išvardytame kode taip pat yra teiginys „if-“, kad ventiliatoriaus greitis sumažėtų penkiasdešimt procentų, kai jis priartės prie norimos minimalios temperatūros.
Jei visi įėjimai ir jungiamieji laidai yra tiksliai išdėstyti ir darant prielaidą, kad arduino jungties prievadas yra COM4, o funkcijos pavadinimas yra „fanread“, pakanka šio kodo:
funkcija [B] = fanread (Tmin, eff)
išvalyti a; aiškus LCD; a = arduino ('com4', 'uno', 'Libraries', 'ExampleLCD/LCDAddon');
t = 0; t_max = 15; % laiko sekundėmis
lcd = addon (a, 'PavyzdysLCD/LCDAddon', {'D7', 'D6', 'D5', 'D4', 'D3', 'D2');
initializeLCD (LCD, 'Eilutės', 2, 'Stulpeliai', 2);
jei eff> = 1 || e <0
klaida („Ventiliatorius neįsijungs, jei efektas nebus nustatytas nuo 0 iki 1.“)
galas
t = 1: 10 % kilpų/intervalų skaičius
aiškus c; % neleidžia kartotis klaidai
v = skaitymo įtampa (a, 'A0');
TempC = (v-0,5)*100; % įvertinimas 2,7–5,5 V įtampos diapazonams
jei TempC> Tmin, jei TempC
c = ['Temp', num2str (TempC, 3), 'C On'];
writePWMDutyCycle (a, 'D9', eff/2); % įjunkite servo pusę greičio
spd = 50;
Kitas
c = ['Temp', num2str (TempC, 3), 'C On'];
writePWMDutyCycle (a, 'D9', eff); % įjunkite servo nustatytu greičiu
spd = 100;
galas
Kitas
c = ['Temp', num2str (TempC, 3), 'C Off'];
writePWMDutyCycle (a, 'D9', 0); % išjungti, jei jau įjungtas
spd = 0;
galas
printLCD (LCD, c);
pauzė (3); Kiekviena kilpa praeina % trijų sekundžių
laikas (t) = t.*3;
tempplot (t) = TempC;
aktas (t) = spd;
papildomas sklypas (2, 1, 1)
grafikas (laikas, tempplot, 'b-o') % linijinė diagrama
ašis ([0 33 0 40])
xlabel („Laikas (sekundėmis)“)
ylabel („Temperatūra (C)“)
palauk
sklypas ([0 33], [Tmin Tmin], 'r-')
palauk
grafikas ([0 33], [Tmin+2 Tmin+2], 'g-')
papildomas sklypas (2, 1, 2)
juosta (laikas, veiksmas) % juostinė diagrama
xlabel („Laikas (sekundėmis)“)
ylabel („Efektyvumas (%)“)
galas
B = perkelti ([laikas; templot; veiksmas]);
galas
Dabar, kai funkcija baigta, atėjo laikas išbandyti.
5 žingsnis: bandymas
Dabar patikrinkite funkciją komandų lange, įterpdami „function_name (input_value_1, input_value_2)“ir žiūrėkite. Įsitikinkite, kad jokio „Arduino“objekto jau nėra; jei taip, naudokite komandą „išvalyti“, kad ją pašalintumėte. Jei įvyksta klaidų, patikrinkite, ar jungtys yra netinkamoje vietoje, ar naudojamos netinkamos skaitmeninės ar analoginės įvestys. Tikimasi, kad rezultatai skirsis, nors tai gali lemti tam tikrų jungiamųjų laidų ir temperatūros jutiklio išdėstymas.
Lūkesčiai dėl rezultatų turėtų pakeisti servo veikimą ir duomenis LCD ekrane. Su kiekvienu trijų sekundžių intervalu teksto eilutėje turėtų būti rodoma temperatūra Celsijaus laipsniais ir tai, ar ventiliatorius yra aktyvus, kai ventiliatorius veikia visu greičiu, puse greičio arba be greičio. Duomenys greičiausiai neturėtų būti nuoseklūs, nors, norint gauti daugiau įvairių rezultatų, „Tmin“reikšmę priartinkite prie vidutinės grandinės temperatūros.
6 žingsnis: Išvada
Nors galutiniai rezultatai buvo sunkūs bandymų ir klaidų būdu, jie pasirodė gana įdomūs ir patenkinti. Sistema pati savaime padeda parodyti, kiek sudėtingų mašinų ar net kai kurių jų dalių galima laikyti nepriklausomų dalių, sujungtų tam tikram tikslui, rinkiniu.
Dėl gana supaprastinto galutinio projekto plano tie, kurie nori pagerinti jo našumą, gali atlikti galutinio produkto pakeitimus ir pakeitimus, kurie gali padaryti projektą geresnį ir sudėtingesnį. Tačiau tai atskleidžia grandinės trūkumus, tokius kaip servo įjungimas, dėl kurio atsitiktinai gali svyruoti grandinės įtampos rodmenys, dėl kurių sistema niekada neduos vienodų rezultatų. Be to, iškilo problemų, kai pasikeitė servo greitis, kai „eff“nustatytas 0,4 ir didesnis. Jei būtų naudojamas temperatūros ir drėgmės jutiklis, galutinis modelis būtų sudėtingesnis, tačiau jo vertės būtų nuoseklesnės. Nepaisant to, tai yra patirtis, rodanti, kad sudėtinga mašina gali veikti kaip paprastų jos dalių derinys.
Rekomenduojamas:
Automatinė ventiliatoriaus/oro kondicionavimo sistema: 6 žingsniai
Automatinė ventiliatoriaus/oro kondicionavimo sistema: Sveiki! Šioje instrukcijoje aš jums pasakysiu, kaip sukurti savo automatinę ventiliatoriaus/oro kondicionavimo sistemą. Šioje instrukcijoje kalbama apie lango ventiliatorių, kuris naudojamas atvėsinti kambarius vasaros karštyje. Šio projekto tikslas yra
Oro taršos aptikimas + oro filtravimas: 4 žingsniai
Oro taršos aptikimas ir oro filtravimas: Vokietijos Šveicarijos tarptautinės mokyklos studentai (Aristobulus Lam, Victor Sim, Nathan Rosenzweig ir Declan Loges) kartu su „MakerBay“darbuotojais sukūrė integruotą oro taršos matavimo ir oro filtravimo efektyvumo sistemą. Ši
HRV (namų oro keitiklis) „Arduino“valdiklis su oro ekonomizatoriumi: 7 žingsniai (su nuotraukomis)
HRV (namų oro keitiklis) „Arduino“valdiklis su oro taupymo priemone: „HRV Arduino“valdiklis su oro ekonomizatoriumi Nenorėjau mokėti 200 USD už naują. Visada norėjau kažko, kas nuodėmė oro ekonomizatorių
Neapdorota belaidžio oro kondicionavimo stotis: 3 žingsniai (su nuotraukomis)
Neapdorota orų stotis su belaidžiu internetu: Šiandien jūs sužinosite, kaip galite sukurti paprastą „WiFi“palaikančią orų stotį, kuri siunčia jums temperatūros ir drėgmės duomenis naudojant IFTTT tiesiai į jūsų el. Mano naudojamas dalis galite rasti kumantech.com
120 V oro kondicionavimo lempos mirgėjimas iš 1 tipo LED žvakių (COB): 7 žingsniai
120 V oro kondicionieriaus lempos mirgėjimas iš 1 tipo „Votive“žvakės (COB): ar reikia mirksinčių žiburių, kad jūsų Helovino persekiojimas būtų baigtas? Nusivylėte kitais sprendimais? Mėgstate lydyti lydmetalį ir pakartotinai naudoti elektroniką? Tada šis „Instructable“yra jūsų alėjoje. Šis „Instructable“skirtas tik tikram mirgėjimui