Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Manufacturing Technology >> Productieproces

Soldeerboutcontroller voor Hakko 907 v.2

Componenten en benodigdheden

hakko 907 ijzer
× 1
5-pins luchtvaartstekker
× 1
dc-dc-converter
× 1
Arduino Nano R3
× 1
lcd-scherm 8x2
× 1
versterker mcp602 of analoog
× 1
mosfet irfz44n
× 1
fr107 Fast Recovery Rectifier Diode
× 1
Transistor-NPN voor algemeen gebruik
× 1
Transistor PNP voor algemeen gebruik
× 1
Roterende encoder met drukknop
× 1
Condensator 1000 uF 35v
× 1
Condensator 100 nF
× 4
Weerstand 1k ohm
× 2
Weerstand 10k ohm
× 1
Weerstand 100k ohm
× 2
Multi-Turn Precisie Potentiometer - 10k ohm (25 Turn)
× 1
Multi-Turn Preision Potentiometer 500k
× 1
Zoemer
× 1

Benodigde gereedschappen en machines

Soldeerbout (algemeen)

Apps en online services

Arduino IDE

Over dit project

Niet-dure soldeercontroller

BIJGEWERKT 04/03/2019 schema en beschrijving bijgewerkt

BIJGEWERKT 18-02-2018:kalibratieprocedure bijgewerkt

BIJGEWERKT 8/1/2017:sketch bug gerepareerd, sketch voor lcd1602 toegevoegd

BIJGEWERKT 7/31/2017:nieuwe hardwareschema's geïmplementeerd

UPDATED 4/7/2017:nieuwe functies zijn geïmplementeerd (zie de beschrijving)

De controller werkt met de hakko 907 soldeergrepen met vervangbare tips en heeft een ingebouwd verwarmingselement en thermistor OF thermokoppel om de temperatuur van het strijkijzer te controleren. De handgreep heeft twee onafhankelijke elektrische circuits voor het verwarmen van het strijkijzer en het controleren van de temperatuur. Deze controller kan worden gebruikt met een andere ijzeren handgreep met dezelfde architectuur.

Het is beter om de stekker op de ijzeren handgreep te vervangen door een andere, bijvoorbeeld luchtvaartstekker GX16-5 of GX-12-5.

De belangrijkste kenmerken van deze controller zijn:

  • De controller is geschikt om te werken met verschillende Hakko 907 handgrepen, met thermokoppel of met thermistor om de temperatuur te controleren. U moet de juiste schema's kiezen.
  • Het PID-algoritme is geïmplementeerd om de temperatuur van de soldeerbout op peil te houden. Het strijkijzer verhoogt de temperatuur in ongeveer 30 seconden en houdt het binnen 1-2 graden Celsius.
  • De controller houdt de temperatuur bij intensief gebruik omdat het PID-algoritme erg gevoelig is en het geleverde vermogen snel kan verhogen.
  • Drie referentietemperatuurpunten geïmplementeerd in de soldeerboutkalibratieprocedure.
  • De kalibratieprocedure is geautomatiseerd met behulp van het PID-algoritme om de temperatuur in de buurt van het referentiepunt te houden.
  • De controller ondersteunt twee werkmodi:houd de temperatuur en behoud de geleverde stroom.
  • Om de werking stil te houden, zijn de Timer1 hoogfrequente interrupts geïmplementeerd in de controller. Hierdoor kan de PWM-frequentie worden verhoogd tot 31250 Hz in plaats van 490 Hz door de ingebouwde analogWrite() functie.
  • De controller implementeert een versnelde roterende encoder. Wanneer de encoder langzaam wordt gedraaid, wordt de temperatuurinstelling met 1 graad gewijzigd. Wanneer de encoder snel draait, wordt de temperatuurinstelling met 5 graden gewijzigd.
  • De temperatuur wordt opgeslagen in Arduino EEPROM nadat de soldeerbout is gebruikt voor het geval de temperatuurinstellingen zijn gewijzigd.
  • De controller ondersteunt Celcius- of Farenheit-eenheden die kunnen worden gebruikt voor de weergegeven temperatuurwaarde, vooraf ingestelde temperatuur en kalibratiegegevens.
  • De controller heeft een afstemmodus om de initiële instellingsprocedure van de controller te vereenvoudigen.

