Innholdsfortegnelse:

Lukke sløyfen på overflatemonteringslodding: 4 trinn
Lukke sløyfen på overflatemonteringslodding: 4 trinn

Video: Lukke sløyfen på overflatemonteringslodding: 4 trinn

Video: Lukke sløyfen på overflatemonteringslodding: 4 trinn
Video: ถักโครเชต์กระเป๋าถือลายดอกกุหลาบแบบทันสมัย in trend rose crochet bag 2024, Desember
Anonim
Lukking av sløyfen på overflatemonteringslodding
Lukking av sløyfen på overflatemonteringslodding

Temperaturen virker som den letteste tingen i verden å kontrollere. Slå på ovnen og still inn ønsket temperatur. Slå på ovnen om morgenen og sett termostaten. Juster varmt og kaldt vann for å gjøre dusjen akkurat. Lett! Men hva om du vil kontrollere temperaturen utover disse daglige applikasjonene? Hvis du vil ha temperaturer utenfor de normale områdene, eller vil ha stabil temperatur innenfor et smalt område, er du stort sett alene.

I mitt tilfelle ønsket jeg å kontrollere temperaturen på en kokeplate som ble brukt til lodding på overflaten. I utgangspunktet brukte jeg pulsbreddemodulasjon for å gi stabile temperaturer og eksperimentelt bestemte innstillinger for å lage den nødvendige temperaturprofilen. Du kan lese alt om det i denne instruksjonsboken. Dette systemet fungerer og kontroll av temperaturen på denne måten er vel og bra, men det har mangler.

Mangler:

  • Fungerer bare for min spesifikke kokeplate. Andre er like, men ikke identiske, og det kreves eksperimenter for å bestemme innstillingene og tidene som trengs for å produsere den nødvendige profilen.
  • Samme situasjon hvis jeg vil ha en annen profil eller temperatur.
  • Loddeprosessen tar lang tid siden stabile temperaturer må nærme seg sakte.

Ideelt sett kunne vi bare spesifisere en temperatur-tidsprofil, trykke på en knapp, og kontrolleren ville få kokeplaten til å fungere som programmert. Vi vet at dette er mulig siden det er mange industrielle prosesser som bruker akkurat denne typen kontroll. Spørsmålet er om dette kan gjøres enkelt og billig hjemme?

Som du kanskje har gjettet, siden jeg skriver denne Instructable, er svaret ja! Denne instruksen viser deg hvordan du bygger din egen temperaturstyring med industriell styrke. Jeg vil spesielt målrette overflatemonterte lodding, men enhver prosess som krever presis tidstemperaturprofil kan bruke dette systemet.

Merk: Når jeg bruker navnet "Arduino", mener jeg ikke bare selve (ikke helt) opphavsrettsbeskyttede Arduino selv, men også de mange offentlige versjonene samlet kalt "Freeduino". I noen tilfeller bruker jeg begrepet “Ard/Free-duino”, men vilkårene bør betraktes som utskiftbare i forbindelse med denne instruksen.

Temperaturkontrollskjemaet som brukes i Extreme Surface Mount Lodding Instructable er kjent som open-loop-kontroll. Det vil si at en verdi som tidligere har produsert ønsket temperatur forventes å gi den samme temperaturen når den brukes igjen. Ofte er dette sant og gir ønsket resultat. Men hvis forholdene er litt forskjellige, si at garasjen der vi jobber er mye kjøligere eller varmere, så får du kanskje ikke det forventede resultatet.

Hvis vi har en sensor som kan lese temperaturen og rapportere den tilbake til en kontroller, så har vi lukket sløyfe-kontroll. Kontrolleren kan angi en startverdi for å øke temperaturen, se på temperaturen etter hvert som tiden går og justere innstillingen for å få temperaturen til å gå høyere eller lavere til ønsket temperatur er nådd.

Vår tilnærming vil være å erstatte den AVRTiny2313-baserte PWM-kontrolleren med en kraftigere ATMega-basert kontroller. Programmering vil bli utført i Arduino -miljøet. Vi bruker en PC (Linux-Mac-Windows) som kjører Processing for å vise resultatene og justere kontrolleren.

