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

DIY-soldeerboutbesturing voor 862D+

Componenten en benodigdheden

Arduino Nano R3
× 1
Normale flyback-diode.
× 1
irf540n n-channel mosfet
× 1
5v lineaire regelaar
× 1
Weerstand 330 ohm
× 1
pin-headers (mannelijk)
× 2
.96 inch Oled
× 1

Benodigde gereedschappen en machines

Soldeerbout (algemeen)
8 mm boor /w boor

Over dit project

Update 21-10-2019):Grote update van de code. Lees ook hieronder. Er is een beetje veranderd.

Mijn 862D+ soldeerbout brak, dus in plaats van een nieuwe te kopen nam ik een tweede strijkijzer en repareerde het. Het moeilijkste is dat er elders online geen oplossing was. De print was kapot omdat na vervanging van het strijkijzer nog steeds S-E of sensorfout werd aangegeven.

Dus besloot ik om mijn eigen controllercircuit te maken en het erin te stoppen. Er was een tweede transformator voor nodig, maar omdat het goedkoop was, was er binnen genoeg ruimte.

Het ziet er misschien niet goed uit, maar het werkt als een tierelier. Als bonus heb ik de aan / uit-knop van de soldeerbout verwijderd en toegevoegd tussen 5v en de arduino.

Op naar de bouwtips:

Alle onderdelen zijn nu te koop. LCSC is een site voor bulkelektronica. Verzending naar Amerika is duur, maar de componenten zijn belachelijk goedkoop.

EX mosfet op Amazon $6 maar mosfet op LCSC 32 cent. Dingen zoals weerstanden moeten echter in bulk worden gekocht. Toch zijn 50 weerstanden letterlijk 0,84 cent.

ZORG ERVOOR DAT DRADEN MET LANGE GEGEVENS AFGESCHERMD WORDEN met geaarde aluminiumfolie of iets anders. De 12c schermdraad bijvoorbeeld.

In de code:

1023 koudste 0 lava. Verander de settemp naar uw wens. Ergens rond de 600 typisch.

De soldeerboutcontroller kan detecteren of je strijkijzer aangesloten of kapot is. Als de soldeerbout is losgekoppeld, zal de arduino de analoge ingang op nul zetten. Als de soldeerbout vroeger goed opwarmde, maar nu niet:koppel de soldeerbout los, wacht tot hij zegt:plug iron in, dan ben je klaar om te gaan. (Dit was een probleem voor mij)

Nu kent u de basisprincipes van uw strijkijzer. Dit kan een goedkoop alternatief zijn voor het kopen van een kwaliteitssoldeerbout. Hoewel er strijkijzers van hogere kwaliteit zijn, is deze erg goedkoop en zelfgemaakt.

Code

  • Besturingscode
  • De code
  • Code bijgewerkt 21-10-2019
BesturingscodeC/C++
Plak dit in de arduino en upload. Dit werkt alleen met het opgegeven circuit
int output =0;int temp =0;int settemp =630;String inputString =""; // een string om inkomende databoolean rap =false;boolean stringComplete =false; // of de string compleet is t =0; void setup () { Serial.begin (9600); inputString.reserve(200); pinMode (6, UITGANG); digitalWrite(6, LOW);}void loop() {serialEvent(); if (stringComplete) {Serial.println(inputString); t =invoerString.toInt(); //settemp =t // stelt de ingestelde temperatuur in op de seriële ingang inputString =""; stringComplete =onwaar; } snel(); pid();}void rapid() { // Bestuurt de soldeerbout door hem in het begin snel op te warmen. if (rap ==false) {digitalWrite(6, HIGH); doen { temp =analoog lezen (0); Serial.print("snel"); Serieel.println(temp); } while (temp - settemp>
 10); digitalWrite (6, LAAG); rap =waar; }}void pid() { // Regelt het solderen met langzame verwarming van actief vermogen. temp =analoog lezen (0); uitgang =temp - insteltemp; if (output <0) { output =0; } if (output> 255) { output =255; } Serieel.print("pid"); Serial.print(temp); Serieel.print(", "); Serial.println(uitvoer); analogWrite(6, output);}void serialEvent() {//Seriële communicatie die kan worden gebruikt om settemp while bij te werken (Serial.available()) { char inChar =(char)Serial.read(); inputString +=inChar; if (inChar =='\n') { stringComplete =true; } }}
De CodeC/C++
Plakken in editor en uploaden. Werkt alleen met ontworpen schema.
#include #include #include #define OLED_ADDR 0x3CAdafruit_SSD1306 display(-1);int settemp =590; //handmatig ingestelde variabelensint output =0;int temp =0;String inputString ="";boolean rap =false;boolean stringComplete =false;int t =0;int mappedpower =0;byte powermultiply =0;long counter =0; int temp2 =0;byte outputoffset =0;byte scaleread =0;void setup() {Serial.begin(9600); pinMode (12, UITGANG); digitalWrite (12, LAAG); display.begin(SSD1306_SWITCHCAPVCC, OLED_ADDR); display.clearDisplay(); weergave.weergave(); rapid();}void loop() { pid(); display.clearDisplay(); updatebalk(); updatetekst(); display.display();}void rapid() { // Bestuurt de soldeerbout door hem in het begin snel op te warmen. if (rap ==false) { digitalWrite (12, HIGH); uitgang =255; doen { temp =analoog lezen (0); Serial.print("snel"); Serieel.println(temp); display.clearDisplay(); updatebalk(); updatetekst(); weergave.weergave(); } while (temp - settemp>
 1); digitalWrite (12, LAAG); rap =waar; }}void pid() { // Regelt het solderen met langzame verwarming van actief vermogen. temp =analoog lezen (0); //Temperatuurgemiddelde temp2 =temp; vertraging (50); temp =analoog lezen (0); temp =temp + temp2; temperatuur =temperatuur / 2; nulschaal; // activeer geen soldeerbout checker temp =temp + outputoffset; uitgang =temp - insteltemp; output =output + powermultiply; uitgang =uitgang * 4; if (output <0) { output =0; } if (output> 255) { output =255; } teller =teller + 1; if (teller> 10) { teller =0; if (temp>
 settemp + 3) { powermultiply =powermultiply + 1; } if (temp  0) { powermultiply =powermultiply - 1; } } Serial.print(powermultiply); Serieel.print(", "); Serial.print(temp); Serieel.print(", "); Serial.println(uitvoer); analogWrite (12, output);} ongeldige updatebar () {// Updates Powerbar op OLED-display mappedpower =map (output, 0, 255, 0, 127) - 10; display.fillRect(0, 0, mappedpower, 8, WIT); display.fillRoundRect(mappedpower - 5, 0, 20, 8, 3, WHITE);}void updatetext() {//Update tekst op Oled-display display.setCursor(0, 9); display.setTextColor(WIT); display.setTextSize(1); display.print("Temperatuur instellen:"); display.print(settemp); display.setCursor(0, 20); display.print("Temp:"); display.print(temp);}void zeroscale() {//Als de soldeerbout is losgekoppeld, past u de invoerpinwaarde aan om deze op nul te zetten if (output <200) { display.clearDisplay(); display.setCursor(0, 9); display.setTextColor(WIT); display.setTextSize(1); display.print("Geen soldeerbout, of defect"); display.setCursor(0, 15); display.print("strijken."); display.setCursor(0, 20); display.print("Testen over 5 seconden."); weergave.weergave(); vertraging (5000); if (output <200) { outputoffset =temp; } display.clearDisplay(); display.setCursor(0, 9); display.setTextColor(WIT); display.setTextSize(1); display.print("Uitvoer offset ingesteld."); display.setCursor(0, 20); display.print("Steek het strijkijzer in het stopcontact."); weergave.weergave(); doen { scaleread =analogRead (0); } while (schaalaflezing <200); }}
Code bijgewerkt 21-10-2019C/C++
Plakken in IDE en uploaden. Werkt alleen met shematic.
#include #include #include #define OLED_ADDR 0x3CAdafruit_SSD1306 display(-1);int settemp =590; //handmatig ingestelde variabelensint output =0;int temp =0;String inputString ="";boolean rap =false;boolean stringComplete =false;int t =0;int mappedpower =0;byte powermultiply =0;long counter =0; int temp2 =0;byte outputoffset =0;byte scaleread =0;void setup() {Serial.begin(9600); pinMode (12, UITGANG); digitalWrite (12, LAAG); display.begin(SSD1306_SWITCHCAPVCC, OLED_ADDR); display.clearDisplay(); weergave.weergave(); rapid();}void loop() { pid(); display.clearDisplay(); updatebalk(); updatetekst(); display.display();}void rapid() { // Bestuurt de soldeerbout door hem in het begin snel op te warmen. if (rap ==false) { digitalWrite (12, HIGH); uitgang =255; doen { temp =analoog lezen (0); Serial.print("snel"); Serieel.println(temp); display.clearDisplay(); updatebalk(); updatetekst(); weergave.weergave(); } while (temp - settemp>
 1); digitalWrite (12, LAAG); rap =waar; }}void pid() { // Regelt het solderen met langzame verwarming van actief vermogen. temp =analoog lezen (0); //Temperatuurgemiddelde temp2 =temp; vertraging (50); temp =analoog lezen (0); temp =temp + temp2; temperatuur =temperatuur / 2; nulschaal(); // activeer geen soldeerbout checker temp =temp + outputoffset; uitgang =temp - insteltemp; output =output + powermultiply; uitgang =uitgang * 4; if (output <0) { output =0; } if (output> 255) { output =255; } teller =teller + 1; if (teller> 10) { teller =0; if (temp>
 settemp + 3) { powermultiply =powermultiply + 1; } if (temp  0) { powermultiply =powermultiply - 1; } } Serial.print(powermultiply); Serieel.print(", "); Serial.print(temp); Serieel.print(", "); Serial.println(uitvoer); analogWrite (12, output);} ongeldige updatebar () {// Updates Powerbar op OLED-display mappedpower =map (output, 0, 255, 0, 127) - 10; display.fillRect(0, 0, mappedpower, 8, WIT); display.fillRoundRect(mappedpower - 5, 0, 20, 8, 3, WHITE);}void updatetext() {//Update tekst op Oled-display display.setCursor(0, 9); display.setTextColor(WIT); display.setTextSize(1); display.print("Temperatuur instellen:"); display.print(settemp); display.setCursor(0, 20); display.print("Temp:"); display.print(temp);}void zeroscale() {//Als de soldeerbout is losgekoppeld, past u de invoerpinwaarde aan om deze op nul te zetten als (temp <200) { display.clearDisplay(); display.setCursor(0, 20); display.setTextColor(WIT); display.setTextSize(1); display.print("Geen soldeerbout."); weergave.weergave(); vertraging (10000); display.setCursor(0, 0); display.print("Testen over 5 seconden."); weergave.weergave(); vertraging (5000); if (temp <200) { outputoffset =temp; } display.clearDisplay(); display.setCursor(0, 20); display.setTextColor(WIT); display.setTextSize(1); display.print("Uitvoer offset ingesteld."); display.setCursor(0, 0); display.print("Sluit het strijkijzer aan."); weergave.weergave(); doen { scaleread =analogRead (0); } while (schaalaflezing <200); }}

Schema's

Gebruik dit schema om een ​​circuit voor het strijkijzer te maken

Productieproces

  1. Multitemperatuursensor
  2. DIY 37 LED Roulette Game
  3. MotionSense
  4. 3D-printer brandveiligheid
  5. MIDI voor digitale orgels
  6. Arduino afstotende elektromagnetische levitatie
  7. Grijperbot met afstandsbediening
  8. Microcontrollers Lab
  9. Persistence of Vision (POV) Globe
  10. Zonnestelsel dat de zon volgt
  11. CoroFence - Thermische Detector🖖