Het bedieningsmenu

Zoals ik eerder al zei, heeft de controller verschillende modi:

  • Standby-modus
  • Belangrijkste werkmodus (houd de temperatuur)
  • Power-modus (bewaar de geleverde stroom)
  • Instelmodus
  • Kalibratiemodus
  • Tune-modus (de initiële instellingsprocedure)

Wanneer de controller net is ingeschakeld, wordt de stand-bymodus geactiveerd. In deze modus wordt de soldeerbout gevoed. Het hoofddisplay toont de volgende informatie:

  • De vooraf ingestelde temperatuur aan de linkerkant van de bovenste regel (in geselecteerde eenheden - Celsius of Fahrenheit);
  • Het 'OFF'-bericht aan de rechterkant van de bovenste regel geeft aan dat het strijkijzer is uitgeschakeld;
  • De huidige temperatuur van het strijkijzer aan de linkerkant van de tweede regel;

Als het strijkijzer niet is aangesloten op de controller, wordt op de tweede regel de melding 'geen strijkijzer' weergegeven. Wanneer het strijkijzer koud is geworden (na gebruik), wordt het bericht 'koud' weergegeven op de tweede regel om aan te geven dat het veilig is om het strijkijzer aan te raken.

De vooraf ingestelde temperatuur kan worden aangepast door aan de encoderhendel te draaien terwijl het strijkijzer is uitgeschakeld. Om de soldeerbout in te schakelen, drukt u licht op de encoderhendel. De controller wordt in de hoofdmodus geschakeld. Nu houdt de controller de temperatuur van het strijkijzer in de buurt van de vooraf ingestelde temperatuur. Bij intensief gebruik van het strijkijzer kan de temperatuur iets afwijken van de vooraf ingestelde temperatuur.

In de hoofdmodus toont het display de volgende informatie:

  • De vooraf ingestelde temperatuur aan de linkerkant van de bovenste regel (in geselecteerde eenheden - Celsius of Fahrenheit)
  • Het 'AAN'-bericht aan de rechterkant van de bovenste regel geeft aan dat het strijkijzer is ingeschakeld en nog steeds aan het opwarmen is. Wanneer het strijkijzer de vooraf ingestelde temperatuur bereikt, gaat de 'rdy ' (klaar) bericht wordt weergegeven;
  • De huidige temperatuur van het strijkijzer wordt weergegeven aan de linkerkant van de tweede regel;
  • Het vermogen dat aan het strijkijzer wordt geleverd (in procenten van het maximaal toegestane vermogen) wordt weergegeven aan de rechterkant van het scherm;

Door aan de encoder te draaien is het mogelijk om de vooraf ingestelde temperatuur te wijzigen. Het bericht 'ON' zou opnieuw worden weergegeven totdat het strijkijzer de nieuwe vooraf ingestelde temperatuur zou hebben bereikt. Om terug te keren naar de standby-modus, drukt u licht op de encoderhendel.

In de hoofdmodus controleert de controller of het strijkijzer goed werkt. Als binnen 10 seconden vanaf het begin de temperatuur niet zou veranderen, zou de controller de stroom uitschakelen en het bericht 'Mislukt ' op het scherm zou verschijnen. Druk in dit geval lichtjes op de encoderknop om terug te keren naar de standby-modus.

De energiemodus kan worden ingeschakeld door lang op de encoder te drukken terwijl deze zich in de hoofdmodus bevindt. In de power-modus kunt u het vermogen dat aan de soldeerbout wordt geleverd handmatig aanpassen door aan de encoder te draaien. In de energiemodus toont het scherm het vermogen dat aan het strijkijzer wordt geleverd in de interne eenheden en de temperatuur van het strijkijzer in voor mensen leesbare eenheden. Lichte druk op de encoder schakelt aan/uit in de energiemodus. Als u lang op de draaiknop van de encoder drukt, keert de controller terug van de energiemodus naar de hoofdmodus.

Om naar de setup-modus te gaan, drukt u lang op de encoder in de standby-modus. In de setup-modus kunnen de configuratieparameters worden aangepast. Er zijn 7 menu-items in deze modus:

  • time-out voor automatische uitschakeling (in minuten)
  • temperatuureenheden (Celsius of Fahrenheit)
  • de ijzerkalibratie ('calib.')
  • eerste instellingsprocedure ('tune')
  • bewaar de wijzigingen
  • annuleer de wijzigingen
  • standaardwaarden herstellen

Draai aan de hendel om het menu-item te selecteren. Om het geselecteerde item te wijzigen, drukt u licht op de encoderhendel. Druk na het aanpassen van de parameter nogmaals op de hendel om terug te keren naar het setup-menu. Door lang op de encoderhendel te drukken, keert u terug naar de stand-bymodus en slaat u de parameters op in de EEPROM.

tip:u moet de standaardparameters laden voordat u de controller voor het eerst gebruikt of nadat een nieuwe, kleine softwareversie is geflitst.

De sensoruitlezingsschema's

Het schema van de sensoraflezing van deze controller hangt af van het type thermische sensor van de soldeerbout:thermistor of thermokoppel. Beide schema's zijn hieronder in één afbeelding gecombineerd.

In beide schema's wordt de nauwkeurige werkende versterker MCP602 gebruikt die rail-to-rail-technologie implementeert. Deze versterker verhoogt de nauwkeurigheid van de temperatuurmetingen aanzienlijk en produceert bijna volledige spanning die aan de uitgangspen wordt geleverd. Het meetinterval op de A0-pin is dus 0-1023. U kunt de mcp602-versterker vervangen door zijn analoge. Door een nauwkeurige bedieningsversterker te gebruiken, kan de controller de temperatuur van het strijkijzer binnen het kleinere interval houden.

In het geval van een thermokoppelvariant van de ijzeren handgreep moeten beide jumpers JP1 en JP2 open zijn en moeten ze gesloten zijn in het geval van een thermistorhandgreep.

Als de ijzeren handgreep de thermistor implementeert, nam de weerstand van de sensor toe van ongeveer 50 Ohm wanneer het koud is tot ongeveer 200 Ohm wanneer de temperatuur van de soldeerbout 400 graden Celsius wordt. Als de ijzeren handgreep het thermokoppel implementeert, nam de gegenereerde spanning toe van nul bij de omgevingstemperatuur tot 9 mV wanneer de soldeerbout 400 graden Celsius bereikt. In ieder geval kan een ander ijzeren handvat de verschillende parameters hebben, dus besloot ik een multi-turn potentiometer te gebruiken om de versterker MCP602 af te stemmen. Voor de allereerste keer moet deze potentiometer op de volgende manier worden afgesteld:wanneer het strijkijzer 400 graden Celsius is, moet de uitgangsspanning bijna 5 volt worden (aflezing van A0-pin in de Arduino ongeveer 900). Om de initiële instellingsprocedure te vereenvoudigen, is de afstemmodus geïmplementeerd in de controllersoftware. De afstemmodus kan worden gestart vanuit het instellingenmenu.

Eerste installatie van de controller

Je hebt een externe thermometer nodig om de controller te kalibreren. Vergeet niet de standaardparameter van de controller te laden vanuit het setup-menu .

In de programmaschets is aangenomen dat het werktemperatuurinterval van soldeerbout 180 - 400 graden Celsius is. Het is mogelijk om dit interval te wijzigen door constanten in de programmaschets te bewerken voordat u van plan bent de controller af te stemmen.

De 500k multi-turn potmeter moet worden afgesteld om de werkende versterker het juiste signaal van de soldeerbout te krijgen. Om de initiële instellingsprocedure van de controller te vereenvoudigen, is de tune-modus geïmplementeerd.

Selecteer 'tune' menu-item in het setup-menu. Het strijkijzer begint te verwarmen. De controller geeft in deze modus de temperatuurmetingen weer van pin A0 in de binnenposten (0-1023). Door aan de encoder te draaien, kunt u het vermogen aanpassen om de ijzertemperatuur op 400 graden Celsius te houden (gebruik een externe thermometer). In het begin kunt u het geleverde vermogen verhogen tot de maximale waarde om de verwarming van het strijkijzer te versnellen en vervolgens het vermogen verlagen om de temperatuur op 400 graden te houden. Draai nu aan de hendel van de multi-turn potentiometer om de sensorwaarden in de buurt van 900 te krijgen. Zorg ervoor dat deze waarden niet de maximale waarde zijn, draai het variabele register en verkrijg 930-950, en keer dan terug naar 900. Het is belangrijk omdat de controller moet worden in staat om de temperatuur hoger dan 400 graden Celsius te meten.

Wanneer het variabele register is aangepast, houdt u de encoderhendel ongeveer 2 seconden ingedrukt. De initiële instellingsprocedure is nu voltooid.

De soldeerboutverwarmer

Het belangrijkste kenmerk van de tweede generatie van de controller is het hoogfrequente PWM-signaal dat wordt gebruikt om het strijkijzer te verwarmen. Helaas vereist het beheer van hoogfrequente signalen op de MOSFET-transistor extra onderdelen in de schema's. In deze forumthread wordt het probleem in detail uitgelegd. Kortom, de MOSFET heeft een capaciteit in de poort die tijd nodig heeft om op te laden of te ontladen. Om de snelheid van de MOSFET (irfz44n) te verhogen, is de driver met twee transistoren geïmplementeerd op bipolaire transistors. U kunt een ander bipolair transistorpaar gebruiken.

Zenerdiode (D2, 15V) wordt gebruikt om de poortspanning (Vgs) van de MOSFET te beperken terwijl deze open is, omdat de voedingsspanning hoger is dan de maximale waarde van de mosfet vgs-spanning. De diode FR107 haalt de stroom uit het strijkijzer wanneer de MOSFET gesloten is. U kunt deze diode door een andere vervangen, maar u moet een snel herstelbare diode gebruiken.