For sensoren bruker vi en infrarød temperatursensor fra Harbor Freight. IR -sensoren vil bli modifisert for å sende ut temperaturen som en seriell datastrøm som kontrolleren kan lese. Vi bruker en Ard/Free-duino som kontroller, med en PC (Mac-Linux-Windows) for inngang til kontrolleren. Når vi er ferdige, vil systemet se ut som bildet. (Du kan imidlertid ha mindre fremmede kretser på brødbrettet. Det er OK.)

Trinn 1: Endre IR -sensoren

Endre IR -sensoren
Endre IR -sensoren
Endre IR -sensoren
Endre IR -sensoren
Endre IR -sensoren
Endre IR -sensoren

Tusen takk til min flinke venn, Scott Dixon, for hans forsiktige detektivarbeid med å finne ut hvordan dette instrumentet fungerer og hvordan det kan gjøres generelt nyttig med en kontroller ved å avsløre det serielle grensesnittet.

Enheten vi starter med er Harbor Freight-delenummer: 93984-5VGA. Koster omtrent $ 25. Ikke bry deg om å kjøpe garantien.:)} Her er lenken. Figur 1 og 2 viser for- og bakside. Pilene på figur 2 angir hvor skruene er som holder saken sammen. Figur 3 viser innsiden av saken når skruene fjernes og saken åpnes. Laserpekermodulen kan sannsynligvis fjernes og brukes til andre prosjekter, selv om jeg ikke har gjort dette ennå. Pilene peker på skruene som skal fjernes hvis du vil ta brettet ut for å lodde til det (skruer fjernet på dette bildet). Det er også angitt området hvor det skal kuttes for at ledningene skal gå ut av saken. Se også Figur 5. Skjær ut mens brettet er fjernet, eller i det minste før du lodder ledningene. Det er lettere på den måten.;)} Figur 4 viser hvor ledningene skal loddes. Legg merke til bokstaven i hver tilkobling, slik at du vet hvilken ledning som er når du lukker saken. Figur 5 viser ledningene loddet på plass og ført gjennom utskjæringen. Du kan nå sette sammen saken igjen, og instrumentet skal fungere som det gjorde før operasjonen. Legg merke til kontakten på ledningene. Jeg bruker lengre ledninger for å faktisk koble til kontrolleren min. Hvis du bruker liten ledning, en liten kontakt og holder ledningene korte, kan du sette alt tilbake i saken hvis du ønsker det, og instrumentet ser uendret ut. Scott har også laget programvaren for å koble til denne enheten. Han brukte dette dokumentet hvis du vil ha detaljene. Det er det! Du har nå en IR -temperatursensor som fungerer fra -33 til 250 C.

Trinn 2: Programvare for kontroll

Programvare for kontroll
Programvare for kontroll

IR -temperatursensoren er nyttig som den bare er en del av systemet. For å kontrollere temperaturen kreves tre elementer: en varmekilde, en temperatursensor og en kontroller som kan lese sensoren og styre varmekilden. I vårt tilfelle er kokeplaten varmekilden, IR-temperatursensoren (som endret i det siste trinnet) er vår sensor, og en Ard/Free-duino som kjører passende programvare er kontrolleren. All programvare for denne Instructable kan lastes ned som en Arduino -pakke og som en behandlingspakke.

Last ned filen IR_PID_Ard.zip. Pakk den ut i Arduino -katalogen (vanligvis Mine dokumenter/Arduino). Last ned filen PID_Plotter.zip. Pakk den ut i behandlingskatalogen (vanligvis Mine dokumenter/behandling). Filene vil nå være tilgjengelige i de aktuelle skissebøkene.

Programvaren vi skal bruke ble opprinnelig skrevet av Tim Hirzel. Det modifiseres ved å legge til grensesnittet til IR -sensoren (levert av Scott Dixon). Programvaren implementerer en kontrollalgoritme kjent som PID -algoritmen. PID står for Proportional - Integral - Derivative og er standardalgoritmen som brukes for industriell temperaturkontroll. Denne algoritmen er beskrevet i en utmerket artikkel av Tim Wescott som Tim Hirzel baserte sin programvare på. Les artikkelen her.

For å justere algoritmen (les om dette i artikkelen nevnt) og for å endre innstillinger for måltemperatur, vil vi bruke en Processing sketch, også utviklet av Tim Hirzel. Den ble utviklet for steking av kaffebønner (en annen applikasjon av temperaturkontroll), og ble kalt Bare Bones Coffee Controller, eller BBCC. Navn til side, det fungerer utmerket for overflatemontering. Du kan laste ned originalversjonen her.

Endre programvaren

I det følgende antar jeg at du er kjent med Arduino og prosessering. Hvis du ikke er det, bør du gå gjennom opplæringen til ting begynner å gi mening. Husk å legge inn kommentarer til denne instruksjonsboken, så skal jeg prøve å hjelpe deg.

PID -kontrolleren må modifiseres for din Arduino/Freeduino. Klokkelinjen fra IR -sensoren må festes til en avbruddsnål. På en Arduino kan dette være 1 eller 0. På Freeduinos av forskjellige slag kan du bruke alle tilgjengelige avbrudd. Fest datalinjen fra sensoren til en annen pin i nærheten (for eksempel D0 eller D1 eller en annen pin). Kontrollledningen til kokeplaten kan komme fra en hvilken som helst digital pin. På min spesielle Freeduino -klon (beskriv her) brukte jeg D1 og tilhørende avbrudd (1) for klokke, D0 for data og B4 for kontrollinjen til kokeplaten.

Etter at du har lastet ned programvaren, starter du Arduino -miljøet og åpner IR_PID fra menyelementet File/Sketchbook. Under fanen pwm kan du definere HEAT_RELAY_PIN som passer for din Arduino- eller Freeduino -variant. Under temp -fanen gjør du det samme for IR_CLK PIN, IR_DATA PIN og IR_INT. Du bør være klar til å kompilere og laste ned.

På samme måte kan du starte behandlingsmiljøet og åpne PID_Plotter -skissen. Juster BAUDRATE til riktig verdi, og sørg for å sette indeksen som brukes i Serial.list () [1] til riktig verdi for systemet ditt (porten min er indeks 1).

Trinn 3: Hooking It All Up

Hooking It All Up
Hooking It All Up
Hooking It All Up
Hooking It All Up
Hooking It All Up
Hooking It All Up

Varmeplatenes AC -kontrollsystem er beskrevet i Extreme Surface Mount Lodding Instructable som allerede er nevnt, eller du kan kjøpe ditt eget SSR (solid state relé). Sørg for at den kan håndtere varmeplatebelastningen med tilstrekkelig margin, si en 20 til 40 watt rating, siden testingen utført av kineserne kan etterlate noe å være ønsket. Hvis du bruker varmeplatenes AC-kontroller fra Instructable, kjører du en jumper fra motstanden på kontrollinngangen til bakken på Ard/Free-duino og en jumper fra kontrollutgangen (B4, eller hva du måtte velge) til Control Signal Inngang. Se bildet av kontrolleren. Den gule jumperen er kontrollsignalinngangen og den grønne jumperen går til bakken. Jeg liker å bruke en blinkenlight (ledet med en motstand til bakken) på utgangspinnen, så jeg vet når den er på. Koble jumperen mellom ledningen og porten som vist. Se tilkoblingsdiagrammet for Teensy ++.

Rett opp en støtte for å holde IR -temperatursensoren over kokeplaten. Bildet viser hva jeg gjorde. Enkel, men solid er regelen. Hold alt brannfarlig godt borte fra kokeplaten; sensoren er av plast og ser ut til å være helt fin 3 tommer over overflaten på platen. Kjør ledninger fra kontakten på sensoren til de riktige pinnene på din Ard/Free-duino. Tilkoblinger for IR -sensoren er vist i Teensy ++ oppkoblingsdiagrammet. Tilpass disse etter behov for din Ard/Free-duino.

Viktig sikkerhetsmerknad: IR -sensoren har en ledet peker som hjelper til med å sikte den. Hvis du har katter som min, elsker de å jage ledepekeren. Så dekk til LED -en med litt ugjennomsiktig tape for å hindre at kattene dine hopper på kokeplaten når du bruker den.

