Spot Welder 1-2-3 Arduino-firmware: 7 stappe (met foto's)
Spot Welder 1-2-3 Arduino-firmware: 7 stappe (met foto's)
Anonim
Image
Image

Waarom nog 'n spotlasserprojek?

Die bou van 'n spotlasser is een van die (waarskynlik min) gevalle waarin u iets vir 'n fraksie van die prys van die kommersiële weergawe met vergelykbare kwaliteit kan bou. En al was bou-voor-koop nie 'n wenstrategie nie, is dit baie pret!

Daarom het ek besluit om die projek aan te pak, en ek het gekyk hoe ander mense dit gedoen het. Daar is letterlik baie interessante inligting en video's hieroor op die internet, met 'n redelike groot variasie in kwaliteit van ontwerp en bou.

Die kwaliteit van die konstruksie wat 'n mens realisties kan bereik, hang af van die beskikbare gereedskap, masjiene en fasiliteite, dus dit was nie verbasend om 'n groot variasie op hierdie front te sien nie. Aan die ander kant het ek nie verwag dat die meeste projekte slegs 'n eenvoudige handskakelaar gebruik om die sweisproses te begin en te stop nie.

Trouens, akkurate souttydbeheer is die sleutel tot die kwaliteit van u sweiswerk, en u kan dit nie bereik deur 'n skakelaar met die hand om te draai nie.

Ek het gevoel dat terwyl u vir u 'n puntlasser bou, 'n onderwerp is wat waarskynlik reeds doodgeslaan is, miskien 'n beter masjien kan word deur die drie-stap sweisproses met akkurate tydsberekeninge te gebruik, soos professionele masjiene doen. Ek het myself dus vyf hoofdoelwitte vir die ontwerp gegee:

Ondersteuning vir drie-stap sweisproses

Akkurate en instelbare tydsberekeninge

Die vermoë om aanhoudend sweisprofiele op te slaan en op te haal

Eenvoud van ontwerp en bou

Gebruik slegs algemene komponente

Die resultaat is my 1-2-3 Spot Welder, en in hierdie instruksies sal ek die sweisprosesbeheer deel van die projek verduidelik. Die video en hierdie instruksies toon foto's van die prototipe toetslaser voordat alle komponente in 'n behoorlike omhulsel gemonteer word. 'N Bord vir hierdie projek word in 'n aparte instruksie beskryf.

As u vertroud moet raak met die konsep van weerstandslas en hoe u 'n lasser met 'n mikrogolf transformator kan maak, doen dit asseblief voordat u verder lees. Ek sal konsentreer op die beheer van die lasser, nie op hoe 'n lasser werk of hoe om dit te bou nie. Ek voel dit word elders goed gedek.

Stap 1: resep

1-2-3 Sweis
1-2-3 Sweis

Kom ons kyk na die komponente van weerstandslaser:

Sweis transformator. Bied die lae spanning/hoë stroomuitset wat nodig is vir weerstandslas deur omskakeling van die wisselspanning. Vir 'n selfgemaakte lasser word die sweis transformator normaalweg verkry deur 'n mikrogolfoond transformator om te skakel vir lae spanning, hoë stroomuitset. Dit word gedoen deur die sekondêre wikkeling van die hoogspanning uit die MOT te verwyder en 'n nuwe sekondêre wat uit 'n paar draaie van 'n baie dik koperkabel bestaan, te draai. Daar is baie video's op YouTube wat jou wys hoe om dit te doen

Kragkring. Skakel die sweistransformator aan en af, en die werking daarvan word beheer deur die beheerkring. Die kragkring werk op netspanning

Beheerkring. Beheer alle operasies vir die lasser:

    Laat die gebruiker toe om sweis -tydsberekeninge in te stel en te verander

    • Laat die gebruiker toe om sweis -tydsberekeninge op te slaan en op te haal.
    • En laastens kan die gebruiker met 'n sweisproses begin deur opdragte na die Power Circuit te stuur, wat die transformator aan en af skakel.

UI. Die gebruiker kommunikeer met die beheerkring via 'n gebruikerskoppelvlak

Hierdie instruksies beskryf die UI en Control Circuit. Die ontwerp van die UI en Control Circuit wat ek voorstel, is eintlik heeltemal onafhanklik van die ander blokke en kan maklik op 'n bestaande spotlasser aangebring word, mits u huidige inkarnasie van die Power Circuit die digitale uitsetsignaal van die Control Circuit kan hanteer. As u dus reeds 'n elektroniese skakelaar het, kan u die bedienings- en UI -komponente boonop byvoeg sonder enige ander wysigings.

As u nou net 'n handskakelaar het, moet u ook 'n kragkring bou.

Voordat ons die werking van die firmware vir die beheerkring beskryf, laat ons 'n bietjie meer in detail kyk hoe die sweisproses werk.

Stap 2: 1-2-3 Sweis

Professionele sweismasjiene las nie in een stap nie; hulle gebruik 'n outomatiese volgorde in drie stappe. Weerstandsweis in drie stappe bestaan uit:

Opwarmingsstap. Die sweis -transformator word aangeskakel en die stroom vloei deur die elektrodes deur die werkstukke. Dit is bedoel om die metaal net op te warm

Druk stap: Sweis transformator is afgeskakel; die werkstukke word styf teen mekaar gehou. Die oppervlaktes van warm metaalwerke maak nou baie goeie meganiese en elektriese kontak

Sweisstap: Sweis -transformator word weer aangeskakel. Die metaaloppervlakke wat nou in intieme kontak is, word onder druk gelas

Die duur van die individuele stappe is oor die algemeen nie eenvormig nie en hang af van die beskikbare stroom van die lasser, die tipe materiaal wat u wil sweis (veral die weerstand en smeltpunt) en die dikte van die werkstukke.

Baie van die selfgeboude sweisers waaroor ek geleer het, het nie 'n outomatiese tydsberekening nie, wat herhaalbare en betroubare werking baie moeilik maak.

Sommige het wel die moontlikheid om 'n sweis tyd in te stel, dikwels via 'n potensiometer. Kerry Wong het 'n baie goeie een in hierdie klas gedoen met 'n ekstra paar elektrodes spesifiek om batterye te sweis.

Baie min selfgeboude sweisers kan die drie sweisstappe outomaties uitvoer soos hierbo beskryf. Sommige het slegs 'n vaste stel tydsduur, soos hierdie en hierdie. Met ander kan u 'n paar tydsduur verander, soos met hierdie een. Dit het 'n vaste duur vir die opwarm- en persstappe, terwyl die duur van die sweisstap via 'n potensiometer verander kan word.

Dit maak die proses gedeeltelik verstelbaar, maar dit kan moeilik wees om weer 'n instelling te vind as u die spesifieke materiaal van die batteryblad weer wil sweis na verloop van tyd. As u eers die regte tydsberekening vir 'n spesifieke kombinasie van materiaal en dikte gevind het, wil u dit nie weer doen nie. Dit is 'n vermorsing van tyd (en materiaal), en dit kan 'n bietjie frustrerend wees.

Wat u (wel, ek) regtig hier wil hê, is volledige buigsaamheid (instelbaarheid) vir alle tye en die vermoë om instellings op te slaan en op te haal sodra ons dit reggekry het.

Gelukkig is dit nie so moeilik nie. Kom ons kyk hoe u weerstandsweis in drie stappe kan beheer.

Stap 3: 1-2-3 Sweisbeheer

1-2-3 Sweisbeheer
1-2-3 Sweisbeheer

Ons implementeer die beheerkring met 'n mikrobeheerder (MCU). Die MCU -firmware werk as 'n staatsmasjien met vier toestande, soos ons in die vorige stap gesien het:

o Staat 0: Nie sweis nie

o Toestand 1: Sweis, opwarmingsstap

o Staat 2: Sweis, druk stap

o Toestand 3: Sweis, sweisstap

Ek gebruik pseudokode in C-styl om die programvloei hier te beskryf, want dit is maklik om dit te koppel aan die werklike MCU-kode wat in C/C ++ geskryf is.

Na die opstelstap hanteer die MCU -hooflus die invoer van gebruikers en die oorgange van die toestand soos volg:

01: lus

02: skakelaar (toestand) {03: saak 0: 04: readUserInput 05: geval 1, 2, 3: 06: as (sweisopnemer verstryk het) {07: // skuif na die volgende toestand 08: toestand = (toestand + 1) % 4; 09: skakel kragbeheer 10: as (toestand is nie 0) {11: stel die nuwe staptyd in en herlaai sweis -timer 12:} 13:} 14: eindlus

As die huidige toestand 0 is, lees ons die UI -toestand om gebruikersinvoer te verwerk en na die volgende iterasie te gaan.

Ons gebruik 'n sweistimer om die duur van die sweisstappe te bepaal. Aanvaar nou dat die sweisvolgorde pas begin het toe ons die skakelaarverklaring ingevoer het. Kragbeheer is aan, die sweistransformator word aangeskakel en die huidige toestand is 1.

As die sweis -timer nie verstryk het nie, word die voorwaardelike (reël 6) tot onwaar geëvalueer, verlaat ons die skakelaarverklaring en gaan ons na die volgende gebeurtenislus -herhaling.

As die sweistimer verstryk het, voer ons die voorwaardelike (reël 6) in en gaan verder:

1. Bereken en stoor die volgende toestand (reël 8). Ons gebruik rekenkundige modulo 4 om die korrekte toestand volgorde 1-2-3-0 te volg. As die huidige toestand 1 was, gaan ons nou na staat 2.

2. Dan skakel ons die kragbeheer (reël 9) aan. In toestand 1 was die kragbeheer aan, so nou is dit af (soos dit in toestand 2 moet wees, druk stap, terwyl die sweis -transformator nie aangeskakel is nie).

3. Die toestand is nou 2, so ons betree die voorwaardelike op reël 10.

4. Stel die sweis -timer vir die nuwe stapduur (duur van die persstap) in en herlaai die sweis -timer (reël 11).

Die volgende herhalings van die hooflus sal redelik sonder probleme verloop totdat die sweis -timer weer verstryk, dit wil sê dat die persstap voltooi is.

Op hierdie tydstip betree ons die liggaam van die voorwaardelike op reël 6. Die volgende toestand (toestand 3) word op reël 8 bereken; krag na die transformator word weer aangeskakel (reël 9); die sweis -timer word ingestel op die duur van die sweisstap en weer begin.

As die timer weer verstryk, word die volgende toestand (toestand 0) op lyn 8 bereken, maar nou word lyn 11 nie uitgevoer nie, dus word die timer nie weer begin as ons klaar is met die sweis siklus nie.

Op die volgende lus -iterasie is ons terug na die verwerking van gebruikersinvoer (reël 4). Klaar.

Maar hoe begin ons enigsins met die sweisproses? Wel, ons begin as die gebruiker op die lasknoppie druk.

Die lasknoppie is gekoppel aan 'n MCU -invoerpen, wat aan 'n hardeware -onderbreking gekoppel is. Deur op die knoppie te druk, kan 'n onderbreking plaasvind. Die onderbrekingshanteerder begin die sweisproses deur die toestand op 1 te stel, die sweis-timer op die duur van die opwarmingsstap te stel, die sweis-timer te begin en die kragbeheer aan te skakel:

19: beginSweis

20: toestand = 1 21: stel die opwarmingsstapduur in en begin met sweis-timer 22: skakel kragbeheer aan 23: begin begin Sweis

Stap 4: UI -bestuur, bystand en ander firmware -komplikasies

UI -bestuur, bystand en ander firmware -komplikasies
UI -bestuur, bystand en ander firmware -komplikasies

Die UI bestaan uit 'n skerm, 'n encoder met drukknop, 'n kort drukknop en 'n LED. Hulle word soos volg gebruik:

Die skerm bied terugvoer aan die gebruiker vir die konfigurasie en toon vordering tydens sweiswerk

Die enkodeerder met drukknoppie beheer alle interaksie met die firmware, behalwe die begin van 'n sweisvolgorde

Die kort drukknop word ingedruk om 'n sweisvolgorde te begin

Die led brand tydens 'n sweisvolgorde, en word herhaaldelik in en uit vervaag tydens standby

Die firmware moet 'n aantal dinge doen buite die beheer van die sweisproses, soos in die vorige stap verduidelik:

Lees gebruikersinvoer. Dit behels die lees van die encoder posisie en knoppie status. Die gebruiker kan die encoder links of regs draai om van die een menu -item na die volgende te gaan en parameters op die skerm te verander, of kan op die encoder -knoppie druk om 'n ingevoerde waarde te bevestig of om 'n vlak bo die spyskaartstruktuur te beweeg

  • Dateer die UI op.

    Die skerm word opgedateer om gebruikershandelinge te weerspieël

    Die skerm word opgedateer om die vordering van die sweisproses te weerspieël (ons wys 'n aanduiding langs die duur van die huidige stap in die sweisvolgorde)

    Die led word aangeskakel as ons begin sweis en af as ons klaar is

Staan by. Die kode hou dop hoe lank die gebruiker onaktief was, en gaan in stand -by wanneer die tydperk van onaktiwiteit 'n voorafbepaalde limiet oorskry. In standby word die skerm afgeskakel en die LED op die UI word herhaaldelik in en uit vervaag om die toestand van die bystand aan te dui. Die gebruiker kan standby verlaat deur die encoder in enige rigting te draai. As dit in stand -by is, moet die UI nie reageer op ander gebruikersinteraksies nie. Let op dat die lasser slegs in stand -by kan gaan as dit in toestand 0 is, bv. nie terwyl dit sweis nie

Standaard bestuur, berging en opsporing van profiele. Die firmware ondersteun 3 verskillende sweisprofiele, dit wil sê instellings vir 3 verskillende materiale/diktes. Die profiele word in 'n flitsgeheue gestoor, sodat dit nie verlore gaan as u die lasser afskakel nie

As u wonder, het ek die bystandfunksie bygevoeg om die inbrand van die skerm te voorkom. As die lasser aangeskakel is en u nie 'n gebruikerskoppelvlak gebruik nie, verander die karakters wat op die skerm verskyn, nie en kan dit inbrand. brand redelik vinnig in as dit nie vir u sorg nie, dus is dit 'n goeie idee om outomaties af te skakel.

Al die bogenoemde bemoeilik natuurlik die 'regte' kode. U kan sien dat daar 'n bietjie meer werk is as waarna ons in die vorige stappe gekyk het om 'n mooi sagte program te kry.

Dit bevestig die reël dat die implementering van wat u rondom die kernfunksies bou, met sagteware dikwels meer kompleks is as die implementering van die kernfunksionaliteit self!

U vind die volledige kode in die repository -skakel aan die einde van hierdie instruksies.

Stap 5: beheerkring

Beheerkring
Beheerkring

Die firmware is ontwikkel en getoets met behulp van hierdie komponente:

  • Beheerkring:

    Arduino Pro Mini 5V 16MHz

  • UI:

    • Draaikodeerder met drukknop
    • 0.91”128x32 I2C wit OLED -skerm DIY gebaseer op SSD1306
    • Kort drukknop met ingeboude LED

U hoef natuurlik nie presies hierdie komponente in u build te gebruik nie, maar u moet moontlik kodewysigings aanbring, veral as u die koppelvlak, tipe of grootte van die skerm verander.

Arduino Pin -opdrag:

  • Invoer:

    • Spelde A1 A2 A3 na roterende enkodeerder wat gebruik word om profiele en parameters te kies/verander
    • Speld 2 gekoppel aan 'n tydelike drukknop wat ingedruk word om te begin sweis. Die drukknop is normaalweg gemonteer op 'n paneel langs die encoder en kan parallel met 'n pedaalskakelaar gekoppel word.
  • Uitset:

    • Speldjies A4/A5 vir I2C wat die skerm beheer.
    • Speld 11 vir digitale uitset na die LED, wat tydens 'n sweis siklus aangeskakel word en in en uit vervaag tydens standby. Daar is geen stroombeperkende weerstand vir die LED in die skematiese nie, want ek het 'n led ingebou in die lasknoppie wat saam met 'n reeksweerstand gekom het. As u 'n aparte led gebruik, moet u 'n weerstand in serie tussen pen 11 van die Pro Mini en pen 3 van connector J2 byvoeg, of dit in serie soldeer met die led op die voorpaneel.
    • Pin 12 vir digitale uitset na die hoofstroomkring (ingang na kragstroom). Hierdie pen is normaalweg LAAG en sal tydens 'n sweissiklus HOOG-LAAG-HOOG gaan.

Na prototipe op 'n broodbord, het ek die beheerkring op 'n selfstandige protobord gemonteer, insluitend 'n netvoedingsmodule (HiLink HLK-5M05), die kondensator en weerstande om die lasknoppie te ontkoppel, en verbindings vir vertoning, encoder, led, knoppie en kragstroomuitset. Die verbindings en komponente word in die skematiese voorstelling (behalwe die netvoedingsmodule) getoon.

Daar is ook 'n aansluiting (J3 in die skema) vir 'n voetskakelaar wat parallel aan die lasknoppie gekoppel is, sodat u kan begin sweis vanaf die paneel of met 'n voetskakelaar, wat ek baie gemakliker vind.

Die J4 -aansluiting is gekoppel aan die optokoppel -ingang van die kragkring, wat op 'n aparte protobord in die prototipe gemonteer is.

Vir die aansluiting op die skerm (J6-aansluiting) het ek dit eintlik makliker gevind om 'n 4-draads platkabel te gebruik met twee drade na 'n twee-pins-aansluiting (wat ooreenstem met penne 1, 2 van J6) en twee drade met Dupont-wyfie verbindings wat direk na penne A4 en A5 gaan. Op A4 en A5 het ek 'n twee-pen mannekop direk bo-op die Pro Mini-bord gesoldeer.

Ek sal waarskynlik ook die ontbinding vir die encoder -knoppie byvoeg in die finale opbou. 'N Verbeterde PCB -ontwerp vir hierdie projek word in 'n aparte instruksie beskryf.

Stap 6: Kragkring

Kragkring
Kragkring

WAARSKUWING: Die kragkring werk op netspanning met voldoende strome om u dood te maak. As u nie netspanningskringe het nie, moet u dit nie probeer bou nie. U moet ten minste 'n isolasie -transformator gebruik om enige werk aan die netspanningskringe te doen.

Die skema vir die kragkring is baie standaard vir die beheer van 'n induktiewe las met 'n TRIAC. Die sein van die beheerkringkring dryf die emitterkant van die MOC1 -optokoppelaar, die detektorkant dryf weer die hek van die T1 -triac aan. Die triac skakel die vrag (die MOT) oor via 'n snubbernetwerk R4/CX1.

Optokoppelaar. Die MOC3052 is 'n ewekansige fase-optokoppelaar, nie die nul-kruisingstipe nie. Die gebruik van ewekansige fase-omskakeling is meer geskik as 'n nul-kruising skakel vir 'n swaar induktiewe las soos die MOT.

TRIAC. Die T1 triac is 'n BTA40 wat gegradeer is vir 40A deurlopende on-state stroom, wat 'n oormaat kan lyk in terme van die stroom wat deur die MOT in bestendige toestand getrek word. Aangesien die las egter 'n redelike hoë induktansie het, is die gradering waaroor ons ons moet bekommer die nie-herhalende piek in die toestand van die toestand. Dit is die aanloopstroom van die vrag. Dit word elke keer geteken tydens die aanskakel-oorgang deur die MOT, en dit sal 'n paar keer hoër wees as die stroom in die toestand. Die BTA40 het 'n nie-herhalende piek-on-state stroom van 400A by 50 Hz en 420A by 60 Hz.

TRIAC pakket. Nog 'n rede om 'n BTA40 te kies, is dat dit in 'n RD91 -pakket met 'n geïsoleerde oortjie kom en mannetjie -terminale het. Ek weet nie van jou nie, maar ek verkies eerder 'n geïsoleerde oortjie vir halfgeleiers met netspanning. Boonop bied die manlike graafterminale 'n soliede meganiese verbinding waarmee u die hoë stroombaan (drade A in die skema) heeltemal van die proto- of PCB -bord kan hou. Die hoë stroombaan loop via die (dikker) bruin drade wat A op die prentjie gemerk is. Die bruin drade is verbind met die triac spade terminals via piggyback terminals wat ook verbind is met die RC net op die bord via die (dunner) blou drade. Met hierdie monteer -truuk is die hoë stroombaan van die proto- of PCB -bord af. In beginsel kan u dieselfde doen met soldeerdrade op die bene van die meer algemene TOP3 -pakket, maar die samestelling sou meganies minder betroubaar wees.

Vir die prototipe het ek die triac op 'n klein heatsink gemonteer met die idee om 'n paar temperatuurmetings te neem en dit moontlik op 'n groter heatsink te monteer of selfs in direkte kontak met die metaalkas vir die finale konstruksie. Ek het opgemerk dat die triac skaars opwarm, deels omdat dit voldoende groot is, maar hoofsaaklik omdat die meeste kragverlies in die aansluiting te wyte is aan geleidingstoestandskakel en die triac duidelik nie gereeld in hierdie toepassing skakel nie.

Snubber netwerk. R4 en CX1 is die snubbernetwerk om die veranderingstempo wat die triac sien, te beperk wanneer die las afgeskakel word. Gebruik geen kondensator wat u in u asblik het nie: CX1 moet 'n X-tipe (of beter Y-tipe) kapasitor wees wat geskik is vir netspanning.

Varistor. R3 is 'n varistor wat ooreenstem met u piekwaarde van die hoofspanning. Die skematiese toon 'n varistor wat 430V is, wat geskik is vir 240V -netspanning (hier is die spanning in die varistorkode 'n piekwaarde, nie 'n RMS -waarde nie). Gebruik 'n varistor met 'n piek van 220V vir 'n netspanning van 120V.

Onderdele mislukking. Dit is 'n goeie praktyk om jouself af te vra wat die gevolge van die mislukking van die komponent is en die ergste scenario's te identifiseer. 'N Slegte ding wat in hierdie stroombaan kan gebeur, is dat die triac die A1/A2 -terminale misluk en kortkom. As dit gebeur, sal die MOT permanent aangeskakel word solank die triac kort is. As u nie sien dat die transformator neurie en permanent met die MOT sou sweis nie, sou u die werkstuk/elektrodes oorverhit/verwoes (nie lekker nie) en moontlik die kabelisolasie oorverhit/smelt (baie erg). Dit is dus 'n goeie idee om 'n waarskuwing vir hierdie mislukkingstoestand in te bou. Die maklikste ding is om 'n lamp parallel aan die MOT primêr aan te sluit. Die lamp sal brand as die MOT aan is, en gee 'n visuele teken dat die lasser werk soos bedoel. As die lig aangaan en aanhou, weet u dat dit tyd is om die prop uit te trek. As u die video aan die begin gekyk het, het u moontlik 'n rooi gloeilamp opgemerk wat tydens die sweis aan die agterkant aan- en afskakel. Dit is wat daardie rooi lig is.

'N MOT is nie 'n baie goed gedra las nie, maar ondanks die feit dat ek aanvanklik 'n bietjie bekommerd was oor die betroubaarheid van die skakel via die kragbaan, het ek geen probleme ondervind nie.

Stap 7: Laaste aantekeninge

Finale aantekeninge
Finale aantekeninge

Eerstens baie dankie aan die baie mense wat die tyd geneem het om op die net te verduidelik hoe om 'n puntlasser te bou met behulp van 'n hergebruikte mikrogolfoond transformator. Dit was 'n groot bootstrap vir die hele projek.

Wat die firmware van Spot Welder 1-2-3 betref, sou dit 'n lang en vervelige werk gewees het om die kode te skryf sonder die abstraksies wat deur 'n aantal biblioteke voorsien word, benewens die standaard Arduino IDE. Ek vind hierdie timer (RBD_Timer), encoder (ClickEncoder), spyskaarte (MenuSystem) en EEPROM (EEPROMex) biblioteke baie nuttig.

Die firmware-kode kan afgelaai word uit die Spot Welder 1-2-3-kodebewaarplek.

As u van plan is om dit te bou, stel ek sterk voor om die PCB -ontwerp wat hier beskryf word, te gebruik, wat 'n aantal verfynings bevat.