Orodha ya maudhui:
- Hatua ya 1: Vifaa
- Hatua ya 2: Usanidi wa Microcontroller
- Hatua ya 3: Usanidi wa MATLAB
- Hatua ya 4: Kazi
- Hatua ya 5: Upimaji
- Hatua ya 6: Hitimisho
Video: Mfano wa Kiyoyozi cha Arduino: Hatua 6
2024 Mwandishi: John Day | [email protected]. Mwisho uliobadilishwa: 2024-01-30 12:54
Kama sehemu ya onyesho la uwezo wa timu yetu kuunda mfano wa kifaa mahiri cha treni kwa madhumuni ya uuzaji, lengo lilikuwa kuunda mfumo ambao sensor ya joto husoma data kutoka kwa mzunguko na kubadilisha habari kuwa thamani ya joto ambayo ni huonyeshwa kwenye skrini iliyowashwa na kulenga ikiwa shabiki anawasha au kuzima. Kusudi ni kusaidia kubeba hali ya wanaoendesha abiria kwa kutumia mfumo wa kiotomatiki ambao pia hufanya kazi kuonyesha joto katika maeneo ya karibu.
Kwa kutumia kitanda cha kudhibiti microcontroller cha Arduino na matoleo ya MATLAB 2016b na 2017b, tuliweza kuonyesha matokeo haya kwa mafanikio kidogo.
Hatua ya 1: Vifaa
Microcontroller Kit na yafuatayo:
-Bodi Nyekundu ya Sparkfun
Bodi ya mkate ya Sparkfun
-Bodi ya LCD
-Potentiometer
Sensorer ya Joto
-Servo
-USB / adapta ya Arduino
-Wiring waya (25, kiwango cha chini)
Laptop (Windows 10) na uingizaji wa USB
Kitu kilichochapishwa cha 3D (hiari)
Hatua ya 2: Usanidi wa Microcontroller
Fikiria hili: mfumo mzima umeundwa na vitengo moja ambavyo kila moja hutumia jambo muhimu kuelekea matokeo ya mwisho. Kwa sababu hii, inashauriwa sana kuweka picha ya mzunguko kabla ya kushikamana na waya katika fujo lenye mchanganyiko.
Picha za kila mfano zinaweza kupatikana katika mwongozo wa zana ya vifaa vya Microcontroller au kwenye wavuti yake kwa
Anza na kuambatisha sensorer ya joto, potentiometer, viunganishi vya servo na LCD kwenye bodi. Inapendekezwa kuwa kwa sababu ya saizi ya LCD na mahitaji ya idadi ya waya zake, inapaswa kuwekwa kwenye nusu yake ya ubao wa mkate na vipande vingine kwenye nusu nyingine na kwa potentiometer kuwa katika eneo la mtu geuza kitovu chake kwa urahisi.
Kwa kumbukumbu:
LCD: c1-16
Servo: i1-3 (GND + -)
Sensorer ya Muda: i13-15 (- GND +)
Potentiometer: g24-26 (- GND +)
Ifuatayo, anza kuunganisha waya za kuruka kwa kila pini ya vitengo vya microcontroller; ingawa holela katika mpango mkuu, muundo uliundwa na miunganisho hii muhimu:
Kuunganisha Potentiometer kwa LCD: f25-e3
Waya ya Servo GND: j1 - Ingizo la Dijitali 9
Sensor ya Muda GND: j14 - Ingizo la Analog 0
Pembejeo za LCD: e11-e15 - Uingizaji wa Dijiti 2-5
e4 - Uingizaji wa Dijiti 7
e6 - Uingizaji wa Dijiti 6
(Kumbuka: Ikiwa imefanikiwa, taa zote mbili kwenye ukingo wa LCD zinapaswa kuwasha na potentiometer inaweza kusaidia kurekebisha mwangaza wake mara moja ikipewa nguvu kutoka kwa adapta.)
Hiari: Kitu kilichochapishwa cha 3D kilitumika kama sehemu ya mahitaji. Ili kuzuia uwezekano wa uharibifu wa sehemu dhaifu zaidi, kesi iliyopanuliwa iliwekwa kama sleeve karibu na LCD. Vipimo vya skrini ya LCD vimeonekana kuwa takriban 2-13 / 16 "x 1-1 / 16" x 1/4 ", na kwa hivyo urefu tu ulibadilishwa sana. Ikiwa printa ya 3D inapatikana kwa urahisi, fikiria kuongeza kitu cha kibinafsi, ingawa sio lazima. Pia, fahamu kuwa vipimo vinaweza kutofautiana.
Hatua ya 3: Usanidi wa MATLAB
Sakinisha toleo lililosasishwa zaidi la MATLAB (2016a na kuendelea), inayopatikana katika wavuti ya MathWorks https://www.mathworks.com/products/matlab.html?s_tid=srchtitle. Mara baada ya kufunguliwa, nenda kwenye Viongezeo kwenye kichupo cha Nyumbani na upakue "MATLAB Kifurushi cha Usaidizi cha Vifaa vya Arduino" ili maagizo ya mdhibiti mdogo yapatikane.
Mara baada ya kukamilika, mtihani unaweza kufanywa ili kupata muunganisho wa microcontroller kwa kompyuta / laptop ya mtu. Baada ya kuwaunganisha na adapta ya USB kutoka kwa zana ya vifaa, ingiza amri "fopen (serial ('nada'))."
Ujumbe wa hitilafu utaibuka ukisema kontakt kama "COM #", ambayo itahitajika kuunda kitu cha arduino mradi ni pembejeo sawa wakati wote.
Kwa sababu LCD haina uhusiano wa moja kwa moja na maktaba ya Arduino, maktaba mpya inapaswa kuundwa ili kuonyesha ujumbe. Pendekezo ni kuunda faili ya LCDAddon.m kutoka kwa mfano wa LCD uliopatikana kwenye Dirisha la usaidizi la MATLAB baada ya kutafuta "Arduino LCD" na kuiweka kwenye folda ya + arduinoioaddons, au tumia folda iliyoshinikizwa iliyoambatanishwa na kunakili yaliyomo kwenye yaliyotajwa hapo juu. folda.
Ikiwa imefanikiwa, basi nambari ya kuunda kitu cha Arduino katika MATLAB imeonyeshwa hapa chini.
a = arduino ('com #', 'uno', 'Maktaba', 'MfanoLCD / LCDAddon');
Hatua ya 4: Kazi
Unda kazi ya MATLAB. Kwa pembejeo, tunatumia anuwai "eff" na "T_min"; kwa matokeo, ingawa sio lazima katika muundo wa jumla, tulitumia "B" inayobadilika kama njia ya kuwa na data kutoka kwa matokeo. Uingizaji wa "eff" unaruhusu kudhibiti kasi ya juu ya servo, na pembejeo ya "T_min" inadhibiti kiwango cha chini cha joto kinachotakiwa. Thamani "B" inapaswa hivyo kuzalisha tumbo ambayo ina safu tatu kwa wakati, joto na ufanisi wa shabiki. Pia, kama ziada kwa undani, nambari iliyoorodheshwa hapa chini pia ina taarifa-kama kwamba kasi ya shabiki itapungua kwa asilimia hamsini inapokaribia joto la chini linalotakiwa.
Ikiwa pembejeo zote na waya za kuruka zimewekwa haswa na kudhani bandari ya unganisho la arduino ni COM4 na jina la kazi ni "fanread", nambari ifuatayo inapaswa kuwa ya kutosha:
kazi [B] = fanread (Tmin, eff)
wazi a; wazi lcd; a = arduino ('com4', 'uno', 'Maktaba', 'MfanoLCD / LCDAddon');
t = 0; t_max = 15; % wakati kwa sekunde
lcd = addon (a, 'MfanoLCD / LCDAddon', {'D7', 'D6', 'D5', 'D4', 'D3', 'D2'});
anzishaLCD (LCD, 'Safu', 2, 'Nguzo', 2);
ikiwa eff> = 1 || e <0
kosa ('Shabiki hataamilisha isipokuwa ufanisi umewekwa kati ya 0 na 1.')
mwisho
kwa t = 1: 10% idadi ya vitanzi / vipindi
wazi c; % kuzuia kurudia kosa
v = somaVoltage (a, 'A0');
TempC = (v-0.5) * 100; Ukadiriaji wa% kwa viwango vya voltage 2.7-5.5 V
ikiwa TempC> Tmin ikiwa TempC
c = ['Muda', num2str (TempC, 3), 'C On'];
andikaPWMDutyCycle (a, 'D9', eff / 2); Washa servo kwa kasi ya nusu
spd = 50;
mwingine
c = ['Muda', num2str (TempC, 3), 'C On'];
andikaPWMDutyCycle (a, 'D9', eff); Washa servo kwa kasi iliyotolewa
spd = 100;
mwisho
mwingine
c = ['Temp', num2str (TempC, 3), 'C Zima'];
andikaPWMDutyCycle (a, 'D9', 0); % funga ikiwa tayari imewashwa
spd = 0;
mwisho
chapishaLCD (LCD, c);
pause (3); Sekunde tatu hupita kwa kitanzi
wakati (t) = t. * 3;
tempplot (t) = TempC;
kitendo (t) = spd;
kiwanja (2, 1, 1)
njama (saa, templeti, 'bo')% grafu ya mstari
mhimili ([0 33 0 40])
xlabel ('Saa (sekunde)')
ylabel ('Joto (C)')
subiri
kiwanja ([0 33], [Tmin Tmin], 'r-')
subiri
njama ([0 33], [Tmin + 2 Tmin + 2], 'g-')
kiwanja (2, 1, 2)
bar (saa, kitendo)% bar ya grafu
xlabel ('Saa (sekunde)')
ylabel ('Ufanisi (%)')
mwisho
B = transpose ([wakati; tempplot; act]);
mwisho
Sasa kwa kuwa kazi imekamilika, ni wakati wa kujaribu.
Hatua ya 5: Upimaji
Sasa jaribu kazi kwenye dirisha la amri kwa kuingiza "jina la kazi (jina_wa_uingizaji, kiingilio_uhimu_2)" na utazame. Hakikisha kuwa hakuna kitu cha Arduino tayari kipo; ikiwa ni hivyo, tumia amri "wazi a" kuiondoa. Ikiwa hitilafu zinatokea, angalia na uone ikiwa viunganisho viko mahali pabaya au ikiwa pembejeo zisizofaa za dijiti au analog hutumiwa. Matokeo yanatarajiwa kutofautiana, ingawa hii inaweza kusababishwa na kuwekwa kwa waya fulani za kuruka na sensorer ya joto.
Matarajio ya matokeo yanapaswa kutoa mabadiliko katika utendaji wa servo na data kwenye LCD. Kwa kila muda wa sekunde tatu, mstari wa maandishi unapaswa kuonyesha joto katika Celsius na ikiwa shabiki anafanya kazi au la wakati shabiki anaendesha kwa kasi kamili, nusu kasi au hana kasi. Takwimu hazipaswi kuwa sawa, ingawa ikiwa inataka matokeo anuwai, weka "Tmin" karibu na joto la wastani linalozalishwa na mzunguko.
Hatua ya 6: Hitimisho
Ingawa ilikuwa kazi ngumu kutimiza kwa kujaribu na makosa, matokeo ya mwisho yalionekana kuwa ya kufurahisha na ya kuridhisha. Mfumo kama huo husaidia kuonyesha ni mashine ngapi ngumu, au hata sehemu zingine, zinaweza kuonekana kama mkusanyiko wa sehemu huru zilizowekwa pamoja kutimiza lengo fulani.
Kwa sababu ya muundo rahisi wa mradi wa mwisho, wale ambao wana nia ya kuboresha utendaji wake wanaweza kufanya maboresho na mabadiliko katika bidhaa ya mwisho ambayo inaweza kufanya mradi kuwa bora na kufafanua zaidi. Walakini, inaonyesha udhaifu katika mzunguko kama uanzishaji wa servo na kusababisha kushuka kwa nadra katika usomaji wa voltage ya mzunguko, ambayo inaweza kusababisha mfumo kamwe kutoa matokeo yanayofanana. Pia, kumekuwa na maswala na kuona mabadiliko katika kasi ya servo wakati "eff" imewekwa 0.4 na zaidi. Ikiwa sensorer ya joto na unyevu ingetumika, mtindo wa mwisho ungekuwa mgumu zaidi lakini unatoa maadili thabiti zaidi. Walakini, hii ni uzoefu ambao unaonyesha mashine ngumu inaweza kufanya kazi kama mchanganyiko wa sehemu zake rahisi.
Ilipendekeza:
Kituo cha Amri cha WiFi DCC cha Reli ya Mfano: Hatua 5
Kituo cha Amri cha WiFi DCC cha Reli ya Mfano: Iliyasasishwa 5 Aprili 2021: mchoro mpya na mod kwa vifaa vya mzunguko. Mchoro mpya: command_station_wifi_dcc3_LMD18200_v4.inoBrand mfumo mpya wa DCC kutumia WiFi kuwasiliana maagizo Watumiaji 3 wa simu za rununu / kibao zinaweza kutumiwa kwa mpangilio mzuri rafiki
Kiyoyozi cha ndoo cha DIY: Hatua 13 (na Picha)
Kiyoyozi cha ndoo cha DIY: Ninaishi mahali pa moto sana kusini mwa India na nafasi yangu ya kazi hupata mambo mengi. Nilipata suluhisho safi kwa shida hii kwa kubadilisha ndoo ya zamani kuwa kiyoyozi cha DIY. Mfano wa AC ni rahisi sana, gharama nafuu lakini bado ina ufanisi. Ba
Kifaa cha kiyoyozi cha kuwasha kiotomatiki: Hatua 5
Kifaa cha kiyoyozi cha kuwasha kiotomatiki: Kifaa hiki kinaitwa Kifaa cha Kiyoyozi cha kuwasha kiotomatiki. Unapokuwa kwenye chumba chako cha moto, na umemaliza shule, umechoka sana kuwasha kiyoyozi, basi kifaa hiki ni bora kwako. Utaratibu wa kifaa hiki ni rahisi sana. W
Kiyoyozi cha Styrofoam cha Kubebea cha DIY: Hatua 7 (na Picha)
Kiyoyozi cha Styrofoam cha Kubebeka cha DIY: Haya, Jamaa katika mwisho wa kufundisha nilikuonyesha jinsi ya kutengeneza kipiga cha styrofoam, Katika wiki hii nitakuonyesha jinsi ya kutengeneza kiyoyozi cha Styrofoam. Kiyoyozi hiki sio mbadala wa mfano wa kibiashara lakini inaweza kutumika kupozea
Kiyoyozi cha bafuni: Hatua 4 (na Picha)
Minder ya bafuni: Katika nyumba yetu, tuna vijana wawili na bafu 1.5. Kwa kuwa wote wanapenda kutumia muda mrefu sana kuoga na kujiandaa, hii inamaanisha kuwa wakati mwingi mimi na mke wangu tunabaki na bafu ya nusu tu ya kutumia. Hili ni tatizo. Tumekuwa