Før du kobler varmeplatenes AC -kontroller til 120V, kan du teste systemet og sette innledende målverdier for temperatur. Jeg foreslår en måltemperatur på 20 C, slik at oppvarmingen ikke starter umiddelbart. Disse verdiene vil bli lagret i EEPROM og brukt neste gang, så sørg for at du alltid lagrer en lav verdi som måltemperaturen når du er ferdig med en loddesession. Jeg synes det er en god idé å starte temperaturkontrolleren med at kokeplaten er koblet fra først. Sørg for at alt fungerer før du kobler det til.

Koble den serielle porten til Arduino og slå den på. Kompiler Arduino -skissen og last den ned. Start behandlingsskissen for å samhandle med kontrolleren og vise resultater. Noen ganger vil ikke Arduino -skissen synkronisere med behandlingsskissen. Når dette skjer, ser du meldingen "Ingen oppdatering" i konsollvinduet i behandlingsskissen. Bare stopp og start behandlingsskissen på nytt, og ting skal være i orden. Hvis ikke, ta en titt på feilsøkingsdelen nedenfor.

Her er kommandoene for kontrolleren. "Delta" er mengden som en parameter vil endre når den blir kommandert. Sett først verdien av deltaet du vil bruke. Juster deretter ønsket parameter ved å bruke det deltaet. For eksempel, bruk + og - for å lage delta 10. Bruk deretter T (stor "T") for å øke måltemperaturinnstillingen med 10 grader C, eller t (små bokstaver "t") for å redusere måltemperaturen med 10 grader. Kommandoer:

+/-: juster delta med en faktor på ti P/p: opp/ned juster p forsterkning med delta I/i: opp/ned juster i gevinst med delta D/d: opp/ned juster d forsterkning med delta T/t: opp/ned juster innstilt temp med delta h: bytte hjelpeskjerm på og av R: tilbakestill verdier - gjør dette første gangen du kjører kontrolleren

Når du får temperaturoppdateringer, skal det grafiske vinduet i skissen ligne på bildet. Hvis du har et stort grått område på skjermen med noen kommandoer beskrevet, bare skriv "h" for å fjerne det. Når du starter for første gang, kan du bli bedt om å tilbakestille startverdiene. Fortsett og gjør det. Verdiene i øvre høyre hjørne er gjeldende avlesninger og innstillinger. "Mål" er gjeldende måltemperatur og endres med "t" -kommandoen som beskrevet ovenfor. "Curr" er gjeldende temperaturavlesning fra sensoren. “P”, “I” og “D” er parametrene for PID -kontrollalgoritmen. Bruk kommandoene "p", "i" og "d" for å endre dem. Jeg skal diskutere dem om et øyeblikk. "Pow" er strømkommandoen fra PID -kontrolleren til kokeplaten. Det er en verdi mellom 0 (alltid av) og 1000 (alltid på).

Hvis du legger hånden under sensoren, bør du se temperaturen (Curr) lese opp. Hvis du nå øker måltemperaturen, ser du effekt (Pow) -verdien øke og utgangs -LED -en blinker. Øk måltemperaturen, og utgangs -LED -en vil forbli på lenger. Når kokeplaten er tilkoblet og fungerer, vil en økning av måltemperaturen føre til at kokeplaten slås på. Når den nåværende temperaturen nærmer seg måltemperaturen, vil tiden gå ned, slik at måletemperaturen nærmer seg med minimal overskyting. Da vil tiden være akkurat nok til å opprettholde måltemperaturen.

Slik angir du parametrene for PID -algoritmen. Du kan begynne med verdiene jeg bruker. P på 40, I på 0,1 og D på 100. Systemet mitt vil gjøre et 50C -trinn på omtrent 30 sekunder med et overskudd på mindre enn 5 grader. Hvis systemet ditt fungerer vesentlig annerledes, vil du ønske å stille det inn. Tuning av en PID -kontroller kan være vanskelig, men artikkelen referert ovenfor forklarer hvordan du gjør det veldig effektivt.

