Orodha ya maudhui:

Mdhibiti wa Joto la PID: Hatua 7
Mdhibiti wa Joto la PID: Hatua 7

Video: Mdhibiti wa Joto la PID: Hatua 7

Video: Mdhibiti wa Joto la PID: Hatua 7
Video: Почему задувает котёл и тухнет. 8 причин 2024, Novemba
Anonim
Mdhibiti wa Joto la PID
Mdhibiti wa Joto la PID

Rafiki yangu anaunda extruder ya plastiki ya kuchakata tena plastiki (https://preciousplastic.com). Anahitaji kudhibiti joto la extrusion. Kwa kusudi hilo anatumia bendi ya hita ya bomba. Katika bomba hili, kuna thermocouple na kitengo cha kupokanzwa ambacho kinaturuhusu kupima joto na mwishowe tufikie joto linalotakiwa (tengeneza kitanzi cha kurudisha nyuma).

Niliposikia kwamba alihitaji kwa watawala kadhaa wa PID kudhibiti bendi zote za hita za bomba, mara moja ilinipa hamu ya kujaribu kutengeneza yetu.

Hatua ya 1: Zana na Nyenzo

Zana

  • chuma cha kutengeneza, waya ya solder na mtiririko
  • tweezer
  • mashine ya kusaga (kuchora kemikali pia inawezekana kwa prototyping ya PCB) (unaweza pia kuagiza PCB na faili yangu ya tai)
  • kipima joto (kwa usawazishaji)
  • arduino (aina yoyote) au programu ya AVR
  • FTDI serial TTL-232 kebo ya USB
  • laser cutter (hiari)
  • multimeter (ohmmeter na voltmeter)

Nyenzo

  • Sahani moja ya shaba ya Bakelite (60 * 35 mm kiwango cha chini) (Niliharibu msumeno wangu nikinunua glasi ya nyuzi moja kwa hivyo kuwa mwangalifu: Bakelite)
  • Mdhibiti mdogo wa Att45
  • Mdhibiti wa voltage ya LM2940IMP-5
  • AD8605 amplifier ya kazi
  • NDS356AP transistor
  • kikundi cha vipinga na capacitors (nina kitabu cha SMT 0603 cha matunda)
  • 230V-9V ac-dc transformer
  • 1N4004 diode
  • relay ya hali ngumu
  • msumari msumari (hiari)

Hatua ya 2: Tengeneza PCB

Gharama ya PCB
Gharama ya PCB
Gharama ya PCB
Gharama ya PCB
Gharama ya PCB
Gharama ya PCB

Nilitumia Proxxon MF70 CNC yangu iliyobadilishwa na mwisho mdogo wa kumaliza PCB. Nadhani mwisho wowote wa kuchora utafanya kazi. Faili ya Gcode ilitengenezwa moja kwa moja na tai na programu-jalizi ya pcb-gcode. Kupita tatu tu ambapo hufanywa ili kuhakikisha kujitenga kwa njia nzuri lakini bila kutumia masaa kusaga shaba yote. Wakati PCB ilipotoka kwenye mashine ya CNC, nilisafisha njia na mkataji na nikawajaribu kwa multimeter.

Vigezo: kiwango cha kulisha 150mm / min, kina 0.2mm, kasi ya kuzunguka 20'000 t / min

Hatua ya 3: Solder the Components

Solder Vipengele
Solder Vipengele

Ukiwa na kibano na chuma cha kuuzia, weka vifaa mahali pazuri na uitengeneze kwa kutumia mtiririko (inasaidia) na kuanza na vitu vidogo zaidi. Tena, angalia na multimeter kuwa huna mizunguko fupi au vitu visivyounganishwa.

Unaweza kuchagua faida ya kipaza sauti kwa kuchagua kipinga unachotaka (faida = (R3 + R4) / R4). Nilichukua 1M na 2.7k kwa hivyo katika faida yangu faida sawa takriban 371. Siwezi kujua thamani halisi kwa sababu ninatumia kipinga uvumilivu wa 5%.

Thermocouple yangu ni aina ya J. Inamaanisha kuwa inatoa 0.05mV kwa kila digrii. Kwa faida ya 371, ninapata 18.5mV kwa digrii kutoka kwa pato la kipaza sauti (0.05 * 371). Nataka kupima karibu 200 ° C ili pato la amplifier liwe karibu 3.7V (0.0185 * 200). Matokeo hayapaswi kuzidi 5V kwa sababu ninatumia voltage ya kumbukumbu ya 5V (nje).

Picha hiyo inalingana na toleo la kwanza (halifanyi kazi) nililotengeneza lakini kanuni hiyo ni sawa. Katika toleo hili la kwanza, nilitumia relay na kuiweka katikati ya bodi. Mara tu nilipokuwa nikibadilisha na voltage kubwa, nilikuwa na spikes ambao walifanya kidhibiti kuwasha tena.

Hatua ya 4: Panga Mdhibiti Mdogo

Mpango wa Mdhibiti Mdogo
Mpango wa Mdhibiti Mdogo

Kutumia arduino kama ilivyo kwenye mafundisho haya: https://www.instructables.com/id/How-to-Program-a ……. unaweza kupakia nambari hiyo.

Nilitumia trinket ya pro na kebo ya FTDI-USB kupanga Attiny 45 lakini njia hii ni sawa. Kisha nikaunganisha pini PB1 na GDN moja kwa moja kwenye RX na GND ya kebo ya FTDI-USB kupokea data ya serial na kuweza kutatua.

Unapaswa kuweka vigezo vyote kwa sifuri (P = 0, I = 0, D = 0, K = 0) kwenye mchoro wa arduino. Zitawekwa wakati wa hatua ya kuweka.

Ikiwa hauoni moshi au harufu imechomwa, unaweza kuruka hatua inayofuata!

Hatua ya 5: Kukusanyika na Upimaji

Kukusanyika na Kusawazisha
Kukusanyika na Kusawazisha
Kukusanyika na Kusawazisha
Kukusanyika na Kusawazisha

Tahadhari: Kamwe kuziba usambazaji wa umeme na 5V kutoka kwa programu kwa wakati mmoja! Vinginevyo utaona moshi niliokuwa nikichukua katika hatua ya awali. Ikiwa huna uhakika wa kuheshimu hiyo, unaweza tu kuondoa pini 5v kwa programu. Niliiacha kwa sababu ilikuwa rahisi zaidi kwangu kupanga kidhibiti bila usambazaji wa umeme na kujaribu kidhibiti bila kuwa na hita inapokanzwa kama wazimu mbele ya uso wangu.

Sasa unaweza tawi la thermocouple kwenye kipaza sauti na uone ikiwa unapima kitu (heshimu polarity). Ikiwa mfumo wako wa kupokanzwa uko kwenye joto la kawaida, unapaswa kupima sifuri. Inapokanzwa kwa mkono inapaswa tayari kusababisha maadili kadhaa madogo.

Jinsi ya kusoma maadili haya? Ingiza tu pini PB1 na GDN moja kwa moja kwenye RX na GND ya kebo ya FTDI-USB na ufungue mfuatiliaji wa serial wa arduino.

Mdhibiti anapoanza, hutuma thamani nyekundu na kipima joto cha ndani cha chip. Hivi ndivyo ninavyolipa joto (bila kutumia chip iliyojitolea). Inamaanisha kuwa ikiwa hali ya joto inabadilika wakati wa operesheni, haitazingatiwa. Thamani hii ni tofauti sana kutoka kwa chip moja hadi nyingine kwa hivyo inapaswa kuingizwa kwa mikono katika ufafanuzi wa UFUNZO WA MAFUNZO mwanzoni mwa mchoro.

Kabla ya kuunganisha relay ya hali ngumu, thibitisha kuwa pato la voltage liko katika anuwai inayoungwa mkono na relay yako (3V hadi 25V kwa upande wangu, mzunguko unazalisha karibu 11V). (heshima polarity)

Maadili haya sio joto kwa kiwango au Fahrenheit lakini ni matokeo ya analojia kwa ubadilishaji wa dijiti kwa hivyo hutofautiana kati ya 0 na 1024. Ninatumia voltage ya rejeleo ya 5V kwa hivyo wakati pato la kipaza sauti liko karibu na 5V, matokeo ya uongofu iko karibu na 1024.

Hatua ya 6: PID Tuning

Kuweka PID
Kuweka PID

Ninahitaji kutaja kuwa mimi sio mtaalam wa kudhibiti, kwa hivyo nilipata vigezo ambavyo vinanifanyia kazi lakini sihakikishi kuwa inafanya kazi kwa kila mtu.

Kwanza kabisa, lazima nieleze kile programu inafanya. Nilitekeleza aina ya programu PWM: kaunta imeongezwa katika kila upigaji hadi ifike 20'000 (katika hali hiyo imewekwa upya kuwa 0). Kuchelewesha kunapunguza kitanzi hadi millisecond. Wenye busara zaidi kati yetu wataona kuwa kipindi cha kudhibiti ni karibu sekunde 20. Kila kitanzi huanza na kulinganisha kati ya kaunta na kizingiti. Ikiwa kaunta iko chini kuliko kizingiti, basi nazima relay mbali. Ikiwa ni kubwa, ninaiwasha. Kwa hivyo mimi hudhibiti nguvu kwa kuweka kizingiti. Hesabu ya kizingiti hufanyika kila sekunde.

Mdhibiti wa PID ni nini?

Unapotaka kudhibiti mchakato, una thamani unayopima (analogData), thamani unayotaka kufikia (tempCommand) na njia ya kurekebisha hali ya mchakato huo (seuil). Kwa upande wangu inafanywa na kizingiti ("seuil" kwa Kifaransa lakini ni rahisi sana kuandika na kutamka (tamka "sey")) ambayo huamua swichi itakaa na kuzima kwa muda gani (mzunguko wa ushuru) kwa hivyo kiwango cha nishati weka kwenye mfumo.

Kila mtu anakubali kwamba ikiwa uko mbali na hatua unayotaka kufikia, unaweza kufanya marekebisho makubwa na ikiwa uko karibu, marekebisho madogo yanahitajika. Inamaanisha kuwa marekebisho ni kazi ya kosa (makosa = analogData-tempComand). Ndio lakini ni kiasi gani? Wacha tuseme kwamba tunazidisha kosa kwa sababu (P). Huyu ni mtawala sawia. Mitambo chemchemi hufanya marekebisho sawia kwa sababu nguvu ya chemchemi ni sawa na ukandamizaji wa chemchemi.

Labda unajua kuwa kusimamishwa kwa gari lako kunajumuisha chemchemi na damper (mshtuko wa mshtuko). Jukumu la damper hii ni kuzuia gari lako kuongezeka kama trampoline. Hivi ndivyo neno linalotokana na neno hufanya. Kama damper, hutoa athari ambayo ni sawa na tofauti ya makosa. Ikiwa kosa linabadilika haraka, marekebisho hupunguzwa. Inapunguza oscillations na overhoots.

Neno la ujumuishaji liko hapa kuepusha kosa la kudumu (linaunganisha kosa). Kwa kweli, ni kaunta ambayo imeongezwa au kupunguzwa ikiwa kosa ni chanya au hasi. Kisha marekebisho yanaongezwa au kupunguzwa kulingana na kaunta hii. Haina usawa wa mitambo (au una wazo?). Labda kuna athari sawa wakati unaleta gari lako kwenye huduma na taarifa ya fundi kuwa majanga ni ya chini sana na huamua kuongeza upakiaji mwingine zaidi.

Yote haya yamefupishwa katika fomula: marekebisho = P * e (t) + I * (de (t) / dt) + D * muhimu (e (t) dt), P, I na D kuwa vigezo vitatu ambavyo vina kuwa tuned.

Katika toleo langu niliongeza neno la nne ambalo ni amri ya "a priori" (feed forward) inayohitajika kudumisha halijoto fulani. Nilichagua amri sawia kwa joto (ni makadirio mazuri ya upotezaji wa joto. Ni kweli ikiwa tutapuuza upotezaji wa mionzi (T ^ 4)). Kwa neno hili, kiunganishi hakina wepesi.

Jinsi ya kupata vigezo hivi?

Nilijaribu njia ya kawaida ambayo unaweza kupata kwa kugonga "pid tuning joto la kudhibiti" lakini niliona kuwa ngumu kutumia na kuishia na njia yangu mwenyewe.

Njia yangu

Kwanza weka P, I, D hadi sifuri na uweke "K" na "tempCommand" kwa maadili madogo (kwa mfano K = 1 na tempCommand = 100). Washa mfumo na subiri, subiri, subiri hadi joto litulie. Kwa wakati huu unajua kuwa na "seuil" ya 1 * 100 = 100, joto huwa X. Kwa hivyo unajua kuwa kwa amri ya 100/20000 = 5% unaweza kufikia X. Lakini lengo ni kufikia 100 kwa sababu ni "tempCommand". Kutumia sehemu unaweza kuhesabu K ili kufikia 100 (tempCommand). Kwa tahadhari nilitumia thamani ndogo kuliko ile iliyohesabiwa. Hakika ni rahisi kupokanzwa zaidi kuliko kupoa. Kwa hivyo hatimaye

Kfinal = K * tempCommand * 0.9 / X

Sasa unapoanza kidhibiti, inapaswa kawaida kuwa na joto unalotaka lakini ni mchakato polepole kwa sababu unalipa tu hasara za kupokanzwa. Ikiwa unataka kwenda kutoka joto moja hadi nyingine, idadi ya nishati ya mafuta inapaswa kuongezwa katika mfumo. P huamua ni kiwango gani unaweka nishati kwenye mfumo. Weka P kwa thamani ndogo (kwa mfano P = 10). Jaribu kuanza (karibu) baridi. Ikiwa huna suti kubwa, jaribu na maradufu (P = 20) ikiwa sasa una jaribu kitu katikati. Ikiwa una 5% overhoot, ni vizuri.

Sasa ongeza D hadi usiwe na overhoot. (majaribio kila wakati, najua hii sio sayansi) (nilichukua D = 100)

Kisha ongeza I = P ^ 2 / (4 * D) (Inategemea njia ya Ziegler-Nicholts, inapaswa kuhakikisha utulivu) (kwangu I = 1)

Kwa nini majaribio haya yote, kwa nini sio sayansi?

Najua… najua! Kuna nadharia kubwa na unaweza kuhesabu kazi ya kuhamisha na Z kubadilisha na blablabla. Nilitaka kuzalisha kuruka kwa umoja na kisha kurekodi kwa dakika 10 majibu na kuandika kazi ya kuhamisha na kisha nini? Sitaki kufanya hesabu na maneno 200. Kwa hivyo ikiwa mtu yeyote ana wazo, ningefurahi kujifunza jinsi ya kufanya hivyo vizuri.

Pia nilifikiria marafiki wangu bora Ziegler na Nichols. Waliniambia nipate P inayozalisha oscillations na kisha utumie njia yao. Sijawahi kupata haya oscillations. Kitu pekee nilichogundua ilikuwa oooooooovershoot kwenda mbinguni.

Na jinsi ya kuonyesha ukweli kwamba inapokanzwa sio mchakato sawa na baridi?

Nitaendelea na utafiti wangu lakini sasa wacha kifurushi cha mdhibiti wako ikiwa unafurahiya utendaji unaopata.

Hatua ya 7: Pakiti

Pakia
Pakia
Pakia
Pakia
Pakia
Pakia
Pakia
Pakia

Nilipata ufikiaji wa kitambaa cha Moscow (fablab77.ru) na mkataji wao wa laser na ninashukuru. Fursa hii iliniruhusu kutengeneza kifurushi kizuri kilichozalishwa kwa mbofyo mmoja na programu-jalizi ambaye hufanya masanduku ya vipimo vilivyotafutwa (h = 69 l = 66 d = 42 mm). Kuna mashimo mawili (kipenyo = 5mm) juu kwa iliyoongozwa na swichi na kipande kimoja upande wa pini za programu. Nilihakikisha transformer na vipande viwili vya kuni na PCB na screw mbili. Niliuza block ya terminal kwa waya na kwa PCB, niliongeza swichi kati ya transformer na pembejeo ya nguvu ya PCB, niliunganisha iliyoongozwa kwa PBO na kipinga (300 Ohms) mfululizo. Nilitumia pia polisi ya kucha kwa kuhami umeme. Baada ya mtihani wa mwisho, niliunganisha sanduku. Hiyo ndio.

Ilipendekeza: