Results 1 to 7 of 7

Thread: Building a small capacitive discharge welder-edm-tig

  1. #1
    Join Date
    Dec 2005
    Posts
    4,448

    Default Building a small capacitive discharge welder-edm-tig

    THE home brewed tig welder created, worked on by others.. it has a H-bridge output unit.. OKAY?? that is eight power transistors tied to "steal" the power from the opposing wave. It throws basically DC+ onto one line and DC- on the other alternately..

    THIS is AC frequency.. I only use AC tig in my shop for welding aluminum.. RIGHT??

    TO make a mucho-simplified DC only unit.. after diodes create the dc off the transformer you could use ONLY ONE expensive power transistor to make varible DC via pedal control.. RE:1/4th the build complication and cost..

    With the same unit.. charging a lead in DC capacitor bank via switches/resistors/ SSR relay.. you could concievably rig up a really neat capacitive discharge welder with adjustable timebase.. gas purge.. and high frequency arc stabilization. (old neon light transformer?)

    Reverse polarity on that capacitive discharge welder and guess what?? you got a edm power supply.. (since I got a bad spindle in the cnc bridgeport it'd work great for making cnc-edm)

    I got the whole rig laid out to cost less than $200.. I am attempting to build it around a basic stamp and opto22 ttl-interface boards.. so far they have been running the opto22 for two weeks now.. ultra reliable.. THE secondary side is the thing-logic wise I have been struggling with.. the cpu will only do one thing at a time, one line.. but is fast.. meaning I need to come up with a circuit that will keep the pwm going while the cpu is doing another line.. that is the only hold up right now. It might be a non issue with a capacitor and resistor in the circuit.. I'll have to tune that some more thou.

    My end hope is to have a DC micro adjustable tig supply with less than $200 total invested.. With about a dozen parts inside total.. nothing complicated. AND builders could fix it themselves since building it, they'd understand it..

    I first had a spot welder laid out in the same chassis.. to KISS rule.. I seperated it to a simpler unit.. a socketed timer, foot switch, and relay.. I need to purchase some copper bar stock to make some tips for it.. and it is done..

    The basis for the power supplies is the coils from a old hobart three phase battery charger from a hyster.. I got $15 worth of copper off the spot welder.. have two more coils to play with.. WITH the spot welder, you strip the secondary and just add in a couple wraps welding cable to pick up a volt and half to three volts output at 300 amps..
    Excuse me, I farted.

  2. #2
    Join Date
    Feb 2007
    Location
    Missouri
    Posts
    63

    Default

    David- You could try a PIC or other type of microcontroller that offers hardware PWM (HPWM). This way the PWM runs in the background while the processor is doing other things. This sounds like an interesting project so keep us posted on your progress. Tom

  3. #3
    Join Date
    Dec 2005
    Posts
    4,448

    Default


    That's a old stamp tied to two opto22 PB4 ttl-output boards.. I was playing with a control scheme for the windmill project too..
    It only processes one line of PWM at a time.. I am looking into some A-D convertors to read current through-put also.. adc0831.. Minimal parts if I can.

    This is the gutted transformer for the spot welder project.. the one for this project is the same, with the copper still in place..
    Excuse me, I farted.

  4. #4
    Join Date
    Aug 2006
    Location
    Beaverton, OR
    Posts
    7,154

    Default

    The commercial capacitive spot welders I have worked on were rather simple. Two good size electrolytic caps charged by a voltage doubler to a max of around 200vdc. The stored energy was dumped through the leads via a large hockey puck SCR. Since SCRs latch closed it would dump the entire contents of the caps at once. Power is controlled through varying the voltage the caps were charged to.

  5. #5
    Join Date
    Dec 2005
    Posts
    4,448

    Default OW da hillbilly do it.



    THIS Scott Edwards Lcd has kicked my butt now for several days.. sometimes they communicate in Hex-ascii.. other times in Hex.. then straight ascii... The older ones you actually created a binary pixel font in the cpu.. THIS SOB. DOES not work like website said. Three full days on a communication problem.

    OKAY.. yes sir.. charge time, then gas purge, then hi frequency cleaning, then a spark discharge PWM pulse to the transistor..

    Other program will be a light tig rig..

    And hopefully a edm.. if I can make it work.. that is theoretical at the moment.. I am still investigating the charge - bus feedback circuits.. the simple biased bus above ground may not work on acount of the injected 8500vac hi frequency.. SO.. I am tinkering..
    Excuse me, I farted.

  6. #6
    Join Date
    Dec 2005
    Posts
    4,448

    Default

    First half the stamp program code
    ' {$STAMP BS2}
    '{Stamp2}
    ' {$PBASIC 2.5}

    #SELECT $STAMP
    #CASE BS2, BS2E, BS2PE
    Scale CON 300 ' to ms for 2 us per unit
    #CASE BS2SX, BS2P, BS2PX
    Scale CON 1250 ' to ms for 0.8 us per unit
    #ENDSELECT


    AA VAR Word
    Mode VAR Word
    Chg VAR Word 'charge var pulse out to load cap bank
    GasPurge VAR Word 'Gas purge length
    HfPuls VAR Word ' Hi freq pulse length, cap in circuit to delay off
    IgbtDuty VAR Word ' PWM duty cycle
    IgbtPuls VAR Word ' PWM MSec out
    PostPurge VAR Word 'time to hold gas on after pulse
    Charge PIN 0 'assign pin 0 to SSR charge relay
    GasSol PIN 1
    HiFreq PIN 2
    IGBT PIN 3
    FootSw PIN 7
    IncrA PIN 4
    IncrB PIN 5
    PrgSw PIN 6
    ProgramPin PIN 6 'switch selector to enter values via encoder input
    Baudrate CON 32+$4000
    Rate CON 10
    LCD PIN 15
    A CON 65


    Setup:
    HIGH Charge 'make P0 high (LED off)
    HIGH GasSol 'make P1 high
    HIGH HiFreq 'Make P2 high
    HIGH IGBT 'make P3 high
    INPUT 4 'Plus button
    INPUT 5 'Minus button
    INPUT 6 'Program button
    INPUT 7 'Foot pedal

    Setvalues:
    Mode = 1 'Tiny Tig weld
    Chg = 1601
    HfPuls =500
    IgbtDuty = 125 'pwm duty cycles..
    IgbtPuls = 255 '
    GasPurge = 1501
    GOSUB LcdPrint

    Main:
    IF mode = 1 THEN GOSUB TinyTig
    IF mode = 2 THEN GOSUB Capweld
    IF Mode = 3 THEN GOSUB EDM
    IF Mode = 4 THEN GOSUB Plasma
    GOTO Main

    TinyTig: 'this is the capacitive discharge welder subroutine.

    GOSUB changeheat
    IF Mode <> 1 THEN RETURN 'send back to the main loop
    IF PrgSw = 0 THEN GOSUB program
    IF CHARGE=0 THEN HIGH CHARGE 'TURN It back off.
    IF Hifreq=0 THEN HIGH HiFreq 'turn it back off
    IF GasSol=0 THEN HIGH GasSol 'turn the gas back off
    IF HiFreq=0 THEN HIGH HiFreq 'turn the hi freq back off.
    IF FootSw = 1 THEN GOTO TinyTig 'loop back up, looking for foot activation

    LOW GasSol 'turn on the gas solonoid
    LOW Charge 'turn on the charge SSR
    IF FOOTSW = 1 THEN GOTO TinyTig 'loop back up, looking for foot activation
    LOW GasSol 'turn on the gas solonoid
    PAUSE GasPurge 'delay this long
    IF FootSw = 1 THEN GOTO TinyTig 'loop back up, looking for foot activation
    LOW HiFreq 'turn it on
    IF FootSw = 1 THEN GOTO TinyTig 'loop back up, looking for foot activation
    PWM IGBT,IgbtDuty,HFPuls ' PWM duty, HFpuls msecs..
    HIGH HiFreq 'turn it off
    FootStillDown:
    PWM IGBT,IgbtDuty,IgbtPuls 'output this amount of PWM to the transistor..
    IF IncrA=1 THEN IgbtDuty=IgbtDuty+10
    IF IncrB=1 THEN IgbtDuty=IgbtDuty-10
    IF Igbtduty>255 THEN Igbtduty=255
    IF Igbtduty<10 THEN IgbtDuty=10

    IF footsw=0 THEN GOTO FootStillDown
    HIGH Charge 'turn off the charge SSR
    PAUSE PostPurge 'wait this long to post purge gas on hot metal
    HIGH GasSol 'turn the gas back off
    GOSUB PrintVar4 'print the varibles to the screen..
    GOTO TinyTig


    CapWeld: 'this is the capacitive discharge welder subroutine.
    GOSUB Changeheat
    IF PrgSw = 0 THEN GOSUB program
    IF Mode <>2 THEN RETURN 'send back to Main loop
    IF CHARGE=0 THEN HIGH CHARGE 'TURN It back off.
    IF Hifreq=0 THEN HIGH HiFreq 'turn it back off
    IF GasSol=0 THEN HIGH GasSol 'turn the gas back off
    IF HiFreq=0 THEN HIGH HiFreq 'turn the hi freq back off.
    IF FootSw = 1 THEN GOTO CapWeld 'loop back up, looking for foot activation

    LOW GasSol 'turn on the gas solonoid
    LOW Charge 'turn on the charge SSR
    PAUSE chg 'Delay this long and charge the capacitor bank
    IF FootSw = 1 THEN GOTO CapWeld 'loop back up, looking for foot activation

    LOW GasSol 'turn on the gas solonoid
    HIGH charge 'it back off now loaded capacitors
    PAUSE GasPurge 'delay this long
    IF FootSw = 1 THEN GOTO CapWeld 'loop back up, looking for foot activation
    LOW HiFreq 'turn it on
    PAUSE HfPuls 'delay this long
    IF FootSw = 1 THEN GOTO CapWeld 'loop back up, looking for foot activation
    PWM IGBT,IgbtDuty,IgbtPuls 'output this amount of PWM to the transistor..
    HIGH HiFreq 'turn it back off
    PAUSE PostPurge 'wait this long to post purge gas on hot metal
    HIGH GasSol 'turn the gas back off
    LiftFoot2:
    IF FootSw=0 THEN GOTO LiftFoot2
    GOTO Capweld

    Edm: 'this is the spark discharge subroutine.
    GOSUB ChangeHeat

    IF mode <> 3 THEN RETURN 'send back to main loop
    IF PrgSw = 0 THEN GOSUB program
    IF CHARGE=0 THEN HIGH CHARGE 'TURN It back off.
    IF Hifreq=0 THEN HIGH HiFreq 'turn it back off
    IF GasSol=0 THEN HIGH GasSol 'turn the gas back off
    IF HiFreq=0 THEN HIGH HiFreq 'turn the hi freq back off.
    IF FootSw = 1 THEN GOTO EDM 'loop back up, looking for foot activation
    LOW GasSol 'turn on the solonoid
    LOW Charge 'turn on the charge SSR
    PAUSE chg 'Delay this long and charge the capacitor bank
    IF FootSw = 1 THEN GOTO EDM 'loop back up, looking for foot activation
    LOW HiFreq 'turn it on
    PAUSE hfpuls 'build plasma ball in handle..
    LOW GasSol 'turn on the solonoid and blow plasma ball
    IF FOOTSW = 1 THEN GOTO EDM 'loop back up, looking for foot activation
    LiftFoot3:
    PWM IGBT,IgbtDuty,IgbtPuls 'output this amount of PWM to the transistor..
    IF FootSw=0 THEN GOTO LiftFoot3
    HIGH HiFreq 'turn it back off
    PAUSE PostPurge 'wait this long to post purge gas on hot metal
    HIGH GasSol 'turn the gas back off
    GOTO Edm

    Plasma: 'Plasma subroutine

    IF Mode <> 4 THEN RETURN 'send back to Main loop
    IF PrgSw = 0 THEN GOSUB program
    IF CHARGE=0 THEN HIGH CHARGE 'TURN It back off.
    IF Hifreq=0 THEN HIGH HiFreq 'turn it back off
    IF GasSol=0 THEN HIGH GasSol 'turn the gas back off
    IF HiFreq=0 THEN HIGH HiFreq 'turn the hi freq back off.
    IF FootSw = 1 THEN GOTO Plasma 'loop back up, looking for foot activation

    LOW Charge 'turn on the charge SSR
    PAUSE chg 'Delay this long and charge the capacitor bank
    IF FootSw = 1 THEN GOTO plasma 'loop back up, looking for foot activation
    LOW HiFreq 'turn on the air solonoid
    PAUSE Hfpuls
    IF FootSw = 1 THEN GOTO Plasma 'loop back up, looking for foot activation
    LOW GasSol 'turn it on
    IF FootSw = 1 THEN GOTO Plasma 'loop back up, looking for foot activation
    FootStillDown4:
    PWM IGBT,IgbtDuty,IgbtPuls 'output this amount of PWM to the transistor..
    IF footSw=0 THEN FootStilldown4

    GOTO Plasma





    LcdPrint:
    SEROUT LCD,BAUDRATE, RATE,[92,66,32,32]
    FOR AA = 1 TO 255
    SEROUT Lcd,Baudrate,Rate,[92,91,32] 'Print the space character TO wipe..
    NEXT

    SEROUT Lcd,Baudrate,Rate,[92,66,32,32] 'locate 1stth line down..
    SEROUT LCD,Baudrate,Rate,[92,91,67,79,70,69,82,45,69,78,71,73,78,69,82,73,78 ,71,82,79,66,79,84,73,67,83]
    'Cofer-Engineering-Robotics
    SEROUT Lcd,Baudrate,Rate,[92,66,32,33] 'locate 2nd line down..
    SEROUT LCD,Baudrate,Rate,[92,91,60,61,61,61,61,61,61,61,61,61,61,61,61,61,61 ,61,61,61,61,61,61,61,61,62] ' SEND THE LCD SIGnal


    SEROUT Lcd,Baudrate,Rate,[92,66,32,34] 'locate 3rd line this line
    SEROUT LCD,Baudrate,Rate,[92,91,67,72,65,82,71,69] ' Charge time

    SEROUT Lcd,Baudrate,Rate,[92,66,32,35] 'locate 4th line down..
    SEROUT LCD,Baudrate,Rate,[92,91,80,85,82,71,69] ' Purge

    SEROUT Lcd,Baudrate,Rate,[92,66,32,36] 'locate 5th line down..
    SEROUT LCD,Baudrate,Rate,[92,91,72,73,70,82,69,81] ' HiFreq

    SEROUT Lcd,Baudrate,Rate,[92,66,32,37] 'locate 6th line down..
    SEROUT LCD,Baudrate,Rate,[92,91,80,87,77,32,68,85,84,89] ' PWM Duty

    SEROUT Lcd,Baudrate,Rate,[92,66,32,38] 'locate 7th line 4th line down..
    SEROUT LCD,Baudrate,Rate,[92,91,80,87,77,32,80,85,76,83,69] ' PWM pulse

    SEROUT Lcd,Baudrate,Rate,[92,66,32,39] 'locate 8th line down..
    SEROUT LCD,Baudrate,Rate,[92,91,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32 ] ' SEND THE LCD SIgnal

    GOSUB printVar1 'charge time varible
    GOSUB printvar2 'Gas purge time
    GOSUB printvar3 'HF pulse duration
    GOSUB printvar4 'PWM duty cycle
    GOSUB printvar5 'pwm Msec
    GOSUB printvar6 'mode of operation
    RETURN

    PrintVar1:
    SEROUT Lcd,Baudrate,Rate,[92,66,42,34] 'locate 3rd x 10 over
    SEROUT LCD,Baudrate,Rate,[92,91,32,32,32,32,32,32,32,32] ' diplay Charge time
    SEROUT Lcd,Baudrate,Rate,[92,66,42,34] 'locate 3rd x 10 over
    SEROUT Lcd,Baudrate,Rate,[92,66,42,34] 'locate 3rd x 10 over
    SEROUT LCD,Baudrate,Rate,[92,91,48+(chg DIG 3),48+(chg DIG 2),48+(chg DIG 1),48+(chg DIG 4)] ' diplay Charge time
    RETURN
    PrintVar2:
    SEROUT Lcd,Baudrate,Rate,[92,66,42,35] 'locate 4th x 10 over
    SEROUT LCD,Baudrate,Rate,[92,91,32,32,32,32,32,32,32,32] ' diplay
    SEROUT Lcd,Baudrate,Rate,[92,66,42,35] 'locate 4th x 10 over
    SEROUT LCD,Baudrate,Rate,[92,91,48+(GasPurge DIG 3),48+(GasPurge DIG 2),48+(GasPurge DIG 1),48+(GasPurge DIG 4)] ' Purge msec
    RETURN

    PrintVar3:
    SEROUT Lcd,Baudrate,Rate,[92,66,42,36] 'locate 5th line down..
    SEROUT LCD,Baudrate,Rate,[92,91,32,32,32,32,32,32,32,32] ' diplay
    SEROUT Lcd,Baudrate,Rate,[92,66,42,36] 'locate 5th line down..
    SEROUT LCD,Baudrate,Rate,[92,91,48+(HfPuls DIG 1),48+(HfPuls DIG 2),48+(HfPuls DIG 3),48+(HfPuls DIG 4)] ' HiFreq msec
    RETURN
    Excuse me, I farted.

  7. #7
    Join Date
    Dec 2005
    Posts
    4,448

    Default

    Second half of the basic stamp code to run a tiny tig (jewelry welder) and capacitor discharge welder..

    PrintVar4:
    SEROUT Lcd,Baudrate,Rate,[92,66,42,37] 'locate 6th line down..
    SEROUT LCD,Baudrate,Rate,[92,91,32,32,32,32,32,32,32,32] ' diplay
    SEROUT Lcd,Baudrate,Rate,[92,66,42,37] 'locate 5th line down..
    SEROUT LCD,Baudrate,Rate,[92,91,48+(IgbtDuty DIG 2 ),48+(Igbtduty DIG 1),48+(IgbtDuty DIG 3)] ' PWM duty cycle
    RETURN

    PrintVar5:
    SEROUT Lcd,Baudrate,Rate,[92,66,42,38] 'locate 7th line 4th line down..
    SEROUT LCD,Baudrate,Rate,[92,91,32,32,32,32,32,32,32,32] ' diplay
    SEROUT Lcd,Baudrate,Rate,[92,66,42,38] 'locate 5th line down..
    SEROUT LCD,Baudrate,Rate,[92,91,48+(IgbtPuls DIG 1),48+(IgbtPuls DIG 2),48+(IgbtPuls DIG 3),48+(IgbtPuls DIG 4),48+(IgbtPuls DIG 5)] ' HiFreq msec
    RETURN
    PrintVar6:
    SEROUT Lcd,Baudrate,Rate,[92,66,32,39] 'locate 8th line down..
    SEROUT LCD,Baudrate,Rate,[92,91,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32 ] ' wipeLine
    SEROUT Lcd,Baudrate,Rate,[92,66,32,39] 'locate 8th line down..
    IF mode = 1 THEN SEROUT LCD,Baudrate,Rate,[92,91,84,73,78,89,32,84,73,71] 'Tiny Tig
    IF mode = 2 THEN SEROUT LCD,Baudrate,Rate,[92,91,67,65,80,65,67,73,84,79,82,32,87,69,76,68] 'Cap weld
    IF mode = 3 THEN SEROUT LCD,Baudrate,Rate,[92,91,69,68,77] 'EDM
    IF mode = 4 THEN SEROUT LCD,Baudrate,Rate,[92,91,80,76,65,83,77,65] 'Plasma
    RETURN

    Program:
    Chrg:
    IF IncrA=1 THEN Chg=Chg+10
    IF IncrB=1 THEN Chg=Chg-10

    GOSUB PrintVar1 'print the varibles to the screen..
    IF FOOTSW = 1 THEN Chrg 'send back to add some more.
    PAUSE 500
    PURG:
    IF IncrA=1 THEN GasPurge=GasPurge+10
    IF IncrB=1 THEN GasPurge=GasPurge-10
    GOSUB PrintVar2 'print the varibles to the screen..
    IF FOOTSW = 1 THEN Purg 'send back to add some more.
    Hifr:
    IF IncrA=1 THEN HfPuls=HfPuls+10
    IF IncrB=1 THEN HfPuls=HfPuls-10
    GOSUB PrintVar3 'print the varibles to the screen..
    IF FOOTSW = 1 THEN Hifr 'send back to add some more.

    GOSUB changeheat

    Ipuls:
    IF IncrA=1 THEN IgbtPuls=IgbtPuls+10
    IF IncrB=1 THEN IgbtPuls=IgbtPuls-10
    IF IgbtPuls>65000 THEN IgbtPuls=65500
    IF IgbtPuls<10 THEN IgbtPuls=10
    GOSUB PrintVar5 'print the varibles to the screen..
    IF FOOTSW = 1 THEN Ipuls 'send back to add some more.
    ModeSelect:
    IF IncrA=1 THEN Mode=Mode+1
    IF IncrB=1 THEN Mode=Mode-1
    IF mode>4 THEN Mode=1
    IF mode<1 THEN Mode=4
    GOSUB PrintVar6 'print the varibles to the screen..
    PAUSE 250
    IF FOOTSW = 1 THEN ModeSelect 'send back to add some more.


    RETURN

    ChangeHeat:
    IF IncrA=0 AND IncrB=0 THEN RETURN
    IF IncrA=1 THEN IgbtDuty=IgbtDuty+2
    IF IncrB=1 THEN IgbtDuty=IgbtDuty-2
    IF IgbtDuty>255 THEN Igbtduty=255
    IF IgbtDuty<10 THEN IgbtDuty=10
    GOSUB PrintVar4 'print the varibles to the screen..
    RETURN
    Excuse me, I farted.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •