CyberTig 300

In line with the Compulsive Hoarding topic I've read today, I have a CyberTig 300 I bought from an eBay guy two years ago for the purpose of self-learning Tig welding. I now realize, I don't have the time if I really admit it. It takes up space that I don't have to spare ( too many other tools), I will move in 1.5 years, the old lady says I have too many "giant machines" in the garage. I may need it some day for my future projects but I think this is hoarding mentality gone too far ( you think?). I've decided to move it out. Ebay guy says it came from a high school in the LA area and that it was functional. I've never tested it. It is only the power source, no accessories. Paid $500.00 for it, likely too much. Make me an offer if interested, and help me make a recovery from compulsive hording. My email: snipped-for-privacy@gmail.com

Reply to
trg-s338
Loading thread data ...

Forgot to say that I am in Southern California in Southern Orange County, Laguna Niguel.

Reply to
trg-s338

I highly recommend CyberTigs. I have one too. (I modified it extensively).

i
Reply to
Ignoramus18435

What modificationsdid you do on yours ?

I have a CyberTig 400 that I got from a school. The salesman at the welding supplier said that those machines had a history of failures, mostly relays, if I remember correctly.

Hobart sent me a set of schematics and I can fix it myself.

John

Reply to
John Waverly

I tore out the entire control board, and the weird six plase rectifier. I kept the three phase transformer and high frequency arc stabilizer and air/water valves. I put together a board with a Cubloc microcontroller that I programmed in BASIC. I also made the three phase transformer reconnectable from parallel delta (66 VAC) to series wye (220 VAC), with contactors. I put in a new SCR controlled rectifier bridge and SCR firing board, generously donated to me by PCTI.

It has several modes of operation: regular low voltage power supply

0-90 VDC 0-200 amp, regular high voltage 0-270 VDC 0-60 amp, stick welding, TIG welding, MIG welding and plasma cutting.

Of these, I debugged and often use low voltage power supply modes, stick welding and TIG welding. In fact, I weld relatively often and have not touched the source code in months.

I do not have a MIG wirefeed , so I cannot debug MIG. I have not gotten plasma cutting to work either.

I am attaching the BASIC code at the bottom of my post. It is GNU copyrighted open source.

i ====================================================================== Const Device = CB280 Ramclear

' Licensed under GNU Public License ' Copyright(C) Igor Chudov, 2006

' ====================================================================== Constants

Const MAX_VOLTAGE = 300.0 Const MAX_VOLTAGE_PCTI_OUTPUT_LEVEL = 5

Const MAX_CURRENT = 200.0 Const MAX_CURRENT_PCTI_OUTPUT_LEVEL = 5

' ========================================= Debug

#define DEBUG_STICK1 1 #define DEBUG_TIG1 10 #define DEBUG_PLASMA1 20

#define DEBUG_MODE 0

' ======================================== Parameters Const MAX_MILLIVOLTS = 5000

Const DelayInLoop = 2 ' milliseconds to sleep after every pass of the main loop Const TicksPerSecond = 100

Const StickOCV = 80

Const ArcUseDIG = 0 Const ArcDigMaxAdded = 0.5 Const ArcDigVoltageThreshold = 7 ' volts

Const TigPreflowTime = 3 ' seconds Const TigPostflowTime = 3 ' seconds, to be changed later to dynamic postflow based on current Const TigPostflowFactor = 0.05 ' extra seconds for every amp of current Const TigHFMinVoltage = 40 ' voltage to turn on HF Const TigHFVoltageInterval = 5 ' interval to avoid switching HF too much like idiots Const TigMaxSafeVoltage = 90 ' voltage above that is a BUG in software and should cause shutdown. Const TigOCV = 80

Const TigPulsing = 0 ' do we use pulsed tig? Const TigPulsePeriod = 0.2 ' seconds Const TigHighPulseDutyCycle = 0.5 ' percentage of period Const TigLowLevel = 0.35 ' percentage of Max Current

Const TigUseHF = 1 Const TigUseLiftArc = 0

Const TigArcCurrentMin = 15 ' amps Const TigArcCurrentCoeff = 0.07 Const MinMomentaryCurrentForLiftArc = 5 Const MinMomentaryVoltageForLiftArc = 8

Const MigPreflowTime = 2 ' seconds Const MigPostflowTime = 8 ' seconds, to be changed later to dynamic postflow based on current

Const PlasmaPreflowTime = 1 ' seconds Const PlasmaPostflowTime = 10 ' seconds, to be changed later to dynamic postflow based on current Const PlasmaHFMinVoltage = 200 ' voltage to turn on HF Const PlasmaHFVoltageInterval = 25 ' interval to avoid switching HF too much like idiots

Const PowerLimit = 12000 ' Power limit in Watts, stop if reached rather than trip breakers Const TimeLimit = 850 ' runtime limit in seconds, for safety

' ------------------------------------------------------------ Inputs

Const PWM_PERIOD = 500 ' frequency of about 5 kHz

Const VOLTAGE_COEFFICIENT = 0.240 ' 300v gives 5v input Const VOLTAGE_FILTER = 0.9 ' Exponential filter Const VOLTAGE_PWM_PORT = 0

Const CURRENT_COEFFICIENT = 0.7 Const CURRENT_FILTER = 0.9 Const CURRENT_PWM_PORT = 1

' ============================================================ Process Type Const PROCESS_UNKNOWN = 1 ' Error condition, shut everything down Const PROCESS_STICK_WELDING = 2 ' Stick welding -- low voltage CC Const PROCESS_TIG_WELDING = 3 ' TIG welding -- low voltage CC, gas, water, HF Const PROCESS_MIG_WELDING = 4 ' MIG welding -- low voltage CV Const PROCESS_PLASMA_CUTTING = 5 ' High Voltage plasma cutting, HF, air Const PROCESS_LOW_VOLTAGE = 6 ' Arbitrary LOW voltage power supply (using pots) - 0-80VDC, 0-200A Const PROCESS_HIGH_VOLTAGE = 7 ' Arbitrary HIGH voltage power supply (using pots) - 0-300VDC, 0-100A Const PROCESS_EXPERIMENTAL = 8

' ============================================================ Process States Const String * 12 ProcessName = ( "BOOT", "ERROR", "STICK/IDLE", "STICK/WELD", "TIG/IDLE", "TIG/PREFLOW", "TIG/WELD", "TIG/POSTFLOW", "CUT/IDLE", "CUT/PREFLOW", "CUT/ARC", "CUT/POSTFLOW", "MIG/IDLE", "MIG/PREFLOW", "MIG/ARC", "MIG/POSTFLOW", "LV/IDLE", "LV/ON", "HV/IDLE", "HV/ON", "EXP/IDLE", "EXP/ON", "EXPIRED" ) Const STATE_BOOT = 0 Const STATE_ERROR = 1

' STICK is simply a CC power supply with 80V OCV Const STATE_STICK_IDLE = 2 Const STATE_STICK_WELDING = 3 ' welding

' TIG is preflow, weld, postflow. Also remember that WATER relay may be closed ' after TIG is done, for a specified period of time depending on how much we welded, ' to cool water. Const STATE_TIG_IDLE = 4 ' No OCV Const STATE_TIG_PREFLOW = 5 ' Open gas solenoid and water Const STATE_TIG_WELD = 6 ' Gas, water, maybe HF Const STATE_TIG_POSTFLOW = 7 ' Gas, water

' PLASMA is preflow, cut, postflow. Const STATE_PLASMA_IDLE = 8 ' No OCV Const STATE_PLASMA_PREFLOW = 9 ' Open air solenoid Const STATE_PLASMA_CUT = 10 ' Gas, maybe HF Const STATE_PLASMA_POSTFLOW = 11 ' Gas

' MIG is preflow, weld, postflow. Also remember that WATER relay may be closed ' after MIG is done, for a specified period of time depending on how much we welded, ' to cool water. Const STATE_MIG_IDLE = 12 ' No OCV Const STATE_MIG_PREFLOW = 13 ' Open gas solenoid and water Const STATE_MIG_WELD = 14 ' Gas, water, Const STATE_MIG_POSTFLOW = 15 ' Gas, water

' LOW_VOLTAGE is simply a DC power supply with 80V OCV MAX Const STATE_LOW_VOLTAGE_IDLE = 16 Const STATE_LOW_VOLTAGE_ON = 17

' HIGH_VOLTAGE is simply a DC power supply with 300V OCV MAX Const STATE_HIGH_VOLTAGE_IDLE = 18 Const STATE_HIGH_VOLTAGE_ON = 19

' EXPERIMENTAL is whatever is my current fancy Const STATE_EXPERIMENTAL_IDLE = 20 Const STATE_EXPERIMENTAL_ON = 21

Const STATE_EXPIRED = 22 ' CUBLOC functioned for too long

' ==================================================================== Pins Const WELD_RELAY = 41 Const WATER_RELAY = 42 Const GAS_RELAY = 43 Const HF_RELAY = 44 Const REWIRING_RELAY = 45 Const INHIBIT_RELAY = 46 Const WIREFEED_RELAY = 47

Const ACTUAL_VOLTAGE_INPUT = 0 ' Pin P24 Const ACTUAL_CURRENT_INPUT = 1 ' Pin P25

Const PROCESS_SWITCH_INPUT = 2 Const PROCESS_SWITCH_FILTER = 0.8

Const DESIRED_VOLTAGE_INPUT = 3 Const DESIRED_CURRENT_INPUT = 4

Const ON_SWITCH_INPUT = 11

' ====================================================================== Variables Dim currentProcess As Byte currentProcess = GetProcessSelection()

Dim highVoltage As Byte highVoltage = 0

Dim errorMessage As String errorMessage = "OK"

Dim currentState As Byte currentState = STATE_BOOT Dim previousCurrentState As Byte previousCurrentState = -1

Dim timeMark As Single timeMark = -1

Dim postflowTimeMark As Single postflowTimeMark = -1

Dim lastMsg As String lastMsg = "OK!" Dim previousLastMsg As String previousLastMsg = ""

Dim previousTime As Long previousTime = -1

Dim previousVoltage As Integer previousVoltage = 0

Dim previousDesiredVoltage As Integer previousDesiredVoltage = -1

Dim previousDesiredCurrent As Integer previousDesiredCurrent = -1

Dim averageVoltage As Single averageVoltage = 0

Dim previousCurrent As Integer previousCurrent = -1

Dim averageCurrent As Single averageCurrent = 0

Dim selector As Integer selector = 0

Dim lastSelection As Integer lastSelection = PROCESS_STICK_WELDING

Dim averageSelector As Single averageSelector = Tadin( PROCESS_SWITCH_INPUT )

Dim time_hours As Integer time_hours = 0

Dim time_minutes As Integer time_minutes = 0

Dim time_seconds As Integer time_seconds = 0

Dim epoch_seconds As Integer epoch_seconds = 0

Dim time_hundredths As Integer time_hundredths = 0

Dim watchdog As Byte watchdog = 0 ' 0 means malfunction

Dim elapsed_seconds As Integer Dim elapsed_hundredths As Integer Dim elapsed_time As Single Dim elapsed100 As Long

Dim last_elapsed As Integer Dim last_time_seconds As Integer

Dim isActive As Byte isActive = 0

Dim maxCurrent As Integer maxCurrent = 0

Dim iterationCount As Long iterationCount = 0

Dim tigPulseMark As Long Dim isTigHighPulse As Byte

Dim tigHighPulseDuration As Integer Dim tigLowPulseDuration As Integer

Dim TigArcIsLifted As byte

Dim ArcDigPercentage = ArcDigMaxAdded * 0.5 ' ====================================================================== Process Logic (main loop) ' '

Set Display 2,0,0,50 Initialize ' Does safety checks too

' ------------------------------------------------------------- Keypad Dim TX1 As Integer, TY1 As Integer 'Contrast 450

' per Max@ComFile Set Pad 0, 1, 4 ' Set Pad 5, 1, 4

On Pad Gosub OnKeypadLabel

On Timer( 1 ) Gosub OnTimerLabel ' 1 means 0.01 seconds

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ' RULES: ' * Avoid directly mentioning any relays or inputs ' * Only call subroutines and deal with named constants/variables/functions ' * Any unhandled condition should lead to error message and PROCESS_UNKNOWN. ' Only a reboot can bring us out of PROCESS_UNKNOWN. ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' Do ' Main loop

Dim requested_process As Byte requested_process = GetProcessSelection() '' get current reading of process selector

Dim startSwitch As Integer startSwitch = GetStartSwitch()

Dim busVoltage As Integer busVoltage = GetBusVoltage()

Dim momentaryVoltage As Integer momentaryVoltage = GetMomentaryBusVoltage()

Dim desiredVoltage As Integer desiredVoltage = GetDesiredVoltage()

Dim busCurrent As Integer busCurrent = GetBusCurrent()

Dim momentaryCurrent As Integer momentaryCurrent = GetMomentaryBusCurrent()

Dim desiredCurrent As Integer desiredCurrent = GetDesiredCurrent()

Dim momentaryPower As Single momentaryPower = momentaryCurrent * momentaryVoltage

watchdog = 1 lastSelection = currentProcess Select Case currentProcess

Case PROCESS_UNKNOWN ' ----------------------------------------

DisplayStatus

Case PROCESS_STICK_WELDING ' ----------------------------------------

SetLowVoltage

If currentState = STATE_BOOT Then currentState = STATE_STICK_IDLE End If

' handle change of process If requested_process PROCESS_STICK_WELDING Then If currentState = STATE_STICK_IDLE Then ' it is OK to switch to another process when IDLE ChangeProcess requested_process Else ' it is NOT OK to switch to another process when welding lastMsg = "HOT switching" ' OnErrorCondition End If Elseif currentState = STATE_STICK_IDLE Then ' now actual STICK logic If startSwitch = 1 Then currentState = STATE_STICK_WELDING timeMark = elapsed_time StartSupplyingPower SetStickWeldingParameters setActive End If Elseif currentState = STATE_STICK_WELDING Then If startSwitch = 0 Then currentState = STATE_STICK_IDLE StopSupplyingPower SetStickWeldingParameters setInactive Elseif momentaryPower > PowerLimit Then ' power limit exceeded, stop welding MomentarilySuppressPower Else SetStickWeldingParameters End If

Else lastMsg = "Unknown STICK STATE" OnErrorCondition End If

DisplayStatus

Case PROCESS_LOW_VOLTAGE ' ----------------------------------------

SetLowVoltage

If currentState = STATE_BOOT Then currentState = STATE_LOW_VOLTAGE_IDLE End If

' handle change of process If requested_process PROCESS_LOW_VOLTAGE Then If currentState = STATE_LOW_VOLTAGE_IDLE Then ' it is OK to switch to another process when IDLE ChangeProcess requested_process Else ' it is NOT OK to switch to another process when welding lastMsg = "HOT switching" ' OnErrorCondition End If Elseif currentState = STATE_LOW_VOLTAGE_IDLE Then ' now actual LV logic If startSwitch = 1 Then currentState = STATE_LOW_VOLTAGE_ON timeMark = elapsed_time StartSupplyingPower setActive SetArbitraryElectricParameters End If Elseif currentState = STATE_LOW_VOLTAGE_ON Then If startSwitch = 0 Then currentState = STATE_LOW_VOLTAGE_IDLE StopSupplyingPower setInactive Elseif momentaryPower > PowerLimit Then ' power limit exceeded, stop welding lastMsg = "Power Limit" OnErrorCondition Else SetArbitraryElectricParameters End If

Else lastMsg = "Unknown STICK STATE" OnErrorCondition End If

DisplayStatus

Case PROCESS_HIGH_VOLTAGE ' ----------------------------------------

SetHighVoltage

If currentState = STATE_BOOT Then currentState = STATE_HIGH_VOLTAGE_IDLE End If

' handle change of process If requested_process PROCESS_HIGH_VOLTAGE Then If currentState = STATE_HIGH_VOLTAGE_IDLE Then ' it is OK to switch to another process when IDLE ChangeProcess requested_process Else ' it is NOT OK to switch to another process when welding lastMsg = "HOT switching" ' OnErrorCondition End If Elseif currentState = STATE_HIGH_VOLTAGE_IDLE Then ' now actual LV logic If startSwitch = 1 Then currentState = STATE_HIGH_VOLTAGE_ON timeMark = elapsed_time StartSupplyingPower setActive SetArbitraryElectricParameters End If Elseif currentState = STATE_HIGH_VOLTAGE_ON Then If startSwitch = 0 Then currentState = STATE_HIGH_VOLTAGE_IDLE StopSupplyingPower setInactive Elseif momentaryPower > PowerLimit Then ' power limit exceeded, stop welding lastMsg = "Power Limit" OnErrorCondition Else SetArbitraryElectricParameters End If

Else lastMsg = "Unknown HV STATE" OnErrorCondition End If

DisplayStatus

Case PROCESS_TIG_WELDING ' ----------------------------------------

SetLowVoltage

If currentState = STATE_BOOT Then currentState = STATE_TIG_IDLE End If

' handle change of process If requested_process PROCESS_TIG_WELDING Then If currentState = STATE_TIG_IDLE Then ' it is OK to switch to another process when IDLE ChangeProcess requested_process Else ' it is NOT OK to switch to another process when welding lastMsg = "HOT switching" ' OnErrorCondition End If

Elseif currentState = STATE_TIG_IDLE Then ' now actual TIG logic If startSwitch = 1 Then currentState = STATE_TIG_PREFLOW setActive timeMark = elapsed_time OpenGasValve OpenWaterValve maxCurrent = 0 End If Elseif currentState = STATE_TIG_PREFLOW Then If startSwitch = 0 Then currentState = STATE_TIG_IDLE CloseGasValve CloseWaterValve setInactive Elseif elapsed_time - timeMark > TigPreflowTime Then

' ' Switch to WELD ' currentState = STATE_TIG_WELD If TigPulsing Then ' pulsing tigHighPulseDuration = TigPulsePeriod * TigHighPulseDutyCycle tigLowPulseDuration = TigPulsePeriod * (1-TigHighPulseDutyCycle) tigPulseMark = elapsed100 isTigHighPulse = 1 End If

TigArcIsLifted = 0 StartSupplyingPower SetTigWeldingParameters End If Elseif currentState = STATE_TIG_WELD Then If startSwitch = 0 Then currentState = STATE_TIG_POSTFLOW StopSupplyingPower postflowTimeMark = elapsed_time Elseif momentaryPower > PowerLimit Then ' power limit exceeded, stop welding MomentarilySuppressPower Elseif momentaryVoltage > TigMaxSafeVoltage Then lastMsg = "Volt.Xceeded" OnErrorCondition Else if TigUseHF And momentaryVoltage > TigHFMinVoltage Then TurnOnHF Elseif TigUseHF And momentaryVoltage < TigHFMinVoltage-TigHFVoltageInterval Then TurnOffHF End If SetTigWeldingParameters End If

Elseif currentState = STATE_TIG_POSTFLOW Then If postflowTimeMark = -1 Then lastMsg = "postflow start missing" OnErrorCondition Elseif elapsed_Time - postflowTimeMark > TigPostflowTime Then CloseGasValve CloseWaterValve currentState = STATE_TIG_IDLE setInactive End If Else lastMsg = "Unknown TIG STATE" OnErrorCondition End If

DisplayStatus

Case PROCESS_MIG_WELDING ' ----------------------------------------

SetLowVoltage

If currentState = STATE_BOOT Then currentState = STATE_MIG_IDLE End If

' handle change of process If requested_process PROCESS_MIG_WELDING Then If currentState = STATE_MIG_IDLE Then ' it is OK to switch to another process when IDLE ChangeProcess requested_process Else ' it is NOT OK to switch to another process when welding lastMsg = "HOT switching" ' OnErrorCondition End If

Elseif currentState = STATE_MIG_IDLE Then ' now actual MIG logic If startSwitch = 1 Then currentState = STATE_MIG_PREFLOW setActive timeMark = elapsed_time OpenGasValve OpenWaterValve SetMigWeldingParameters End If Elseif currentState = STATE_MIG_PREFLOW Then If elapsed_time - timeMark > MigPreflowTime Then currentState = STATE_MIG_WELD StartSupplyingPower End If Elseif currentState = STATE_MIG_WELD Then If startSwitch = 0 Then currentState = STATE_MIG_POSTFLOW StopSupplyingPower postflowTimeMark = elapsed_time Elseif momentaryPower > PowerLimit Then ' power limit exceeded, stop welding MomentarilySuppressPower Else SetMigWeldingParameters End If Elseif currentState = STATE_MIG_POSTFLOW Then If postflowTimeMark = -1 Then lastMsg = "postflow start missing" OnErrorCondition Elseif elapsed_time - postflowTimeMark > MigPostflowTime Then CloseGasValve CloseWaterValve currentState = STATE_MIG_IDLE setInactive End If Else lastMsg = "Unknown MIG STATE" OnErrorCondition End If

DisplayStatus

Case PROCESS_PLASMA_CUTTING ' ----------------------------------------

SetHighVoltage

If currentState = STATE_BOOT Then currentState = STATE_PLASMA_IDLE End If

' handle change of process If requested_process PROCESS_PLASMA_CUTTING Then If currentState = STATE_PLASMA_IDLE Then ' it is OK to switch to another process when IDLE ChangeProcess requested_process Else ' it is NOT OK to switch to another process when welding lastMsg = "HOT switching" ' OnErrorCondition End If

Elseif currentState = STATE_PLASMA_IDLE Then ' now actual PLASMA logic If startSwitch = 1 Then currentState = STATE_PLASMA_PREFLOW setActive timeMark = elapsed_time OpenGasValve End If Elseif currentState = STATE_PLASMA_PREFLOW Then If elapsed_time - timeMark > PlasmaPreflowTime Then currentState = STATE_PLASMA_CUT StartSupplyingPower End If Elseif currentState = STATE_PLASMA_CUT Then If startSwitch = 0 Then currentState = STATE_PLASMA_POSTFLOW StopSupplyingPower postflowTimeMark = elapsed_time Elseif momentaryPower > PowerLimit Then ' power limit exceeded, stop cutting MomentarilySuppressPower Elseif busVoltage > PlasmaHFMinVoltage Then TurnOnHF Elseif busVoltage < PlasmaHFMinVoltage-PlasmaHFVoltageInterval Then TurnOffHF End If Elseif currentState = STATE_PLASMA_POSTFLOW Then If postflowTimeMark = -1 Then lastMsg = "postflow start missing" OnErrorCondition Elseif elapsed_time - postflowTimeMark > PlasmaPostflowTime Then CloseGasValve currentState = STATE_PLASMA_IDLE setInactive End If Else lastMsg = "Unknown PLASMA STATE" OnErrorCondition End If

DisplayStatus

Case PROCESS_EXPERIMENTAL ' ----------------------------------------

SetLowVoltage

If currentState = STATE_BOOT Then currentState = STATE_EXPERIMENTAL_IDLE End If

' handle change of process If requested_process PROCESS_EXPERIMENTAL Then If currentState = STATE_EXPERIMENTAL_IDLE Then ' it is OK to switch to another process when IDLE ChangeProcess requested_process Else ' it is NOT OK to switch to another process when welding lastMsg = "HOT switching" ' OnErrorCondition End If Elseif currentState = STATE_EXPERIMENTAL_IDLE Then ' now actual LV logic If startSwitch = 1 Then currentState = STATE_EXPERIMENTAL_ON timeMark = elapsed_time StartSupplyingPower setActive SetArbitraryElectricParameters End If Elseif currentState = STATE_EXPERIMENTAL_ON Then If startSwitch = 0 Then currentState = STATE_EXPERIMENTAL_IDLE StopSupplyingPower setInactive Elseif momentaryPower > PowerLimit Then ' power limit exceeded, stop welding lastMsg = "Power Limit" OnErrorCondition Else SetArbitraryElectricParameters End If

Else lastMsg = "Unknown EXP STATE" OnErrorCondition End If

DisplayStatus

Case Else ' ------------------------------------------------------------ ' unhandled case, BAD BAD BAD lastMsg = "Bad Process Selection" OnErrorCondition End Select

DisplayStatus If epoch_seconds > TimeLimit Then lastMsg = "TimeLimit" currentState = STATE_EXPIRED OnErrorCondition setInactive Delay 10 End If

'Delay DelayInLoop iterationCount = iterationCount + 1 Loop

OnTimerLabel: OnTimer Return

OnWatchdogTimerLabel: OnWatchdogTimer Return

OnKeypadLabel: OnKeypad Return

End '====================================================================== Functions

Sub Initialize() ' initializes everything, all relays etc

Clear 1

If startSwitch Then lastMsg = "START at boot" OnErrorCondition Return End If

If SerialCableIsConnected() Then lastMsg = "Serial Connected" OnErrorCondition End If

Usepin 41, Out, relay Usepin 42, Out, relay1 Usepin 43, Out, relay2 Usepin 44, Out, relay3 Usepin 45, Out, relay4 Usepin 46, Out, relay5 Usepin 47, Out, relay6 'Usepin 11, In, in1

Locate 1, 2 Print "Weldimidator v0.01" Clear 1

Low ACTUAL_VOLTAGE_INPUT Low ACTUAL_CURRENT_INPUT Low DESIRED_VOLTAGE_INPUT Low DESIRED_CURRENT_INPUT Low PROCESS_SWITCH_INPUT Low ON_SWITCH_INPUT

Low 5 ' PWM 0 Low 6 Low 7

End Sub

Sub OnWatchdogTimer() If watchdog = 0 Then lastMsg = "Watchdog" OnErrorCondition End If watchdog = 0 End Sub

Sub OnTimer() If time_hundredths = 99 Then OnWatchdogTimer If time_seconds = 59 Then If time_minutes = 59 Then time_hours = time_hours + 1 time_minutes = 0 Else time_minutes = time_minutes + 1 End If time_seconds = 0 Else time_seconds = time_seconds + 1 End If time_hundredths = 0 epoch_seconds = epoch_seconds + 1 Else time_hundredths = time_hundredths + 1 End If

If isActive Then If elapsed_hundredths = 99 Then elapsed_seconds = elapsed_seconds+1 elapsed_hundredths = 0 Else elapsed_hundredths = elapsed_hundredths + 1 End If elapsed_time = elapsed_seconds + elapsed_hundredths / 100.0 End If elapsed100 = elapsed100 + 1 End Sub

Sub setActive() isActive = 1 elapsed_seconds = 0 elapsed_hundredths = 1 elapsed_time = 0 elapsed100 = 0 last_elapsed = -1 End Sub

Sub setInactive() isActive = 0 end sub

Sub ShutEverythingDown() ' Makes sure that everything is shut down and operator is safe. ' Postflow is tricky here, needs to be revisited CloseWaterValve CloseGasValve StopSupplyingPower SetLowVoltage setInactive End Sub

Sub OnErrorCondition() ' Set error properly currentProcess = PROCESS_UNKNOWN ShutEverythingDown DisplayStatus '' do it now, rather than wait for the loop to do it. End Sub

Sub DisplayStatus() ' displays status on LED 'Clear 0 If previousLastMsg = lastMsg Then Else Locate 0,0 Print " " Locate 0,0 Print lastMsg previousLastMsg = lastMsg End If

If previousCurrentState = currentState Then Else Locate 0,1 Print " " Locate 0,1 Print ProcessName( currentState ) previousCurrentState = currentState 'Print "Proc=", Dec currentProcess 'Print ",State=", Dec currentState End If

' Debugging inputs If 0 Then Locate 0, 2 Print " " Locate 0, 2 'Print "Id=", Dec GetDesiredCurrent() 'Print " " 'Print "PS=", Dec Adin( PROCESS_SWITCH_INPUT ) 'Print " " Print "Sw=", Float averageSelector Print " " End If

If previousVoltage < busVoltage - 1 Or busVoltage + 1 < previousVoltage Or previousDesiredVoltage < desiredVoltage - 1 Or previousDesiredVoltage >

desiredVoltage + 1 Then Locate 9, 3 Print " " Locate 9, 3 Print "V=" + Dec busVoltage Print "/" + Dec desiredVoltage previousVoltage = busVoltage previousDesiredVoltage = desiredVoltage Endif

If previousCurrent < busCurrent - 3 Or busCurrent + 3 < previousCurrent Or previousDesiredCurrent < desiredCurrent - 1 Or previousDesiredCurrent >

desiredCurrent + 1 Then Locate 0, 3 Print " " Locate 0, 3 Print "I=" + Dec busCurrent Print "/" + Dec desiredCurrent previousCurrent = busCurrent previousDesiredCurrent = desiredCurrent Endif

If isActive Then If elapsed_seconds last_elapsed Then Locate 12, 0 Print " " Locate 12, 0 Print "t=", Dec elapsed_seconds, "s" last_elapsed = elapsed_seconds End If Else If time_seconds last_time_seconds Then Locate 12,0 Print " " Locate 12, 0 Print Dec time_hours, ":" Print Dec time_minutes, ":" Print Dec time_seconds 'Print Dec time_hundredths last_time_seconds = time_seconds End If End If

End Sub

Function SerialCableIsConnected() SerialCableIsConnected = 0 End Function

Sub SetLowVoltage() If highVoltage = 1 Then StopSupplyingPower ProcessDelay 200 Out REWIRING_RELAY, 0 ProcessDelay 200 highVoltage = 0 End If End Sub

Sub SetHighVoltage() If highVoltage = 0 Then StopSupplyingPower ProcessDelay 200 Out REWIRING_RELAY, 1 ProcessDelay 200 highVoltage = 1 End If End Sub

' Returns voltage in VOLTS Function GetBusVoltage() ' GetBusVoltage = (Tadin( ACTUAL_VOLTAGE_INPUT ) * VOLTAGE_COEFFICIENT) / 1024 averageVoltage = averageVoltage * VOLTAGE_FILTER + (1-VOLTAGE_FILTER)* Adin( ACTUAL_VOLTAGE_INPUT ) GetBusVoltage = averageVoltage * VOLTAGE_COEFFICIENT End Function

Function GetMomentaryBusVoltage() GetMomentaryBusVoltage = Adin( ACTUAL_VOLTAGE_INPUT ) * VOLTAGE_COEFFICIENT End Function

' Returns voltage in VOLTS Function GetDesiredVoltage() GetDesiredVoltage = Adin( DESIRED_VOLTAGE_INPUT ) * MAX_VOLTAGE / 1024.0 End Function

Function GetDesiredCurrent() GetDesiredCurrent = Adin( DESIRED_CURRENT_INPUT ) * MAX_CURRENT / 1024.0 End Function

' Returns current in AMPS Function GetMomentaryBusCurrent() GetMomentaryBusCurrent = Adin( ACTUAL_CURRENT_INPUT ) * CURRENT_COEFFICIENT End Function

' Returns current in AMPS Function GetBusCurrent() averageCurrent = averageCurrent * CURRENT_FILTER + (1-CURRENT_FILTER)* Adin( ACTUAL_CURRENT_INPUT ) GetBusCurrent = averageCurrent * CURRENT_COEFFICIENT End Function

Function GetProcessSelection() '' rotary switch selector = Tadin( PROCESS_SWITCH_INPUT ) If( selector > 690 Or selector < 90 ) Then GetProcessSelection = lastSelection Else averageSelector = averageSelector * PROCESS_SWITCH_FILTER + (1-PROCESS_SWITCH_FILTER)*selector If averageSelector < 190 Then GetProcessSelection = PROCESS_STICK_WELDING Elseif averageSelector < 290 Then GetProcessSelection = PROCESS_TIG_WELDING Elseif averageSelector < 390 Then GetProcessSelection = PROCESS_MIG_WELDING Elseif averageSelector < 490 Then GetProcessSelection = PROCESS_PLASMA_CUTTING Elseif averageSelector < 590 Then GetProcessSelection = PROCESS_LOW_VOLTAGE Elseif averageSelector < 690 Then GetProcessSelection = PROCESS_HIGH_VOLTAGE Else GetProcessSelection = PROCESS_UNKNOWN End If End If End Function

Function GetStartSwitch() GetStartSwitch = Keyinh( 11, 20 )

End Function

Sub StartSupplyingPower() Out WELD_RELAY, 1 End Sub

Sub StopSupplyingPower() Out WELD_RELAY, 0 TurnOffHF Pwmoff VOLTAGE_PWM_PORT Pwmoff CURRENT_PWM_PORT End Sub

Sub ChangeProcess( Next_process As Integer )

If 0 Then Locate 0, 2 Print Dec currentProcess, " => " Print Dec Next_process 'Print Dec selector Print ",", Float averageSelector

Delay 1000 End If currentProcess = Next_process StopSupplyingPower currentState = STATE_BOOT

If currentProcess = PROCESS_STICK_WELDING Or currentProcess = PROCESS_TIG_WELDING Or currentProcess = PROCESS_MIG_WELDING Or currentProcess = PROCESS_LOW_VOLTAGE Then SetLowVoltage Elseif currentProcess = PROCESS_PLASMA_CUTTING Or currentProcess = PROCESS_HIGH_VOLTAGE Then SetHighVoltage Else lastMsg = "Unk VOLTAGE" OnErrorCondition End If timeMark = -1 End Sub

Sub TurnOnHF() Out HF_RELAY, 1 End Sub

Sub TurnOffHF() Out HF_RELAY, 0 End Sub

Sub OpenGasValve() Out GAS_RELAY, 1 End Sub

Sub CloseGasValve() Out GAS_RELAY, 0 End Sub

Sub OpenWaterValve() Out WATER_RELAY, 1 End Sub

Sub CloseWaterValve() Out WATER_RELAY, 0 End Sub

Sub MomentarilySuppressPower() Out INHIBIT_RELAY, 1 ProcessDelay 300 Out INHIBIT_RELAY, 0 End Sub

Sub ProcessDelay( d As Integer ) Delay d End Sub

Sub SetPCTIVoltage( Voltage As Integer ) AnalogOut VOLTAGE_PWM_PORT, Voltage / MAX_VOLTAGE * MAX_VOLTAGE_PCTI_OUTPUT_LEVEL * 1000 ' 1000 mV End Sub

Sub SetPCTICurrent( Current As Integer ) AnalogOut CURRENT_PWM_PORT, Current / MAX_CURRENT * MAX_CURRENT_PCTI_OUTPUT_LEVEL *1000 ' 1000 mV

End Sub

Sub AnalogOut (PortNum As Integer, VoltageNeeded As Integer) 'VoltageNeeded in mV Dim GetPWMValue As Integer Dim Period As Long Period = PWM_PERIOD GetPWMValue=(Period *VoltageNeeded)/5000 'Debug Goxy,0,2,"PWMValue: ",Dec GetPWMValue Pwm PortNum,GetPWMValue,Period 'Output Voltage to PWM channel 0 End Sub

Sub OnKeypad()

If 1 Then TX1 = Getpad( 2 ) 'TY1 = Getpad( 2 ) Locate 0, 2 Print " " Locate 0, 2 Print "Pad x=", Dec TX1 Print " y=", Dec TY1 'Debug "pad presed " End If End Sub

Sub SetTigWeldingParameters()

SetPCTIVoltage TigOCV desiredVoltage = TigOCV ' for display

If TigUseLiftArc And TigArcIsLifted = 0 Then TigArcIsLifted = momentaryCurrent > MinMomentaryCurrentForLiftArc And momentaryVoltage > MinMomentaryVoltageForLiftArc

SetPCTICurrent TigArcCurrentMin + TigArcCurrentCoeff * desiredCurrent

Elseif TigPulsing Then If isTigHighPulse Then If elapsed100 - tigPulseMark > tigHighPulseDuration*TicksPerSecond Then isTigHighPulse = 0 SetPCTICurrent desiredCurrent*TigLowLevel tigPulseMark = elapsed100 Else SetPCTICurrent desiredCurrent End If Else ' Low pulse If elapsed100 - tigPulseMark > tigLowPulseDuration*TicksPerSecond Then isTigHighPulse = 1 SetPCTICurrent desiredCurrent tigPulseMark = elapsed100 Else SetPCTICurrent desiredCurrent * TigLowLevel End If End If Else ' no pulsing SetPCTICurrent desiredCurrent End If End Sub

