Mündəricat:

PID İstilik Nəzarətçisi: 7 addım
PID İstilik Nəzarətçisi: 7 addım

Video: PID İstilik Nəzarətçisi: 7 addım

Video: PID İstilik Nəzarətçisi: 7 addım
Video: AMEA ÜÇÜN MÖCÜLLÜ DIY İDEYA! MƏN ƏVVƏL BİLƏRDİM - DƏRHAL ETDİM ! 2024, Iyul
Anonim
PID İstilik Nəzarətçisi
PID İstilik Nəzarətçisi

Dostum plastik geri dönüşüm üçün plastik bir ekstruder qurur (https://preciousplastic.com). Ekstrüzyon temperaturunu nəzarət etməlidir. Bu məqsədlə bir qızdırıcı bant istifadə edir. Bu nozzle, temperaturu ölçməyə və nəhayət istədiyiniz temperatura çatmağa imkan verən bir termokupl və bir qızdırıcı qurğu var (geriyə dönmə düzəldin).

Bütün bu nozzle qızdırıcı bantlarını idarə etmək üçün bir neçə PID nəzarətçisinə ehtiyacı olduğunu eşitdiyim zaman, dərhal özümüzü düzəltmək istəyimi verdi.

Addım 1: Alətlər və Material

Alətlər

  • lehimləmə dəmiri, lehim teli və axını
  • cımbız
  • freze maşını (PCB prototiplənməsi üçün kimyəvi aşındırma da mümkündür) (PCB -ni kartal sənədimlə də sifariş edə bilərsiniz)
  • termometr (kalibrləmə üçün)
  • arduino (istənilən növ) və ya AVR proqramçısı
  • FTDI seriyalı TTL-232 USB kabeli
  • lazer kəsici (isteğe bağlı)
  • multimetr (ohmmetre və voltmetr)

Material

  • Bakelit tək tərəfli mis lövhə (minimum 60*35 mm) (fiberglas alarkən mişarımı xarab etdim, buna görə diqqətli olun: Bakelit)
  • Attiny45 mikro nəzarətçi
  • LM2940IMP-5 gərginlik tənzimləyicisi
  • AD8605 əməliyyat gücləndiricisi
  • NDS356AP tranzistor
  • bir dəstə rezistor və kondansatör (SMT 0603 adafruit kitabım var)
  • 230V-9V ac-dc transformator
  • 1N4004 diodları
  • bərk hal rölesi
  • dırnaq boyası (isteğe bağlı)

Addım 2: PCB -ni kəsin

PCB -ni kəsin
PCB -ni kəsin
PCB -ni kəsin
PCB -ni kəsin
PCB -ni kəsin
PCB -ni kəsin

PCB -ni freze etmək üçün dəyişdirilmiş Proxxon MF70 CNC və konik ucunu istifadə etdim. Hər hansı bir oyma ucunun işləyəcəyini düşünürəm. Gcode faylı birbaşa kartal və pcb-gcode plugin tərəfindən yaradılmışdır. Yaxşı bir marşrut ayrılmasını təmin etmək üçün yalnız üç keçid, ancaq bütün misin dəyirmanına saat sərf etmədən. PCB CNC maşınından çıxanda marşrutları bir kəsici ilə təmizlədim və multimetrlə sınadım.

Parametrlər: qidalanma sürəti 150mm/dəq, dərinlik 0.2mm, fırlanma sürəti 20'000 t/dəq

Addım 3: Komponentləri lehimləyin

Komponentləri lehimləyin
Komponentləri lehimləyin

Cımbız və lehimləmə dəmiri ilə komponentləri doğru yerlərə qoyun və axını istifadə edərək lehimləyin (kömək edir) və ən kiçik komponentlərdən başlayaraq. Yenə bir multimetre ilə yoxlayın ki, heç bir qısa dövrə və ya əlaqəsiz elementləriniz yoxdur.

İstədiyiniz rezistoru seçərək gücləndirici qazancını seçə bilərsiniz (mənfəət = (R3+R4)/R4). 1M və 2.7k aldım, buna görə mənim vəziyyətimdə qazanc təxminən 371 -ə bərabərdir. 5% tolerantlıq rezistoru istifadə etdiyim üçün dəqiq dəyəri bilmirəm.

Termokuplüm J tipidir. Bu, hər dərəcə üçün 0,05mV verməsi deməkdir. 371 qazancla, gücləndirici çıxışından dərəcə başına 18.5mV alıram (0.05*371). Təxminən 200 ° C ölçmək istəyirəm ki, gücləndiricinin çıxışı 3.7V (0.0185*200) civarında olsun. Nəticə 5V -dən çox olmamalıdır, çünki 5V istinad gərginliyini (xarici) istifadə edirəm.

Şəkil hazırladığım ilk (işləməyən) versiyaya uyğundur, amma prinsip eynidir. Bu ilk versiyada bir röleyi istifadə etdim və lövhənin ortasına qoydum. Yüksək gərginliklə keçdiyim anda, nəzarətçini yenidən başlatan sünbüllərim oldu.

Addım 4: Mikro nəzarətçini proqramlaşdırın

Mikro nəzarətçini proqramlaşdırın
Mikro nəzarətçini proqramlaşdırın

Bu təlimatlarda olduğu kimi bir arduino istifadə edərək: https://www.instructables.com/id/How-to-Program-a… kodu yükləyə bilərsiniz.

Attiny 45-i proqramlaşdırmaq üçün FTDI-USB kabeli olan bir biblodan istifadə etdim, amma bu üsul ekvivalentdir. Sonra PB1 və GDN pinini FTDI-USB kabelinin RX və GND-nə birbaşa bağladım və serial məlumatlarını ala bildim.

Arduino eskizində bütün parametrləri sıfıra qoymalısınız (P = 0, I = 0, D = 0, K = 0). Ayarlama mərhələsində onlar qurulacaq.

Tüstü və ya yandırılmış qoxu görmürsənsə, növbəti addıma keçə bilərsən!

Addım 5: Montaj və Kalibrləmə

Montaj və Kalibrləmə
Montaj və Kalibrləmə
Montaj və Kalibrləmə
Montaj və Kalibrləmə

Diqqət: Proqramçıdan heç vaxt enerji təchizatı və 5V -u bağlamayın! Əks halda əvvəlki addımda çəkdiyim tüstünü görəcəksiniz. Buna hörmət edə biləcəyinizdən əmin deyilsinizsə, proqramçı üçün 5v pinini silə bilərsiniz. Buna icazə verdim, çünki idarəedicini elektrik təchizatı olmadan proqramlaşdırmaq və qızdırıcının qızdırıcısı olmadan dəli kimi sındırmaq mənim üçün daha əlverişli idi.

İndi gücləndiricinin üzərindəki termokuplunu dallaya bilərsiniz və bir şey ölçüb -biçmədiyinizi görə bilərsiniz (polariteye hörmət edin). Isıtma sisteminiz otaq temperaturundadırsa, sıfır ölçməlisiniz. Əl ilə qızdırmaq onsuz da bəzi kiçik dəyərlərə səbəb olmalıdır.

Bu dəyərləri necə oxumaq olar? Sadəcə PB1 və GDN sancaqlarını FTDI-USB kabelinin RX və GND-nə qoşun və arduino serial monitorunu açın.

Nəzarətçi başladıqda, çipin daxili termometri ilə qırmızı dəyəri göndərir. İstiliyi bu şəkildə kompensasiya edirəm (xüsusi bir çip istifadə etmədən). Bu o deməkdir ki, əməliyyat zamanı temperatur dəyişərsə, bu nəzərə alınmayacaq. Bu dəyər bir çipdən digərinə çox fərqlidir, buna görə eskizin əvvəlində REFTEMPERATURE tərifinə əl ilə daxil edilməlidir.

Qatı hal rölesini bağlamadan əvvəl, gerilim çıxışının röliniz tərəfindən dəstəklənən diapazonda olduğunu yoxlayın (mənim vəziyyətimdə 3V -25V, dövrə 11V ətrafında yaranır). (polariteye hörmət edin)

Bu dəyərlər dərəcə və ya Fahrenheitdəki temperatur deyil, analoqdan rəqəmsal çevrilmənin nəticəsidir, buna görə də 0 ilə 1024 arasında dəyişirlər. 5V istinad gərginliyini istifadə edirəm, buna görə gücləndirici çıxışı 5V -ə yaxın olduqda, dönüşüm nəticəsi 1024 -ə yaxındır.

Addım 6: PID tənzimlənməsi

PID tənzimlənməsi
PID tənzimlənməsi

Nəzarət mütəxəssisi olmadığımı qeyd etməliyəm, buna görə də mənim üçün işləyən bəzi parametrlər tapdım, amma hər kəs üçün işlədiyinə zəmanət vermirəm.

Əvvəlcə proqramın nə etdiyini izah etməliyəm. Bir növ PWM proqramı tətbiq etdim: 20'000 -ə çatana qədər hər bir iterasiyada sayğac artırılır (bu halda 0 -a sıfırlanır). Gecikmə döngəni milisaniyəyə qədər yavaşlatır. Ən ağıllı adamımız, nəzarət müddətinin təxminən 20 saniyə olduğunu fərq edəcək. Hər bir döngə sayğac və eşik arasındakı müqayisə ilə başlayır. Sayğac eşikdən aşağıdırsa, röleyi söndürürəm. Daha böyükdürsə açaram. Buna görə həddi təyin edərək gücü tənzimləyirəm. Eşik hesablanması hər saniyədə baş verir.

PID nəzarətçisi nədir?

Bir prosesi idarə etmək istədiyiniz zaman ölçdüyünüz dəyərə (analogData), çatmaq istədiyiniz dəyərə (tempCommand) və bu prosesin vəziyyətini dəyişdirmək yoluna (seuil) sahibsiniz. Mənim vəziyyətimdə, bu, keçidin nə qədər açılacağını (vəzifə dövrü) və beləliklə enerji miqdarını təyin edən (Fransız dilində "seuil", lakin yazmaq və tələffüz etmək ("sey" tələffüz etmək) daha asandır) ilə edilir. sistemə daxil edin.

Hamı razıdır ki, çatmaq istədiyiniz nöqtədən uzaq olsanız, böyük bir düzəliş edə bilərsiniz və yaxınsınızsa, kiçik bir düzəlişə ehtiyacınız var. Bu o deməkdir ki, düzəliş xətanın funksiyasıdır (səhv = analogData-tempComand). Bəli amma nə qədər? Tutaq ki, xətanı faktorla (P) vururuq. Bu nisbi nəzarətçidir. Mexaniki olaraq bir yay proporsional düzəliş edir, çünki yay qüvvəsi yay sıxılmasına mütənasibdir.

Yəqin bilirsiniz ki, avtomobil süspansiyonlarınız yay və damperdən (amortizator) ibarətdir. Bu damperin rolu, avtomobilinizin trambolin kimi geri dönməsinin qarşısını almaqdır. Törəm termininin etdiyi şey budur. Damper olaraq, səhv dəyişikliyi ilə mütənasib bir reaksiya yaradır. Səhv tez dəyişirsə, düzəliş aşağı salınır. Salınımları və aşınmaları azaldır.

İnteqratator termini daimi xətanın qarşısını almaq üçün buradadır (xətanı birləşdirir). Konkret olaraq, səhvin müsbət və ya mənfi olması halında artan və ya azalan bir sayğacdır. Sonra bu sayğaca görə düzəliş artırılır və ya endirilir. Mexanik ekvivalentliyi yoxdur (və ya bir fikriniz varmı?). Avtomobilinizi xidmətə gətirdiyinizdə və mexaniki zərbələrin sistematik olaraq çox aşağı olduğunu və bir az daha ön yükləmə qərarı verdiyiniz zaman bənzər bir təsir ola bilər.

Bütün bunlar düsturda ümumiləşdirilir: düzəliş = P*e (t)+I*(de (t)/dt)+D*inteqral (e (t) dt), P, I və D üç parametrə malikdir tənzimlənmək.

Versiyamda, müəyyən bir temperaturun saxlanması üçün lazım olan "a priori" (irəli ötürmə) əmri olan dördüncü bir termin əlavə etdim. İstiliyə nisbətli bir əmr seçdim (bu, istilik itkilərinin yaxşı bir yaxınlaşmasıdır. Radiasiya itkilərinə laqeyd yanaşsaq doğrudur (T^4)). Bu termin ilə inteqrator yüngülləşir.

Bu parametrləri necə tapmaq olar?

"Pid tuning temperatur tənzimləyicisini" googling edərək tapa biləcəyiniz adi bir üsul sınadım, amma tətbiq etməkdə çətinlik çəkdim və öz metodumla başa çatdı.

Mənim metodum

Əvvəlcə P, I, D sıfıra qoyun və "K" və "tempCommand" ı kiçik dəyərlərə qoyun (məsələn K = 1 və tempCommand = 100). Sistemi yandırın və temperatur sabitləşənə qədər gözləyin, gözləyin, gözləyin … Bu nöqtədə bilirsiniz ki, 1*100 = 100 olan "seuil" ilə temperatur X -ə meyl edir. Yəni 100/20000 = 5% əmri ilə X -ə çata biləcəyinizi bilirsiniz. Ancaq məqsəd 100 -ə çatmaqdır. çünki "tempCommand" dır. Bir nisbətdən istifadə edərək 100 -ə (tempCommand) çatmaq üçün K hesablaya bilərsiniz. Ehtiyatla hesabladığımdan daha kiçik bir dəyər istifadə etdim. Əslində soyumaqdan daha çox qızdırmaq daha asandır. Nəhayət

Kfinal = K*tempCommand*0.9/X

İndi nəzarətçini işə saldığınızda, təbii olaraq istədiyiniz temperatura meyl etməlidir, amma bu, çox yavaş bir prosesdir, çünki yalnız istilik itkilərini kompensasiya edirsiniz. Bir temperaturdan digərinə keçmək istəyirsinizsə, sistemə bir miqdar istilik enerjisi əlavə edilməlidir. P, enerjini sistemə hansı sürətlə qoyduğunuzu təyin edir. P -ni kiçik bir dəyərə qoyun (məsələn, P = 10). (Demək olar ki) soyuq bir başlanğıc edin. Böyük bir aşımınız yoxdursa, ikiqatla sınayın (P = 20), indi aranızda bir şey varsa. 5% üstələyirsənsə yaxşıdır.

Artıq vuruş etməyincə D -ni artırın. (həmişə sınaqlar, bilirəm ki, bu elm deyil) (D = 100 aldım)

Sonra I = P^2/(4*D) əlavə edin (Ziegler-Nicholts metoduna əsaslanır, sabitliyi təmin etməlidir) (mənim üçün I = 1)

Niyə bütün bu sınaqlar, niyə elm deyil?

Bilirəm … Bilirəm! Böyük bir nəzəriyyə var və transfer funksiyasını və Z çevrilməsini və blablabla hesablaya bilərsiniz. Vahid bir sıçrayış yaratmaq və sonra reaksiyanı 10 dəqiqə qeyd etmək və transfer funksiyasını yazmaq istədim, sonra nə? 200 terminlə arifmetik etmək istəmirəm. Kimin bir fikri varsa, bunu necə düzgün etməyi öyrənməkdən məmnun olaram.

Ən yaxşı dostlarım Ziegler və Nichols haqqında da düşündüm. Mənə titrəmələr yaradan bir P tapmağımı və sonra metodlarını tətbiq etməyimi söylədilər. Bu titrəmələri heç vaxt tapmamışam. Tapdığım yeganə şey göyə bir oooooooovershoot idi.

İstiliyin soyutma ilə eyni proses olmadığını necə modelləşdirmək olar?

Tədqiqatımı davam etdirəcəyəm, ancaq əldə etdiyiniz performansdan məmnunsunuzsa, indi nəzarətçinizi qablaşdıraq.

Addım 7: Paketləyin

Qablaşdırın
Qablaşdırın
Qablaşdırın
Qablaşdırın
Qablaşdırın
Qablaşdırın
Qablaşdırın
Qablaşdırın

Moskva fablabına (fablab77.ru) və onların lazer kəsicisinə daxil oldum və minnətdaram. Bu fürsət, axtarılan ölçüləri (h = 69 l = 66 d = 42 mm) hazırlayan bir plagin tərəfindən bir kliklə yaranan gözəl bir paket hazırlamağa imkan verdi. Led və açar üçün yuxarıda iki deşik (diametr = 5 mm) və proqramlaşdırma sancaqları üçün yan tərəfdə bir yarıq var. Transformatoru iki taxta parçası və PCB -ni iki vida ilə bərkidim. Terminal blokunu tellərə və PCB -yə lehimlədim, transformatorla PCB güc girişi arasındakı keçidi əlavə etdim, PBO -ya bir rezistorla (300 Ohm) ardıcıl olaraq bağladım. Elektrik izolyasiyası üçün dırnaq boyasından da istifadə etdim. Son testdən sonra qutunu yapışdırdım. Bu belədir.

Tövsiyə: