Cuprins:
- Pasul 1: Modificarea senzorului IR
- Pasul 2: Software pentru control
- Pasul 3: agățarea de toate
- Pasul 4: lipire montată pe suprafață
Video: Închiderea buclei pe lipirea montată pe suprafață: 4 pași
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:47
Temperatura pare a fi cel mai ușor lucru din lume de controlat. Porniți aragazul și setați temperatura dorită. Porniți cuptorul dimineața și setați termostatul. Reglați apa fierbinte și rece pentru a face dușul la dreapta. Uşor! Dar dacă doriți să controlați temperatura dincolo de aceste aplicații de zi cu zi? Dacă doriți temperaturi în afara limitelor normale sau doriți o temperatură stabilă într-un interval restrâns, sunteți în principal pe cont propriu.
În cazul meu, am vrut să controlez temperatura unei plăci fierbinți utilizate pentru lipirea la suprafață. Inițial, am folosit modulația lățimii impulsurilor pentru a oferi temperaturi stabile și setări determinate experimental pentru a crea profilul de temperatură necesar. Puteți citi totul despre acest lucru în acest instructabil. Acest sistem funcționează și controlul temperaturii în acest mod este foarte bun, dar are deficiențe.
Neajunsuri:
- Funcționează numai pentru placa mea specifică. Altele sunt similare, dar nu identice și sunt necesare experimente pentru a determina setările și timpii necesari pentru a produce profilul solicitat.
- Aceeași situație dacă vreau un profil sau o temperatură diferită.
- Procesul de lipire durează mult, deoarece temperaturile stabile trebuie abordate încet.
În mod ideal, am putea specifica doar un profil temperatură-timp, apăsați un buton, iar controlerul ar face ca plita fierbinte să funcționeze conform programării. Știm că acest lucru este posibil, deoarece există multe procese industriale care utilizează exact acest tip de control. Întrebarea este că se poate face acest lucru ușor și ieftin acasă?
După cum ați fi putut ghici, din moment ce scriu acest instructabil, răspunsul este da! Acest instructable vă va arăta cum să vă construiți propriul regulator de temperatură cu rezistență industrială. Voi viza în special lipirea montării pe suprafață, dar orice proces care necesită un profil precis al temperaturii în timp poate folosi acest sistem.
Notă: Când folosesc numele „Arduino” mă refer nu doar la Arduino (nu chiar) protejat prin drepturi de autor în sine, ci și la numeroasele versiuni ale domeniului public cunoscute sub numele colectiv „Freeduino”. În unele cazuri, folosesc termenul „Ard / Free-duino”, dar termenii ar trebui considerați interschimbabili în sensul prezentului instructabil.
Schema de control al temperaturii utilizată în dispozitivul de lipit cu montare la suprafață extremă este cunoscută sub numele de control cu buclă deschisă. Adică, o valoare care a produs temperatura dorită în trecut este de așteptat să producă aceeași temperatură atunci când este utilizată din nou. De multe ori acest lucru este adevărat și produce rezultatul dorit. Dar dacă condițiile sunt ușor diferite, să spunem că garajul în care lucrăm este mult mai rece sau mai cald, atunci este posibil să nu obțineți rezultatul scontat.
Dacă avem un senzor care poate citi temperatura și o poate raporta înapoi unui controler, atunci avem control cu buclă închisă. Controlerul este capabil să seteze o valoare inițială pentru a crește temperatura, să privească temperatura pe măsură ce trece timpul și să regleze setarea pentru a face temperatura să crească sau să scadă până când temperatura dorită este atinsă.
Abordarea noastră va fi înlocuirea controlerului PWM bazat pe AVRTiny2313 cu un controler mai puternic bazat pe ATMega. Programarea se va face în mediul Arduino. Vom folosi un computer (Linux-Mac-Windows) care rulează Procesare pentru a afișa rezultatele și a regla controlerul.
Pentru senzor, vom folosi un senzor de temperatură cu infraroșu de la Harbor Freight. Senzorul IR va fi modificat pentru a transmite temperatura ca un flux de date seriale pe care controlorul îl poate citi. Vom folosi un Ard / Free-duino ca controler, cu un computer (Mac - Linux - Windows) pentru intrarea în controler. Când vom termina cu toții, sistemul va arăta ca imaginea. (Cu toate acestea, este posibil să aveți mai puține circuite străine pe panoul dvs. de control. Este în regulă.)
Pasul 1: Modificarea senzorului IR
Multe mulțumiri prietenului meu inteligent, Scott Dixon, pentru munca sa atentă de detectiv în a afla cum funcționează acest instrument și cum să-l facă util în general cu un controler prin expunerea interfeței sale seriale.
Dispozitivul cu care vom începe este numărul piesei Harbor Freight: 93984-5VGA. Costă aproximativ 25 USD. Nu vă deranjați să cumpărați garanția.:)} Iată linkul. Figurile 1 și 2 arată vizualizările din față și din spate. Săgețile din Figura 2 indică unde sunt șuruburile care țin carcasa împreună. Figura 3 arată interiorul carcasei când șuruburile sunt scoase și carcasa este deschisă. Modulul laser pointer poate fi probabil eliminat și utilizat pentru alte proiecte, deși încă nu am făcut acest lucru. Săgețile indică șuruburile pentru a le scoate dacă doriți să scoateți placa pentru a le lipi (șuruburile eliminate în această imagine). De asemenea, este indicată zona în care ar trebui făcută o decupare pentru ca cablajul dvs. să iasă din carcasă. Vedeți și Figura 5. Faceți decupajul în timp ce placa este îndepărtată sau cel puțin înainte de a lipi firele. E mai ușor așa.;)} Figura 4 arată unde vor fi lipite firele. Rețineți litera fiecărei conexiuni, astfel încât să știți care este firul când închideți carcasa. Figura 5 prezintă firele lipite pe loc și dirijate prin decupaj. Acum puteți pune carcasa la loc și instrumentul ar trebui să funcționeze la fel ca înainte de operație. Rețineți conectorul de pe fire. Folosesc fire mai lungi pentru a mă conecta efectiv la controlerul meu. Dacă utilizați sârmă mică, un conector mic și păstrați firele scurte, puteți să le răsuciți înapoi în cazul în care doriți, iar instrumentul pare nemodificat. Scott a creat, de asemenea, software-ul pentru a interfața acest dispozitiv. El a folosit acest document dacă doriți detalii. Asta e! Aveți acum un senzor de temperatură IR care va funcționa de la -33 la 250 C.
Pasul 2: Software pentru control
Pe cât de util este, senzorul de temperatură IR este doar o parte a sistemului. Pentru a controla temperatura, sunt necesare trei elemente: o sursă de căldură, un senzor de temperatură și un controler care poate citi senzorul și comanda sursa de căldură. În cazul nostru, placa fierbinte este sursa de căldură, senzorul de temperatură IR (așa cum a fost modificat în ultimul pas) este senzorul nostru, iar un controler Ard / Free-duino care rulează un software adecvat. Toate software-urile pentru acest instructabil pot fi descărcate ca pachet Arduino și ca pachet de procesare.
Descărcați fișierul IR_PID_Ard.zip. Dezarhivați-l în directorul dvs. Arduino (de obicei, Documentele mele / Arduino). Descărcați fișierul PID_Plotter.zip. Dezarhivați-l în directorul dvs. de procesare (de obicei, Documentele mele / Procesare). Fișierele vor fi disponibile acum în caietele de schițe corespunzătoare.
Software-ul pe care îl vom folosi a fost scris inițial de Tim Hirzel. Este modificat prin adăugarea interfeței la senzorul IR (furnizat de Scott Dixon). Software-ul implementează un algoritm de control cunoscut sub numele de algoritmul PID. PID înseamnă Proporțional - Integral - Derivat și este algoritmul standard utilizat pentru controlul temperaturii industriale. Acest algoritm este descris într-un excelent articol de Tim Wescott pe care Tim Hirzel și-a bazat software-ul. Citiți articolul aici.
Pentru a regla algoritmul (citiți despre acest lucru în articolul menționat) și pentru a modifica setările de temperatură țintă, vom folosi o schiță de procesare, dezvoltată și de Tim Hirzel. A fost dezvoltat pentru prăjirea boabelor de cafea (o altă aplicație de control al temperaturii) și a fost numit Bare Bones Coffee Controller sau BBCC. Numele deoparte, funcționează excelent pentru lipirea pe suprafață. Puteți descărca versiunea originală de aici.
Modificarea software-ului
În cele ce urmează, presupun că sunteți familiarizat cu Arduino și Processing. Dacă nu sunteți, atunci ar trebui să parcurgeți tutorialele până când lucrurile încep să aibă sens. Asigurați-vă că postați comentarii la acest instructabil și voi încerca să vă ajut.
Controlerul PID trebuie modificat pentru Arduino / Freeduino. Linia de ceas de la senzorul IR trebuie atașată la un pin de întrerupere. Pe un Arduino, acesta poate fi 1 sau 0. Pe Freeduinos de diferite tipuri, puteți utiliza orice întreruperi disponibile. Atașați linia de date de la senzor la un alt pin din apropiere (cum ar fi D0 sau D1 sau un alt pin la alegere). Linia de control către placa fierbinte poate proveni de la orice pin digital. Pe clona mea specială Freeduino (descrieți aici), am folosit D1 și întreruperea asociată (1) pentru ceas, D0 pentru date și B4 pentru linia de control a plăcii fierbinți.
După ce ați descărcat software-ul, porniți mediul Arduino și deschideți IR_PID din meniul File / Sketchbook. Sub fila pwm, puteți defini HEAT_RELAY_PIN după cum este potrivit pentru varianta dvs. Arduino sau Freeduino. Sub fila temp, faceți același lucru pentru codul PIN IR_CLK, codul PIN IR_DATA și codul IR_INT. Ar trebui să fiți gata să compilați și să descărcați.
În mod similar, porniți mediul de procesare și deschideți schița PID_Plotter. Reglați BAUDRATE la valoarea corectă și asigurați-vă că setați indexul utilizat în Serial.list () [1] la valoarea corectă pentru sistemul dvs. (portul meu este indexul 1).
Pasul 3: agățarea de toate
Sistemul de control CA al plăcii fierbinți este detaliat în Instrucțiunea de lipit cu montare pe suprafață extremă menționată deja, sau puteți cumpăra propriul dvs. SSR (releu în stare solidă). Asigurați-vă că poate rezista la încărcarea plăcii fierbinți cu o marjă suficientă, să spunem un rating de 20 până la 40 de wați, deoarece testarea făcută de chinezi poate lăsa ceva de dorit. Dacă utilizați controlerul AC cu placă fierbinte de la Instructable, executați un jumper de la rezistorul de la intrarea de control la masă pe Ard / Free-duino și un jumper de la ieșirea de control (B4 sau orice ați ales) la Control Signal Intrare. Vedeți imaginea controlerului. Jumperul galben este intrarea semnalului de control, iar jumperul verde merge la sol. Îmi place să folosesc un blinkenlight (condus cu un rezistor la masă) pe pinul de ieșire, așa că știu când este pornit. Conectați jumperul între led și port așa cum se arată. Consultați Diagrama de conectare Teensy ++.
Acum montați un suport pentru a ține senzorul de temperatură IR peste placa fierbinte. Imaginea arată ce am făcut. Regula este simplă, dar robustă. Păstrați orice lucru inflamabil departe de plita fierbinte; senzorul este plastic și pare să fie foarte bine la 3 centimetri deasupra suprafeței plăcii. Rulați firele de la conectorul senzorului la pinii corespunzători de pe Ard / Free-duino. Conexiunile pentru senzorul IR sunt prezentate în Diagrama de conectare Teensy ++. Adaptați-le după cum este necesar pentru Ard / Free-duino.
Notă importantă de siguranță: Senzorul IR are un indicator cu LED care ajută la vizarea acestuia. Dacă aveți pisici ca ale mele, le place să alerge indicatorul led. Deci, acoperiți ledul cu o bandă opacă pentru a vă împiedica pisicile să sară pe plita fierbinte atunci când îl folosiți.
Înainte de a conecta controlerul de curent alternativ la 120V, iată cum să testați sistemul și să setați valorile țintă inițiale pentru temperatură. Vă sugerez o temperatură țintă de 20 C, astfel încât încălzirea să nu înceapă imediat. Aceste valori vor fi stocate în EEPROM și utilizate data viitoare, deci asigurați-vă că stocați întotdeauna o valoare scăzută ca temperatură țintă atunci când ați terminat o sesiune de lipire. Mi se pare o idee bună să porniți regulatorul de temperatură cu placa fierbinte deconectată la început. Asigurați-vă că totul funcționează înainte de a-l conecta.
Conectați-vă portul serial la Arduino și porniți-l. Compilați schița Arduino și descărcați-o. Porniți schița de procesare pentru a interacționa cu controlerul și pentru a afișa rezultatele. Ocazional, schița Arduino nu se va sincroniza cu schița de procesare. Când se întâmplă acest lucru, veți vedea mesajul „Fără actualizare” în fereastra consolei din schița Procesare. Pur și simplu opriți și reporniți schița de procesare și lucrurile ar trebui să fie OK. Dacă nu, aruncați o privire la secțiunea de depanare de mai jos.
Iată comenzile pentru controler. „Delta” este suma pe care un parametru o va modifica atunci când este comandată. Mai întâi setați valoarea delta pe care doriți să o utilizați. Apoi reglați parametrul dorit folosind delta respectivă. De exemplu, utilizați + și - pentru a face delta 10. Apoi folosiți T („T” cu majuscule) pentru a crește setarea temperaturii țintă cu 10 grade C, sau t („t” cu litere mici) pentru a reduce temperatura țintă cu 10 grade. Comenzi:
+/-: reglați delta cu un factor de zece P / p: sus / jos reglați câștigul p cu delta I / i: sus / jos reglați câștigul i cu delta D / d: sus / jos reglați câștigul cu delta T / t: sus / jos reglați temperatura setată de delta h: comutați și dezactivați ecranul de ajutor R: resetați valorile - faceți acest lucru prima dată când rulați controlerul
După ce primiți actualizări de temperatură, fereastra grafică a schiței ar trebui să arate ca imaginea. Dacă aveți o zonă gri mare impusă pe ecran cu câteva comenzi descrise, pur și simplu tastați „h” pentru a o șterge. Când porniți pentru prima dată, vi se poate solicita să resetați valorile inițiale. Mergeți mai departe și faceți asta. Valorile din colțul din dreapta sus sunt citirile și setările curente. „Obiectiv” este temperatura țintă curentă și este modificat prin comanda „t” așa cum este descris mai sus. „Curr” este citirea curentă a temperaturii de la senzor. „P”, „I” și „D” sunt parametrii pentru algoritmul de control PID. Utilizați comenzile „p”, „i” și „d” pentru a le schimba. Le voi discuta într-o clipă. „Pow” este comanda de alimentare de la controlerul PID la placa fierbinte. Este o valoare între 0 (întotdeauna oprit) și 1000 (întotdeauna activat).
Dacă puneți mâna sub senzor, ar trebui să vedeți citirea temperaturii (Curr) în sus. Dacă acum creșteți temperatura țintă, veți vedea creșterea valorii puterii (Pow) și ledul de ieșire va clipi. Măriți temperatura țintă și ledul de ieșire va rămâne aprins mai mult. Când placa electrică este conectată și funcționează, creșterea temperaturii țintă va duce la pornirea plăcii fierbinți. Pe măsură ce temperatura actuală se apropie de temperatura țintă, timpul de pornire va scădea, astfel încât temperatura țintă să fie abordată cu o depășire minimă. Apoi, timpul de pornire va fi suficient pentru a menține temperatura țintă.
Iată cum puteți seta parametrii pentru algoritmul PID. Puteți începe cu valorile pe care le folosesc. P de 40, I de 0,1 și D de 100. Sistemul meu va face un pas de 50C în aproximativ 30 de secunde cu o depășire mai mică de 5 grade. Dacă sistemul dvs. funcționează semnificativ diferit, atunci veți dori să-l reglați. Reglarea unui controler PID poate fi dificilă, dar articolul la care se face referire mai sus explică cum să o faceți foarte eficient.
Acum este timpul pentru adevăratul lucru. Conectați placa fierbinte la controlerul de curent alternativ al plăcii fierbinți, așa cum este descris în lipirea cu montaj extrem de suprafață. Asigurați-vă că citiți toate precauțiile de acolo. Poziționați senzorul de temperatură astfel încât să fie la aproximativ 3 inci deasupra plitei fierbinți și îndreptat direct spre el. Porniți Ard / Free-duino. Asigurați-vă că toate conexiunile sunt corecte și că software-ul dvs. (controlerul PID și programul de monitorizare) rulează corect. Începeți cu temperatura țintă setată la 20 C. Apoi creșteți temperatura țintă la 40 C. Placa fierbinte ar trebui să se aprindă și temperatura ar trebui să crească ușor la 40C +/- 2 C. Acum puteți încerca să creșteți temperatura pe măsură ce observați performanța a sistemului dumneavoastră. Veți observa că durează mult mai mult timp pentru ca placa să se răcească decât pentru încălzire.
Depanare
Dacă schița de procesare nu rulează sau nu actualizează temperatura, opriți schița de procesare și porniți un terminal serial (Hyperterminal pe Windows, de exemplu). Atingeți bara de spațiu și apăsați return. Arduino ar trebui să răspundă cu citirea temperaturii curente. Reglați setările ratei de transmisie etc. până când obțineți răspunsul dorit. Odată ce acest lucru funcționează, ar trebui să ruleze schița de procesare. Dacă aveți în continuare probleme, asigurați-vă că atribuirea pinilor este în acord cu cablajul fizic și că ați conectat alimentarea și împământarea la pinii corespunzători ai senzorului de temperatură.
Pasul 4: lipire montată pe suprafață
Utilizarea sistemului de control al temperaturii descris în acest instructabil îmbunătățește lipirea extremă a suprafeței în două moduri. În primul rând, controlul temperaturii este mai precis și semnificativ mai rapid. Deci, în loc să avem o rampă lentă de la aproximativ 120 ° C la 180 ° C timp de aproximativ 6 minute, putem merge rapid la 180 ° C, menținem timp de 2 ½ până la 3 minute și mergem rapid la 220 ° C până la 240 ° C timp de aproximativ un minut. Încă trebuie să urmărim momentul în care lipirea curge și oprește alimentarea sau pur și simplu scade rapid temperatura țintă. Deoarece temperatura coboară foarte încet, de obicei îmi alunec circuitele de pe placa fierbinte de îndată ce temperatura s-a răcit sub 210C. Puneți-le pe o bucată de scândură sau lemn, nu din metal. Metalul le-ar putea face să se răcească prea repede. Rețineți, de asemenea, că este posibil să trebuiască să ridicați temperatura țintă peste 250C (maximul pe care îl va citi senzorul) pentru a face placa suficient de fierbinte în anumite zone. Placa nu va atinge o singură temperatură pe întreaga suprafață, dar va fi mai rece în anumite zone decât în altele. Veți afla acest lucru experimentând.
Al doilea domeniu de îmbunătățire este reducerea timpului dintre ciclurile de lipire. Cu sistemul de buclă deschisă, a trebuit să aștept ca placa de încălzire să se răcească la temperatura camerei (aproximativ 20C) pentru a începe un nou ciclu de lipire. Dacă nu aș face acest lucru, atunci ciclul de temperatură nu ar fi corect (schimbarea condițiilor inițiale). Acum trebuie doar să aștept o temperatură stabilă în jur de 100C și pot începe un nou ciclu.
Ciclul de temperatură pe care îl folosesc acum este implicat mai sus, dar aici este exact. Începeți la 100C. Puneți plăcile pe plita fierbinte timp de două până la trei minute pentru a vă încălzi - mai mult cu componente mari. Setați temperatura țintă la 180C. Această temperatură este atinsă în mai puțin de un minut. Țineți aici 2 minute și jumătate. Setați obiectivul la 250C. De îndată ce curge toate lipirile, reduceți temperatura țintă la aproximativ 100C. Temperatura plăcii dvs. va rămâne ridicată. De îndată ce scade la 210C, sau când trece un timp de 1 minut, glisați plăcile de pe placa fierbinte pe o platformă de răcire din placă de lemn sau lemn. Lipirea se face.
Dacă doriți să utilizați un profil de temperatură diferit, nu ar trebui să aveți probleme cu realizarea acestuia cu acest sistem de control.
Poate doriți să experimentați poziția senzorului de temperatură deasupra plitei fierbinți. Am constatat că nu toate zonele plăcii fierbinți ating aceeași temperatură în același timp. Deci, în funcție de locul în care vă poziționați senzorul, timpul și temperatura reale necesare pentru a face fluxul de lipire pot varia. Odată ce ați elaborat o rețetă, utilizați aceeași poziționare a senzorului pentru rezultate repetabile.
Fericit de lipit!
Recomandat:
Componente de montare pe suprafață - Bazele lipirii: 9 pași (cu imagini)
Componente de montare pe suprafață de lipit | Bazele de lipit: Până acum, în seria mea Bazele de lipit, am discutat suficiente elemente de bază despre lipire pentru a începe să exersați. În acest instructabil, ceea ce voi discuta este puțin mai avansat, dar este o parte din elementele de bază pentru lipirea compoziției de montare pe suprafață
Temporizator pentru închiderea deschizătorului ușii de garaj: 4 pași
Temporizator pentru închiderea deschizătorului ușii de garaj: Introducere Deci povestea începe după ce mi-am lăsat ușa de garaj deschisă și câțiva tipi tocmai au intrat și s-au încurcat. Din fericire, nu există personal pierdut. După acest accident, decid să fac un „temporizator pentru închidere” caracteristică pentru garajul meu doo
Toate LED-urile de suprafață: 3 pași
All Surface LED Throwies: Un LED throwie care poate merge pe multe suprafețe și nu este magnetic
Faceți o „mână” de 3 grade de libertate pentru a ajuta la lipirea / lipirea: 6 pași
Faceți o „mână” de 3 grade de libertate pentru a ajuta la lipirea / lipirea: Cum să creați o mână nouă de trei grade de libertate pentru „mâinile de ajutor”. Designul vă permite să realizați piese finale personalizate, comutabile (în plus față de clipul standard aligator)
Închiderea unui program blocat: 4 pași
Închiderea unui program blocat: CÂND PC-ul Dvs. ÎNGHEȚĂ una dintre cele mai frecvente probleme care pot apărea cu un computer este când totul îngheață sau se blochează în timp ce utilizați o aplicație, iar mouse-ul și tastatura nu vor răspunde. o să vă arăt cum