Background of the Invention
[0001] This invention relates to a feedback welder control system and, more particularly,
to a feedback welder control system which is immune to line voltage waveform disturbances.
The control system senses changes in the power factor in the primary circuit of the
welder to determine when a quality weld is made without the need for attaching external
leads or auxiliary devices in the secondary circuit of the welding transformer or
positioning auxiliary sensing devices in the vicinity of the workpiece area.
[0002] The object of any resistance welding feedback welder control system is to sense the
progress of the development of the weld nugget and to use this information for adjusting
the weld schedule. One way of sensing the developing weld nugget is to measure the
resistance across a weld as it is being formed and, based on changes in the measured
resistance, terminating the weld when a desired resistance change has occurred. In
short, the weld current is terminated when a fully formed weld is sensed through these
resistance changes. Alternatively, the weld current can be changed to complete the
weld in a preset time, or some combination of the above-mentioned techniques can be
used.
[0003] Previously, methods used to sense the progress of the weld nugget have included detection
of acoustical emissions, electrode movement, resistance changes in the workpiece,
infrared emission from the weld, and still others. In general, all such methods have
required the placement of a sensor or some type of transducer with pick-up leads attached
to, or in the immediate vicinity of, the welding electrodes where such sensing devices
were vulnerable to accidental damage during the welding operation due to a number
of factors, including heat generated by the welding process, welding flash, mechanical
vibration, or physical damage such as severed leads, all of which can render the above
feedback methods of sensing inoperative.
[0004] More recently, feedback welder control systems have been developed which utilize
the measurement of resistance changes in the weld nugget without the necessity for
auxiliary leads or sensing devices at or near the welding electrodes. The measurement
of resistance change is accomplished indirectly by measuring the power factor during
each half cycle of weld current and detecting the minute changes in power factor which
occur as the resistance in the weld area changes. This technique of measuring changes
in the resistance of a weld by observing very small changes in the power factor or
phase angle of the weld current includes one disadvantage, i.e., being sensitive to
the line voltage waveform disturbances during the conduction interval. Previous attempts
to minimize this problem of line voltage waveform disturbances have centered on an
averaging technique in which a predetermined number of welds are evaluated to determine
the level of energy to be delivered to the weld area for the next succeeding group
of welds. One such approach is found in the patent application entitled Power Factor
Monitoring and Control System for Resistance Welding with Line Disturbance Immunity,
Serial No. 012,926, filed by the inventor Dennis J. Jurek on February 16, 1979, and
assigned to the assignee of the present invention. Although this system operates successfully
under automated conditions where .workpiece uniformity can be assured, it has been
discovered that the averaging technique does not permit the system to respond to sudden
changes in weld conditions such as may result from operator interaction, fit-up, surface
contamination, and the like.
Summary of the Invention
[0005] With this invention, the foregoing problems are overcome. The feedback welder control
system according to the present invention uses the resistance change technique of
measuring weld progress and is immune to line voltage waveform disturbances in the
AC supply to the welder. As recounted earlier in lesser detail, it is well known that
the electrical resistance of a workpiece, as measured between the welding tips or
electrodes, changes during formation of a weld nugget. This change in resistance is
reflected in the primary circuit of the welding transformer as a small change in the
power factor or phase angle. By sensing or measuring this change in power factor or
phase angle, it is possible to monitor the weld progress without attaching external
transducers or pick-up leads in the vicinity of the welding electrodes or to the secondary
circuitry, respectively.
[0006] However, this technique of measuring power factor change in the primary of the welding
transformer has the above-stated disadvantage of sensitivity to line voltage waveform
disburbances which commonly occur in large factories having a multitude of welders
connected to the same voltage source. In such an environment, the line voltage waveform
disturbances have been found to cause changes in the power factor or phase angle which
are different from the power factor change which would have occurred as a result of
the resistance change in the nugget area of the weld. In order to use this technique
of measuring changes in the resistance of a weld in a factory line voltage waveform
environment, the circuitry must operate precisely as though it were independent of
the line voltage waveform disturbances.
[0007] This can be accomplished in accordance with the present invention, by comparing the
phase relationship between the weld currents of two identical welders operating simultaneously
on the same line voltage so that both welders are subjected to the same line voltage
waveform disturbances. A first one of the welders includes a workpiece between its
welding tips or electrodes; the second welder serves as a reference and operates with
its tips closed and without a workpiece. Because both welders are subjected to the
same line voltage waveform disturbances, they will in the ideal respond identically
to any given disturbance in the waveform, and thus, except for changes brought about
by changes in the resistance of the workpiece in only the first welder, the weld currents
of each of the welders will remain in phase with one another regardless of line voltage
waveform disturbances. Accordingly, differences in phase relationship will arise when
the resistance of the workpiece changes during a weld. In actual practice, this difference
in phase relationship can be represented by the difference between the extinction
angles of the weld currents, that is to say, the angle at which the weld currents
pass through zero during each half cycle.
[0008] One embodiment of this invention dispenses with the second welder and replaces it
with an electronic simulator or modeling circuit which produces, as an output, a voltage
waveform which, in the ideal, is identical in shape and extinction angle to the primary
current of the actual welder before the occurrence of any change in resistance of
the workpiece. The electronic simulator circuit is adjusted to closely match the response
of the actual welding circuit to the line voltage waveform because, for optimum immunity
from line voltage waveform disturbances, the welder and the electronic simulator circuit
should be conducting simultaneously for identical periods of time. Thus, by comparing
the apparent power factor or phase angle of the welding circuit with that of the electronic
simulator or modeling circuit, the only difference which will be observed will be
due to changes in the resistance of the workpiece in the actual welding circuit and
not due to distortion in the line voltage waveform. Differences in extinction time
between the welder current and the electronic simulator circuit output are measured
with a high speed counter-and clock during each half cycle of a weld. For small changes,
as are normally experienced in resistance welding, there is a linear relationship
between the change in resistance and the counter output. Thus, a sample of the workpiece
resistance is available at the end of each half cycle of current.
[0009] By observing the progression of the resistance samples as the weld is being made,
the feedback welder control system judges on a half-cycle-by-half-cycle basis whether
or not the weld should be continued. The resistive curve formed by plotting the resistive
samples versus time on a number of half cycles can be expected to take on the characteristic
shape and height of a dynamic resistive curve applicable to the materials being joined
together by the weld. Further, the circuitry in the present invention makes use of
a pattern recognition technique on a half-cycle-by-half cycle basis to extract from
the curve at least three quantitative features in determining when the resistive changes
have proceeded along an appropriate path indicative of a satisfactory weld nugget
formation. These features are: (I) Area - the area under this dynamic resistive curve
must fall within the lower and upper limits set for the particular metal being welded;
(2) Convexity - the measure of curvature which is taken as positive for a curve with
a center higher than either end and, again, this curvature is checked against upper
and lower limits for the particular metal being welded; and, (3) Drop - the drop in
resistance from the peak value which is generally the most indicative of a weld completion
although this characteristic is the most prone to spurious high or low amplitude data
errors. Once a weld has been started, it will be terminated only stop if all three
of the curve features simultaneously fall within the operator-determined limits, or
failing this, when the maximum allowed number of weld cycles, as programmed by the
operator, are expended, such as disclosed in U.S. Patent No. 4,104,724 ('724 patent),
entitled Digital Welder Control System, issued August 1, 1978, to Dix, et al, and
incorporated herein by reference.
[0010] The above-mentioned pattern recognition technique works best for bare steel welds
having the classic dynamic resistance curve, as shown in Fig. 12. However, when a
variety of steel materials are going to be welded including galvanized steel to galvanized
steel or welding steels of varying thickness, a second recognition technique is utilized
with a slightly modified modeling circuitry. This second recognition technique includes
a single recognition parameter for bare steel, a predictive recognition parameter
for galvanized steel and a blanking recognition parameter for steels of varying thicknesses.
[0011] The predictive recognition technique replaces the previous pattern recognition technique
for bare steel in the case of welding galvanized steel to determine a quality weld.
The blanking recognition technique automatically ignores the first pulse in a dual
pulse weld and approximately one-half of its second pulse leaving approximately the
remaining half of the second pulse for determining a quality weld when welding together
steels of varying thicknesses. In the case of bare-steel, only a single parameter
is used and that is the resistance--drop from the peak in the classic dynamic resistive
curve being equal to the predetermined amount of resistive drop indicating a quality
weld.
[0012] Once any of the above types of welds are initiated, they will only stop if the pre-set
operator determined limits are met or the maximum allowed number of weld cycles as
programmed by the operator are expended. Overriding the limits and maximum allowable
weld cycles is the case of expulsion which is highly indicative of a proper weld nugget
formation at which time the weld will also terminate.
[0013] The second embodiment of the present invention utilizes the same pattern recognition
technique which includes either the same features or different features, depending
on whether a workpiece consists of mild steel or galvanized steel requiring still
other features to be considered.
[0014] Accordingly, the principal object of the present invention is to provide a feedback
welder control system with immunity from line voltage waveform disturbances which
utilizes a circuit means for sensing the power factor changes in the primary circuit
of the welding transformer during a weld to provide a feedback signal which indicates
when a weld is completed without attaching external leads to the electrodes of the
welder or placing a transducer in the vicinity of said electrodes.
[0015] Another object of the present invention is to provide a feedback welder control system
which senses the change in the power factor reflected back into the primary circuit
of the welding transformer during a weld.. and which automatically compensates through
a feedback signal for sensed changes in the resistance of the workpiece between the
electrode tips so that the weld current will be terminated after a proper weld nugget
is formed without the feedback signal being affected by line voltage waveform distortions.
[0016] A further object of the present invention is to provide a feedback welder control
system in which the feedback signal is immune to line voltage waveform disturbances
and generates characteristics related to the dynamic resistive curve for the material
being welded so that a pattern recognition technique is able to extract from these
resistive curve characteristics on a half-cycle-by-half-cycle basis data for determining
when the resistive changes are indicative of a satisfactory weld nugget formation.
[0017] Other objects and advantages will become apparent from the description wherein reference
is made to the accompanying drawings illustrating the preferred embodiments of the
invention.
Brief Description of the Drawings
[0018]
Fig. 1 shows a partial block and schematic representation of a power factor and monitoring
control system for resistance welding embodying the principles of the present invention;
Fig. 2 is a block diagram of a flowchart utilized by the microprocessor in Fig. 1;
Fig. 3A shows the characteristic dynamic resistance curve of mild steels in resistance
welding occurring during the half cycles of a weld;
Fig. 3B illustrates graphically the reproduction of the curve in Fig. 3A by the controller
of Fig. 1;
Fig. 4 shows a block diagram of the module interconnections for the feedback welder
control system embodying the principles of the present invention;
Fig. 5 is a front elevation of the sequence module incorporating the adjust location
for the feedback parameters of the present invention;
Fig. 6 is a block diagram of the inputs and outputs to the microprocessor of Fig.
1;
Fig. 7 is an elementary circuit and system block diagram of the present invention;
Figs. 8A-D are circuit and logic block diagrams in greater detail of a system block
diagram of Fig. 7;
Figs. 9A-B show waveforms illustrating the input and output signals to the system
block diagram of Fig. 8;
Figs. 10A-C are block diagrams of a flowchart of the preferred embodiment of the present
invention;
Fig. 11 shows waveforms illustrating the effect of line voltage distortions on extinction
angle of a feedback welder control system;
Fig. 12 shows a typical dynamic resistive curve of mild steel during welding;
Figs. 13A-C illustrate the pattern recognition features and their limits in the feedback
welder control system of the present invention;
Fig. 14 shows where operations occur in the voltage and current waveforms
Fig. 15 shows a front elevation of the second sequence module emobodying the second
recognition technique;
Fig. 16 is a modified block diagram of module interconnections for the feedback welder
control system utilizing the second recognition technique;
Fig. 17 is a circuit diagram of a portion of the blocks in Fig. 16;
Fig. 18A-B shows waveforms of resistance curves for bare and galvanized steel, respectively;
Fig. 19 shows resistance curves for galvanized steel at various current levels;
Fig. 20 is a block diagram of a flowchart of the second recognition technique embodiment;
Fig. 21 shows the stop time computation flowchart of the second recognition technique
embodiment;
Fig. 22 shows the touch-up subroutine flowchart of the second recognition technique
embodiment;
Fig. 23 shows the filter subroutine flowchart of the second recognition technique
embodiment; and,
Fig. 24 shows the fast adjust subroutine flowchart of the second recognition technique.
Description of a Basic Embodiment
[0019] The term "power factor" is conventionally defined as the cosine of the phase angle
between the voltage and the current under conditions of continuous sinusoidal excitation.
It is used in the preceeding and following descriptions in a qualitative sense to
include the case where the voltage and current waveforms are chopped or discontinuous
as is commonly the case in SCR controlled systems. In both the chopped or discontinuous
case and the continuous case, the qualitative effect is the same, i.e. a higher power
factor in an inductive circuit results in earlier current extinction (zero crossing
in the continuous case) and a lower power factor results in later current extinction.
[0020] . Referring to Fig. 1, a welding contactor 20 includes a pair of inversely connected
thyristors (SCR's) 22 that control current delivered to a primary winding 24 of a
welding transformer 26 from an alternating current source connected to lines Ll and
L2. The transformer 26 includes the primary winding 24, an iron core 28 and a secondary
winding 30. The secondary winding 30 is connected in a secondary circuit including
a pair of welding electrodes 36 with work pieces 38, to be welded together, clamped
between the electrodes 36.
[0021] The current conduction of the thyristors 22 is controlled by output signals 40 from
a gate pulse driver circuit 42. The output signals of the gate pulse driver circuit
42 in turn are controlled by a signal 44 that is furnished by a microprocessor 50
as will be later described. A simplified form of a simulator or modeling circuit 51
according to the present invention includes a transformer 52 having a primary winding
54 connected to lines Ll and L2 to energize a secondary winding 56. The secondary
winding supplies power to the circuit 51 which provides an output signal 58 that serves
as an input to the microprocessor 50. The secondary winding 56 is connected through
a full wave switching circuit 60 to impress a voltage signal across a series circuit
including potentiometer resistor 62, a resistor 64 and a capacitor Cl. The capacitor
Cl has one side connected through a junction 84 and the series circuit including the
potentiometer resistor 62 and the resistor 64 to a terminal 65 of the full wave switching
circuit 60. The other terminal 66 of the circuit 60 is connected to one side of the
secondary winding 56. The other side of the secondary winding 56 is connected to a
ground G and the other side of the capacitor Cl.
[0022] The full wave switching circuit 60 includes a pair of oppositely poled transistors
68 and 70 and diodes 72 and 74. The transistors 68 and 70 are of the light sensitive
type which conduct when exposed to light from an external source. The diode 72 and
the transistor 68, connected in series, are polarized in their associated circuit
to conduct current from the terminal 66 to 65. The diode 74 and the transistor 70
are likewise connected in series, but are polarized to conduct current from the terminal
65 to the terminal 66. The transistors 68 and 70 receive switching illumination from
light emitting diodes 76 and 78 which have their conduction controlled by a transistor
80. The transistor 80 is part of a switching circuit that responds to a signal R-GATE
82 from an output of the microprocessor 50. The transistor 80 has its collector connected
through the diodes 76 and 78 to a positive supply and its emmitter connected to a
ground G. The base of the transistor 80 is connected through a baseload resistor R
to receive the R-GATE 82 output signal of the microprocessor 50.
[0023] The leading edges of the signals 44 and 82 occur simultaneously. The signal 44 consists
of a voltage pulse of short duration which occurs during each half cycle of voltage
across lines Ll and
L2 when current flow through the SCR's 22 is to be initiated. The signal 82 is initiated
simultaneously with the initiation of the signal 44 and continues until the signal
58 indicates that the signal at the junction 84 is zero. The signal at the junction
84 is analogous to the signal which would be provided by actual welding current through
the primary winding 24 of the welding transformer 26. The term analogous as used herein,
means that the voltage waveform at the junction 84 and the current waveform in the
primary winding 24 are identical in time of initiation, shape, and time of extinction
when the resistor potentiometer 62 is properly adjusted as will be later described.
[0024] The circuit 51 includes a section that converts the signal appearing at the junction
84 to the input signal 58 of the microprocessor 50. The circuit includes a pair of
operational amplifiers 86 and 88. The operational amplifier 86 has its non-inverting
input 90 connected through a resistor R and a diode 92 to the junction 84. The inverting
input 96 of the amplifier 86 is connected through a resistor R and a diode 98 to the
junction 84. The negative feedback of the operational amplifier 86 is provided by
a series circuit that is connected between an output 100 of the operational amplifier
86 and the inverting input 96. The negative feedback circuit includes a diode 102
and a resistor 104. The operational amplifier 88 has an inverting input 106 connected
through a resistor R to the output 100. The non-inverting input 108 of the operational
amplifier 88 is connected to a voltage divider comprising a pair of equal impedance
resistors 110 that are connected between a 5
V source and ground so that a bias voltage of approximately 2-1/2V is present at input
108. The negative feedback of the amplifier 88 is provided through a resistor R connected
between the output of the amplifier 88 and the inverting input 106.
[0025] The signals appearing in the modeling circuit 51 at the various junctions in the
circuit are as follows. The junction 66 has a fullwave alternating voltage designated
as 66' impressed thereon from the transformer 52. The fullwave signal at the junction
66 is modified by the circuits including the fullwave switch 60 and the resistors
62 and 64 in the charging circuit of the capacitor Cl. The signal shown by the wave
84' appears across the capacitor Cl as a series of alternate polarity half cycle voltage
pulses which are analagous to the pulses of current in the welding transformer 24.
The signal at junction 84 is converted by the circuit that includes the amplifier
86 and appears at the output 100 as precision fullwave rectified voltage pulses as
shown on the curve designated as 100'. The output provided by the operational amplifier
88, which acts like an inverting comparator, is a series of pulses shown on the waveform
labeled 58'. The pulses at output 58 occur during the interval between each of the
voltage pulses of waveform 100'.
[0026] The operation of the microprocessor 50 is fully described in the U.S. patent 4,104,724
which was granted on August 1, 1978, to the inventors James A. Dix, et al and assigned
to the assignee of the present invention. In the '724 patent, the functions provided
by an initiating switch 114, a welder sequence module 116, and a lead trail signal
118 which is provided by a polarity detector 120, connected between lines Ll and L2,
are fully described. As described in the '724 patent, a signal 122 is provided by
an automatic power factor (APF) module 124. The module 124 has a pair of input leads
connected across the contactor 20 so as to be responsive to the voltage appearing
across the parallel-connected SCR's 22. During current flow through the transformer
primary 24, i.e. when the SCR's 22 are conducting, no significant voltage drop appears
across the contactor 20. When neither of the SCR's 22 are conducting, a voltage will
appear across the contactor 20 and provide an input to the
APF module 124. The output signal 122 of the
APF module 124 is an input to the microprocessor 50, and when current is flowing in
the transformer primary 24, the signal 122 is present. During the interval when the
SCR's 22 are not conducting, the signal 122 input to the microprocessor 50 will be
absent.
[0027] The microprocessor system 50, consisting preferably of an 8-bit Motorola M6800 microprocessor
and its associated memory and various ancillary devices, receives the line voltage
polarity information via the signal 118 as well as the state of conduction of the
SCR welding contactor 20 as signal 122. The microprocessor 50 generates appropriately
timed SCR welding contactor gate signals 44 and feeds the gate signals via the gate
pulse drives 42 to gates of the welding SCR's 22 based on operator input data such
as the desired welding current, the duration of the weld, etc., stored via a sequence
module 116 as fully described in the '724 patent. Based on an analysis of the relative
timing representing a change in power factor between the modeling circuit 51 output
signal 58 and the cessation of the conduction of the welding SCR's 22 represented
by the output signal 122, the microprocessor 50 terminates the weld period.
[0028] Turning now to a partial flow chart as shown in
Fig. 2, the operation sequence of the welding control system is similar to that described
in the '724 patent with the exception of the measurement of the timing periods. An
analysis of the timing period measurements and the results of the measurements are
detailed in the flow chart of Fig. 2.
[0029] Upon initiation of a weld sequence and the completion of the squeeze time, the microprocessor
50 leaves the squeeze routine and enters a weld subroutine 126. The weld subroutine
126 includes certain checks and timing information necessary to fire the SCR welding
contactor 20 at the appropriate time. Upon generation of the SCR gate signal 44 which
initiates the firing of the SCR welding contactor 20, the microprocessor system 50
issues the R-GATE signal 82 which switches the transistor 80 into a conducting state
and initiates the operation of the modeling circuit 51.
[0030] Control is then transferred to a decision block 128 which tests the state of the
signal 58. If the signal 58 is not a logic zero, control is transferred to block 130.
If the signal 58 is a logic zero, control is transferred to an output block 134 the
significance of which will be later described. Block 130 then tests the state of the
signal 122. If the signal 122 is a logic zero, control transfers to a block 132. The
significance of the operation of the block 132 will be later described. If the signal
122 is a logic 1, control transfers from the block 130 and is returned to the block
128. The control remains in a loop defined by the blocks 128 and 130 until one of
the signals 58 or 122 is detected as a logic zero. If the signal 58 is detected as
a logic zero prior to the detection of the signal 122 as a logic zero, control transfers
to block 134. If the signal 122 is detected as a logic zero prior to the detection
of the signal 58 as a logic zero, control transfers to block 132.
[0031] Output block 134 sets the signal R-GATE 82 to a logic zero which terminates conduction
of transistor 80 which results in a turnoff of the transistor switch 60 thus simulating
the-action of the weld contactor 20. Control is then transferred to the timing loop
made up of blocks 136 and 138. Block 136 increments a timing counter within the microprocessor
50 for every traverse of the loop made up of blocks 136 and 138. Decision block 138
terminates the traverse of the loop when the signal 122 becomes a logic zero indicating
extinction of the actual welder current. Thus the loop counter in the block 136 contains
a count of the number of traversals of the loop defined by blocks 136 and 138 which
is a measure of the time interval between the switching of the signals 58 and 122
in that order to a logic zero. Control then transfers to a block 140.
[0032] As previously mentioned, if the signal 122 becomes a logic zero prior to the signal
58 becoming a logic zero, control is transferred to the block 132. This occurs when
the potentiometer 62 in the modeling circuit 51 is misadjusted causing the signal
84 to extinguish after the actual welder current extinguishes. Block 132 issues a
diagnostic message advising the operator to increase the power factor of the modeling
circuit by adjusting potentiometer 62. The potentiometer 62 is incrementally adjusted
and another weld is initiated. The adjustment of the potentiometer 62 is repeated
until welds are completed without a diagnostic message from block 132.
[0033] A decision block 140 is used to prevent an analysis of the timing data occuring during
the first few half cycles of a weld period because the resistance of work piece 38
varies indeterminately during the beginning of the period and thus does not produce
reliable data. The timing data occuring during the first four half cycles of the weld
period is ignored and the results of half cycles 5 and 6 are retained and respectively
stored in the odd or even memory storage locations of the microprocessor 50. Control
of the weld is returned from the decision block 140 to the weld subroutine 126 during
the first six half cycles of the weld period. Beginning with the seventh half cycle,
the decision block 140 control is transferred to a decision block 142 which determines
whether a half cycle under consideration is numerically odd or numerically even. In
the case of the seventh half cycle, which is odd, the control is transferred to an
arithmetic block 144 where the time
T7, in 5 microsecond increments, has subtracted from it the time of the previous odd
half cycle, e.g. time T5. Therefore, the arithmetic equation is T
n-T
n-2 = T
n. Thus, the result of this subtraction forms Delta
T7. In the next half cycle which is an even numbered half cycle, an arithmetic block
146 is used as a control to form Delta
T8 which is equal to time
T8 minus time T6 ( T8 = T8-
T6). In this manner, the Delta
T's for all the subsequent half cycles are formed. Preferably the Delta
T's are determined on an odd minus odd and even minus even basis to cancel polarity
sensitive timing errors such as rectification at the welding tips due to oxide and
other impurities, or unequal response times of the SCR's in the welding contactor
20.
[0034] It can be demonstrated that for small changes in resistance, the Delta T's derived
in the foregoing manner are proportional to the negative time derivative of the resistance
versus time function of the dynamic resistance curve produced during the progress
of a weld. To reconstruct a numerical representation of the resistance versus time
function suitable for analysis by the microprocessor, it is necessary to form a negative
integral of the Delta T function. In numerical terms, this is accomplished by a summation
operation performed in summation block 148. If the output of the block 148 is plotted
with respect to time or weld cycles, a curve similar to Fig. 3B results which is an
approximation of the dynamic resistance curve shown in
Fig. 3A. The height of the curve in Fig. 3B at any instant is equal to sum of the preceding
Delta T's.
[0035] Studies of weld strength versus resistance of the weld area demonstrate that a quality
weld will be achieved if weld current is continued until the resistance across the
weld is reduced a predetermined amount after peak 156 in Fig. 3A is reached, also
approximated by the peak 158 in Fig. 3B. A decision block 150 determines if a peak
in the data from the block 148 has occurred. If a peak is reached, a decision block
152 measures the drop from the peak value 158 in Fig. 3B and compares the value of
the drop to a threshold value 160 as seen in Fig. 3B which is a preselected value.
If the peak is not reached, the control exits decision block 150 and returns to the
weld subroutine block 126 to continue a weld. If the drop from the peak 158 is equal
to or greater than the threshold value as determined by decision block 152, the microprocessor
50 does not return to the weld subroutine 126 to continue the weld and transfers control
to an operation block 154 where the operations such as "hold" that complete the weld
sequence are performed. Exiting operation block 154, the microprocessor returns to
the standby mode. In the event block 152 does not transfer control to block 154 before
the pre-programmed weld cycle counts have been reached, control is transferred from
block 126 directly to block 154. Block 154 terminates the weld at its maximum duration
and begins a hold period as described in the '724 patent.
Description of the Preferred Embodiments
[0036] Referring to Figs. 4 and 7, a feedback welder control system 10, that can be used
in any general, industrial or commercial installation is connected to a power source,
such as an alternating current power source 12 typically of a 480-volt potential,
having lines Ll and L2, which are connected in any known manner through a circuit
breaker 14. Line L2 is connected to the primary of a welding transformer 16, and Ll
is connected to the primary of the welding transformer 16 through a thyristor contactor
18 and a line Hl, as shown in Fig. 4. The circuit breaker side of power lines`L1 and
L2 are also connected to a power panel 20 through a cable 7PL, as shown in
Fig. 4. The power panel 20 is connected to the thyristor contactor 18 through power
cable 6
PL. A logic panel 22 contains a microprocessor board 24, an input/output board 26, and
an analog circuit board 28 with a shield 30 therebetween or, alternatively, the analog
and
I/O boards could be combined on a single board, all of which are interconnected by a
signal cable 8
PL. The microprocessor board 24 contains an 8-bit microprocessor of any known type (not
shown), such as a Motorola M6800. The 8-bit microprocessor includes read only memories
and other registers containing the executive program, random access memories (RAM)
containing the program constants of the weld sequence, port registers and various
gate and amplifying circuits interconnecting the above-mentioned integrated circuits
of the microprocessor in any known manner in the art. The microprocessor board also
includes a battery for retaining the data stored in the RAM whenever the welder controller
is de-energized. The battery and the data retention circuit for the R
AM is trickle-charged during normal operation when the welder controller is powered
from the line and has a useful life of approximately 21 days for retention of the
data in the RAMs when the welder controller is de-energized.
[0037] The input/output board (hereinafter called
I/O board) 26 serves as an
I/O signal conditioner to interface the processor bus. The I/O board also contains initiation
and fault relays which energize and de-energize the welder solenoid upon triggering
the gun or upon a fault occurring, respectively. The I/O board also contains a solenoid
amplifier for providing enough power to operate the selected solenoid. Both the microprocessor
board 24 and
I/O boards 26 communicate with the power panel 20 through cables 4PL and 5PL, respectively.
The analog circuit board 28 is connected to lines Ll and L2 through a filter/attenuator
32 to be described in greater detail later. The logic panel 22, filter/attenuator
32, power panel 20, thyristor contactor 18, and circuit breaker 14 are all housed
within a contactor module 34.
[0038] A sequence module 36 communicates to the microprocessor board and the contactor module
34 through cables CPL and 1
PL. The sequence module 36 provides a means for entering the weld schedule, setting
pattern recognition limits, and interrogating the microprocessor to be described in
greater detail later. It also displays a diagnostic readout, provides a fast adjust
and a feedback mode of operation and includes other operator controls for the feedback
welder controller. A remote no-weld operator switch 38 and an initiation weld operator
switch 40 are connected through cables JPL, 2PL and 3PL to the logic panel 22 and
power panel 20. The operation of switches 38 and 40 will be described in greater detail
later.
[0039] The feedback welder control system of the present invention operates in a similar
manner to the one described in the '724 patent with the exception of its operation
during the time that weld current is flowing. Moreover, the maintenance interval counter
and compensator (MICC) of the '724 patent is no longer needed and it is replaced on
the address program chart of Fig. 5 corresponding to Fig. 4 of the '724 patent by
addresses for pattern recognition limits 42, to be described in greater detail later.
All other operations, such as communication with the sequence module 36, diagnostic
checks 44, timing of the non-current steps in the welding sequence, etc. are carried
on in a manner which is described in the '724 patent, incorporated herein by reference.
For the sake of simplicity, this embodiment has only one sequence which can be selected
by the operator, rather than three, as in the '724 patent. As previously mentioned,
the circuitry and feature called MICC has been deleted from this invention because
the use of feedback to vary the length of weld used supplants the need for this feature.
[0040] Turning now to Fig. 5, a weld operator enters the weld schedule in a function section
46 having addresses 10-17 and 40 in the same manner as in the '724 patent. Ideally,
for the current selected, the weld time is in excess of the minimum required to provide
an acceptable weld. In addition, the operator will enter the acceptance limits of
the features extracted from a dynamic resistive curve as each weld is performed. These
limits for area, convexity and drop are entered into addresses 21-26. During the normal
operation of the feedback welder control system, a control circuitry stops the weld
current when these three features (area, convexity and drop) are all simultaneously
between their upper and lower limits which are determined empirically from the material
to be welded.
[0041] Prior to using the welder with its feedback welder control system, the electronic
simulator or model circuit is adjusted to match the actual load circuit consisting
of a welding transformer 48, its cables 50, and welding gun with electrodes 52. This
adjustment process is greatly expedited by putting the welder control into a fast
adjust mode. To accomplish this adjustment, reference is made to a front panel 54
of the sequence module 36 which includes an address readout 56 and its thumbwheels
58, a data readout 60 and its thumbwheels 62, a key operated run/program switch 64
having a run and program mode, an LED data display 66 having a display of the data
currently stored in the memory location set on the address thumbwheels 58 and entry
switches 68 having individual operator buttons 70, 72 and 74, which perform the same
function as switches 82, 80 and 74, respectively, as described in the '724 patent.
The welder control is placed in the fast adjust mode by dialing an address 18 on the
thumbwheels of address display 56 and then entering a non-zero number on the data
thumbwheels 62. This non-zero number on the data thumbwheels 62 is actually entered
into the R
AM memory location 18, the fast adjust mode, by depressing the enter/reset switch 74.
Then, the LED data display 66 displays the data currently stored in the memory location
18 set on the address thumbwheels 58. So now the operator can check to see if, indeed,
the dialed data on the data thumbwheels 62 has been entered or not. In this fast adjust
mode 18, the microprocessor checks the "First" input and will incrementally change
N (the power factor adjust word) in a manner which will minimize the difference between
the welder extinction angle and the electronic simulator or modeling circuit extinction
angle. For example, if the "First" input is a logic one, the modeling circuit power
factor is too low and the microprocessor will add one to
N. Subtraction of one occurs in the opposite case. This adjustment process occurs on
each half cycle until the electronic simulator or modeling converges to a unit one
limit cycle around the ideal adjustment point for
N. To obtain the best results, this adjustment can be made while over welding on a
sample coupon (type of metal to be welded on) to include the workpiece resistance
in the adjustment.
[0042] After the fast adjustment of the welder controller has been completed (the worst
case requires 250 half cycles for adjustment and that the adjustment interval is divided
into two to the eighth power segments), the welder controller is set-up to be used
in the feedback mode. To accomplish this, the operator resets the address location
18 to zero by dialing data thumbwheels 62 to read zero and entering that zero number
into the RAM memory by depressing the enter/reset switch 74 to inhibit the fast adjust
mode 18. Then, the operator dials address thumbwheels 58 to number 19 and dials data
thumbwheels 62 to a non-zero number for enabling the microprocessor of the welder
controller to halt the weld current when the dynamic resistive curve features are
within the pattern recognition limits 42, previously dialed into the microprocessor
of the controller in a similar manner as the fast adjust and feedback modes were set.
To compensate for the effects of cable heating, electronic component drift, etc.,
the microprocessor checks the dynamic resistive curve during the valley of said curve
and, based on the sign of this data, makes an incremental adjustment of N early in
the next weld in a manner similar to that of the fast adjust mode. The valley point
resistance is chosen as a basis for adjustment because it remains fairly constant
from weld to weld and is in an area of minimal slope, as shown in Fig. 12.
[0043] As in the '724 patent, all control signals are interfaced to the microprocessor via
its input/output structure. Fig. 6 shows the input and output signals of a microprocessor
76. When power is applied to the welding controller by actuating trigger switch 40,
the microprocessor 76 initializes itself as well as its supporting circuitry. Once
the welding controller is initialized and is in a standby mode, there is communication
between the sequence module 36 and the microprocessor 76. Another input to the welder
is the weld/no-weld contact 72 operated by the remote weld/no-weld switch 38 or by
switch 72 on the front panel 54 which is a two position switch. With this switch in
the.weld position, welding current will be passed during a weld initiated by the trigger
switch 40. In the no-weld position, the welding controller can be sequenced and no
weld current is passed. An AC line reference signal 78 and automatic power factor
signal 80 which reflect the voltage across the power SCRs are both inputs into the
microprocessor 76 and function in the same manner as described in the '724 patent.
An AlogI 82 is a simulated automatic power factor signal from the electronic simulator
(modeling circuit). A FIRST input 84 which indicates that the actual weld current
makes its transition before the AlogI signal is another input signal to the microprocessor
76. A DIFF input 86, the pulse width of which is equal to the time difference between
AlogI and the automatic power factor transitions, is another input to microprocessor
76. Differential clock signal 88, which contains clock counts porportional to the
time difference between AlogI and the automatic power factor, is another input. An
NMI input signal 90 which is an interrupt signal from override timer. The outputs
of the microprocessor are similar to that found in the '724 patent except for the
signal fed to the electronic simulator which adjusts its power factor to closely match
that of the actual welding circuit during this fast set-up mode 18.
Theory of Operation
[0044] As previously stated, the feedback welder control system of the present invention
utilizes an 8-bit microprocessor as one of its main control elements. The software
program to accomplish the welding controller function resides in the programmable
read-only memory (PROM). This memory is non-volatile; that is, the executive program
is permanent, even with the memory unpowered. However, the constants for the weld
schedule (squeeze-weld-percent current-cool-weld-off times, pattern recognition limits,
diagnostics, etc.) are stored in the programmable memory registers known as the RAMs.
[0045] Now, referring to Fig. 7, the feedback welder control system consists essentially
of four circuit sections. The first section consists of the actual welding transformer
48, welding gun with its electrodes 52 and cables 50, and SCR thyristor contactor
18 used to control the current through the welding transformer. The second major section
of circuitry consists of an electronic simulator or modeling circuit 92 which, in
this case, is an analog circuit but could be just as well a digital circuit that is
used to simulate the actual welder circuit referred to in the first section of this
feedback system. The third section includes a timer circuit 94 which determines the
timing differences between the simulated signals from the electronic simulator 92
and the actual signals coming from the primary 16 of the welder 48. These timing differences
are then fed to the microprocessor 76 where it is compared to the limits stored in
the RAM memories of the microprocessor 76 which is the fourth section of this feedback
welder control system.
[0046] The microprocessor 76 in the fourth section of the system compares the information
generated from the actual welder with that information generated by the simulated
reference welder 25. The pattern recognition limits stored in the RAM memory locations
of the microprocessor defines a three dimensional block 66. The pattern recognition
limits are originally determined empirically for the particular metal to be welded
and correspond to a quality weld. Features are extracted during a weld and, when all
of them are mapped into the block 66, a satisfactory weld nugget is formed. The extracted
features representing a change in the resistance fall into the following categories:
(1) area under the dynamic resistive curve; (2) convexity or shape of the curve; and,
(3) the resistive drop, as shown in Fig. 12, indicative of a completed weld. As noted
above, a heuristic process is involved in the determination of the range of these
limits which will change according to the materials and equipment used.
[0047] The electronic simulator or modeling circuit section referred to as the simulated
reference welder includes the filter/attenuator 32 which provides the input reference
signal derived from the line voltage source 12 as is the actual welding circuit so
that a simulated current waveform can be constructed fully affected by line voltage
waveform distortions. In essence, the electronic simulator (modeling circuit) solves
a differential equation representing the equivalent R
L network of the actual welder. This modeling circuit 92 is adjusted by the microprocessor
76 to closely match the actual welding circuit to be described in greater detail later.
The primary difference between the simulated reference welder and the actual welder
is that the actual welder has material to be welded between its electrodes and the
simulated reference welder has no such material. Therefore, any changes in the signals
from the simulated reference welder and the actual welder should then only reflect
the resistive changes in the material being welded.
[0048] Turning now to Fig. 8A, a more detailed circuit logic block diagram is shown which
represents the analog circuitry of the electronic simulator 92. Also included is the
circuitry of section one and section three of Fig. 7. This circuitry includes a digital
timer as well as the I/O signals necessary for operation of the welding tool. The
voltage reference signal 78 from the 480-volt line is inputted to the filter/attenuator
32. This input voltage is sinusoidal voltage as shown in waveform 78 thereabove. The
purpose of the filter/attenuator is to first filter out differential mode noise. Secondly,
the filter divides down the voltage to a usable level. Once the 480-volt line is divided
down to a usable level or approximately +10 or -10 volts maximum, and, in the present
invention 4-6 volts, the reference signal can be fed into a differential operational
amplifier block 96. This amplifier block's characteristic is a high common mode rejection.
Unwanted common mode signal is reduced by this amplifier. The signal at this point
is inverted, as shown by waveform 98 in Fig. 8A. The inverted signal at this point
divides into two separate routes. One route goes to an analog simulator 100, and a
second route goes to a zero detection circuit 102. The output of the zero detection
circuit 102 becomes a lead trail reference signal 104. In the first route, the signal
proceeds to a circuit block or SCR simulator 106 comprising a switch 108 operated
by an amplifier 110 so that the switch and amplifier simulate the operation of the
SCR 18 in the actual welder circuit. The switch 108 is closed at the same time a gate
pulse is initiated to fire the SCRs in the actual welder. The action of the SCR simulator
106 produces a chopped signal as shown in waveform 112 which is then fed into an amplifier
114 which receives the chopped sinusoidal waveform 112 and acts as a buffer and inverts
the signal. The inverted signal is then fed into an integrator circuit 116. The integrator
l16 solves a differential equation for an equivalent RL network corresponding to the
actual R
L network of the welder and converts the voltage waveform 112 into a current waveform
118.
[0049] Moreover, the power factor of this reference welder represented by the analog circuitry
can be varied to match the actual welder power factor through a power factor select
circuit 120. The power factor select circuit 120 is an individual binary weighted
resistor which is switched in and out by analog switches. When all switches have a
logic zero output, then the highest power factor of .8 is simulated. However, this
power factor select circuit 120 can also be a Digital to Analog Converter (
DAC), such as a National Semiconductor DAC 1020 having the switches plus an R-2R ladder
resistor network. In this case, when all switches have a logic one output, then the
highest power factor of approximately .8 is simulated. All zeros on the PIA ports
result in the lowest power factor of .4. A total of 8 bits will divide the amount
of feedback from zero to 255 parts. At the end of a current conduction cycle, a reset
circuit 122 will dump a capacitor of the integrator circuit 116. This will allow re-initiation
of the integrator 116 for the next half cycle of current conduction. The current signal
118 is then fed into a rectifying circuit 124 which produces a signal waveform 126.
This signal is fed into another zero crossing detector 128. The output of the zero
crossing detector 128 is a waveform 130 known as the AlogI signal 82. This AlogI waveform
130 is equivalent to the
APF signal from the actual welder. The
Alog
I signal 130 is thus the reference welder's automatic power factor signal.
[0050] Referring back to waveform 130 (AlogI), this signal is then sent to an inverter circuit
132 where it is inverted. The reason for this is so that the trailing edge of AlogI
waveform 130 will clock in a zero to a flip-flop circuit 134, which acts as the control
for the simulated SCR circuit 106 and the reset circuit 122 of the integrator 116.
The 1-0 transition of
AlogI waveform 130 opens the switch 108 simulating the SCR action which would normally
turn off at this zero crossing of the current. The inverted AlogI signal 130 is also
fed into another flip-flop 136. The APF signal 80 from the actual welder is also fed
into flip-flop 136 via an isolation circuit 138 comprising a light-emitting diode
140 and an opto-isolator transistor 142 so that the analog circuitry on a logic voltage
level is isolated from the power circuit of the actual welder. The AlogI signal 130
and
APF signal 80 are used to determine which one was the last signal to activate the flip-flop
136. Knowing this information, it is possible to then determine which one, the AlogI
signal 130 or the APF signal 80, came first. The AlogI and the APF signals 130 and
80, respectively, are also fed into a decision circuit 144 which is an exclusive OR
gate. OR gate 144 will be a logic one while there is a difference between AlogI signal
and
APF signal. This difference between AlogI and APF signals is known as a difference signal
86 at the output of the exclusive OR gate 144 which is used to gate a clock signal
and allows a number of clock pulses which are representative of a time difference
between AlogI and APF signals. A difference clock circuit 146 has one input from the
exclusive OR gate 144 and a second input from a clock 148 whose signal to the difference
clock circuit 146 is modified by a divide down network 150 known as a scaler. The
clock 148 runs at a fixed frequency and can be divided by one, two or four.
[0051] A gate pulse signal (GP) 152 is sent from the microprocessor to a gate circuit 154.
This gate pulse signal 152 is ANDed with the condition that the override timer is
not timed out and the solenoid valve is initiated. Gate circuit 154 feeds flip-flop
134 to initiate the operation of switch 108 of the SCR simulator circuit 106. The
gate circuit 154 also initates the GP one-shot circuit 156 which has an output signal
153 of approximately 5 volts for 25 microseconds. From circuit 156, this gate pulse
153 will be sent to the power module 20 which has pulse transformers that fire the
SCRs in the welder. The ANDed condition of the override timer and solenoid valve are
summed at an AND gate 160 which, in turn, feeds an inverter circuit 162 which serves
as an amplifier for a triac switch circuit 164 to operate the solenoid valve in its
120-volt AC circuit. The triac switch circuit 164 is a solid state switch having an
output of 120 volts and one amp. An override timer or retriggerable one-shot circuit
166 is initiated by an OR signal 168. The OR signal 168 is pulsed at least once every
second by the microprocessor or a time out condition will occur. If the override timer
circuit 166 times out while the solenoid valve is on, NAND circuit 170 produces an
output signal 172. This signal 172 is a non-maskable interrupt signal (
NMI) that goes back to the microprocessor and should re-initiate the override timer
166 and, at the same time, displays a flashing 99 error in data display 66 on the
front panel 54 of the sequence module 36.
[0052] A circuit block 174 is the initiation circuit which is actuated by the trigger on
the gun of the welder to input a 24-volt DC signal into circuit block 174. The output
of circuit block 174 is a signal 176 to initiate (INIT) which instructs the welder
controller to begin the welding sequence.
[0053] After the set-up procedure is completed where the parameters for determining a good
weld have been selected by entering the pattern recognition limits and addresses 21-26,
as shown in Fig. 5, the feedback welder control system of the present invention is
ready to begin a normal welding sequence. When the operator pulls the trigger on a
gun welder or engages an operating button on another type of welder, the initiation
signal 176 from circuit block 174 is received by the welder control system. Upon receiving
this initiation signal 176, the microprocessor of the welder looks for the lead trail
signal 104 coming from zero detection circuit 102. Once the controller is synchronized
with the lead trail signal 104, the override timer 166 is initiated. Once the timer
166 is initiated, a solenoid valve signal 158 is given. During a condition when the
override timer 166 is initiated or operative and the solenoid valve signal 158 is
present, AND gate 160 has an output logic signal which then activates inverter circuit
162 and, in turn, triac switch circuit 164, and then the solenoid valve signal 158
is issued to operate the solenoid valve. At this point in time, gate circuit 154 is
activated and provides an input signal to gate pulse circuit 156 which, in turn, provides
the gate pulse 152. As previously outlined in the '724 patent, a normal sequence of
events is to go through the squeeze delay and then the actual squeeze of the electrode
tips together. During the squeeze period of time, the microprocessor looks for the
lead trail signals and counts lead trail transitions. Once the squeeze delay and squeeze
time are completed, the welder control will initiate the weld pulse. The weld pulse
is initiated by waiting a certain time from the lead trail transition and then firing
the gate pulse circuit 156. The one-shot output signal from the gate pulse circuit
156 initiates the S
CRs of the actual welder. When the SCRs are initiated, flip-flop 134 receives a signal
and that, in turn, operates the SCR simulator 106 and switch 108 closes which, in
turn, energizes the analog simulator, as previously described. The reference welder
section two of Fig. 7, as previously described, is tuned by adjusting the power factor
to emulate that of the actual APF signal from the actual welder. A certain number
of weld cycles will be ignored after the initiation of a weld pulse and those first
few cycles fall within what is called a blanking period before any reference signals
are used by the feedback welder control system. Once the blanking period has passed,
typically three to four half cycles, the microprocessor accumulates the differences
in time between the
APF and AlogI signals in a RAM memory location. This information is retained by the microprocessor
and compared to the pattern recognition limits to extract certain features which represent
a quality weld.
[0054] Next, a more detailed discussion of the circuitry of Fig. 8A and the signal processing
will be described through Fig. 8B. The voltage reference signal goes through the filter/attenuator
32, as shown in Fig. 4, and is conditioned before it is fed to the simulated reference
welder for analog circuitry. The first stage of the filter/attenuator 32 as shown
in Fig. 8B consists of a differential noise filter and a voltage divider network used
to divide the 480 volts down to a voltage level usable by integrated circuit components
found in the electronic simulator, such as 4-6 volt peak-to-peak value. The filter
consists of two inductors 1L and 2L and capacitors Cl and C2. Two resistors R are
connected in series to conductors
Ll and
L2 in order to moderate the natural resonance of the filter. A voltage divider is connected
in series with the filter and is comprised of resistors Rl-R10. Capacitors C7 and
C8 are connected across resistors R9 and R10, respectively, and they are adjustable
in order to compensate the incoming signal for phase shift due to stray capacitance.
From points across resistors R9 and R10, the conditioned logic level signal is fed
to an input amplifier and buffer stage.
[0055] This conditioned logic level voltage reference signal goes to an integrated circuit
chip 1 (ICl) in Fig. 8C and its associated circuitry which makes up a differential
input instrumentation amplifier. This amplifier has a high common mode rejection.
Its primary purpose, therefore, is to reduce unwanted common mode signal and act as
a buffer. The input to IC1 is shown as a waveform 78, as shown in Figs. 8A and 9B;
the output waveform is shown as a waveform 98 on Figs. 8A and 9B. This signal then
divides those into two separate circuits: (1) the analog circuit; and, (2) the lead
trail circuit.
[0056] The waveform 98 is routed to the lead trail circuit comprised of several integrated
chips, such as IC2D which is a voltage follower. The output signal of IC2D feeds a
zero crossing detection circuit
IC4 and peripheral components. A pair of diodes D5 and D6 are connected in series between
the low voltage follower and the zero crossing detection circuit and limits the signal
excursion. The output zero crossing detection circuit
IC4 is a logic level signal typified by waveform 104 of
Fig. 8A, known as a lead trail signal. The 1-0 and 0-1 logic level shifts denote the
zero crossing of the reference voltage signal waveform 78.
[0057] The analog circuit consists primarily of a number of integrated chips (IC) lA-D,
2A-C, 3, 4, 5, 6, 7A-B and 8A-B with their associated components. The voltage reference
signal 78, which is fed to the electronic simulator circuitry or modeling circuit
92, goes through a switch 7A which simulates the SCR of the actual welder. This switch
7A which is an integrated chip phase controls the voltage reference signal as fed
into an integrator 116 of Fig. 8A connected in series through 1C. This signal first
goes to a buffer amplifier 1D then from there the signal goes into the integrator
which is made up of
IC2
A, capacitor C22, IC5, IC6 and associated resistors R65-R72, and RH5 and RH6. The resistors
in the analog switches in the feedback circuit of the integrator IC2A (116) allow
the microprocessor to adjust the power factor of this simulator weld circuit. The
switches IC5 and IC6 and the resistors connected thereto form a binary weighted resistor
network. The setting of this resistor network, which is adjusted by the microprocessor,
determines the amount of feedback to the integrator IC2A. The logic one from the microprocessor
to all of the switches will cause all of the switches to open. This means more resistance
in the feedback loop. More resistance will decrease the power factor. When all switches
in
IC5 and IC6 are a logic zero, the highest power factor of .8 is simulated. The feedback
welder control system of the present invention is designed such that the lowest power
factor (output of the microprocessor two switches IC5 and IC6, all being logic ones)
is approximately equal to .4. The output of IC2A is a simulated current waveform 118
of Figs. 8A and 9B. This signal is, in turn, fed to the rectifying circuit consisting
of integrated chips 2B and 2C and their associated circuitry. The rectified signal
shown as waveform 126 of Figs. 8A and 9B is then fed through the zero crossing detection
circuit of integrated chip 3 and its associated components. The output of IC3 resembles
waveform 130 of Figs. 8A and 9B and will be a logic one during the absence of current
and a logic zero during current conduction. This signal is then further conditioned
by integrated chip 8A and produces the Alog
I waveform signal 82 of Fig. 9A. This is a simulated automatic power factor signal
82 fed to the counter circuit in the third section of the feedback welder control
system, as shown in Fig. 7. The zero crossing of the current signal will turn off
the simulated SCR. However, because we are simulating the SCR by switch IC7A, switch
IC7A must open to turn off the signal. This is accomplished by using the AlogI signal
82 with integrated chip 9A which is the flip-flop 134 whose output then controls the
on/off selection of the simulated SCR lC7A. Simulated SCR IC7A is turned on by the
gate pulse (GP signal 152 of Figs. 6, 8A and 9A) and is turned off by the zero crossing
of the current pulse. IC9
A is set by a signal called FIRE (GP signal 152) and is cleared for reset by the AlogI
signal 82. This causes a simulated SCR switch to first close for a period of conduction
and open at the end of conduction. At the same time, an output from IC9AQ is used
to dump the integrator portion of analog circuitry. This is done by a circuit consisting
of integrated chip 7B and resistor 66. This circuit resets the integrator and makes
it ready for the next current conduction cycle. This completes the circuitry which
comprises the analog circuit section which will be referred to as the reference welder
circuit or modeling circuit, which is the second section of Fig. 7.
[0058] Now, reference is made to the timing sequence in the feedback welder control system,
as shown in Fig. 8D. Section three of Fig. 7 is a timer counter. Signals from the
welder as well as from the simulated welder are fed into the timer circuitry 94. The
automatic power factor circuit of the actual welder produces a signal 80 (Figs. 7
and 9A) and corresponds to current conduction of the SCRs in the actual welding circuit.
This signal is buffered by integrated chip 8C and is fed into an integrated chip 9B
(chip 136 in Fig. 8A). The presence of current flow through the welding SCRs will
reset
IC9B if there is no AlogI signal present. The AlogI signal sets flip-flop IC9B in the
absence of a reset signal. The Q output of
IC9B is designated as the signal FIRST 84 of Figs. 7, 8A and 9B. At the trailing edge
is a DIFFERENCE signal 86 of Figs. 7, 8A and 9B which follows the lead trail transition;
the FIRST signal 84 designates which of the two signals, APF 80 or
AlogI 82, had the last 1-0 transition. The logic zero indicates that the
APF transition was last.
[0059] The DIFFERENCE signal 86 produced from AlogI 82 and APF 80 are inputs to an integrated
chip 11A which produces the exclusive OR at pin 3. This signal is named DIFFERENCE
signal 86 and is a logic one whenever AlogI and APF do not match.
[0060] The difference clock consisting of a one megahertz clock oscillator integrated chip
17 of transistor logic is used as a time base. A binary divider
IC10A and B receives this time base. The time base selection is accomplished when switch
1 is used to select one megahertz, 500 kilohertz, or 250 kilohertz. This time base
is gated by a difference signal from IC12A which acts as an inverter. Thus, IC12B
gates the clock time base during the time difference between APF 80 and Alog
I 82. The output of IC12B is thus a number of clock pulses shown by waveform 86 of
Fig. 9A, which represents the time difference between
AlogI 82 and APF 80. The difference clock signal is fed to a binary counter integrated
chip 26.
[0061] An override timer consists of integrated chip 16A and timing components which are
set-up as a retriggerable one-shot circuit. Its function is as a WATCHDOG timer. If
the microprocessor does not service this device by issuing the OR reset signal 168,
shown by waveform 168 of Fig. 6A, before 1.2 seconds have elapsed from the time at
which it was enabled, this timer will time out. The output of integrated chip 16A
is gated with the solenoid signal 169 of Fig. 9A which, when present, indicates a
weld is in progress. Integrated chip 13C provides a logic low when the control is
in the process of welding and the override timer times out. This signal is the
NMI signal shown as waveform 172 of Fig. 9A and interrupts the microprocessor. Note
that the timer should be started before the solenoid signal 169 is issued to ensure
proper operation of the NMI signal 172. A solenoid valve is controlled by integrated
chip 13B which receives both the timer output signal 178 and the solenoid signal 169.
The output pin 6 (signal solenoid) drives buffer 14A which activates the solid state
relay IC18.
[0062] The gate pulse circuit operates in the following manner: the signal solenoid is inverted
by
IC8F and is used to gate
IC13A.
IC13A thus allows the gate pulse signal 152 to be issued. The output pin 8 is labelled
FIRE or gate pulse signal 152. This signal is sent to the analog switch IC7A (simulated
SCR 106) and also IC12C. The output of IC12C is used to trigger a one-shot circuit
IC16B. This produces a signal pulse of approximtely 25 microseconds. This pulse goes
to the power panel where it is amplified and used to trigger the SCRs.
[0063] The initiation circuit is a user connection for the operator's gun trigger 40. The
user provides a switch closure to this 24-volt circuit. This signal is used to activate
relays CR1. The contact closure is buffered by IC11B and produces a logic zero which
indicates trigger initiation to the microprocessor. The weld/no-weld circuit is similar
to the initiation circuit. The contact closure is buffered by
IC8E. Closure indicates a weld can be made.
[0064] As an overview to the timing sequence of the feedback welder control system of the
present invention, the initiation circuit is activated when the weld is called for.
The microprocessor then initiates the override timer and issues a solenoid valve signal.
A squeeze delay and squeeze timing begins by the counting of the lead trail transitions.
At the beginning of the weld cycle, the weld/no-weld is checked and, if in a weld
position, the gate pulse signal 152 is given to fire the SCRs. At the lead trail transition,
the clock difference counter of the microprocessor board is enabled. The counter is
first reset and then enabled. The counter is now enabled to count the clock pulse
difference between the APF signal 80 and the AlogI signal 82. Turning now to
Fig. 9A, looking down vertical line 16, we can see that the APF signal 80 is a logic
one and a transition has just occurred on the AlogI signal 82. A signal called D
IFF or difference signal 86 will remain a logic one during the time the AP
F signal 80 and the AlogI signal 82 are at different logic levels. This allows a definite
number of clock pulses to be counted which represents the time difference between
the two signals. The FIRST signal 84 will tell the microprocessor that the AlogI signal
82 made the transition first; the counter is now disabled and the count can be read.
This process is repeated through the weld to determine the difference in time between
zero crossings of the current from the welder to that of the modeling circuit. This
information is processed by the microprocessor which extracts information and, when
the resistive changes fall within the pattern recognition limits set by the operator
which characterize the formation of a good weld, the microprocessor terminates the
welding cycle.
[0065] Referring back to a procedure for setting the pattern recognition limits to extract
the features of a quality weld, the pattern recognition limits will depend on the
type of material to be welded and the particular welding transformer and secondary
circuit used. In general, the area and convexity limits should always be greater than
a zero number and less than some large positive number. Typically, an experimental
technique is used for determining the lower limits which may proceed as follows: (1)
for material to be welded, a feedback welder control system is given limits via sequence
module 36 controls to produce a weld of acceptable quality as evidenced from a few
destructive tests of sample welds; (2) the operator reduces the weld time one cycle
at a time until a minimum of time that will produce an acceptable weld is determined
by the operator; (3) the operator uses the sequence module to read and record the
values of area, convexity and resistive drop for the welds made in step 2 above; (4)
the operator enters the values of the area, convexity and resistive drop found in
step 3 above into the lower limit addresses 21, 23 and 25, respectively, of the RAM
memories in the microprocessor by using the sequence module as described in the discussion
of
Fig. 5; and, (5) the upper limits of area, convexity and resistive drop are used primarily
to inhibit the welder control system from stopping a weld when values for these three
parameters develop which are greatly different from typical welds; this will inhibit
false tripping in the event of some disturbances external to the welding processor
and will allow the operator, in such cases, to use his experience and judgment to
set these upper limits. Note, however, if these limits are set too low, some welds
will not be stopped in time and, if such limits are set too high, external disturbances
may cause early termination of a weld.
[0066] Turning now to Fig. 11, the effects of line voltage waveform distortions on the current
extinction time is shown. Voltage waveform 180 is a sinusoidal waveform free of distortion
which produces a welder current 182 that goes to zero at time
Tl. If the line voltage waveform 180 is distorted, as shown by a waveform 184, it will
produce a current waveform 186 which extinguishes somewhat later than current waveform
182 at a time
T2. Other distortions which tend to diminish the positive half cycle with respect to
the negative half cycle will have the opposite effect of causing current extinction
to occur earlier than in the non-disturbed case. As can be seen by the change of the
current waveforms from waveform 182 to 186 caused by a line voltage waveform disturbance,
it would not ordinarily be practical to make the resistive measurement due to the
power factor change. What the present invention does by the electronic simulator is
eliminate and provide an immunity from line voltage waveform disturbances since a
simulator circuitry and actual welder both see the same line voltage waveform disturbances
and the only difference between AlogI signal 82 and the APF signal 80 from the welder
would be the change in the resistance of the workpiece between the electrode tips
as nugget formation occurs during a weld.
[0067] Fig. 12 shows a typical dynamic resistive curve of a mild steel during a weld. The-vertical
axis is resistance, and the horizontal axis is the half cycles in each weld. As can
be seen, the first three or four cycles are the blanking period previously mentioned
in which no data is forwarded on to the microprocessor. However, as the weld progresses
past the valley at about the fifth half cycle, data is accummulated for the pattern
recognition. As can be seen by the curve, there is an area 188 under the curve, a
certain convexity 190 to the shape of the curve and a resistive drop from the peak
of the curve 192, all of which follow certain limits which we have previously called
the pattern recognition limits of the welder control system. Relating
Fig. 11 to Figs. 13A-C, Figs. 13A-C show the three-dimensional form of the pattern
recognition features and their limits in the feedback welder control system of the
present invention. In short, when Figs. 13A-C show the rectangular space 194 defined
by the limits of resistive drop, convexity and area found to be features in resistive
welding that are indicative of a quality weld. The first half cycle starts at the
quadrant 000 axis and progresses as shown by the shaded dots 196, each representing
one half cycle of current conduction, for approximately 13 half cycles before the
weld falls within the limits of a rectangular space 194 indicating a quality weld.
The limits for the resistive drop, convexity and area are approximately 10-32 micro-ohms,
20-50 positive units of convexity, and approximately 50-100 units of area, as shown
in Figs. 13B and 13C. Thus, this three-dimensional representation of feature space
maps out the three features of a resistive curve of Fig. 12. Once again, the three
features are the resistive drop, as previously discussed, the delta R as being the
drop, the area which is the area under the curve, and the convexity which is taken
as being positive when the curve is higher in the center than it is at its ends. The
three axes, as shown X, Y and Z, represent these features of area, resistive drop
and convexity, respectively. The box 194 represents the limits on the acceptable values
that these features can take and, as the weld progresses, the features are evaluated
at each half cycle. The features start out with coordinates at 000 as their origin
and, as the weld progresses for each half cycle, the features can be mapped into this
three-dimensional space as they form a trajectory which eventually, if the weld is
completed properly, ends up inside the box 194 (limit box). When this happens, the
current is terminated to the weld. If the trajectory never enters the box 194, the
weld is allowed to continue until the maximum number of cycles programmed in by the
operator are expended.
[0068] Turning now to Figs. 10A-C, these figs are a block diagram of a flowchart of the
preferred embodiment of the present invention. upon initiation of a weld by an operator,
the feedback welder control system of the present invention provides a solenoid output
to close the weld tips onto a workpiece and then it waits a sufficient length of time
(squeeze time) for the tips to settle, as previously described herein. This sequence
of events is identical to that described in the '724 patent and reference herein is
made to that patent as well as the previous discussions herein.
[0069] Upon finishing the squeeze time period, the microprocessor 76 enters a weld subroutine
as shown in Fig. 10A. Based on whether it is a first or second weld of a dual pulse
schedule, a block 198 selects an appropriate current as predetermined during operator
set-up of the welder as described in the '724 patent, checks the selected current
for limits and prepares for initiation of the weld current by setting appropriate
delays in RAM memory locations in a manner similar to that described in the '724 patent.
in addition, block 198 zeros a half cycle counter (KHC) for use later in the subroutine.
A decision block 200 circumvents the current initiation and feedback process of the
controller, if a feedback welder control system of the present invention is in a no-weld
mode as previously described herein and in the '724 patent.
[0070] Continuing on to a block 202, the microprocessor 76 by means of its known fixed cycle
time, as previously described in the '724 patent, provides a precision delay prior
to the initiation of each half cycle current to both control the magnitude of the
current and to avoid excessive in-rush currents. Just prior to initiating current,
the microprocessor 76 momentarily leaves the weld subroutine and enters an ER
EAD subroutine 204. The EREAD subroutine 204 includes a block 206 which reads the contents
of the DIFF counter, as previously mentioned, and transfers its contents to a R
AM memory location called EDELT. A block 208 is a decision block which deterimines
if the data in EDELT is valid. The data is considered valid if the counter has not
overflowed and if the counter has stopped counting (the DIFF signal must not be a
logic one). For valid data, a block 210 sets a data invalid flag, EFLAG, to zero.
For the invalid case, a block 212 sets EFLAG to FF. At this point, the microprocessor
76 returns to the weld subroutine at a block 214 where a weld firing signal or gate
pulse is issued to start conduction for that half cycle in the weld. Block 214 also
includes a half cycling diagnostic check 98 in diagnostics 44 of
Fig. 5 similar to the one described in the '724 patent. The microprocessor 76 once
again leaves the weld subroutine and enters into a subroutine called
KS
TO
P block 216.
[0071] The subroutine KSTOP performs the following functions: (1) converts the data in EDELT
into standard 2's complement notation and normalizes it; (2) stores the data in a
data stack; (3) extracts the features from the resistance curve (the data in the data
stack); (4) compares extracted features to the operator pattern recognition limits
entered as described in the explanation of Fig. 5; (5) sets or clears a weld stop
flag, KFLAG, based on the feature comparison with the pattern recognition limits;
and, (6) issues an output pulse proportional in length to the EDELT obtained from
the last half cycle.
[0072] Upon entering the KS
TOP subroutine 216, the microprocessor 76 increments the half cycle counter K
HC in a block 218. The counter K
HC is subsequently utilized during the weld to control sequences of operation for the
feedback welder system. A decision block 220 checks EFLAG. If EFLAG 220 is not equal
to zero, then it means an invalid count and the microprocessor 76 exits the KS
TO
P subroutine via blocks 222 and 224. Block 222 puts a zero in KFLAG, the weld stop
flag, to prevent the controller from stopping the weld. Block 224 then provides an
output pulse of a duration proportional to EDELT for conversion to an analog signal
suitable for a strip chart recording. Returning to decision block 220, if the data
is valid, then EFLAG will be zero and control will transfer to a decision block 226.
Here, EDELT is tested for an excessive magnitude of 100 counts or more. From previous
welds, it is known that a count of 100 or more is considerably larger than any data
that would be normally generated during one particular half cycle in the weld process.
If the data is found to be excessively large, the microprocessor 76 exits XSTOP via
blocks 222 and 224, as discussed above. A block 228 checks the half cycle counter
KHC for equality to one. If K
HC is one, block 228 transfers to block 222 also. This is to avoid saving data from
half cycle one in each weld.
[0073] Upon leaving block 226, the next section is used to change the sign in magnitude
as defined by EFIRST and EDELT, respectively, into 2's complement notation. If current
extinction on the previous half cycle occurred first on the welder, then
EFIRS
T will be a logic one and a block 230 transfers then to a block 232 with no action.
If the welder current extinguished last (an indication of a negative change in resistance),
block 230 transfers to a block 234 where a negation or 2's complementation is performed
on
EDE
LT to make it a negative number. Proceeding on to block 232, K
HC, the half cycle counter, is compared to a numeral three. If equal to three, EDELT
will be stored in an address K2 by a block 236. Similarly, blocks 238 and 240 will
store ED
ELT in a location K3 if KHC equals a number four. Note that, at this point, KHC, the
half cycle counter, will equal three when the data in EDELT is from the previous half
cycle two, and, when KHC equals four, E
DELT will be from half cycle three. Thus, K2 contains EDELT from half cycle two and K3
contains EDELT from half cycle three. These two values of EDELT will be used subsequently
to normalize the EDELTs generated during the remainder of the weld by subtracting
K2 from the EDELTs generated by even numbered half cycles (KHC = 2, 4, 6, etc.) and
K3 when K
HC is odd. Half cycles two and three have been selected for normalizing because they
correspond approximately to the valley point of the resistance curve for most ferrous
materials, see Fig. 12. Blocks 242, 244 and 246 perform an operation of subtracting
either K2 or K3 from the EDELTs throughout the remainder of the weld. The normalized
data EDELTs are then stored in an 8-word storage stack by a block 248. Operation of
this block 248 is such that no more than eight EDELTs can be stored at any time. When
an additional EDELT arrives from another half cycle nine or subsequent ones, the oldest
EDELT is discarded. Thus, the stack always contains the eight most recent EDELTs.
The next three blocks, 250, 252 and 254, extract the curve features (area, convexity
and resistive drop) from the EDELT data train. Block 250 generates the feature called
area. This is accomplished by summing the normalized EDELTs, starting with the half
cycle two, and continuing throughout the weld. Because the area could become very
large (it could conceivably overflow an 8-bit register in the microprocessor 76),
the area calculation is carried out using a double-precision (16-bit) method. In addition,
the area is divided by 16 to facilitate a comparison with limits in a block 258. In
the event that after division by 16 the area is too large to fit into an 8-bit register,
block 250 zeros the area to inhibit stopping on this weld. The next curve feature
to be extracted is convexity which is used to detect the curvature over the last eight
half cycles. If the normalized EDELT from the most recent half cycle is called R(n)
and the next most recent is R(n-l) and so forth, the convexity function is defined
as: KCV = -R(n)-R(n-l)+R(n-2)+R(n-3)+R(n-4)+R(n-5)-R(n-6)-R(n-7). The eight R(n)'s
are stored on the stack by block 248, as previously described. A convexity function
will produce a positive KCV if the eight data points, when plotted, have a region
in the center which is higher than the end points. A negative KCV results if the opposite
is true. Again, because of the possibility of overflow, a double-precision method
is used. Additionally, KCV is divided by two and, if still too large to fit in an
8-bit word, it is cleared to zero to inhibit stopping the weld. The resistance-drop
from the peak is determined by the block 254. This block selects the data corresponding
to the highest point on a resistance curve and then subtracts data values from it
to determine the amount of drop from the peak. If a new peak is detected, the previous
is discarded and the new one retained. Because of - dissymmetries in the control electronics
and in the conductive properties of the welding circuit, the EDELTs, after normalization,
may have an alternating variation in amplitude, i.e., those from odd half cycles may
be larger than those from even half cycles, or vice versa. Block 254 avoids errors
caused by this alternating phenomena by working with the average values of adjacent
pairs of EDELTs. Thus, the peak value retained in the highest adjacent pair average
and the resistive drop is based on a difference from-the peak and subsequent adjacent
pair averages. After the three features here are extracted from the EDELT data train,
a block 256 checks the value of the half cycle counter. If KHC is less than or equal
to nine, the data stack has not been filled and the convexity feature is not valid
so control is passed to block 222 to prevent stopping of the weld. If KHC is greater
than nine, the convexity features will be compared to the operator set selected limits
as previously referred to in the description of Fig. 5. Block 258 compares the area
to the upper and lower limits of area set by the operator in the sequence module panel
36, and, if within the limits set to control, then passes to block 260; if not, then
to block 222. The convexity block 260 then compares the convexity to the upper and
lower limits of convexity as set by the operator on the sequence module panel 36.
If the convexity is within the limits set, then control passes to a block 262; if
not, the control passes to block 222. Finally, in a like manner, block 262 checks
the value of the resistive drop against the resistive drop limits, if within the operator
set limits on the sequence module panel 36, control passes to a block 264; if not,
to block 222. Thus, only if all three features are within the operator selected limits
as set on the sequence module panel 36, can block 264 be entered. Block 264 sets the
weld stop flag, KFLAG, to FF. This will cause a cessation of the weld current when
a block 268 is encountered in the weld subroutine. The last block, 224, in the KSTOP
routine produces an output pulse whose duration is proportional to EDELT. This is
used in the production of an analog signal which is used to directly observe the resistance
curve as it is being generated during the weld. Control then transfers back to the
weld subroutine at a block 266, as shown in Fig. lOb. Block 266 tests a word set by
the operator called the feedback switch. If it is set to a non-zero number indicating
the feedback mode, as described in the description of Fig. 5, control transfers to
the block 268 which will terminate the weld current if KFLAG is set to FF by transferring
to the exit point 270. If the feedback switch had been set to zero by the operator,
block 268 would have been by-passed preventing early termination of the weld. Control
then passes to a block 272 where the microprocessor monitors the lead trail signal,
LT, and waits until a transition indicating that the line voltage has crossed zero.
Control then transfers to a block 274 which determines if the total number of half
cycles as programmed by the operator have been expended in this particular weld. If
all half cycles have been expended, a non-feedback type of exit is made in the weld
routine via a block 270. If some cycles remain to be fired, control passes to a block
276 which resets the DIFF counter in preparation for the extinction of the half cycle
presently conducting. A next block 278 waits for the weld current to extinguish by
waiting for the APF signal to go to zero, as previously described. When this occurs,
the subroutine ESET is entered which accomplishes the following: (1) reads and the
first EEIDSM (2) proforms a series steps which adjust the power factor of the analog
circuit to match that of the welder; and, (3) selects the proper value of N for the
next half cycle (N being the control word which determines the power factor of the
analog circuif).
[0074] Upon entering the ESET subroutine, the microprocessor 76 and a block 280 checks if
this weld is the first weld of a dual pulse weld. It is assumed that the first weld
of a dual pulse weld is used for electrode setting and fit-up improvement and no welding
is actually intended to take place during this pulse. Thus, the feedback process is
inhibited by setting the data invalid flag, EFLAG, in a block 306. If this weld is
a single pulse weld or the second pulse of a dual pulse weld, control then transfers
to a block 282. In block 282, the first input is read and its data is stored in EFIRST
for subsequent use. Control then transfers to a decision block 284 which determines
if the operator has selected the fast adjust mode by entering a non-zero number in
location 18 as described in the description of Fig. 5. If the normal mode is selected
by placing a zero in location 18, a single adjustment of the analog circuit power
factor is made during the first half cycle of the weld. Assuming that the operator
has selected the fast adjust mode, control transfers to a block 286 where the half
cycle counter, KHC, is compared to one. If less than or equal to one, no adjustment
is made, and control is transferred to a block 288. Half cycle one is not used for
adjustment because oxides, oil and other foreign matter on the workpieces create an
abnormally high contact resistance which influences the extinction angle of the first
half cycle. For half cycles greater than one, the subroutine EADJ, a block 324, is
entered which adjusts N, the analog circuit power factor control word, based on the
value of EFIRST. Referring momentarily to Fig. 10C which is a block diagram of the
EADJ routine, a block 336 determines whether to increase or decrease N based on the
condition code register in the microprocessor. If the EADJ subroutine has been entered
by way of the block 286 on Fig. 10B', the condition code register would have been
set to a minus if the analog circuit had extinguished first or positive for the opposite
case. If positive, block 336 transfers to a block 338, where the present value of
N is increased by one and retained in the accummulator A of the microprocessor. Similarly,
if minus, a block 340 reduces the value of N by one and retains it in the accummulator
A. A block 342 then checks for overflow on the addition of a block 338. If the carry
bit is set in the microprocessor, accummulator A is set to FF in block 338. Similarly,
blocks 346 and 348 correct an overflow condition resulting from subtraction.
[0075] The EADJ subroutine is then exited via a block 350 with the new value of N in the
accummulator A of the microprocessor.
[0076] Returning now to Fig. lOB', after a block 326 has adjusted N, a block 328 determines
whether the present value of the half cycle counter is odd or even and, if even, the
adjusted value on N is stored in EEVEN by a block 332. Similarly, if KHC is odd, a
block 330 stores the adjusted value of N in EODD. Control then transfers to a block
290. Referring back to block 284, if the fast adjust mode had been selected by the
operator on the sequence panel 36, a block 310 would obtain control. In block 310,
the half cycle counter (KHC) is compared to one. If it is not equal to one, block
310 transfers control to a block 288, an equalizing delay designed to consume as much
time as blocks 312-322 to avoid upsetting the weld timing. If KHC equals one, block
312 tests the signal of K2, the even half cycle offset from the previous weld, and
transfers control to the EADJ subroutine.
[0077] As explained previously, the EADJ subroutine will increment value given to it, if.
the condition code is positive and decrement if the condition code is negative. In
block 312, EADJ is given EEVEN and the sign of K2 is tested. Upon exiting block 316,
the new value of N is stored in EEVEN. Block 320 performs in a similar manner to block
312 by adjusting EODD based on the design of K3. The new N is then stored in EODD
by block 322. Proceeding to block 290, the half cycle counter KHC is tested for being
an even or odd value. If even, block 300 takes the value in EODD and outputs it to
the analog circuit where it sets the power factor for the next half cycle (an odd
half cycle). Conversely, if KHC is odd, block 302 takes the value in EEVEN and sets
the power factor for the next half cycle. This procedure implements a dual system
of control with the odd half cycles and the even half cycles treated independently
for adjustment purposes. Thus, an optimum adjustment is found even though there may
be some dissymmetries in the electronic circuits or in the conductive properties of
the welder circuit.
[0078] A block 304 is used to set or clear the data invalid EFLAG using blocks 306 and 308.
The flag is set to invalid FF for half cycles one and cleared for subsequent half
cycles. Control is then transferred back to block 200 in the weld subroutine where
the process begins for the next half cycle. Thus, the previously outlined steps occur
on a half-cycle-by-half-cycle basis in each weld where the operator sets the address
19-on the sequence panel to the feedback mode.
[0079] Whereas the previously described pattern recognition technique for the welder control
system works well with the modeling circuit when welding bare steel of approximately
equal thicknesses to assure a reliable nugget formation, a second recognition technique
is used for welding galvanized steel and other special applications to assure proper
nugget formation. The second recognition technique handles bare steel welding similar
to the previous pattern recognition technique insofar as the characteristic of resistive
drop is utilized to determine a proper weld nugget formation. In the case of galvanized
steel welding, a predictive methodology is applied in determining the limits to assure
proper nugget formation. When welding metals of varying thicknesses, the first pulse
in a dual pulse weld is automatically ignored and approximately one-half of the second
pulse in each weld is blanked before data is utilized for determining whether or not
a quality weld is made.
[0080] This second recognition technique employs slightly different circuitry than that
previously described in that it more closely resembles the circuitry of the '724 patent
controller in its connections to various user supplied external devices; that is,
it has three weld initiation inputs, three solenoid valve outputs and various other
inputs and outputs identical to the '724 patent. However, these changes in circuitry
do not materially affect the modeling circuit concept essential to this invention
and, therefore, reference is made to the '724 patent for further details as to the
operation of these external devices.
[0081] Referring now to Fig. 15, a front elevation of the sequence module incorporating
the adjust locations for the feedback parameters of the second recognition technique
is shown. The feedback gun welder control in this embodiment is designed to be as
versatile as possible for metals of varying thicknesses and composition, while still
being easy to set-up and operate in the field. Therefore, the feedback welder controller
and a sequence module 700, as shown in Fig. 15, incorporates all of the features of
the existing '724 patent. In addition, the controller provides for two modes for feedback
stop time computation, one for plain steel using the resistance drop technique, and,
one for galvanized steel using a new predictive recognition technique. This controller
also provides for an additional dynamic stepper which is used in conjunction with
either of the feedback modes to vary the weld current in order to keep the stop times
for the welds within a certain predetermined range. To set the controller up for feedback
operation, the operator first sets the controller for a reasonable weld schedule by
programming the sequence module 700; that is, he must pick a weld current that forms
a full size weld nugget within the time restraints of his weld schedule. These time
restraints are the minimum and maximum weld time entries of the schedule. The basic
form for a weld schedule is as follows:

[0082] For a single-pulse feedback weld, the operator must set one of the maximum time settings
to zero, the other pulse will then be used for the weld. The controller will not stop
the weld sooner than the minimum weld time setting or later than the non-zero maximum
weld time setting.
[0083] For normal dual-pulse feedback welds, Weld-1 will be used for heating the electrodes
and providing a good electrical contact, and, Weld-2 is used to actually form the
weld nugget. Weld-1 stop time is restrained only by the Weld-1 maximum time entry,
not the minimum weld time.
[0084] The controller will terminate Weld-1 when it determines that good electrical contact
has been reached. Weld-2 stop time is restrained by the Weld-2 maximum time on the
high end and by the minimum time entry less the number of cycles used by Weld-1 on
the low end. For normal dual-pulse welds, the minimum weld time entry is the minimum
combined weld time for both pulses.
[0085] After a valid weld schedule has been programmed by the operator, including all feedback
mode settings, a special adjust mode must be entered in order to set-up the modeling
circuitry of the controller. To do this, the operator must enter a 99 in the feedback
mode location for the sequence he wants to set-up. He will then proceed to pull the
trigger with work pieces between the tips of the welder. The welding tips will close
and, assuming the operator keeps the trigger closed, the control will automatically
adjust itself as previously described in this application. After the control senses
that it is adjusted, it will reset the feedback mode setting to the value it contained
before the 99 was entered; weld a normal weld and then open the tips. The operator
may now proceed with normal operation without any further data entry into the sequence
module 700. For clarity, we will now discuss the programming of the 700 sequence module
for the second recognition technique.
[0087] The locations Y in an address refers to a 6 for sequence 1, 7 for sequence 2, or
an 8 for sequence 3. Location YO - Standard MICC Weld - 1 Step - 1 Current; Location
Yl - Standard MICC Weld - 1 Step - 2 Current; Location Y2 - Standard MICC Weld - 1
Step - 3 Current; Location Y3 - Standard MICC Weld - 1 Step - 4 Current; Location
Y4 - Standard MICC Weld - 2 Step - 1 Current; Location Y5 - Standard MICC Weld - 2
Step - 2 Current; Location Y6 Standard MICC Weld - 2 Step - 3 Current; Location Y7
- Standard MICC Weld - 2 Step - 4 Current; Location Y8 - Dynamic MICC Weld - 2 Current;
Location Y9 Dynamic MICC Weld - 1 Current; Location 50 - Standard MICC Step - 1 Count
x 10; Location 51 - Standard MICC Step - 2 Count x 100; Location 52 - Standard MICC
Step - 3 Count x 100; and, Location 53 - Standard MICC Step - 4 Count x 100. Location
44 Special dual pulse selector for welding such difficult materials as the hinge on
car doors wherein the metal thickness varies between the pieces to be welded together.
In this case, if a zero is entered in this location 44, the control will operate as
normal. A non-zero number entered here will cause a special dual pulse feedback mode
to be used providing that location X9 is set-up for feedback welding. This mode uses
pulse-one of a dual pulse weld as a non-feedback weld. It then uses pulse-two as if
it was a single pulse feedback weld, except that the number entered in location 44
is the number of cycles of blanking before the feedback process is initiated. This
blanking period approximately turns out to be one-half of the weld cycles in the second
pulse. This feedback mode is intended for special heavy guage plain steel welding,
as previously mentioned.
[0088] If stepper operation is desired, the operator has the option of selecting the standard
stepper (MICC) similar to that described in the '724 patent or the dynamic stepper.
Stepper selection is accomplished by programming the proper number in RAM memory location
41 via the sequence module 700. In the event the standard stepper is desired, the
number 01, 02, or 03 is programmed into location 41 signifying stepper control on
sequence 1, or sequences 1 and 2, or sequences 1, 2, and 3, respectively. The dynamic
stepper is selected by programming the numbers 11, 12, or 13 into location 41 signifying
stepper action on sequences 1, or sequences 1 and 2, or sequences 1, 2, and 3, respectively.
[0089] The standard stepper is adequately described in the '724 patent and will not be discussed
further. The dynamic stepper adjusts the welding current based on when in the weld
the feedback process stops the current. If the welds tend to be stopped early, the
current is assumed to be excessive and the dynamic stepper, after a number of welds
determined by the dynamic stepper delay (programmed by the operator in location 43),
reduces the current by a fixed increment. If the welds tend to be stopped later, the
stepper current is assumed to be insufficient and the stepper increases the current
by a fixed increment after a number (determined by the dynamic stepper delay) of welds.
A series of welds stopping at some median time or with a well balanced mix of weld
stop times will produce no changes in stepper current, i.e., the current level in
use is assumed to be acceptable.
[0090] As welding progresses and electrode tip wear becomes significant, the spreading of
the current over a larger area by the worn tips will manifest itself as a tendency
for the welding times, as controlled by the feedback process, to become longer. This
causes the stepper to increase the current which shortens the welds until tip wear
again causes excessive weld length. Unforeseen events, such as a sudden increase in
line voltage, make it desirable for the dynamic stepper to reduce the current to a
limited extent. In this invention, stepper reversal is limited to one-half the change
in current from the starting current to the highest current achieved since starting.
[0091] The beginning and ending current levels for the dynamic stepper are programmed by
the operator via the sequence module. The beginning current is programmed in the same
location as the basic sequence currents; that is, locations 12, 22, and 32 for pulse
1, and location 15, 25, and, 35 for pulse 2. The ending current levels for the dynamic
stepper are programmed into the MICC step 4 locations 63, 73, and 83 for pulse 1,
and locations 67, 77 and 87 for pulse 2.
[0092] The stepper action can be turned on or off under operator control using the MICC
on/off push button on the sequence module. Resetting of the stepper is accomplished
by using the stepper advance push button 708 on the sequence module 700. This procedure
is described in the '724 patent.
[0093] As to the other features on the sequence module 700, this sequence module includes
the same five operating buttons as in the '724 patent, and those buttons are, left
to right: (a) weld/no-weld switch 702; (b) repeat/non-repeat switch 704; (c) stepper
on/off switch 706; (d) stepper advance switch 708, which are part of the MICC program;
and (e) enter reset switch 710. The sequence module 700 also includes the data display
712 and address 714 and a data entry 716 with a run/program switch 718, all functioning
the same as in the '724 patent.
[0094] Referring now to Fig. 16, a slightly modified block diagram of the module interconnections
for the welding control system is shown. The control system 720 includes a Motorola
6809 microprocessor 722, a modeling circuit 724, an input/output board 726, a power
supply 728, an attenuator 730, circuit breaker 732, a 1PL plug to sequence module
700, a 2PL connection to a junction box 734 for operating the solenoids and the like
as described in the '724 patent, and two additional outputs from the modeling circuit
724, including a digital output 736 and an analog output 738, which will be described
in the following paragraphs.
[0095] Data logging outputs can provide important data on the welds being made to the user
of the feedback welder control system. Therefore, on the feedback welder control system,
there are two special outputs available for monitoring the operation of the controller.
These are the analog output 738 and the digital printer outputs 736.
[0096] The analog output 738 is a differential analog signal output of the resistance curve
as measured by the welder. The resistance curve is outputted both dynamically as the
weld is taking place and is also outputted continuously (at a variable rate) in standby
mode. The operator may select any one of the three forms for this data; actual, averaged
or filtered. The digital output or printer 736 provides a means to log on a printer
or tape cassette recorder, such as an STR-LINK, the status of the control after each
weld. In repeat mode only, the status of the last weld to be made before the control
goes into standby will be logged. The operator has the option of selecting the baud
rate for this output as well as selecting between four different message formats.
He may also select to have the control perform paging of the output to produce a more
readable listing. Locations 98-99 of the sequence module 700 are the weld counter
locations. This is a four-digit weld counter where location 98 contains the high order
bits, and location 99 contains the low order bits. This number is incremented with
each weld and its sole purpose is to label the printer output data.
[0097] Turning now to Fig. 17, the hardware changes for the second recognition technique
will be discussed in greater detail. The second recognition technique differs from
the first pattern recognition technique in that the controller more closely resembles
the controller of the '724 patent in its connections to the various user supplied
external devices; that is, the second recognition technique utilizes three weld initiation
inputs, three solenoid valve outputs and various other inputs and outputs like the
'724 patent. However, none of these changes are important to the modeling circuit
concept and operation of these various features can be understood by referring to
the
1724 patent for greater detail.
[0098] The power factor select circuit 120 for the second recognition technique utilizes
the digital-to-analog converter (DAC), National Semiconductor DAC 102GF having the
switches plus an R-2R ladder resistor network. The DAC select circuit also includes
an input buffer amplifier 740 and an output buffer amplifier 742 for the resistor
and switch network 120 used and discussed in the pattern recognition embodiment, as
shown in Fig. 17.
[0099] Furthermore, the manually selectable clock circuit of Fig. 8d(b) has been replaced
by a software controlled clock frequency divider (capable of dividing by powers of
two from a maximum of four megahertz). This allows the software to select the best
clock frequency for the particular welding machine or metal combination. Also included
in the hardware changes of the second recognition technique is a serial data output
port suitable for connection to a line printer or teletype. The software contains
a series of instructions which, after each weld, outputs a message containing the
various weld parameters, i.e., the weld sequence variables of current and time, the
sequence selected, stepper on/off, etc., and a tabulated listing of the resistance
value for each half cycle of weld current.
[0100] Fig. 17 is the circuit diagram which is similar to Figs. 8a-d with the digital-to-analog
converter (DAC), the clock divider circuit and the digital data output port added.
DAC 1020, its operational buffer amplifiers 740 and 742 take the place of the block
120 of Fig. 8a. In this circuit, the DAC 1020 serves as a variable gain device in
which the gain varies between zero and one in proportion to the numeric value of the
data represented by the ten input lines, A1-A10. The buffer amplifiers 740 and 742
each have a gain of one, thus, the overall gain through the amplifiers 740 and 742
at the DAC 1020 is equal to the DAC gain. The integrator output 118 is multiplied
by the DAC gain and applied to the input via summing resistor 744. It can be shown
that this integrator circuit with the DAC in the feedback path has a phase shift angle
between input and output under the condition of sinusoidal excitation of angle φ where:
Where: W = 2 pi f = 377 (freq.=60Hz)
R2= 35 k ohms
R3= 128 k ohms
C = .047 x 10-6F

thus 0 ≤ B ≤ 1
[0101] Where N = the numerical value expressed on the input lines A1 - A 10 to the DAC.
[0102] This angle 0 is fully analagous to the phase angle between the voltage and current
in a series resistance and inductance equivalent to a typical welder load. From the
equation for 0, it can be seen that, by varying N, 0 or the cosine of 0 (the power
factor) can be varied over a range depending on the circuit values to match a welder
load.
[0103] The clock used in the pattern recognition embodiment is a signal which is gated into
a counter IC16 and is conditioned by a divider circuit consisting of IC14 and a selector
IC15. This divider and selector circuit under software control on lines A, B and C
divides the four megahertz clock (furnished by the microprocessor board) by an integer
(0 -7) power of two. For maximum resolution, the highest clock rate of four megahertz
is desired, however, this can cause the counter IC16, to overflow and ----thus lose
data. The software program in the microprocessor is designed to monitor the counter,
IC16, and between welds adjust to the maximum clock rate possible without overflow.
[0104] A digital data output circuit 746 provides what is commonly known as RS-232 serial
signal that is compatible with a wide range of printing and display devices. This
output port PL9-3 includes an asynchronous interface adapter (ACIA) IC23, which allows
the selection of variable transmission rates under software control from the microprocessor
and performs the parallel to serial conversion of the data to be transmitted. The
operation of this device is well known in the art and so, therefore, further elaboration
is not necessary here. This concludes the differences in circuitry between the pattern
recognition technique embodiment and the second recognition technique embodiment.
[0105] The pattern recogition technique developed for the welder control described earlier
was designed to work with the resistance curve such as shown in Fig. 12 or 18A. Laboratory
tests have shown this widely published curve to be a good representation of actual
curves for bare steel welds of approximately the same thickness. Nugget formation
begins somewhere near the peak and the nugget size can be inferred by the amount that
the resistance falls from the peak. However, in the case of galvanized steel welding,
the resistance curve is more complicated and appears to be the result of several processes,
such as zinc melting, tip indentation, bulk heating, zinc shunting of the nugget area,
etc., all of which proceed at their own rates, altering the character of the curve
from weld to weld. Moreover, it has been found through experiment that dual pulse
has the effect of synchronizing those processes occurring at the tip interface at
the beginning of pulse two by means of the cool interval which serves to bring the
tips and the work piece surfaces in contact with the tips to a uniform temperature.
The resistance curve of Fig. 18B illustrates a typical dual pulse resistance curve
using galvanized stock in the welding process. Region 1 represents the first pulse
of a dual pulse weld. The first pulse is normally of a sufficient length to break
down the initial contact resistances and soften and deform microscopic asperities
at the interfaces resulting in a minimum resistance at point A. A slight increase
in resistance from point A occurs if the first pulse continues. This is due to heating
of the work pieces and the positive temperature co-efficient of resistance of steel.
[0106] Region 2 called the cool interval is used to allow the water cooled electrode tips
in contact with the work pieces to chill the electrode tips to work piece interface
regions. Normally, the cool interval is short enough that the work piece to work piece
interface region retains some heat so that it has a head start upon entering the Region
3 or Weld-2 of the second pulse.
[0107] Weld-2 or the second pulse begins with the resistance considerably lower than it
was at the end of Region 1, having decayed during the cool time, Region 2. Earlier
in Weld-2, approximately at point B, the galvanized coating begins to melt in the
work piece to work piece interface. This solders together the two work pieces and,
as the solder area grows, it increasingly shunts the area where a nugget formation
will ultimately begin. This effectively masks the work piece to work piece interface
resistance and, furthermore, spreads the current over a wider area than in the bare
steel case, thus, reducing its heating value where it is needed most. The current
in the immediate vicinity of the electrode tips, however, is confined by the tip geometry
to a small area and, it is, thus, more effective at heating. Experience has shown
that despite the cooling of the highly conductive copper tips and the head start given
the work piece to work piece interface regions, the electrode tip interface regions
tend to become higher in temperature than the work piece to work piece temperature.
[0108] By the time point C has been reached on the curve, the work piece has been sufficiently
softened under the tips to allow for rapid tip indentation. Thus, the peak at C has
nothing to do with nugget formation but rather is indicative in part of the shortening
path of current flow caused by the tips' indenting. Shortly thereafter at point D,
the curve begins to become indeterminate but bounded by the lines E and F. Between
these bounds, the curve typically, but not always, reaches another peak from which
it may or may not decline by the time it reaches the line G at which time a nugget
begins forming. The region from point D to line G is not well understood. However,
this region is believed to be the result of further tip indentation, zinc melting
and vaporization, nugget formation, bulk heating of the tips and work pieces, etc.,
all proceeding at their own somewhat independent rates.
[0109] As such then, the resistance curve for galvanized steel is not a reliable indicator
of weld nugget formation and growth. Indirectly, however, the resistance curve up
to point C of Fig. 18B provides information on the rate that the temperature is rising
in the tip interface region. If the current is varied, the length of time to reach
point C from the beginning of Weld-2 varies. In Fig. 19, the curve labeled A resulted
from a higher current than was used to make curve B and, similarly, curve B was made
using a higher current than curve C. Thus, with the higher current levels, tip indentation
occurs sooner than with lower current levels.
[0110] The above suggests using a weld-stop mode yielding a prediction of weld formation
and growth based on the rate of rise of the tip interface region temperature. By measuring
the time or number of cycles to the first peak and multiplying this time or cycles
by a constant (determined emperically from test welds on the actual work pieces of
galvanized steel) a predicted weld nugget formation time is ascertained. After welding
has proceeded for this predetermined time, the welding current is terminated.
Theory of Operation
[0111] This welder controller utilizing the second recognition technique, when operated
in the non-feedback mode, performs in a manner essentially identical to that of the
welder control described in the '724 patent, and will not be discussed further.
[0112] Operation of the welder controller in the feedback mode utilizing the second recognition
technique requires selection by the operator of the appropriate feedback options,
such as: the bare steel feedback mode, the galvanized steel mode, dynamic stepper
on/off, etc. This results in a large number of possible operation modes.
[0113] A typical set-up and run procedure might be the following:
1. The operator places the control in the non-feedback mode and proceeds to adjust
the weld schedule to produce the satisfactory welds as previously described in the
'724 patent.
2. Depending on the type of metal to be welded, the operator selects the feedback
mode to be used by programming the appropriate numbers into locations 44, and 19,
29 or 39, in the sequence module 700 of Fig. 15. The selection of the exact number
is accomplished by a combination of previous experience and observation of weld quality
as welding proceeds.
3. Prior to the first feedback weld, the modeling circuit must be adjusted to a close
match with the actual welder. This is accomplished by programming the number 99 into
location 19, 29 or 39 of sequence module 700 and proceeding to perform a weld on the
actual work pieces or a suitable coupon of that stock. After the initiation switch
is closed by the operator, the control proceeds to perform a short four-cycle weld
followed by a two-second delay and then another faur-cycle weld. This process continues
until power factor select block 120 of Fig. 8a (Fig. 17) has adjusted the modeling
circuit to a satisfactory match with the actual welder. When a satisfactory match
is arrived at, the controller removes the 99 at location 44 and restores the number
originally placed there by the operator, and then proceeds to perform a weld on the
work pieces. Normally, 3 to 5 four-cycle welds are required for adjustment of the
power factor select block 120. No fusion in the nugget area occurs while adjusting,
as the four-cycle welds are too short to accomplish an actual weld.
4. Continuing to weld, the controller will make further adjustments of the clock and
of the power factor select block 120 as necessary to provide the best possible data.
[0114] Referring now to Fig. 20, a flowchart of the weld subroutine, blocks 400, 402, 404,
406 and 408 are functionally equivalent to blocks 198, 200, 202, 204 and 214 of Fig.
10a. Block 402 of Fig. 20 selects the proper delay for the current setting and performs
various set-up operations for the weld subroutine in a manner essentially the same
as block 198 of Fig. 10a. Block 200 of Fig. 10a is not shown on Fig. 20 to help clarify
the flow of the program during a normal weld. Block 404 of Fig. 20 performs the steps
needed to achieve the delay prior to firing the SCRs. Block 406 reads the external
counter to obtain the difference in time between the actual weld current extinction
and the modeling circuit extinction. Finally, block 408 issues the necessary signal
to initiate conduction of the SCRs. A detailed explanation of the above is found in
the discussion of Fig. 10a.
[0115] Upon completing the necessary operation to perform block 408 of Fig. 20, the microprocessor
resumes the process of analyzing the resistor data (the counter value read each half
cycle by block 406) in the filter of subroutine, block 410. In block 410, the microprocessor
applies a low pass digital filter to the sequence of the resistance values as they
are read to produce a sequence of output values which have the high frequency components
removed from them. This filter is designed to use finite input response (FIR) techniques
that are well known to those familiar with digital signal processing art.
[0116] Block 412 is a decision block which routes control via line 426 to block 420, when
the operator has selected non-feedback operation by entering a zero in location 44
on the sequence panel 700 of Fig. 15, and a zero at locations 19, 29 or 39 on the
sequence panel module 700, Fig. 15. In the event that location 44 has been set to
a non-zero number, control will be routed via line 428 to block 416, the special weld
feedback routine within the weld subroutine. In this routine, the data in location
44 is used by the operator to provide the variable blanking interval to mask out the
first pulse and the first portion of the second pulse of a dual pulse weld. At the
end of the blanking period, the routine searches for a peak in the resistance values
and, when found, evaluates subsequent resistance values for a drop equal to or greater
than that specified by the operator in location 19, 29 or 39. If the operator selects
one of the standard feedback modes, location 44 must be set to zero and locations
19, 29 or 39 will be set to an appropriate non-zero number. If this number is set
to values between 01 and 50, the bare steel feedback mode is selected. If the value
is between 72 and 88, the predictive feedback mode is selected, as previously described.
A range of values is used, say between 01 and 50, to allow the operator to adjust
the weld stop threshold. These values provide control over the energy delivered to
the weld area. In the bare steel feedback mode, an STCR subroutine, block 414, evaluates
the resistance values for the presence of a valley. Only after a valley has been detected,
are the resistance values evaluated for the presence of the peak. After a peak has
been detected, the drop from the peak is compared to that specified by the operator
in locations 19, 29 or 39 of the sequence module 700. If the resistance drop from
the peak is found to be equal to or greater than that specified by the operator, the
subroutine will place the value of the present half cycle counter into a RAM memory
location called WSTOP.
[0117] Operator selection of the galvanized steel feedback mode is indicated by selection
of a number between 72 and 88 and placing it in memory locations 19, 29 or 39. In
this mode, the STCR subroutine 414 after detecting a valley, evaluates the resistance
values for a first peak or reflection point C on Fig. 18B. The time and half cycles
from the valley to the first peak C, is multiplied by a number between 1 and 3 (depending
on the exact number in locations 19, 29 or 39) to compute the number of additional
half cycles to be fired in the weld. The computed number of half cycles is then added
to the present number of half cycles and the result placed in the WSTOP location to
be used by a block 420 to stop the weld.
[0118] In addition, all three feedback modes in the second recognition technique, the special
mode, the bare steel mode, and the galvanized mode, incorporate an expulsion detection
feature which will stop the weld current as soon as expulsion is detected. In the
case of a dual pulse weld, the expulsion detector is inhibited in the first pulse
and until a peak has been found. The special feedback mode inhibits the expulsion
detector during the first weld pulse and during the blanking period of the second
pulse.
[0119] Decision 420 compares the values of the half cycle counter with the contents of the
WSTOP location. When the two are equal, the weld is stopped by exiting the weld subroutine
via an exit block 422. If the half cycle counter is less than the contents of WSTOP,
control is transferred to line 424 to block 404 where the process is repeated for
the next half cycle. After exiting the weld subroutine via block 422, a TCHUP subroutine
430 is entered. This subroutine provides a touch-up adjustment to the DAC 1020 settings
based on the data obtained in the weld just completed. This subroutine, thus, compensates
for drift of electronic circuits, cable warming, etc., to keep the modeling circuit
accurately adjusted to the actual welding circuit. Upon completion of the TCHUP subroutine
430, the control returns to the standby mode to await another weld command, such as
the operator pulling a trigger for the next weld.
[0120] Referring now to Figs. 21, 22, 23 and 24, a more detailed description of the stop
time computation touch-up, digital filter and fast adjust subroutines will be discussed.
[0121] First, a Stop Time Computation Subroutine (STCR) 800, as shown in Fig. 21, determines
the time at which weld current is to be terminated, based on the resistance data obtained
from each half cycle. Sequencing through the various parts of ths STCR surbroutine
800 is controlled by a Step Flag which is initially zero and set to 1 when a valley
is found and set to 2 when a peak is found.
[0122] A decision block 801 tests the step flag for zero; if the step flag equals zero,
control transfers to a decision block 802. Block 802 transfers control to a block
806 if the welder control is presently performing the second pulse of a dual pulse
weld. This has the effect of assigning the valley of the second pulse resistance curve
to the first half cycle of the second pulse, a procedure which is in agreement with
experimental results. Decision block 802 transfers control to a block 803 in the event
of a single pulse weld or pulse 1 of a dual pulse weld.
[0123] In block 803, the resistance data derivatives (from the HFILTR subroutine) are examined
for the presence of a valley. If a valley is found, a block 804 transfers to a block
805; if not, via a return block 824 to the calling subroutine. A block 805 places
the present value of the half cycle counter WHCYC into the RAM memory location called
WVAL. The step flag is set to 1 in block 806 indicating that a valley has been found
and the filtered value of the resistance is stored in a memory location called WRVAL.
A decision block 807 transfers to a block 808 if the welder control is presently performing
the first pulse of a dual pulse weld; if not, block 807 transfers to the block 824
for return to the calling subroutine. A block 808 places the present value of the
half cycle counter WHCYC into a memory location called WSTOP. This will cause the
weld current to cease, effecting a "stop on valley if pulse one" feature.
[0124] Referring back to block 801, if a valley has previously been found, as indicated
by a non-zero number in the step flag, control is transferred to a block 809. Block
809 will transfer to a block 810 to search for a peak if a valley has been previously
found and a peak has not been found as indicated by a 1 in the step flag. Block 810
using the resistance data derivatives searches for a peak or maximum in the filtered
resistance data. If a peak is found, a block 811 transfers to a block 812; if not,
block 811 transfers to block 824 for return to the calling program. Block 812, entered
only if a peak has been found, moves the present value of the half cycle counter to
a memory location called WPEAK and the filtered resistance value at the peak to a
memory location called WRPEAK.
[0125] A decision block 813 transfers control to a block 814 if the galvanized mode of feedback
has been selected or to a block 816 if the bare steel mode of feedback has been selected.
The operator previously selected the galvanized mode of feedback control by programming
a number between 72 and 88 into memory location 44 or the bare steel mode using numbers
between 01 and 50 into location 19, 29 or 39 using the sequence module. If the galvanized
steel feedback mode had been selected, block 814 places a 2 into the step flag counter
indicating that both a valley and a peak have been found and that the galvanized mode
has been selected. Control then transfers to block 815 where the operator-set control
value in location 44 is mapped linearly into a multiplier which takes on values between
1 and 3. That is, if location 44 is a 72, the multiplier is 1; if location 19, 29
or 39 is a 73, the multiplier is 1 1/8, etc. Next, block 815 determines the number
of half cycles between the valley and the peak (WPEAK-WVAL) and multiplies this difference
by the multiplier previously determined. This product is then added to the present
value of the half cycle counter WHCYC to produce the stop time. The memory location
WSTOP, which controls the weld subroutine, is loaded with the calculated stop time
or the minimum weld time, whichever is greater. The minimum weld time has previously
been programmed into location 18, 28 or 38 by the operator. Control then transfers
to the calling program via block 824.
[0126] Referring back to decision block 813, if the bare steel mode has been selected, block
816 places a 3 in the step flag indicating that both a valley and a peak have been
found and that the bare steel mode has been selected. A block 817 then computes the
amount of resistance drop from the peak which must take place for the weld to be stopped.
This is done using the value (1 to 50) previously programmed into location 19, 29
or 39, by the operator and scaling it according to the clock frequency. That is, the
drop threshold RT is scaled to a larger value for high clock frequencies and a smaller
value for lesser clock frequencies. This allows the production of consistent weld
quality even though the clock frequency may be changed by the TCHUP subroutine. After
computing the scaled drop threshold RT, block 817 transfers to block 824 for return
to the calling program.
[0127] Referring back to block 809, if the step flag value is larger than 1, control will
transfer to a block 818. Block 818 determines the expulsion threshold which is defined
as 1/4 the difference between the peak resistance and the valley resistance, 1/4 (WRPEAK-WRVAL).
[0128] The explusion threshold is linearly limited from a value of 20 at the highest clock
rate down to 3 at clock rates of 500 Khz. or less. A block 819 detects if expulsion
has occurred. Expulsion is defined as two adjacent half cycles in which the averaged
resistance data shows a drop equal to or greater than the expulsion threshold. If
the conditions for expulsion are met, a block 820 loads the WSTOP memory location
with the present contents of the half cycle counter WHCYC or the minimum weld length
WMIN, whichever is larger. Control then transfers to block 824 to return to the calling
program. If expulsion is not detected, block 819 transfers control to a decision block
821 which, if the step flag is equal to 3 (indicating that a valley and a peak have
been found and that the bare steel feedback mode has been selected), transfers control
to a decision block 822. If the step flag is not equal to 3, the block 821 transfers
directly to block 824 which returns to the calling program. A decision block 822 determines
if the total resistance drop from the peak value of resistance (WRPEAK) equals or
exceeds the threshold value RT. If yes, control transfers to a block 823 where the
present value of WHCYC or WMIN, whichever is larger, is loaded into WSTOP. Control
then transfers to block 824 for return to the calling program. If the resistance drop
is not equal to or greater than the resistance drop threshold, block 822 transfers
directly to block 824 for return to the calling program.
[0129] A touch-up (TCHUP) subroutine 850, Fig. 22, performs the following functions:
1. Monitors the weld resistance data from the previous weld and makes appropriate
changes to the modeling circuit (DAC settings) in order to maintain adjustment over
an extended period of time.
2. The subroutine adjusts the clock speed to achieve the maximum practical resolution
without counter overflow.
3. If the feedback controlled stepper option (dynamic stopper) is selected, this subroutine
determines the level of current for the next weld based on previous welds.
[0130] A decision block 851 bypasses the subroutine if the controller is in the adjust mode
as indicated by a 99 in location 19, 29 or 39. In the normal mode, control transfers
to a decision block 852. In this block 852, the alternating component of the resistnce
data from the previous weld (HBOBL) is examined. If HBOBL is greater than zero, it
means that the odd half cycle DAC setting is too small and the even half cycle DAC
setting is too large. A block 854 compensates by adding 1 to the odd half cycle DAC
setting and subtracting 1 from the even half cycle DAC setting. If the value of HBOBL
is negative, a block 853 compensates in the opposite manner. This procedure, performed
after each weld, tends to maintain the minimum aount of alternating component (bobble)
in the resistance data.
[0131] A block 855 examines the difference between the maximum (HMAX) and the minimum (HMIN)
average value of the resistance data from the previous weld. If the difference is
less than 180 and more than 65 counts, the clock rate is satisfactory and control
transfers to a block 858. If the difference is less than 65, the clock rate is doubled
by a block 856 to provide greater resolution. If the difference is greater than 180,
the clock rate is halved in a decision block 857 to lessen the danger of counter overflow
(maximum counter capacity is 255 counts).
[0132] Block 858 examines the value of HMAX and, in conjunction with a block 859, adjusts
both the odd and even DAC settings to cause the values of HMAX to range between -19
and -50. Thus, when properly adjusted, all resistance values will tend to be negative
in value with the peak resistance (HMAX), the least negative. This has the effect
of causing the model circuit to always extinguish slightly earlier than the actual
welder current. Any changes in the line voltage waveform caused by the extinction
of current in the welder are, thus, prevented from influencing the model.
[0133] The remaining portion of the TCHUP subroutine 850, starting with a decision block
860, performs the dynamic stepper function. Block 860 transfers control to a block
861, if the dynamic stpper feature is on; if not, on control is transferred to a block
875 which returns to the calling program. Block 861 determines if the previous weld
was stopped under feedback control before, during or after an internally-calculated
threshold interval.
[0134] The threshold interval is equal to the central two quarters of the difference in
cycles between the minimum time (location 18, 28 or 38) and the maximum time (location
14, 24 or 34, for example). If, for instance, the minimum time is set to 9 cycles
and the maximum time is set to 18 cycles, the threshold interval is the cycles 12,
13, 14 and 15. Welds terminating within the threshold interval are considered to have
been made with a satisfactory current level and no adjustment is warranted. Thus,
block 861 transfers directly to a block 864. If the weld terminates prior to the minimum
of the threshold interval (cycle 12, in this case), the current is assumed to be excessive.
Similarly, if the weld terminates after the maximum of the threshold interval (cycle
15, in this case), the current is assumed to be insufficient. Blocks 862 and 863 add
1 or subtract 1 from a stepper counter D, depending on whether the current is considered
insufficient or excessive. Decision block 864 evaluates the contents of the D counter
with respect to the value programmed as the stepper gain (location 43) by the operator.
If the D counter equals or exceeds the stepper gain (taken as a positive number),
the current for the next weld is increased by 1%. If the D counter is equal to or
less than the stepper gain (taken as a negative number), the current for the next
weld will be reduced by 1%. If the D counter value lies between the points defined
by the positive and negative of the stepper gain, no change in current is made and
control passes directly to a block 867. The effect of the blocks 861 through 866 is
to require a trend to persevere over several welds (as determined by the stepper gain
setting) before a change in the weld current is made.
[0135] Decision block 867 compares the new current value with the minimum value allowed
by the operator. If the new current is less than the minimum value, a block 868 forces
the new current value to the minimum value. If the new current is greater than the
maximum value allowed, a block 870 forces the new current value to the maximum value.
[0136] Blocks 871 through 874 control the tip maintenance light output, a feature common
to the '724 patent welder control. Blocks 871 and 872 turn on the tip maintenance
output if the current is within 2% of the maximum value. Blocks 872 and 874 set the
tip maintenance output to the flashing mode when the current equals the maximum value.
Finally, block 875 returns control to the calling program.
[0137] A filter (HFILTR) subroutine 880, Fig. 23, conditions the resistance data by passing
it through a group of low pass filters to minimize the influence of spurious data.
In addition, the HFILTR subrountine 880 saves the minimum and maximum values of filtered
data and calculates a value of the alternating component in the data for subsequent
use by other subroutines. Also, the HFILT
R takes the discrete time derivative of the filtered resistance data for use in the
detection of peaks and valleys in the STCR subroutine 800.
[0138] Decision block 881 bypasses the functional part of the subroutine early in the weld
before at least two valid data samples have been received. A block 886 clears the
filter outputs and returns to the calling program via a block 893. Block 881 transfers
control to a block 882 after at least two valid resistance samples have been received
(the data from half cycle one of the first pulse is considered invalid while the data
from half cycle one of the second pulse of a dual pulse weld is considered valid).
[0139] Decision block 882 transfers control to a block 885 to clear the maximum (HMAX),
the minimum (HMIN), and the bobble accumulator (HBOBL) on the first pass. Subsequently,
block 882 transfers control to a block 883, an internal subroutine HFA which forms
the average value of the resistance data from this half cycle and the data from the
previous half cycle (this is a low pass digital filter with a cutoff frequency of
30 Hz for a 60 Hz welder). The average filter output called Hl is used by a block
884 in the selection of the maximum and minimum values during a weld. The maximum
value of Hl found in a weld is stored in HMAX and the minimum value of Hl is stored
in HMIN. Block 884 also calculates a measure of the alternating component of the resistance
values. It accomplishes this by adding the unfiltered resistance values resulting
from even numbered half cycles to an accumulator called HBOBL and subtracting the
unfiltered resistance values resulting from odd numbered half cycle from the accumulator
HBOBL. The effect of this action is such that if there a small alternating component
in the unfiltered resistance data, HBOBL at the end of a weld will be close to zero.
If the unfiltered resistance values from the even half cycles tends to be larger than
from the odd half cycles, the value accumulated in HBOBL will be a large positive
number. If the data from the odd half cycles is larger, HBOBL will be a large negative
number. The value of HBOBL is subsequently used in the TCHUP subroutine to help maintain
proper model adjustment.
[0140] A decision block 887 selects a low pass digital filter based on the value of the
weld pulse half cycle counter, WHC. The action of the selector 887 is to progressively
select digital filters with lower cutoff frequencies until a filter with a cutoff
frequency of approximately 11 Hz is finally selected. This procedure results in improved
transient response at the beginning of each weld pulse along with a low cutoff frequency
later in the weld pulse. Five finite impulse response (FIR), linear phase filters
are used. Transition errors between the filters are minimized by the selector block
887 selecting an averaging block such as 889 to develop the average output of the
two filters on either side. Thus the filter selection process proceeds as follows:
for WHC less than or equal to 2, no filter is selected and the output HOUT is zeroed.
For WHC equal to 3, filter Hl the adjacent pair average filter is selected. When WHC
equals 4, both the Hl and H2 filters are selected and the average value of the two
filters becomes the output HOUT. When WHC equals 5, only the H2 filter is selected
(cutoff frequency of 21.5 Hz) to compute the output HOUT. Proceeding on to WHC equal
to 6 both the H2 and H3 filters are selected and averaged too for HOUT. In this manner,
a smooth progression of filters with lower and lower cutoff frequencies is used to
process the resistance data. When WHC equals or exceeds 11, the H5 filter is used
exclusively to generate HOUT.
[0141] A block 812 stores all data from a weld in three tables located in memory. The actual
resistance data is stored in the table called HRTBL. The averaged data Hl and the
selectively filter data HOUT are stored in table called HATBL and HFTBL respectively.
In addition, a block 892 forms the discrete time differences (analogous to derivative
in the continuous case) in the values of HOUT. These values now called the derivatives
are retained only for the current and the previous half cycle and are referred to
as WDIR and WDIRL respectively.
[0142] Exit from this subroutine is then made via block 893.
[0143] A fast adjust subroutine (ESET) 900 is used to rapidly adjust the model circuit to
match the actual welder load. It accomplishes this by a procedure which uses data
from each half cycle of a series of short test weld pulses while in the adjust mode.
[0144] Referring to Fig. 24, a block 901 transfers control to blocks 902, 903, and 904 on
the first pass through in the adjust mode. Block 902 sets both the odd and even half
cycle DAC settings to a median value corresponding to a power factor of about .64.
The convergence counters for both the even and odd half cycles are set to a small
positive number in block 903 and finally block 904 sets the clock rate to 250 Khz.
[0145] Next, a block 905 transfers control to a block 913 if the presently available resistance
value is from the first half cycle of a test weld pulse. This data is not used as
a basis for adjustment. A decision block 906 bypasses further adjustment if the model
adjustment process has already converged as evidenced by the EPASS flag (this flag
is set in a block 912). Adjustment on this half cycle is skipped by a decision block
907 if the model is still conducting from the previous half cycle. This indicates
a model power factor much less than the actual welder power factor. When a previous
half cycle is found to still be conducting or running on, the action of block 907
is to allow only adjustment on every other half cycle until it no longer runs on and
interferes with the next half cycle. Then adjustment proceeds on both half cycles.
[0146] A decision block 908 checks the present resistance data for values within limits
indicating satisfactory adjustment. If the value of resistance data is found to be
outside of the acceptance limits, control transfers to block 909. The function of
block 909 is to calculate the new odd or even DAC setting using the value of resistance
from the previous odd or even half cycle. The calculation carries out the following
equation;
[0147] NDAC = OLDAC + (RES + OFFSET) A.
[0148] Where NDAC is the new DAC value, OLDAC is the previous DAC value, RES is the resistance
value and offset is a constant used to force convergence to some desired final value.
The variable A is on integer between 1 and 4 selected on the basis of.the OLDAC value
and is used to make the effective open loop gain of the adjustment feedback loop approximately
equal to 1 for the fastest possible convergence. Block 909 when completed, transfers
to block 913 which returns to the calling program.
[0149] Returning to block 908, if the present value of resistance is found to be within
the limits of acceptance; control is transferred to block 910. In block 910 the odd
or even convergence counter is decremented by 1 and control is passed to block 911.
Block 911 tests the value of both the odd and the even convergence counters and if
both are found to be decremented to negative values, the adjustment process is complete
and control passes to block 912. If both odd and even half cycle convergence counters
have not been decremented to negative values, control passes to block 913 to return
to the calling program and ultimately for further repeated passes through the ESET
subroutine. Block 912 sets the converged flag EPASS to FF indicating that adjustment
is satisfactorily completed. This action will terminate the adjust mode and cause
the control to revert to the normal welding mode. Finally, block 912 sets the clock
rate to 1 Mhz and transfers control to block 913 to return to the calling program.
[0150] Turning now to Fig. 14, Fig. 14 shows the reference voltage 78 and half cycles of
current conduction 79. Moreover, the drawing shows when events occur during the welding
period with reference to these waveforms. For instance, the typical half cycle of
current conduction lasts approximately a minimum of four milliseconds to 8.33 milliseconds
depending upon the weld heat desired. EREAD, where the counter is read, occurs just
before the gate pulse signal to fire the SCR happens. KSTOP is sequeneced before one
millisecond elapses after the GP signal. ESET is issued during the gap time between
half cycles of current conduction and so forth.
[0151] While certain preferred embodiments of the invention have been specifically disclosed,
it is understood that the invention is not limited thereto, as many variations will
be readily apparent to those skilled in the art, and the invention is to be given
its broadest possible interpretation within the terms of the following claims: