Announcement

Collapse
No announcement yet.

Building a small capacitive discharge welder-edm-tig

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • 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
    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

    Comment


    • #3

      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.

      Comment


      • #4
        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.

        Comment


        • #5
          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.

          Comment


          • #6
            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.

            Comment


            • #7
              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.

              Comment

              Working...
              X