De weerstand van het koude ijzeren verwarmingselement is erg laag en sommige notebookvoedingen kunnen weigeren te werken. De controller reset gewoon en het strijkijzer blijft in dit geval koud. Om deze situatie te voorkomen, wordt de condensator van 1000uF net na de 24v-ingang geïmplementeerd (zie volledige schema's van de controller).

Kalibreer de soldeerbout

De controller leest de temperatuur in interne eenheden (0-1023) door de spanning op A0 Arduino-pin te lezen. Het is handig voor ons om de voor mensen leesbare eenheden zoals graden Celsius of Fahrenheit te gebruiken. De controller heeft standaardparameters waarmee interne temperatuurmetingen kunnen worden omgezet in voor mensen leesbare eenheden. Maar de soldeerbout kan anders zijn, dus de kalibratieprocedure geïmplementeerd in de controller. Er zijn drie referentiepunten voor soldeerboutkalibratie:200, 300 en 400 graden Celsius. De controller slaat interne meetwaarden op voor deze drie referentiepunten en gebruikt deze om de temperatuur van interne meetwaarden om te zetten in door mensen leesbare waarden.

Selecteer 'kalibreren'. menu-item uit het setup-menu om het kalibratieproces te starten. Selecteer het gewenste kalibratiepunt uit de menulijst (200, 300 of 400) en schakel het strijkijzer in door op de encoderhendel te drukken. De soldeerbout begint te verwarmen. Het PID-algoritme maakt het mogelijk om de gewenste temperatuur in korte tijd te bereiken. Wanneer de referentiepunttemperatuur zou worden bereikt, piept de controller om aan te geven dat hij klaar is om de temperatuur te controleren met een externe sensor. Wacht even, laat de temperatuur stabiliseren en controleer vervolgens de werkelijke temperatuur van de soldeerbout met een externe sensor (thermokoppel). Draai vervolgens aan de hendel van de roterende encoder en selecteer de echte temperatuur van het strijkijzer. Druk de hendel van de encoder lichtjes in. De regelaar slaat de werkelijke temperatuur op voor het referentiepunt. Selecteer de volgende referentietemperatuur en herhaal de procedure. U kunt de referentietemperatuur nog een keer kalibreren door het gewenste referentiepunt te selecteren. U kunt elk referentiepunt meerdere keren instellen. Elke keer dat u de echte temperatuur voor het referentiepunt opslaat, werkt de controller de vertaalformule bij. Hierdoor kun je het strijkijzer nauwkeuriger kalibreren. Wanneer u klaar bent met de kalibratie, drukt u lang op de draaiknop. Nu heeft de controller nieuwe waarden opgeslagen voor alle referentietemperaturen die u hebt geselecteerd.

Automatische uitschakelfunctie

De automatische uitschakelfunctie is geïmplementeerd in de tweede generatie van de controller. Dit was een grote uitdaging omdat het handvat van het strijkijzer geen schoksensor of andere manier heeft om correct te controleren of het strijkijzer nu in gebruik is of gewoon op tafel ligt. Het belangrijkste idee was om de waarde van de geleverde stroom aan het strijkijzer te gebruiken. In de ruststand verlaagde de controller het vermogen tot de minimumwaarde om de vooraf ingestelde temperatuur te behouden. Helaas zijn de wiskundige spreidingen van de temperatuur en het geleverde vermogen niet constant in de ruststand en kunnen periodiek afwijken. Door de parameters van het PID-algoritme af te stemmen, heb ik de meetwaarden gestabiliseerd en beide spreidingen geminimaliseerd. Nu houdt de controller in de ruststand de temperatuurspreiding zo laag mogelijk. Het criterium van het ijzergebruik is dat het vermogen iets is verhoogd vanaf de kleinste geregistreerde waarde. Dit algoritme is een tijdje getest en het is bewezen dat het kan worden gebruikt voor de automatische uitschakelfunctie.

Deze oplossing is niet erg betrouwbaar, dus u kunt deze functie uitschakelen als er iets misgaat. De schets bevat ook de klasse voor het debuggen en handmatig afstemmen van de PID-parameters.

U kunt een andere ijzeren handgreep in uw versie van de controller implementeren, de handgreep kan een schoksensor of iets dergelijks hebben om de inactieve toestand zeker te onderscheiden.

Schets voor 1602 display

In sommige landen zijn er enkele problemen om 0802-weergave te krijgen. Dus werd er nog een schets vrijgegeven om de 1602-weergave te ondersteunen. De schets is beschikbaar in de github-distributie. Of je kunt een ander briljant project van Manoj gebruiken, die schema's heeft gemaakt in de Eagle-editor en PCB heeft gemaakt om het soldeerproces te vereenvoudigen.

Over temperatuurvertaling en verschillende sensortypes

Om de temperatuur weer te geven in voor mensen leesbare eenheden (Celsius of Fahrenheit) is IRON_CFG::tempHuman() geïmplementeerd in de schets. Zoals hierboven vermeld, leest de controller de ijzertemperatuur in de binnenunits (spanning op analoge pin A0). De kalibratieprocedure maakt het mogelijk de werkelijke temperatuur rond drie referentiepunten (200, 300 en 400 graden Celsius) te meten. De genoemde methode (tempHuman()) maakt gebruik van lineaire temperatuurinterpolatie met behulp van twee referentiepunten die de huidige ijzertemperatuurmetingen verlagen en verhogen. Maar er is nog een ander niet-gekalibreerd punt:de omgevingstemperatuur. Wanneer de ijzertemperatuur lager is dan 200 graden Celsius, interpoleert de controller de werkelijke temperatuur met twee punten:omgevingstemperatuur en 200 graden. De omgevingstemperatuur wordt gedefinieerd op lijnen #244 en #245 van de schets. Deze waarden kunnen worden aangepast aan uw eigen situatie. Zoals u kunt zien, gaan deze waarden ervan uit dat u de thermistor als ijzertemperatuursensor gebruikt (de omgevingstemperatuur is 350 in interne eenheden). Als je het strijkijzer met thermokoppel gebruikt, zou je deze waarde zeker in 0 veranderen.

Conclusie

Het is een groot genoegen om gecontroleerde soldeerbout te gebruiken. Hij warmt snel op en houdt de temperatuur passend bij de situatie. Deze versie is stil.

Code

De broncode
https://github.com/sfrwmaker/soldering_907_lcd/blob/master/soldering_907_lcd.ino

Schema's

complete_9vLI2a96Rv.sch

Productieproces

  1. Multitemperatuursensor
  2. Arduino-gamecontroller
  3. DIY-soldeerboutbesturing voor 862D+
  4. MotionSense
  5. 3D-printer brandveiligheid
  6. MIDI voor digitale orgels
  7. Arduino afstotende elektromagnetische levitatie
  8. Grijperbot met afstandsbediening
  9. CoroFence - Thermische Detector🖖
  10. Finex-proces voor de productie van vloeibaar ijzer
  11. Materialen voor Invar 36-componenten