Sub SetStickWeldingParameters()

SetPCTIVoltage StickOCV desiredVoltage = StickOCV ' for display

If ArcUseDIG And momentaryVoltage < ArcDigVoltageThreshold Then Dim Extent As Single Extent = (ArcDigVoltageThreshold - momentaryVoltage) / ArcDigVoltageThreshold SetPCTICurrent desiredCurrent * (1+Extent*ArcDigPercentage) Else ' DIG is not in effect SetPCTICurrent desiredCurrent End if End Sub

Sub SetArbitraryElectricParameters() SetPCTIVoltage desiredVoltage SetPCTICurrent desiredCurrent End Sub

Sub SetMigWeldingParameters() SetPCTIVoltage desiredVoltage SetPCTICurrent desiredCurrent End Sub

Reply to
Ignoramus18435

Is it three phase or single phase?

I could help you set it up and get it running, and likely teach you a few things, so it becomes a Working tool, not a dust collector.

Gunner, So. Cal.

"Deep in her heart, every moslem woman yearns to show us her t*ts" John Griffin

Reply to
Gunner

Is it three phase or single phase?

I could help you set it up and get it running, and likely teach you a few things, so it becomes a Working tool, not a dust collector.

Gunner, So. Cal.

"Deep in her heart, every moslem woman yearns to show us her t*ts" John Griffin

Reply to
Gunner

Reply to
trg-s338

there is a data plate in the back, post a very clear picture of it.

should be a piece of cake.

Not nearly enough for welding at 300 amp, but you can easily use that to weld at 120-150 amps.

Start with stick welding.

it took me one evening to do with a carbonator pump, a little radiator, a fan and some plumbing from Ace Hardware.

If it does not do AC, it cannot do aluminum very well, but some people like me can live without it.

i
Reply to
Ignoramus23222

I was under the impression that the Cybertig series had AC mode for welding aluminum and other nonferrous metals, that's why I bought it. Am I mistaken? I also stick welded a nice and sturdy work table out of

3/8 thickness angle iron, had to do some grinding to make it look purty and sure learned a lot about warping from welding heat. Also need to use my own welded moving dolly to move this table around. As for the data plate, I will have to inch it away from the wall to take a picture so that will be posted on my next day off. Not that easy to move, the thing weighs roughly 500 lbs.

Not that I would be welding in the 300 amp range anytime soon but I find it surprising that I can only weld in the 150 amp range on my breaker. I dont really know what the capacity is on my breaker panel. My house is a single story detached home in SoCal, any general guidlines on how to determine if my panel can handle more?

I need a manual and schematic probably. Any leads on that?

Thanks for your resp> > > I believe it is single phase 220V. How do I test it to get a

Reply to
trg-s338

Some do and some do not. Mine did not have AC.

I hope that you put it on casters.

Why, there is nothing surprising. 150 amps at 40 volts is 6 kW. That's

27 amps at power factor of 1, and more at lower power factor (often a lot more).

Find out what is stamped on your branch circuit breaker.

I have that for CT200DC-S. Download them in PDF format here

formatting link
i

Reply to
Ignoramus23222

Cybertigs where made both ways. If your's is a single phase then it likely has AC. If 3 phase then they where all DC. You can tell real quick by looking on the front. If there's a AC position on the selector near the bottom then it will be single phase.

You should try hooking it up. Stick welding with it will spoil you real quick compared to a cracker box.

IRRC the single phase Cybertig draws 70-80 amps at full output. You'll likely be able to go higher than 150 amps probably close to

200.

They're available (if a little expensive) but I don't have the contact info handy right now. A google search should turn them up.

Reply to
Wayne Cook

And, TIG welding steel will spoil you enough that you'll put your buzz-box in the next trash pickup! No blinding cloud of noxious flux fumes, no explosive scrach-start, power controlled by foot pedal, on and on. My Lincoln Square-wave has the stick holder and cables, but I'll never use stick again, mostly due to the flux fumes. I just can't hack the effects of the fumes.

Jon

Reply to
Jon Elson

Indeed. As to seeing if it works...got jumper cables?

Hook the jumper cables to the output terminals, grab a chunk of stock and a welding rod and try it. Then kick in the High Frequency and see if it also works..it will be hard to miss..and makes striking an arc with rod a marvelous thing.

Id go with Wayne. I run my welders..including a big! Airco Squarewave

300, on a 60 amp breaker..and have only had trips when I was burning for long periods at 250 and above.

Gunner

"Deep in her heart, every moslem woman yearns to show us her t*ts" John Griffin

Reply to
Gunner

Makes changing rod not as pleasant though. :)

My CyberTig trips my 60a breaker when ran at 200 amps.

i
Reply to
Ignoramus5700

True But will show if the welder works or not. Not a bad make do alternative.

So did mine. But it was 20 yrs old. So I replaced it with a new one. Works great, less filling

Gunner

"Deep in her heart, every moslem woman yearns to show us her t*ts" John Griffin

Reply to
Gunner

PolyTech Forum website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.