Mundarija:
- 1 -qadam: uskunalar
- 2 -qadam: Mikrokontrollerni sozlash
- 3 -qadam: MATLAB -ni sozlash
- 4 -qadam: funktsiyalar
- 5 -qadam: Sinov
- 6 -qadam: Xulosa
Video: Arduino konditsioner modeli: 6 qadam
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:28
Bizning jamoamiz marketing maqsadlari uchun aqlli poezd qurilmasi modelini yaratish qobiliyatining namoyishi sifatida, harorat sensori sxemadagi ma'lumotlarni o'qiydigan va ma'lumotni harorat qiymatiga aylantiradigan tizimni yaratish edi. yoritilgan ekranda ko'rsatiladi va fan yoqilishi yoki o'chishiga e'tibor qaratiladi. Maqsad, avtomatlashtirilgan tizim yordamida yo'lovchilarning haydash sharoitlarini eng yaqin atrofdagi haroratni ko'rsatishga yordam berish.
Arduino mikrokontrollerlar to'plami va MATLAB 2016b va 2017b versiyalari yordamida biz bu natijalarni nisbatan muvaffaqiyat bilan namoyish qila oldik.
1 -qadam: uskunalar
Mikrokontroller to'plami quyidagilar bilan:
-Sparkfun Qizil Kengashi
-Sparkfun elektron paneli
-LCD displey paneli
-Potentsiometr
-Harorat sensori
-Xizmat
USB/Arduino adapteri
-o'tish simlari (25, minimal)
USB kirish bilan noutbuk (Windows 10)
3D bosilgan ob'ekt (ixtiyoriy)
2 -qadam: Mikrokontrollerni sozlash
Buni o'ylab ko'ring: butun tizim yakka birliklardan iborat bo'lib, ularning har biri yakuniy natijaga muhim omilni qo'llaydi. Shu sababli, simlarni o'ralgan chalkashliklarga ulashdan oldin, sxemaning tasvirini o'rnatish juda tavsiya etiladi.
Har bir alohida modelning rasmlarini Microcontroller asboblar to'plamida yoki uning veb -saytida https://learn.sparkfun.com/tutorials/tags/arduino?page=all da topish mumkin.
Harorat sensori, potansiyometr, servo ulagichlar va LCD -ni taxtaga ulashdan boshlang. LCD displeyining o'lchami va uning simlar soniga bo'lgan talabiga qarab, uni boshqa qismining yarmi bilan, taxtaning yarmiga qo'yish va potentsiometrni kimdir ko'rishi mumkin bo'lgan joyda joylashtirish tavsiya etiladi. tugmachasini osongina aylantiring.
Malumot uchun:
LCD: c1-16
Servo: i1-3 (GND + -)
Harorat sensori: i13-15 (- GND +)
Potentsiometr: g24-26 (- GND +)
Keyin, mikrokontroller birliklarining har bir piniga o'tish simlarini ulashni boshlang; umumiy sxemada o'zboshimchalik bilan bo'lsa ham, dizayn quyidagi muhim aloqalar yordamida yaratilgan:
Potentsiometrni LCD ga ulash: f25 - e3
Servo GND sim: j1 - raqamli kirish 9
Harorat sensori GND: j14 - Analog kirish 0
LCD kirish: e11-e15-raqamli kirish 2-5
e4 - raqamli kirish 7
e6 - raqamli kirish 6
(Eslatma: Muvaffaqiyatli bo'lsa, LCD chetidagi ikkala chiroq ham yonib -o'chib turishi kerak va potentsiometr adapterdan quvvat olgandan keyin uning yorqinligini sozlashda yordam beradi.)
Majburiy emas: 3D bosilgan ob'ekt talabning bir qismi sifatida ishlatilgan. Mo'rtroq qismlarga zarar etkazmaslik uchun, LCD displey atrofiga qisma o'rnatilgan. LCD displeyining o'lchami taxminan 2-13/16 "x 1-1/16" x 1/4 "bo'lib chiqdi va shuning uchun faqat balandlik sezilarli darajada o'zgardi. Agar 3D printer mavjud bo'lsa, shaxsiy ob'ektni qo'shishni o'ylab ko'ring. O'lchovlar farq qilishi mumkinligini ham biling.
3 -qadam: MATLAB -ni sozlash
MathWorks veb -saytida https://www.mathworks.com/products/matlab.html?s_tid=srchtitle mavjud MATLAB (2016a va undan keyingi) yangilangan versiyasini o'rnating. Ochgandan so'ng, "Uy" yorlig'idagi qo'shimchalarga o'ting va mikrokontroller buyruqlariga kirish uchun "Arduino uskunalari uchun MATLAB qo'llab-quvvatlash to'plami" ni yuklab oling.
Tugatgandan so'ng, mikrokontrollerning kompyuter/noutbukga ulanishini aniqlash uchun test o'tkazish mumkin. Ularni asboblar to'plamidan USB adapter bilan ulaganingizdan so'ng, "fopen (serial ('nada'))" buyrug'ini kiriting.
Ulagichni "COM#" deb ko'rsatadigan xato xabari paydo bo'ladi, u har doim bir xil kirish bo'lsa, arduino ob'ektini yaratish uchun kerak bo'ladi.
LCD displey Arduino kutubxonasiga to'g'ridan -to'g'ri ulanmaganligi sababli, xabarlarni ko'rsatish uchun yangi kutubxona yaratish kerak. "Arduino LCD" ni qidirib, uni +arduinoioaddons papkasida joylashtirgandan so'ng, MATLAB yordam oynasida joylashgan LCD misolidan LCDAddon.m faylini yaratish yoki biriktirilgan siqilgan papkadan foydalanib, uning tarkibini yuqorida aytilganlarga nusxalash tavsiya etiladi. jild
Agar muvaffaqiyatli bo'lsa, MATLAB -da Arduino ob'ektini yaratish kodi quyida ko'rsatilgan.
a = arduino ('com#', 'uno', 'kutubxonalar', 'ExampleLCD/LCDAddon');
4 -qadam: funktsiyalar
MATLAB funktsiyasini yarating. Kirish uchun biz "eff" va "T_min" o'zgaruvchilaridan foydalanamiz; Chiqish uchun, umumiy dizaynda kerak bo'lmasa -da, biz "B" o'zgaruvchisidan natijalar ma'lumotlarini saqlash usuli sifatida foydalanganmiz. "Eff" usuli servoning maksimal tezligini boshqarishga imkon beradi va "T_min" usuli kerakli minimal haroratni boshqaradi. Shunday qilib, "B" qiymati vaqt, harorat va fan samaradorligi uchun uchta ustunni o'z ichiga olgan matritsani ishlab chiqarishi kerak. Shuningdek, tafsilotlarga bonus sifatida, quyida keltirilgan kodda if-iborasi mavjud bo'lib, u kerakli minimal haroratga yaqinlashganda fan tezligi ellik foizga kamayadi.
Agar barcha kirish va o'tish simlari aniq joylashtirilsa va arduino ulanish porti COM4 bo'lsa va funktsiya nomi "fanread" bo'lsa, quyidagi kod etarli bo'lishi kerak:
funktsiya [B] = fan o'qish (Tmin, eff)
aniq a; aniq lcd; a = arduino ('com4', 'uno', 'kutubxonalar', 'ExampleLCD/LCDAddon');
t = 0; t_max = 15; soniyalarda % vaqt
lcd = addon (a, 'ExampleLCD/LCDAddon', {'D7', 'D6', 'D5', 'D4', 'D3', 'D2'});
initializeLCD (LCD, "Qatorlar", 2, "Ustunlar", 2);
agar eff> = 1 || bo'lsa e <0
xato ('eff 0 dan 1 gacha o'rnatilmasa, fan yoqilmaydi')
oxiri
t = 1 uchun: 10 % looplar/intervallar soni
aniq v; % xato takrorlanishining oldini oladi
v = o'qish voltaji (a, 'A0');
TempC = (v-0,5)*100; 2,7-5,5 V kuchlanish diapazonlari uchun % bahosi
agar TempC> Tmin bo'lsa TempC
c = ['Harorat', num2str (TempC, 3), 'C Yoqilgan'];
writePWMDutyCycle (a, 'D9', eff/2); % servo rejimini yarim tezlikda yoqadi
spd = 50;
boshqa
c = ['Harorat', num2str (TempC, 3), 'C Yoqilgan'];
writePWMDutyCycle (a, 'D9', eff); % berilgan tezlikda servo rejimini yoqadi
spd = 100;
oxiri
boshqa
c = ['Harorat', num2str (TempC, 3), 'C O'chirilgan'];
writePWMDutyCycle (a, 'D9', 0); % yoqilgan bo'lsa o'chiriladi
spd = 0;
oxiri
printLCD (lcd, c);
pauza (3); Har bir tsiklda % uch soniya o'tadi
vaqt (t) = t.*3;
tempplot (t) = TempC;
harakat (t) = spd;
kichik reja (2, 1, 1)
uchastka (vaqt, tempplot, 'b-o') % chiziqli grafik
o'q ([0 33 0 40])
xlabel ('Vaqt (soniya)')
ylabel ("Harorat (C)")
to'xtab tur
syujet ([0 33], [Tmin Tmin], 'r-')
to'xtab tur
syujet ([0 33], [Tmin+2 Tmin+2], 'g-')
kichik reja (2, 1, 2)
bar (vaqt, harakat) % chiziqli grafik
xlabel ('Vaqt (soniya)')
ylabel ('Samaradorlik (%)')
oxiri
B = transpozitsiya ([vaqt; tempplot; harakat]);
oxiri
Endi funktsiya tugadi, sinov vaqti keldi.
5 -qadam: Sinov
Endi funktsiyani buyruq oynasida "function_name (input_value_1, input_value_2)" qo'shib tekshiring. Hech qanday Arduino obyekti mavjud emasligiga ishonch hosil qiling; agar shunday bo'lsa, uni o'chirish uchun "tozalash a" buyrug'idan foydalaning. Agar xatolar yuzaga kelsa, tekshiring va ulagichlarning noto'g'ri joyida yoki noto'g'ri raqamli yoki analogli kirishlar ishlatilganligini tekshiring. Natijalar turlicha bo'lishi kutilmoqda, lekin bunga ba'zi o'tish simlari va harorat sensori joylashishi sabab bo'lishi mumkin.
Natijalarni kutish, servo va LCD displeyidagi ko'rsatkichlarning o'zgarishiga olib kelishi kerak. Har uch soniya oralig'ida matn satrida harorat Selsiy bo'yicha ko'rsatilishi kerak va fan to'liq ishlayotganda, yarim tezlikda yoki hech qanday tezlikda ishlayotganida fan faol yoki yo'q. Ma'lumotlar izchil bo'lmasligi kerak, lekin har xil natijalarga erishmoqchi bo'lsangiz, "Tmin" qiymatini kontaktlarning zanglashiga olib keladigan o'rtacha haroratiga yaqin joylashtiring.
6 -qadam: Xulosa
Sinov va xato yo'li bilan bajarish qiyin vazifa bo'lsa -da, yakuniy natijalar ancha qiziqarli va qoniqarli bo'lib chiqdi. Bunday tizim qancha murakkab mashinalarni, hatto ularning ba'zi qismlarini ham aniq maqsadga erishish uchun birlashtirilgan mustaqil qismlar yig'indisi sifatida ko'rish mumkinligini ko'rsatishga yordam beradi.
Yakuniy loyihaning sodda dizayni tufayli, uning ishlashini yaxshilashga qiziquvchilar loyihani yaxshilab va batafsilroq qilish uchun yakuniy mahsulotga o'zgartirishlar va o'zgartirishlar kiritishlari mumkin. Biroq, bu tizimning zaif tomonlarini aniqlaydi, masalan, servo faollashuvi, davriy voltaj o'qishining vaqti -vaqti bilan o'zgarishiga olib keladi, bu tizim hech qachon bir xil natijalarga olib kelmasligi mumkin. Shuningdek, "eff" 0,4 va undan yuqori o'rnatilganida servo tezligining o'zgarishini ko'rish bilan bog'liq muammolar bo'lgan. Agar harorat va namlik sensori ishlatilsa, yakuniy model yanada murakkab, lekin izchilroq qiymatlarga ega bo'lar edi. Shunga qaramay, bu tajriba shuni ko'rsatadiki, murakkab mashina uning oddiy qismlarining kombinatsiyasi sifatida ishlay oladi.
Tavsiya:
DIY paqirli konditsioner: 13 qadam (rasmlar bilan)
DIY paqir konditsioneri: Men Hindiston janubida juda issiq joyda yashayman va ish joyim tiqilib qoladi. Men eski chelakni DIY konditsioneriga aylantirish orqali bu muammoning to'g'ri echimini topdim. AC modeli juda oddiy, arzon, lekin ayni paytda samarali
Avtomatik ventilyator/konditsioner tizimi: 6 qadam
Avtomatik ventilyator/konditsioner tizimi: xush kelibsiz! Ushbu yo'riqnomada men sizga o'zingizning avtomatik ventilyator/konditsioner tizimini qanday yaratishni aytib beraman. Bu ko'rsatma yozning jaziramasida xonalarni sovutish uchun ishlatiladigan deraza foniysi bilan bog'liq. Ushbu loyihaning maqsadi
Konditsioner PCB bilan ishlash va ta'mirlash bo'yicha qo'llanma: 6 qadam
Konditsioner PCB bilan ishlash va ta'mirlash bo'yicha qo'llanma: Hey, nima bo'ldi, bolalar! Akarsh bu erda CETech -dan. Konditsionerlarning ichki qismida nima bo'layotgani haqida hech o'ylab ko'rganmisiz? Ha bo'lsa, unda siz ushbu maqolani o'tishingiz kerak, chunki men bugun aloqalar va tuzilmalar haqida tushuncha beraman
Konditsioner velosiped dubulg'asi (qayta ishlangan kompyuterlardan yasalgan): 5 qadam (rasmlar bilan)
Konditsioner velosiped dubulg'asi (qayta ishlangan kompyuterlardan ishlab chiqarilgan): bu teshiklar ustidagi ventilyatorli dubulg'a sizning boshingizdan havoni so'rib oladi va siz uning yuzingizga va boshingizning yoniga tushishini his qilasiz! Juda issiq bo'lgan quyoshli kunlarda velosipedda yurish juda yaxshi. LEDlar tunda velosipedda ham yordam beradi! Barcha qismlar
DIY portativ ko'pikli konditsioner: 7 qadam (rasmlar bilan)
DIY ko'chma ko'pikli ko'pikli konditsioner: Hey, bolalar, men sizga ko'rsatma berishda oxirgi marta strafor kesgichni yasashni ko'rsatdim, shu hafta men sizga straforli ko'chma konditsionerni yasashni ko'rsataman. Bu konditsioner tijorat modelini almashtirmaydi, lekin uni sovutish uchun ishlatish mumkin