Բովանդակություն:
- Քայլ 1: Գործիքներ և նյութեր
- Քայլ 2. Կպցրեք PCB- ն
- Քայլ 3: erոդեք բաղադրիչները
- Քայլ 4: Programրագրավորեք միկրոկառավարիչը
- Քայլ 5: Հավաքում և չափաբերում
- Քայլ 6: PID- ի կարգավորում
- Քայլ 7: Փաթեթավորեք այն
Video: PID ջերմաստիճանի վերահսկիչ `7 քայլ
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:50
Իմ ընկերը պլաստմասե էքստրուդեր է կառուցում պլաստիկի վերամշակման համար (https://preciousplastic.com): Նա պետք է վերահսկի արտամղման ջերմաստիճանը: Այդ նպատակով նա օգտագործում է վարդակ տաքացուցիչի ժապավենը: Այս վարդակում կա ջերմատիպ և ջեռուցման միավոր, որոնք թույլ են տալիս մեզ չափել ջերմաստիճանը և վերջապես հասնել ցանկալի ջերմաստիճանին (հետադարձ կապ կատարել):
Երբ ես լսեցի, որ նրան անհրաժեշտ է մի քանի PID կարգավարներ, որոնք պետք է վերահսկեն վարդակների տաքացուցիչի այս բոլոր ժապավենները, դա ինձ անմիջապես ցանկություն տվեց `փորձել ինքներս պատրաստել:
Քայլ 1: Գործիքներ և նյութեր
Գործիքներ
- soldոդման երկաթ, զոդման մետաղալարեր և հոսք
- պինցետ
- ֆրեզերային հաստոց (քիմիական փորագրումը հնարավոր է նաև PCB- ի նախատիպավորման համար) (կարող եք նաև պատվիրել PCB- ն իմ արծվի ֆայլով)
- ջերմաչափ (չափման համար)
- arduino (ցանկացած տեսակի) կամ AVR ծրագրավորող
- FTDI սերիական TTL-232 USB մալուխ
- լազերային կտրիչ (ըստ ցանկության)
- բազմաչափ (օմմետր և վոլտմետր)
Նյութական
- Bakelite- ի միակողմանի պղնձե ափսե (նվազագույնը 60*35 մմ) (ես քայքայեցի իմ սղոցը `ապակեպլաստե ապրանքը գնելուց, այնպես որ զգույշ եղեք. Bakelite)
- Attiny45 միկրոկոնտրոլեր
- LM2940IMP-5 լարման կարգավորիչ
- AD8605 գործառնական ուժեղացուցիչ
- NDS356AP տրանզիստոր
- մի փունջ դիմադրիչներ և կոնդենսատորներ (ես ունեմ SMT 0603 adafruit գիրքը)
- 230V-9V AC-DC տրանսֆորմատոր
- 1N4004 դիոդներ
- պինդ վիճակի ռելե
- եղունգների լաք (ըստ ցանկության)
Քայլ 2. Կպցրեք PCB- ն
Ես օգտագործեցի իմ Proxxon MF70 CNC- ն փոխակերպված և կոնաձև վերջնական բիթը ՝ PCB- ն աղալու համար: Կարծում եմ, որ ցանկացած փորագրման վերջնական բիտ կաշխատի: Gcode ֆայլը ուղղակիորեն ստեղծվել է արծվի և pcb-gcode հավելվածի կողմից: Ընդամենը երեք անցում է կատարվել `երթուղու լավ տարանջատում ապահովելու համար, բայց առանց ժամեր անցկացնելու ամբողջ պղնձի ֆրեզերումը: Երբ PCB- ն դուրս եկավ CNC մեքենայից, ես երթուղիները մաքրեցի դանակով և փորձարկեցի դրանք բազմիմետրով:
Պարամետրեր `սնուցման արագություն 150 մմ/րոպե, խորություն 0.2 մմ, պտտման արագություն 20'000 տ/րոպե
Քայլ 3: erոդեք բաղադրիչները
Պինցետով և եռակցման երկաթով տեղադրեք բաղադրիչները ճիշտ վայրերում և կպցրեք այն հոսքի միջոցով (դա օգնում է) և սկսած ամենափոքր բաղադրիչներից: Կրկին, ստուգեք բազմիմետրով, որ դուք չունեք կարճ միացում կամ չկապված տարրեր:
Դուք կարող եք ընտրել ուժեղացուցիչի շահույթը `ընտրելով ձեր ուզած դիմադրությունը (շահույթ = (R3+R4)/R4): Ես վերցրեցի 1M և 2.7k, այնպես որ իմ դեպքում շահույթը հավասար է մոտավորապես 371 -ի: Չեմ կարող ճշգրիտ արժեքը իմանալ, քանի որ ես օգտագործում եմ 5% հանդուրժողականության դիմադրություն:
Իմ ջերմատիպը J տիպ է: Դա նշանակում է, որ այն տալիս է 0.05 մՎ յուրաքանչյուր աստիճանի համար: 371 շահույթով ես ուժեղացուցիչի ելքից ստանում եմ 18.5 մՎ մեկ աստիճան (0.05*371): Ես ուզում եմ չափել մոտ 200 ° C, այնպես որ ուժեղացուցիչի ելքը պետք է լինի մոտ 3.7 Վ (0.0185*200): Արդյունքը չպետք է գերազանցի 5 Վ -ը, քանի որ ես օգտագործում եմ 5 Վ հղման լարումը (արտաքին):
Պատկերը համապատասխանում է իմ պատրաստած առաջին (չաշխատող) տարբերակին, բայց սկզբունքը նույնն է: Այս առաջին տարբերակում ես օգտագործեցի ռելե և դրեցի այն հենց տախտակի մեջտեղում: Բարձր լարման հետ միանալուն պես ես բծեր ունեի, որոնք ստիպեցին վերահսկիչը վերագործարկել:
Քայլ 4: Programրագրավորեք միկրոկառավարիչը
Օգտագործելով arduino- ն, ինչպես այս հրահանգներում ՝ https://www.instructables.com/id/How-to-Program-a… կարող եք բեռնել ծածկագիրը:
Ես օգտագործել եմ FTDI-USB մալուխով պրոֆիլային մանրուք ՝ Attiny 45-ը ծրագրավորելու համար, բայց այս մեթոդը համարժեք է: Այնուհետև ես միացրեցի PB1 և GDN կապը ուղղակիորեն FTDI-USB մալուխի RX և GND- ի մեջ ՝ սերիական տվյալները ստանալու և կարգաբերելու համար:
Արդուինոյի ուրվագծում դուք պետք է զրոյի հասցնեք բոլոր պարամետրերը (P = 0, I = 0, D = 0, K = 0): Դրանք կկարգավորվեն թյունինգի քայլի ընթացքում:
Եթե այրված ծուխ կամ հոտ չեք տեսնում, կարող եք անցնել հաջորդ քայլին:
Քայլ 5: Հավաքում և չափաբերում
Neverգուշացում. Երբեք միացրեք էլեկտրասնուցումը և 5V- ը ծրագրավորողից միաժամանակ: Հակառակ դեպքում դուք կտեսնեք այն ծուխը, որը ես ընդունում էի նախորդ քայլին: Եթե վստահ չեք, որ կկարողանաք հարգել դա, կարող եք պարզապես հեռացնել ծրագրավորողի համար նախատեսված 5 վ կապիկը: Ես դա թույլ տվեցի, որովհետև ինձ համար ավելի հարմար էր վերահսկիչն առանց էլեկտրամատակարարման ծրագրավորել և վերահսկիչն ստուգել ՝ առանց տաքացուցիչը խելագարի նման տաքանալու դեմքիս առջև:
Այժմ դուք կարող եք թերմոկույգը ճյուղավորել ուժեղացուցիչի վրա և տեսնել, թե ինչ -որ բան չափու՞մ եք (հարգեք բևեռականությունը): Եթե ձեր ջեռուցման համակարգը սենյակային ջերմաստիճանում է, ապա պետք է չափեք զրո: Ձեռքով տաքացնելը արդեն պետք է հանգեցնի որոշ փոքր արժեքների:
Ինչպե՞ս կարդալ այս արժեքները: Պարզապես միացրեք PB1 և GDN կապումներն ուղղակիորեն FTDI-USB մալուխի RX և GND և բացեք arduino սերիական մոնիտորը:
Երբ վերահսկիչը սկսվում է, այն կարմիր արժեքը ուղարկում է չիպի ներքին ջերմաչափով: Այսպես ես փոխհատուցում եմ ջերմաստիճանը (առանց հատուկ չիպ օգտագործելու): Դա նշանակում է, որ եթե ջերմաստիճանը փոխվի շահագործման ընթացքում, ապա դա հաշվի չի առնվի: Այս արժեքը շատ տարբերվում է մեկ չիպից մյուսը, այնպես որ այն պետք է ձեռքով մուտքագրվի էսքիզի սկզբում REFTEMPERATURE սահմանման մեջ:
Նախքան պինդ վիճակի ռելեն միացնելը, ստուգեք, որ լարման ելքը գտնվում է ձեր ռելեի աջակցած տիրույթում (իմ դեպքում 3 Վ -ից 25 Վ, շղթան առաջացնում է մոտ 11 Վ): (հարգեք բևեռականությունը)
Այս արժեքները ոչ թե աստիճանի կամ Ֆարենհայտի ջերմաստիճան են, այլ անալոգային թվային փոխակերպման արդյունք, ուստի դրանք տատանվում են 0 -ից 1024 -ի միջև: Ես օգտագործում եմ 5 Վ հղումային լարումը, հետևաբար, երբ ուժեղացուցիչի ելքը մոտ 5 Վ է, փոխակերպման արդյունքը `մոտ 1024:
Քայլ 6: PID- ի կարգավորում
Պետք է նշեմ, որ ես վերահսկողության փորձագետ չեմ, ուստի ես գտա որոշ պարամետրեր, որոնք աշխատում են ինձ համար, բայց ես չեմ երաշխավորում, որ այն աշխատում է բոլորի համար:
Առաջին հերթին, ես պետք է բացատրեմ, թե ինչ է անում ծրագիրը: Ես ներդրի մի տեսակ ծրագրային PWM. Հաշվիչն ավելանում է յուրաքանչյուր կրկնելուց մինչև այն հասնում է 20'000 -ի (այս դեպքում զրոյականացվում է 0 -ի): Հետաձգումը հանգույցը դանդաղեցնում է մինչև միլիվայրկյան: Մեզանից առավել խորաթափանցը կնկատի, որ վերահսկողության շրջանը մոտ 20 վայրկյան է: Յուրաքանչյուր հանգույց սկսվում է հաշվիչի և շեմի միջև համեմատությամբ: Եթե հաշվիչը շեմից ցածր է, ապա ես անջատում եմ ռելեն: Եթե ավելի մեծ է, միացնում եմ: Այսպիսով, ես կարգավորում եմ հզորությունը `սահմանելով շեմը: Շեմի հաշվարկը կատարվում է ամեն վայրկյան:
Ի՞նչ է PID կարգավորիչը:
Երբ ցանկանում եք վերահսկել գործընթացը, դուք ունեք այն արժեքը, որը դուք չափում եք (analogData), այն արժեքը, որին ցանկանում եք հասնել (tempCommand) և այդ գործընթացի վիճակը փոփոխելու միջոց (seuil): Իմ դեպքում դա արվում է շեմով («seuil» ֆրանսերեն, բայց շատ ավելի հեշտ է գրել և արտասանել (արտասանել «sey»)), որը որոշում է, թե որքան ժամանակ անջատիչը միացված և անջատված կլինի (աշխատանքային ցիկլ), հետևաբար էներգիայի քանակը դրեց համակարգում:
Բոլորը համաձայն են, որ եթե դուք հեռու եք այն կետից, որին ցանկանում եք հասնել, կարող եք մեծ ուղղում կատարել, իսկ եթե մոտ եք, ապա անհրաժեշտ է փոքր ուղղում: Նշանակում է, որ ուղղումը սխալի ֆունկցիա է (սխալ = analogData-tempComand): Այո, բայց որքան: Ասենք, որ սխալը բազմապատկում ենք գործոնով (P): Սա համաչափ վերահսկիչ է: Մեխանիկականորեն զսպանակը կատարում է համաչափ ուղղում, քանի որ զսպանակի ուժը համաչափ է գարնանային սեղմմանը:
Դուք հավանաբար գիտեք, որ ձեր մեքենայի կախոցները բաղկացած են զսպանակից և կափույրից (հարվածային կլանիչ): Այս կափույրի դերն է ՝ խուսափել ձեր մեքենայի բատուտի պես թռիչքից: Սա հենց այն է, ինչ անում է ածանցյալ տերմինը: Որպես կափույր, այն առաջացնում է ռեակցիա, որը համաչափ է սխալի տատանումին: Եթե սխալը արագ փոխվում է, ուղղումն իջեցվում է: Այն նվազեցնում է տատանումներն ու գերազանցումները:
Ինտեգրատորի տերմինը այստեղ է ՝ մշտական սխալից խուսափելու համար (այն ինտեգրում է սխալը): Մասնավորապես, դա հաշվիչ է, որը ավելանում կամ նվազում է, եթե սխալը դրական է կամ բացասական: Այնուհետեւ ուղղումը մեծանում կամ իջեցվում է ըստ այս հաշվիչի: Այն չունի մեխանիկական համարժեքություն (կամ գաղափար ունեք): Հնարավոր է, որ նման ազդեցություն լինի, երբ ձեր մեքենան բերում եք ծառայության և մեխանիկը նկատում է, որ ցնցումները համակարգված կերպով չափազանց ցածր են և որոշում եք ավելացնել ևս մի քանի նախաբեռնում:
Այս ամենը ամփոփված է բանաձևում. Ուղղում = P*e (t)+I*(de (t)/dt)+D*ինտեգրալ (e (t) dt), P, I և D- ը երեք պարամետր են կարգավորվել:
Իմ տարբերակում ես ավելացրեցի չորրորդ տերմինը, որը «a priori» (feed forward) հրամանն է, որն անհրաժեշտ է որոշակի ջերմաստիճան պահպանելու համար: Ես ընտրեցի ջերմաստիճանի համաչափ հրաման (դա ջեռուցման կորուստների լավ մոտարկում է: isիշտ է, եթե անտեսենք ճառագայթման կորուստները (T^4)): Այս տերմինով ինտեգրատորը թեթևանում է:
Ինչպե՞ս գտնել այս պարամետրերը:
Ես փորձեցի սովորական մեթոդ, որը դուք կարող եք գտնել ՝ googling «pid tuning temperature controller» - ով գուգլացնելով, բայց ես դժվարությամբ կիրառեցի և ավարտեցի իմ սեփական մեթոդը:
Իմ մեթոդը
Սկզբում P, I, D- ը զրոյի հասցրեք և «K» - ն և «tempCommand» - ը դրեք փոքր արժեքների վրա (օրինակ ՝ K = 1 և tempCommand = 100): Միացրեք համակարգը և սպասեք, սպասեք, սպասեք … մինչև ջերմաստիճանը կայունանա: Այս պահին դուք գիտեք, որ 1*100 = 100 «seuil» - ով ջերմաստիճանը հակված է X- ի: Այսպիսով, դուք գիտեք, որ 100/20000 = 5% հրամանով կարող եք հասնել X- ին: Բայց նպատակը 100 -ին հասնելն է: քանի որ դա «tempCommand» է: Օգտագործելով համամասնություն ՝ կարող եք հաշվարկել K- ն ՝ 100 -ին հասնելու համար (tempCommand): Նախախնամությամբ ես օգտագործել եմ ավելի փոքր արժեք, քան հաշվարկվածը: Իրոք, ավելի հեշտ է ավելի շատ տաքացնել, քան սառչել: Այսպիսով, վերջապես
Kfinal = K*tempCommand*0.9/X
Այժմ, երբ միացնում եք վերահսկիչը, այն բնականաբար պետք է հակվի ձեր ուզած ջերմաստիճանին, բայց դա իսկապես դանդաղ գործընթաց է, քանի որ դուք փոխհատուցում եք միայն ջեռուցման կորուստները: Եթե ցանկանում եք մի ջերմաստիճանից անցնել մյուսին, համակարգում պետք է ավելացվի ջերմային էներգիայի քանակ: P- ն որոշում է, թե որ արագությամբ եք էներգիա ներդնում համակարգի մեջ: P- ն սահմանեք փոքր արժեքի համար (օրինակ ՝ P = 10): Փորձեք (գրեթե) սառը մեկնարկ: Եթե մեծ գերազանցում չունեք, փորձեք կրկնակի օգնությամբ (P = 20), եթե այժմ ունեք մեկը, ինչ -որ բան փորձեք միջակայքում: Եթե ունեք 5% գերազանցում, դա լավ է:
Այժմ ավելացրեք D- ն, մինչև որ գերազանցում չունենաք: (միշտ փորձություններ, ես գիտեմ, որ սա գիտություն չէ) (ես վերցրեցի D = 100)
Այնուհետեւ ավելացրեք I = P^2/(4*D) (Այն հիմնված է ieիգլեր-Նիկոլց մեթոդի վրա, այն պետք է երաշխավորի կայունություն) (ինձ համար I = 1)
Ինչու՞ այս բոլոր փորձությունները, ինչու՞ ոչ գիտությունը:
Ես գիտեմ… Ես գիտեմ! Կա հսկայական տեսություն, և դուք կարող եք հաշվարկել փոխանցման գործառույթը և Z փոխակերպումը և բլաբլաբլան: Ես ուզում էի առաջացնել ունիտար ցատկեր, այնուհետև 10 րոպե արձանագրել արձագանքը և գրել փոխանցման գործառույթը, իսկ հետո՞: Չեմ ուզում թվաբանություն անել 200 տերմիններով: Այսպիսով, եթե որևէ մեկը գաղափար ունի, ես ուրախ կլինեի սովորել, թե ինչպես դա անել ճիշտ:
Ես մտածեցի նաև իմ լավագույն ընկերների ՝ ieիգլերի և Նիկոլսի մասին: Նրանք ինձ ասացին, որ գտնեմ տատանումներ առաջացնող P, այնուհետև կիրառեմ դրանց մեթոդը: Ես երբեք չեմ գտել այս տատանումները: Միակ բանը, որ գտա, երկինք դեպի երկինք էր:
Իսկ ինչպե՞ս մոդելավորել այն փաստը, որ ջեռուցումը նույն գործընթացը չէ, ինչ հովացումը:
Ես կշարունակեմ իմ հետազոտությունը, բայց հիմա եկեք փաթեթավորենք ձեր վերահսկիչը, եթե գոհ եք ձեր ստացած կատարումից:
Քայլ 7: Փաթեթավորեք այն
Ես մուտք ունեի Մոսկվայի գործարան (fablab77.ru) և նրանց լազերային դանակ, և ես շնորհակալ եմ: Այս հնարավորությունը թույլ տվեց ինձ կատարել մի գեղեցիկ փաթեթ, որը ստեղծվում է մեկ կտտոցով մի հավելումով, որը պատրաստում է ցանկալի չափերի տուփեր (h = 69 l = 66 d = 42 մմ): Գլխի և անջատիչի համար վերևում կա երկու անցք (տրամագիծ = 5 մմ) և մեկ ճեղք ՝ կողքի վրա ՝ ծրագրավորման կապում: Ես տրանսֆորմատորը ամրացրեցի երկու փայտով և PCB- ն `երկու պտուտակով: Ես տերմինալային բլոկը միացրեցի լարերին և PCB- ին, ավելացրեցի տրանսֆորմատորի և PCB- ի հոսանքի միջև անջատիչը, միացրած PBO- ին միացնող (300 Օմ) շարքով: Եղունգների լաք եմ օգտագործել նաև էլեկտրական մեկուսացման համար: Վերջին փորձարկումից հետո ես սոսնձեցի տուփը: Վերջ:
Խորհուրդ ենք տալիս:
Ինչպես պատրաստել Arduino- ի ջերմաստիճանի և խոնավության ավտոմատ վերահսկիչ `3 քայլ
Ինչպես պատրաստել Arduino ավտոմատ ջերմաստիճանի և խոնավության վերահսկիչ ՝ 1
Բարձր ճշգրիտ ջերմաստիճանի վերահսկիչ `6 քայլ (նկարներով)
Բարձր ճշգրիտ ջերմաստիճանի վերահսկիչ. Գիտության և ճարտարագիտության աշխարհներում ջերմաստիճանի (օրինակ ՝ ատոմների տեղաշարժը ջերմոդինամիկայում) հետևելը հիմնական ֆիզիկական պարամետրերից մեկն է, որը պետք է հաշվի առնել գրեթե ամենուր ՝ բջջային կենսաբանությունից մինչև կոշտ վառելիքի հրթիռ
Սխալներին հանդուրժող ջերմաստիճանի տվիչների ցանցի վերահսկիչ `8 քայլ
Սխալ հանդուրժող ջերմաստիճանի տվիչների ցանցի վերահսկիչ. Այս հրահանգը ցույց է տալիս, թե ինչպես փոխարկել Arduino Uno տախտակը մեկ նպատակի վերահսկիչի համար DS18B20 ջերմաստիճանի տվիչների մի շարք, որոնք ունակ են անսարք սենսորների ավտոմատ մեկուսացում: Arduino- ով կարգավորիչը կարող է կառավարել մինչև 8 տվիչ: Ունո (Ա
YABC - Եվս մեկ Blynk Controller - IoT Cloud ջերմաստիճանի և խոնավության վերահսկիչ, ESP8266: 4 քայլ
YABC - Եվս մեկ Blynk Controller - IoT Cloud peratերմաստիճանի և խոնավության վերահսկիչ, ESP8266. Ողջույն, պատրաստողներ, ես վերջերս սկսեցի սնկերի աճեցումը տանը, ոստրեների սնկով, բայց ես արդեն այս հսկիչներից 3 -ը տանը ունեմ Fermenter peratերմաստիճանի վերահսկման իմ տան գարեջրի, կնոջ համար: նա նաև անում է այս Կոմբուչայի գործը հիմա և որպես ջերմության ջերմաչափ
Վերամշակեք ձեր հին պղտոր անջատիչը որպես փոփոխվող ջերմաստիճանի վերահսկիչ ձեր եռակցման համար. 7 քայլ
Վերամշակել ձեր հին լուսամփոփը որպես փոփոխվող ջերմաստիճանի վերահսկիչ ձեր եռակցման համար. Ես տեսել եմ բազմաթիվ պրոֆեսիոնալ փոփոխական ջերմաստիճանի հսկիչներ զոդման համար, բայց չափազանց թանկ: Այսպիսով, ես մեկը պատրաստում եմ հին պղտոր անջատիչից, վարդակից, բանդայի ափսեից և խրոցակից, որոնք արդեն աղբ էին և մի քանի հին PVC անջատիչ տուփից, որոնք գալիս էին դրա հետ և այլն