Talaan ng mga Nilalaman:
- Hakbang 1: Kagamitan
- Hakbang 2: Pag-setup ng Microcontroller
- Hakbang 3: Pag-setup ng MATLAB
- Hakbang 4: Mga Pag-andar
- Hakbang 5: Pagsubok
- Hakbang 6: Konklusyon
Video: Modelo ng Arduino Air Conditioning: 6 Mga Hakbang
2024 May -akda: John Day | [email protected]. Huling binago: 2024-01-30 13:14
Bilang bahagi ng isang pagpapakita ng kakayahan ng aming koponan na lumikha ng isang modelo ng isang aparato ng matalinong tren para sa mga layunin sa marketing, ang layunin ay lumikha ng isang sistema kung saan binabasa ng isang sensor ng temperatura ang data mula sa circuit at binago ang impormasyon sa isang halaga ng temperatura na pareho ipinakita sa isang ilaw na screen at nakatuon sa kung ang isang tagahanga ay nakabukas o naka-off. Ang layunin ay upang matulungan ang mga kondisyon ng pagsakay ng mga pasahero gamit ang isang awtomatikong sistema na kumikilos din upang maipakita ang temperatura sa agarang paligid.
Sa pamamagitan ng paggamit ng isang Arduino microcontroller kit at mga bersyon ng MATLAB 2016b at 2017b, naipakita namin ang mga resulta na ito na may medyo tagumpay.
Hakbang 1: Kagamitan
Microcontroller Kit na may mga sumusunod:
-Sparkfun Red Board
-Sparkfun Breadboard
-Lupon ng LCD
-Potentiometer
-Temperature Sensor
-Servo
-USB / Arduino adapter
-Jumper Wires (25, minimum)
Laptop (Windows 10) na may USB input
3D na Naka-print na Bagay (opsyonal)
Hakbang 2: Pag-setup ng Microcontroller
Isaalang-alang ito: ang buong sistema ay binubuo ng mga solong yunit na ang bawat isa ay naglalapat ng isang makabuluhang kadahilanan patungo sa pangwakas na resulta. Para sa kadahilanang ito, lubos na inirerekumenda na mag-set up ng isang imahe ng circuit bago ilakip ang mga wires sa isang nakakulong na gulo.
Ang mga imahe ng bawat indibidwal na modelo ay matatagpuan sa manu-manong tool ng kit ng Microcontroller o sa website nito sa
Magsimula sa paglakip ng sensor ng temperatura, potensyomiter, mga konektor ng servo at LCD sa pisara. Inirerekumenda na dahil sa laki at kinakailangan ng LCD para sa bilang ng mga wires para dito, dapat itong ilagay sa sarili nitong kalahati ng breadboard kasama ang iba pang mga piraso sa kabilang kalahati at para sa potensyomiter na nasa isang lugar para sa isang tao madaling paikutin ang knob nito.
Para sa sanggunian:
LCD: c1-16
Servo: i1-3 (GND + -)
Temp Sensor: i13-15 (- GND +)
Potensyomiter: g24-26 (- GND +)
Susunod, simulang ikonekta ang mga wire ng jumper sa bawat pin ng mga unit ng microcontroller; kahit na arbitrary sa pangkalahatang grand scheme, ang disenyo ay nilikha sa mga mahahalagang koneksyon na ito:
Pagkonekta ng Potensyomiter sa LCD: f25 - e3
Servo GND wire: j1 - Digital Input 9
Temp Sensor GND: j14 - Analog Input 0
Mga input ng LCD: e11-e15 - Digital Input 2-5
e4 - Digital Input 7
e6 - Digital Input 6
(Tandaan: Kung matagumpay, ang parehong mga ilaw sa gilid ng LCD ay dapat na naka-flash at ang potensyomiter ay maaaring makatulong na ayusin ang ningning nito nang bigyan ng lakas mula sa adapter.)
Opsyonal: Ang isang naka-print na bagay na 3D ay ginamit bilang bahagi ng isang kinakailangan. Upang maiwasan ang mga potensyal na pinsala sa mas marupok na mga bahagi, isang pinalawak na kaso ay inilagay bilang isang manggas sa paligid ng LCD. Ang mga sukat sa screen ng LCD ay napatunayan na humigit-kumulang na 2-13 / 16 "x 1-1 / 16" x 1/4 ", at sa gayon ang taas lamang ang makabuluhang binago. Kung ang isang 3D printer ay madaling magagamit, isaalang-alang ang pagdaragdag ng isang personal na object, kahit na hindi kinakailangan. Gayundin, magkaroon ng kamalayan na ang mga sukat ay maaaring magkakaiba.
Hakbang 3: Pag-setup ng MATLAB
Mag-install ng isang mas nai-update na bersyon ng MATLAB (2016a at pataas), magagamit sa website ng MathWorks https://www.mathworks.com/products/matlab.html?s_tid=srchtitle. Kapag nabuksan, pumunta sa Mga Add-On sa tab na Home at i-download ang "MATLAB Support Package para sa Arduino Hardware" para ma-access ang mga utos ng microcontroller.
Kapag nakumpleto, ang isang pagsubok ay maaaring gawin upang mahanap ang pagkakakonekta ng microcontroller sa isang computer / laptop. Matapos ikonekta ang mga ito sa USB adapter mula sa tool kit, ipasok ang utos na "fopen (serial ('nada'))."
Ang isang mensahe ng error ay pop-up na nagsasaad ng konektor bilang "COM #", na kakailanganin upang lumikha ng isang arduino object hangga't ito ang parehong input sa lahat ng oras.
Dahil sa walang direktang koneksyon ang LCD sa Arduino library, dapat lumikha ng isang bagong silid-aklatan upang maipakita ang mga mensahe. Ang isang rekomendasyon ay upang lumikha ng isang file ng LCDAddon.m mula sa halimbawang LCD na matatagpuan sa MATLAB help window pagkatapos maghanap ng "Arduino LCD" at ilagay ito sa folder na + arduinoioaddons, o gamitin ang naka-compress na folder na nakakabit at kopyahin ang lahat ng nilalaman nito sa nabanggit na folder.
Kung matagumpay, kung gayon ang code upang lumikha ng isang Arduino object sa MATLAB ay tulad ng ipinakita sa ibaba.
a = arduino ('com #', 'uno', 'Mga Aklatan', 'HalimbawaLCD / LCDAddon');
Hakbang 4: Mga Pag-andar
Lumikha ng isang pagpapaandar sa MATLAB. Para sa mga input, gumagamit kami ng mga variable na "eff" at "T_min"; para sa mga output, kahit na hindi kinakailangan sa pangkalahatang disenyo, ginamit namin ang variable na "B" bilang isang paraan upang maglaman ng data mula sa mga resulta. Pinapayagan ng input na "eff" para sa pamamahala ng maximum na bilis ng servo, at kinokontrol ng input na "T_min" ang minimum na nais na temperatura. Ang halagang "B" ay dapat na gumawa ng isang matrix na naglalaman ng tatlong mga haligi para sa oras, ang temperatura at ang kahusayan ng fan. Gayundin, bilang isang detalye sa bonus, ang code na nakalista sa ibaba ay mayroon ding if-statement na tulad na ang bilis ng fan ay mabawasan ng limampung porsyento kapag malapit na ito sa nais na minimum na temperatura.
Kung ang lahat ng mga input at jumper wires ay inilalagay nang eksakto at ipinapalagay na ang port ng koneksyon ng arduino ay COM4 at ang pangalan ng pagpapaandar ay "fanread", ang sumusunod na code ay dapat sapat:
pagpapaandar [B] = fanread (Tmin, eff)
malinaw na a; malinaw na lcd; a = arduino ('com4', 'uno', 'Mga Aklatan', 'HalimbawaLCD / LCDAddon');
t = 0; t_max = 15; % oras sa segundo
lcd = addon (a, 'HalimbawaLCD / LCDAddon', {'D7', 'D6', 'D5', 'D4', 'D3', 'D2'});
initializeLCD (lcd, 'Rows', 2, 'Columns', 2);
kung eff> = 1 || e <0
error ('Hindi maaandar ang tagahanga maliban kung ang eff ay itinakda sa pagitan ng 0 at 1.')
magtapos
para sa t = 1: 10% na bilang ng mga loop / agwat
malinaw na c; % maiwasan ang paulit-ulit na error
v = readVoltage (a, 'A0');
TempC = (v-0.5) * 100; % pagtatantya para sa mga saklaw ng boltahe 2.7-5.5 V
kung TempC> Tmin kung TempC
c = ['Temp', num2str (TempC, 3), 'C On'];
isulatPWMDutyCycle (a, 'D9', eff / 2); % i-on ang servo sa kalahating bilis
spd = 50;
iba pa
c = ['Temp', num2str (TempC, 3), 'C On'];
isulatPWMDutyCycle (a, 'D9', eff); % i-on ang servo sa bilis na ibinigay
spd = 100;
magtapos
iba pa
c = ['Temp', num2str (TempC, 3), 'C Off'];
isulatPWMDutyCycle (a, 'D9', 0); % shut down kung naka-on na
spd = 0;
magtapos
printLCD (lcd, c);
i-pause (3); % tatlong segundo lumipas bawat loop
oras (t) = t. * 3;
tempplot (t) = TempC;
kilos (t) = spd;
subplot (2, 1, 1)
balangkas (oras, tempplot, 'b-o')% line graph
axis ([0 33 0 40])
xlabel ('Oras (segundo)')
ylabel ('Temperatura (C)')
hawakan mo
balangkas ([0 33], [Tmin Tmin], '----------------')
hawakan mo
balangkas ([0 33], [Tmin + 2 Tmin + 2], 'g-')
subplot (2, 1, 2)
bar (oras, kumilos)% bar graph
xlabel ('Oras (segundo)')
ylabel ('Kahusayan (%)')
magtapos
B = transpose ([oras; tempplot; kumilos]);
magtapos
Ngayon na kumpleto na ang pagpapaandar, oras na upang subukan.
Hakbang 5: Pagsubok
Ngayon subukan ang pagpapaandar sa window ng utos sa pamamagitan ng pagpasok ng "function_name (input_value_1, input_value_2)" at panoorin. Siguraduhin na walang Arduino object ay mayroon na; kung gayon, gumamit ng utos na "limasin ang" upang alisin ito. Kung naganap ang mga pagkakamali, suriin at tingnan kung ang anumang mga konektor ay nasa maling lugar o kung maling maling input ng digital o analog ang ginamit. Ang mga resulta ay inaasahang mag-iiba, kahit na maaaring sanhi ito ng paglalagay ng ilang mga wire na lumulukso at ang sensor ng temperatura.
Ang mga inaasahan ng mga resulta ay dapat na makabuo ng mga pagbabago sa pagganap ng servo at ang data sa LCD. Sa bawat tatlong segundo na agwat, dapat ipakita ng isang linya ng teksto ang temperatura sa Celsius at kung aktibo o hindi ang tagahanga habang tumatakbo ang tagahanga sa buong bilis, kalahating bilis o walang bilis. Ang data ay malamang na hindi maging pare-pareho, kahit na kung nais ng mas maraming iba't ibang mga resulta, ang lugar na ang "Tmin" na halaga na malapit sa average na temperatura na ginawa ng circuit.
Hakbang 6: Konklusyon
Kahit na isang mahirap na gawain upang magawa sa pamamagitan ng pagsubok at error, ang panghuling resulta ay napatunayan na maging kawili-wili at kasiya-siya. Ang isang sistema tulad nito ay tumutulong upang ilarawan kung gaano karaming mga kumplikadong makina, o kahit na ang ilan sa kanilang mga bahagi, ang maaaring makita bilang isang koleksyon ng mga independiyenteng bahagi na magkakasama upang makamit ang isang tiyak na layunin.
Dahil sa medyo payak na disenyo ng panghuling proyekto, ang mga may interes na mapagbuti ang pagganap nito ay maaaring gumawa ng mga pag-aayos at pagbabago sa panghuling produkto na maaaring gawing mas mahusay at mas detalyado ang proyekto. Gayunpaman, inilalantad nito ang mga kahinaan sa circuit tulad ng pag-activate ng servo na nagreresulta sa sporadic fluctuations sa pagbasa ng boltahe ng circuit, na maaaring maging sanhi ng system na hindi gumawa ng magkatulad na mga resulta. Gayundin, may mga isyu sa pagtingin sa isang pagbabago sa bilis ng servo kapag ang "eff" ay itinakda 0.4 at mas mataas. Kung ginamit ang isang sensor ng temperatura at kahalumigmigan, ang panghuling modelo ay magiging mas kumplikado ngunit nagpapakita ng mas pare-parehong mga halaga. Gayunpaman, ito ay isang karanasan na nagpapakita ng isang kumplikadong makina ay maaaring gumana bilang isang kumbinasyon ng mga simpleng bahagi nito.
Inirerekumendang:
Paggamit ng Photogrammetry upang Lumikha ng Mga Modelo: 9 Mga Hakbang
Paggamit ng Photogrammetry upang Lumikha ng Mga Modelo: Sino ako? Ako si Samuel Conklin at ako ay isang pang-ikalawa sa E.L. Meyers High School. Nag-eksperimento ako sa photogrammetry para sa huling ilang buwan at inaasahan kong matulungan ka kung pinili mong muling likhain ang produktong ito. Interesado akong makita kung paano ang iba pang mga
Awtomatikong Fan / Air Conditioning System: 6 Mga Hakbang
Awtomatikong Fan / Air Conditioning System: Maligayang pagdating! Sa Instructable na ito, lalakad kita sa pamamagitan ng kung paano bumuo ng iyong sariling awtomatikong Fan / Air Conditioning System. Nakikipag-usap ang Instructable na ito sa isang window fan, na ginagamit upang palamig ang mga silid sa init ng tag-init. Ang layunin ng proyektong ito ay upang
HRV (Home Air Exchanger) Arduino Controller Sa Air Economizer: 7 Hakbang (na may Mga Larawan)
HRV (Home Air Exchanger) Arduino Controller Sa Air Economizer: HRV Arduino Controller sa Air EconomizerKaya ang aking kasaysayan sa proyektong ito ay nakatira ako sa Minnesota at ang aking circuit board ay pinirito sa aking LifeBreath 155Max HRV. Ayokong bayaran ang $ 200 para sa bago. Palagi kong ginusto ang isang bagay na may kasamang air economizer
I-scan ang Mga Kalapit na Bagay upang Gumawa ng Modelo ng 3d Gamit ang ARDUINO: 5 Hakbang (na may Mga Larawan)
I-scan ang Mga Kalapit na Bagay upang Gumawa ng Modelong 3d Gamit ang ARDUINO: Ang proyektong ito ay tiyak sa pamamagitan ng paggamit ng HC-SR04 ultrasonic sensor upang i-scan ang mga kalapit na bagay. Para sa paggawa ng modelong 3d kailangan mong walisin ang sensor sa patayo na direksyon. Maaari mong i-program ang Arduino upang tumunog ng isang alarma kapag nakita ng sensor ang isang bagay
I-import ang Mga Custom na 3D na Modelo Sa Iyong Minecraft World: 9 Mga Hakbang (na may Mga Larawan)
I-import ang Mga Custom na 3D na Modelo Sa Iyong Minecraft World: Ito ay isang kumpletong gabay sa pagpapaliwanag ng proseso ng pag-import ng mga 3D na modelo sa iyong mundo ng Minecraft. Mayroong tatlong pangunahing mga bahagi ay ibabahagi ko ang proseso sa: Pagse-set up sa iyo Minecraft, pag-import / pag-export ng iyong 3D na modelo, at pagdadala ng modelo