Nå er det på tide med den virkelige tingen. Koble kokeplaten til varmeplatenes AC -kontroller som beskrevet i ekstrem overflatemontering. Husk å lese alle advarslene der også. Plasser temperatursensoren slik at den er omtrent 3 tommer over kokeplaten og peker direkte på den. Slå på din Ard/Free-duino. Kontroller at alle tilkoblingene er riktige og at programvaren din (PID -kontrolleren og overvåkingsprogrammet) fungerer som den skal. Start med måltemperaturen satt til 20 C. Deretter øker du måltemperaturen til 40 C. Varmeplaten skal komme på og temperaturen skal øke jevnt til 40C +/- 2 C. Du kan nå prøve å øke temperaturen mens du observerer ytelsen av systemet ditt. Du vil legge merke til at det tar mye lengre tid for tallerkenen å kjøle seg ned enn å varme den opp.

Feilsøking

Hvis behandlingsskissen ikke kjører eller ikke oppdaterer temperaturen, stopper du behandlingsskissen og starter en seriell terminal (for eksempel Hyperterminal på Windows). Trykk på mellomromstasten og trykk retur. Arduinoen skal svare med gjeldende temperaturavlesning. Juster innstillingene for overføringshastighet, etc. til du får ønsket svar. Når dette fungerer, skal behandlingsskissen kjøres. Hvis du fortsatt har problemer, må du sørge for at pin -tilordningene stemmer overens med dine fysiske ledninger og at du har koblet strøm og jord til de riktige pinnene på temperatursensoren.

Trinn 4: Overflatemontering

Overflatemontering Lodding
Overflatemontering Lodding

Ved å bruke temperaturkontrollsystemet beskrevet i denne instruksjonsdelen, forbedres ekstrem overflatemontering på to måter. For det første er temperaturkontrollen mer nøyaktig og betydelig raskere. Så i stedet for å ha en langsom rampe fra omtrent 120C til 180C over 6 minutter eller så, kan vi gå raskt til 180C, holde i 2 ½ til 3 minutter og gå raskt til 220C til 240C i omtrent et minutt. Vi må fortsatt se etter punktet når loddetinn flyter og slå av strømmen, eller bare senke måltemperaturen raskt. Siden temperaturen faller veldig sakte, glir jeg vanligvis kretsene mine fra kokeplaten så snart temperaturen har avkjølt til under 210C. Legg dem på et stykke perf -bord eller tre, ikke metall. Metallet kan få dem til å avkjøles for raskt. Vær også oppmerksom på at du kanskje må øke måltemperaturen over 250C (maksimum sensoren vil lese) for å få platen varm nok i visse områder. Platen vil ikke nå en enkelt temperatur over hele overflaten, men vil være kjøligere i visse områder enn andre. Du lærer dette ved å eksperimentere.

Det andre forbedringsområdet er en reduksjon i tiden mellom loddesyklusene. Med det åpne sløyfesystemet måtte jeg vente på at kokeplaten var avkjølt til romtemperatur (ca. 20C) for å starte en ny loddesyklus. Hvis jeg ikke gjorde dette, ville ikke temperatursyklusen være riktig (endring av innledende forhold). Nå trenger jeg bare å vente på en stabil temperatur rundt 100C, og jeg kan starte en ny syklus.

Temperatursyklusen jeg nå bruker er underforstått ovenfor, men her er den nøyaktig. Start ved 100C. Legg brettene på kokeplaten i to til tre minutter for å varme opp - lengre med store komponenter. Still inn måltemperaturen til 180C. Denne temperaturen nås på mindre enn ett minutt. Hold her i 2 ½ minutt. Sett målet ditt til 250C. Så snart alt loddet renner, reduser måltemperaturen til ca 100C. Temperaturen på tallerkenen din vil forbli høy. Så snart den synker til 210C, eller tiden på 1 minutt går, skyv brettene av kokeplaten på en kjøleplattform av perfboard eller tre. Lodding er ferdig.

Hvis du ønsker å bruke en annen temperaturprofil, bør du ikke ha problemer med å oppnå det med dette kontrollsystemet.

Det kan være lurt å eksperimentere med plasseringen av temperatursensoren over kokeplaten. Jeg fant ut at ikke alle områder av kokeplaten når samme temperatur samtidig. Så avhengig av hvor du plasserer sensoren din, kan den faktiske tiden og temperaturen som kreves for å få loddetinnet til å variere. Når du har utarbeidet en oppskrift, bruker du samme posisjonering av sensoren for repeterbare resultater.

God lodding!

Anbefalt: