Mundarija:
- 1 -qadam: asboblar va materiallar
- 2 -qadam: tenglikni tenglashtirish
- 3 -qadam: Komponentlarni lehimlang
- 4 -qadam: Mikrokontrollerni dasturlash
- 5 -qadam: yig'ish va kalibrlash
- 6 -qadam: PID -ni sozlash
- 7 -qadam: uni to'plang
Video: PID haroratni boshqaruvchi: 7 qadam
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:27
Do'stim plastikni qayta ishlash uchun plastik ekstruder qurmoqda (https://preciousplastic.com). U ekstruziya haroratini boshqarishi kerak. Shu maqsadda u burunli isitgich tasmasini ishlatadi. Bu ko'krak qafasida termojuft va isitish moslamasi bor, bu bizga haroratni o'lchash va nihoyat kerakli haroratga yetish imkonini beradi (orqaga qaytarish pastadirini yasang).
Men eshitganimda, u bir nechta PID -kontrollerlar tomonidan barcha nozulli isitgich tasmalarini boshqarishi kerak edi, bu menga o'zimnikini yasashga bo'lgan xohishni berdi.
1 -qadam: asboblar va materiallar
Asboblar
- lehimleme temir, lehim tel va oqim
- cımbız
- frezalash mashinasi (PCB prototipini kimyoviy ishlov berish ham mumkin) (siz ham burgut faylim bilan tenglikni buyurtma qilishingiz mumkin)
- termometr (kalibrlash uchun)
- arduino (har qanday turdagi) yoki AVR dasturchisi
- FTDI seriyali TTL-232 USB kabeli
- lazer to'sar (ixtiyoriy)
- multimetr (ohmmetr va voltmetr)
Material
- Bakelit bir tomonlama mis plastinka (minimal 60*35 mm) (men shisha tolali oynani sotib olgan arraimni vayron qildim, shuning uchun ehtiyot bo'ling: bakelit)
- Attiny45 mikrokontroller
- LM2940IMP-5 kuchlanish regulyatori
- AD8605 operatsion kuchaytirgichi
- NDS356AP tranzistorli
- bir nechta rezistorlar va kondansatörler (menda SMT 0603 adafruit kitobi bor)
- 230V-9V AC-DC transformator
- 1N4004 diodlari
- qattiq hol o'rni
- lak (ixtiyoriy)
2 -qadam: tenglikni tenglashtirish
Men PCB -ni frezalash uchun Proxxon MF70 CNC konvertatsiyalangan konusli uchidan foydalanardim. O'ylaymanki, har qanday o'yma uchi ishlaydi. Gcode fayli to'g'ridan-to'g'ri burgut va pcb-gcode plaginlari tomonidan yaratilgan. Marshrutni yaxshi ajratish uchun faqat uchta o'tish amalga oshiriladi, lekin barcha misni maydalash uchun soatlab sarflamasdan. PCB CNC mashinasidan chiqib ketganda, men marshrutlarni to'sar bilan tozalab, ularni multimetr bilan sinab ko'rdim.
Parametrlar: tezligi 150 mm/min, chuqurligi 0,2 mm, aylanish tezligi 20'000 t/min
3 -qadam: Komponentlarni lehimlang
Cımbız va lehim temir bilan, komponentlarni kerakli joylarga joylashtiring va oqim yordamida lehimlang (bu yordam beradi) va eng kichik qismlardan boshlanadi. Yana, multimetr bilan tekshiring, sizda qisqa tutashuv yoki ulanmagan elementlar yo'q.
Siz xohlagan qarshilikni tanlash orqali kuchaytirgichning daromadini tanlashingiz mumkin (daromad = (R3+R4)/R4). Men 1M va 2,7k ni oldim, shuning uchun mening daromadim taxminan 371 ga teng. Men aniq qiymatni bilmayman, chunki men 5% bardoshlik qarshiligini ishlataman.
Mening termojuftim J turiga kiradi. Bu shuni anglatadiki, u har bir daraja uchun 0,05 mV beradi. 371 daromad bilan, men kuchaytirgich chiqishidan (0,05*371) 18,5 mV daraja olaman. Men 200 ° C atrofida o'lchashni xohlayman, shuning uchun kuchaytirgich chiqishi 3,7V (0,0185*200) atrofida bo'lishi kerak. Natijada 5V dan oshmasligi kerak, chunki men 5V mos yozuvlar kuchlanishini (tashqi) ishlataman.
Rasm men qilgan birinchi (ishlamayotgan) versiyaga to'g'ri keladi, lekin printsip bir xil. Bu birinchi versiyada men o'z o'rni ishlatdim va uni taxtaning o'rtasiga qo'ydim. Men yuqori kuchlanish bilan almashganimdan so'ng, menda tekshirgichni qayta ishga tushirgan pog'onalar paydo bo'ldi.
4 -qadam: Mikrokontrollerni dasturlash
Arduino-dan foydalanib, bu ko'rsatmalarni bajaring: https://www.instructables.com/id/How-to-Program-a… siz kodni yuklashingiz mumkin.
Men Attiny 45-ni dasturlash uchun FTDI-USB kabelli pro-trinketdan foydalanardim, lekin bu usul tengdir. Men ketma-ket ma'lumotlarni olish va disk raskadrovka qilish uchun PB1 va GDN pinlarini to'g'ridan-to'g'ri FTDI-USB kabelining RX va GND ga uladim.
Arduino eskizida barcha parametrlarni nolga qo'yish kerak (P = 0, I = 0, D = 0, K = 0). Ular sozlash bosqichida o'rnatiladi.
Agar siz tutun yoki kuygan hidni ko'rmasangiz, keyingi bosqichga o'tishingiz mumkin!
5 -qadam: yig'ish va kalibrlash
E'tibor bering: Hech qachon dasturchining quvvat manbai va 5Vni bir vaqtning o'zida ulamang! Aks holda, oldingi qadamda men tutayotgan tutunni ko'rasiz. Agar siz buni hurmat qila olmasligingizga amin bo'lsangiz, dasturchi uchun 5v pinni olib tashlashingiz mumkin. Men bunga ruxsat berdim, chunki men nazorat qilgichni quvvat manbai bo'lmagan holda dasturlash va isitgichni isitgichsiz isitishni yuzim oldida sinab ko'rish men uchun qulayroq edi.
Endi siz termojuftni kuchaytirgichga ulashingiz va biror narsani o'lchayotganingizni ko'rishingiz mumkin (qutbni hurmat qiling). Agar isitish tizimi xona haroratida bo'lsa, siz nolni o'lchashingiz kerak. Qo'l bilan isitish allaqachon kichik qiymatlarga olib kelishi kerak.
Bu qadriyatlarni qanday o'qish kerak? PB1 va GDN pinlarini to'g'ridan-to'g'ri FTDI-USB kabelining RX va GND ga ulang va arduino seriyali monitorini oching.
Tekshirgich ishga tushganda, u chipning ichki termometridan qizil rangni yuboradi. Men haroratni shunday to'ldiraman (maxsus chip ishlatmasdan). Bu shuni anglatadiki, agar ish paytida harorat o'zgarsa, u hisobga olinmaydi. Bu qiymat bir chipdan boshqasiga juda farq qiladi, shuning uchun uni eskiz boshida REFTEMPERATURE ta'rifiga qo'lda kiritish kerak.
Qattiq hol rölesini ulashdan oldin, kuchlanish chiqishi o'z o'rni tomonidan qo'llab -quvvatlanadigan diapazonda ekanligini tekshiring (mening holatimda 3V dan 25V gacha, zanjir 11V atrofida hosil qiladi). (qutbni hurmat qiling)
Bu qiymatlar daraja yoki Farengeytdagi harorat emas, balki analogdan raqamli konvertatsiyaning natijasidir, shuning uchun ular 0 dan 1024 gacha o'zgarib turadi. Men 5V mos yozuvlar kuchlanishidan foydalanaman, shuning uchun kuchaytirgichning chiqishi 5V ga yaqin bo'lsa, konvertatsiya natijasi 1024 ga yaqin bo'ladi.
6 -qadam: PID -ni sozlash
Shuni aytib o'tishim kerakki, men nazorat mutaxassisi emasman, shuning uchun men o'zim uchun ishlaydigan ba'zi parametrlarni topdim, lekin bu hamma uchun ishlashiga kafolat bermayman.
Birinchidan, men dastur nima ekanligini tushuntirishim kerak. Men bir xil PWM dasturini qo'lladim: hisoblagich har bir iteratsiyada 20'000 ga yetguncha ko'paytiriladi (bu holda 0 ga qaytariladi). Kechikish tsiklni millisekundgacha pasaytiradi. Bizning eng aqlli odamimiz, nazorat qilish davri 20 soniya atrofida ekanligini payqaydi. Har bir tsikl hisoblagich va ostonani taqqoslashdan boshlanadi. Agar hisoblagich ostonadan past bo'lsa, men o'rni o'chiraman. Agar kattaroq bo'lsa, men uni yoqaman. Shunday qilib, men chegarani belgilash orqali quvvatni tartibga solaman. Chegarani hisoblash har soniyada amalga oshiriladi.
PID tekshiruvi nima?
Agar siz jarayonni boshqarishni xohlasangiz, siz o'lchagan qiymatga ega bo'lasiz (analogData), siz erishmoqchi bo'lgan qiymat (tempCommand) va bu jarayonning holatini o'zgartirish usuli (seuil). Mening holatimda, bu chegara bilan (frantsuzcha "seuil", lekin yozish va talaffuz qilish ancha osonroq ("sey" talaffuzi)) amalga oshiriladi, bu esa kalit qancha vaqt yoqilishini va o'chishini (ish tsikli) va shuning uchun energiya miqdorini aniqlaydi. tizimga qo'ying.
Hamma rozi bo'ladi, agar siz xohlagan nuqtadan uzoqda bo'lsangiz, siz katta tuzatish kiritishingiz mumkin va agar yaqin bo'lsangiz, kichik tuzatish kerak. Bu shuni anglatadiki, tuzatish xatoning funktsiyasi (xato = analogData-tempComand). Ha, lekin qancha? Aytaylik, xatoni faktor (P) ga ko'paytiramiz. Bu mutanosib nazoratchi. Mexanik ravishda buloq proportsional tuzatishni amalga oshiradi, chunki bahor kuchi bahor siqilishiga proportsionaldir.
Ehtimol, siz bilasizki, sizning avtomobil süspansiyonlarınız bahor va damperdan (amortizator) iborat. Bu amortizatorning vazifasi - bu sizning mashinangizning trambolin kabi qaytishiga yo'l qo'ymaslik. Tug'ma atama aynan shunday qiladi. Damper sifatida, u xato o'zgarishiga mutanosib bo'lgan reaktsiya hosil qiladi. Agar xato tez o'zgarsa, tuzatish kamayadi. Bu tebranishlar va ortiqcha zarbalarni kamaytiradi.
Integrator atamasi doimiy xatolikka yo'l qo'ymaslik uchun shu erda (u xatoni birlashtiradi). Aniq qilib aytganda, bu xato ijobiy yoki manfiy bo'lsa, ko'paytiriladigan yoki kamaytiriladigan hisoblagich. Keyin tuzatish ushbu hisoblagichga muvofiq oshiriladi yoki kamayadi. Uning mexanik ekvivalentligi yo'q (yoki sizda fikr bormi?). Ehtimol, siz mashinangizni xizmatga olib borganingizda va mexanik zarbalar tizimli ravishda juda past ekanligini sezib, qo'shimcha yukni qo'shishga qaror qilganingizda ham shunday ta'sir bo'lishi mumkin.
Bularning barchasi formulada umumlashtiriladi: tuzatish = P*e (t)+I*(de (t)/dt)+D*integral (e (t) dt), P, I va D uchta parametrga ega sozlanishi.
Mening versiyamga ma'lum bir haroratni saqlash uchun zarur bo'lgan "apriori" (oldinga yo'naltirish) buyrug'i bo'lgan to'rtinchi atama qo'shildi. Men haroratga mutanosib buyruqni tanladim (bu isitish yo'qotishlarining yaxshi taxminidir. Agar radiatsion yo'qotishlarni e'tiborsiz qoldirsak, bu to'g'ri (T^4)). Bu atama bilan integrator yengillashadi.
Bu parametrlarni qanday topish mumkin?
Men "pid tuning harorati sozlagichi" yordamida topishingiz mumkin bo'lgan an'anaviy usulni sinab ko'rdim, lekin uni qo'llash qiyin kechdi va o'z uslubim bilan tugadi.
Mening uslubim
Avval P, I, D ni nolga qo'ying va "K" va "tempCommand" ni kichik qiymatlarga qo'ying (masalan, K = 1 va tempCommand = 100). Tizimni yoqing va kuting, kuting, kuting … harorat barqarorlashguncha. Siz bilasizki, 1*100 = 100 "seuil" bilan harorat X ga to'g'ri keladi, shuning uchun bilasizki, 100/20000 = 5% buyrug'i bilan X ga erishish mumkin. Lekin maqsad 100 ga erishish. chunki bu "tempCommand". Proportion yordamida siz 100 ga erishish uchun K ni hisoblashingiz mumkin (tempCommand). Ehtiyotkorlik bilan men hisoblanganidan kichikroq qiymatdan foydalandim. Darhaqiqat, sovutishdan ko'ra ko'proq isitish osonroq. Shunday qilib, nihoyat
Kfinal = K*tempCommand*0.9/X
Endi siz tekshirgichni ishga tushirganingizda, bu tabiiy ravishda siz xohlagan haroratga mos kelishi kerak, lekin bu juda sekin jarayon, chunki siz faqat isitish yo'qotilishini qoplaysiz. Agar siz bir haroratdan boshqasiga o'tishni xohlasangiz, tizimga ko'p miqdorda issiqlik energiyasi qo'shilishi kerak. P siz tizimga energiyani qaysi tezlikda kiritishingizni aniqlaydi. P ni kichik qiymatga o'rnating (masalan, P = 10). (Deyarli) sovuq boshlang. Agar sizda katta natija bo'lmasa, dubl bilan harakat qilib ko'ring (P = 20), agar hozir sizda bitta narsa bo'lsa, o'rtada. Agar 5% ortiqcha bo'lsa, yaxshi.
Endi D -ni oshirib yubormang. (har doim sinovlar, men bu fan emasligini bilaman) (men D = 100 ni oldim)
Keyin I = P^2/(4*D) qo'shing (Ziegler-Nicholts usuliga asoslangan, u barqarorlikni kafolatlashi kerak) (men uchun I = 1)
Nega bu barcha sinovlar, nega ilm emas?
Bilaman … bilaman! Katta nazariya mavjud va siz uzatish funktsiyasini va Z konvertatsiyasini va blablablasini hisoblashingiz mumkin. Men birlamchi sakrashni yaratmoqchi edim, keyin 10 minut davomida reaktsiyani yozib, uzatish funktsiyasini yozmoqchi edim, keyin nima? Men 200 ta atama bilan arifmetikani qilishni xohlamayman. Agar kimdir fikrga ega bo'lsa, men buni qanday qilib to'g'ri qilishni o'rganishdan xursand bo'lardim.
Men eng yaqin do'stlarim Zigler va Nikols bilan ham o'yladim. Ular menga tebranishlarni hosil qiladigan P ni topib, keyin o'z usullarini qo'llashimni aytishdi. Men hech qachon bu tebranishlarni topmaganman. Men topgan yagona narsa osmonga oooooooovershoot edi.
Va isitishning sovutish bilan bir xil emasligini qanday modellashtirish mumkin?
Men izlanishlarimni davom ettiraman, lekin hozir siz olgan ko'rsatkichdan mamnun bo'lsangiz, nazoratchini yig'amiz.
7 -qadam: uni to'plang
Menda Moskva fablab (fablab77.ru) va ularning lazer kesgichi bor edi va men minnatdorman. Bu imkoniyat menga kerakli o'lchamdagi qutilarni (h = 69 l = 66 d = 42 mm) yaratadigan plagin yordamida bir marta bosish orqali yaratilgan yaxshi paketni yaratishga imkon berdi. Led va kalit uchun tepada ikkita teshik (diametri = 5 mm) va dasturlash pinlari uchun yon tomonda bitta teshik bor. Men transformatorni ikkita yog'och bo'lagi va PCBni ikkita vint bilan mahkamladim. Men terminal blokini simlarga va tenglikka lehimladim, transformator va tenglikni quvvat manbai orasidagi kalitni qo'shdim, PBO ga qarshilik (300 Ohm) ketma -ket ulanganman. Bundan tashqari, elektr izolyatsiyasi uchun lak ishlatardim. Oxirgi sinovdan so'ng, men qutini yopishtirdim. Bo'ldi shu.
Tavsiya:
CCTV kanalini boshqaruvchi - Raspberry Pi: 3 qadam
CCTV kanalini boshqaruvchi - Raspberry Pi: Hammaga salom, Scientify Inc tomonidan ko'rsatiladigan boshqa ko'rsatmaga xush kelibsiz! Bu loyiha ketma -ket ikkita tasvir orasidagi o'rtacha o'rtacha kvadrat (RMS) farqli o'laroq, harakatni sezish yordamida CCTV kamerasi yozib oladigan narsalarni optimallashtiradi. Bu CCTV kanalini yaratishga yordam beradi
Arduino klaviaturasi Joystick kengaytirgich qutisi va Deej yordamida ovozni boshqaruvchi narsa: 8 qadam
Arduino klaviaturasi Joystick kengaytirgichi va ovozni boshqaruvchi Deej -dan foydalanadigan narsa: Nega men bir muncha vaqt klaviaturaga interfeys elementlari yoki o'yinlar va simulyatorlardagi boshqa kichik vazifalarni boshqarish uchun kichik joystik qo'shishni xohlardim (MS Flight Sim, Elite: Xavfli, Yulduzli urushlar: eskadronlar va boshqalar). Shuningdek, Elita uchun: Xavfli, men
Uyda tayyorlangan Peltier sovutgichi / Sovutgich, haroratni boshqaruvchi DIY: 6 qadam (rasmlar bilan)
Uy qurilishi Peltier sovutgichi / Sovutgich, haroratni nazorat qilish moslamasi DIY: W1209 haroratni nazorat qilish moslamasi yordamida uy qurilishi termoelektrik Peltier sovutgichi / mini muzlatgichni DIY qilish. Bu TEC1-12706 moduli va Peltier effekti mukammal DIY sovutgichini yaratadi
WiFi yoqilgan haroratni boshqaruvchi aqlli vilka: 4 qadam
Wi -Fi yoqilgan haroratni boshqaradigan aqlli vilka: Ushbu yo'riqnomada biz og'ir yuk ko'tarish uchun oddiy ESP8266 va DHT11 harorat/namlik sensori yordamida WiFi bilan ishlaydigan harorat o'lchagichini qanday qurishni ko'rib chiqamiz. Biz, shuningdek, men yaratgan elektron platadan foydalanamiz va men
SMD Skillet Reflow uchun IQ haroratni boshqaruvchi: 4 qadam
SMD Skillet Reflow uchun IQ haroratni nazorat qilish moslamasi: agar siz SMD (sirtga o'rnatish moslamasi) yordamida o'z elektron platalaringizni qayta oqimga o'tkazmoqchi bo'lsangiz, bu ko'rsatma yordam beradi. Bir nechta taxtalarni qo'lda lehimlagandan so'ng, men o'zimni qiziqtira boshladim