Load control devices, such as switches, for example, use electrical relays to switch alternating currents being supplied to an electrical load. The life time of such electrical relays may be shortened by arcs or sparks caused at the instant when the relay closes. Some prior art systems seek to suppress arcs by controlling the relay actuation time such that the relay contacts close as nearly as possible to a zero cross of the AC waveform.
In operation, the example prior art relay switch control circuit detects the zero cross 110A, waits for a relay actuation adjustment 150A, and actuates the relay at time point 130A. The relay actuation adjustment 150A corresponds to the difference between a full AC cycle and the relay-actuation delay 120. When the relay contacts are closed at the zero cross 110B, substantially no current flows through the relay contacts. The value of the relay-actuation delay 120 may be updated to account for any variation caused by temperature, and/or aging or deterioration over the life time of the relay.
When a relay closes, however, there is a settling time before the relay contacts come to rest in the closed state. For example, as shown in
Some prior art systems seek to address this problem by offsetting the relay actuation time by one-half of the relay contact-bounce duration.
As disclosed herein, a load control device for controlling an amount of power delivered from an alternating current (AC) power source to an electrical load may include a relay operable to be coupled in series electrical connection between the AC power source and the electrical load. The relay may include one or more relay contacts. The load control device may include a zero-cross detector operable to detect zero crosses of the alternating current and to generate zero cross signals, and a controller operatively coupled to a control input of the relay and the zero-cross detector for rendering the relay conductive and non-conductive. The controller may determine a relay actuation adjustment such that the contact reliably completes bouncing just prior to a zero cross and may initiate an actuation of the relay based on the actuation adjustment and the zero cross signal.
For example, the relay actuation adjustment may be determined based on a relay-actuation delay and an average relay contact-bounce duration associated with the relay. The relay-actuation delay corresponds to a time difference between an initiation of actuation and the closure of the relay contact in response to the actuation. The average relay contact-bounce duration may correspond to the average time difference between an initial closure of the contact device and the contact resting in a closed state. The relay actuation adjustment may be determined based on the sum of the relay-actuation delay and one and one half of the average relay contact-bounce duration associated with the relay. The relay actuation adjustment may be adjusted periodically such that the time difference between the initial closure of the relay contact and the target zero cross is below a predetermined threshold.
The load control device may be operable in a plurality of states such as an initiate state, a search state, an adjust state and a hold state. In the initiate state, the controller may identify a wiring configuration based on the zero cross signal and the initial closure signal. When a reverse wiring configuration is identified, the controller may use the zero cross signal as the initial closure signal and use the initial closure signal as the zero cross signal. In the search state, the controller may determine a baseline actuation adjustment such that, when the controllably conductive device is actuated based on the baseline actuation adjustment, the initial closure signal is received within a time window from a subsequent zero cross. In the adjust state, the controller may determine the actuation adjustment by adjusting from the baseline actuation adjustment, such that the relay contact reliably completes bouncing just prior to a zero cross. In the hold state, the controller may control the actuation of the controllably conductive device based on the actuation adjustment and the zero cross signal and may not adjust the relay actuation adjustment for a predetermined number of switching cycles.
As shown in
The load control device may actuate the relay at the relay actuation time 330 prior to the target zero cross 310B for the relay closure. As shown, the relay actuation time 330 may lead the target zero cross 310B by a relay-actuation delay 320, the average relay contact-bounce duration 350 and one-half of the average relay contact-bounce duration 360. The relay-actuation delay 320 may correspond to the time interval between relay actuation time and when the relay contacts initially close in response to actuation.
In operation, the load control device may detect the zero cross 310A, determine and wait for a relay actuation adjustment 370, and actuate the relay at the relay actuation time 330. The relay actuation adjustment 370 may correspond to the difference between a full AC line cycle and the sum of the relay-actuation delay 320, the average relay contact-bounce duration 350 and one-half of the average relay contact-bounce duration 360. As a result, after the relay is actuated at the relay actuation time 330, the contacts of the relay may initially close at relay initial closure time 335. The relay contacts may bounce for a relay contact-bounce duration. Although the relay contact-bounce duration of a relay may vary with each relay closure, because the load control device adjusts the relay actuation time by one and one-half of the relay contact-bounce duration, the contacts may reliably complete bouncing prior to but close to a target zero cross. For example, the relay actuation adjustment 370 may be determined such that the relay contact completes bouncing just prior to a target zero cross with 95% confidence interval when initiating the actuation based on the relay actuation adjustment.
At 404, an average relay contact-bounce duration may be retrieved from memory. The average relay contact-bounce duration may correspond to the average amount of time the relay contacts may bounce during relay closure. For example, for certain relays, the average relay contact-bounce duration has been determined to be about 200 μs more or less. The average relay contact-bounce duration may be calculated based on the maximum relay contact-bounce duration observed through experimentation. For example, the average relay contact-bounce duration may be one half of the maximum relay contact-bounce duration. The average relay contact-bounce duration may be stored as a parameter value in memory. In operation, the average relay contact-bounce duration may be retrieved from memory. The average relay contact-bounce may be determined by the load control device during operation.
At 406, a relay actuation adjustment may be determined. The relay actuation adjustment may be indicative of the time interval between a detected zero cross and when the relay closure is initiated. The relay actuation adjustment may be determined based on the relay-actuation delay and the average relay contact-bounce duration. For example, the relay actuation adjustment may be equal to a full AC line cycle minus the sum of the relay-actuation delay and one and one-half of the average relay contact-bounce duration (e.g., 300 μs). For example, the relay actuation adjustment may be equal to a full AC line cycle minus the sum of the relay-actuation delay and one and one-fourth of the average relay contact-bounce duration (e.g., 250 μs). For example, the relay actuation adjustment may be equal to a half AC line cycle minus the sum of the relay-actuation delay and one and one-half of the average relay contact-bounce duration, or a half AC cycle minus the sum of the relay-actuation delay and one and one-fourth of the average relay contact-bounce duration. At 407, the relay actuation adjustment may be stored as a parameter value in memory.
At 408, a zero cross may be detected. For example, a voltage zero cross of the AC waveform may be detected using a voltage zero cross detector. For example, a current zero cross of the AC waveform may be detected using a current zero cross detector.
At 410, the relay actuation may be initiated based on the relay actuation adjustment and the detected zero cross. For example, upon detecting the zero cross, the relay actuation time may be determined based on the relay actuation adjustment value stored in memory and the time of the detected zero cross. The relay actuation time may correspond to the time following a detected zero cross by a time period corresponding to the relay actuation adjustment. In other words, the load control device may determine and wait for a time period that corresponds to the relay actuation adjustment before actuating the relay at the relay actuation time. At 420, the method may end.
The load control device 500 may include a controller 520 for controlling the operation of the load control device 500. The controller 520 may include a microcontroller, a programmable logic device (PLD), a microprocessor, an application specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or any suitable processing device or control circuit. The load control device 500 may include a zero-cross detector 510 for detecting the zero crosses of the input AC waveform from the AC power source 502. A zero cross may be the time at which the AC supply voltage transitions from positive to negative polarity, or from negative to positive polarity, at the beginning of each half-cycle. A zero cross may be the time at which the AC supply current transitions from positive to negative polarity, or from negative to positive polarity, at the beginning of each half-cycle. The controller 520 may receive the zero cross information from the zero-cross detector 510 and may provide the control inputs to the drive circuit 508 to render the controllably conductive device 504 conductive and non-conductive at predetermined times relative to the zero crosses of the AC waveform. For example, the zero-cross detector 510 may generate a zero cross signal to the controller 520 upon detecting a voltage zero cross. The zero-cross detector 510 may generate a zero cross signal to the controller 520 upon detecting a voltage zero cross when the AC power source 502 enters a negative half cycle and when the AC power source 502 enters a positive half cycle. The zero-cross detector 510 may generate a zero cross signal to the controller 520 upon detecting a voltage zero cross only when the AC power source 502 enters a negative half cycle. The zero-cross detector 510 may generate a zero cross signal to the controller 520 upon detecting a voltage zero cross only when the AC power source 502 enters a positive half cycle. The zero-cross detector 510 may generate a zero cross edge interrupt upon detecting the zero cross.
The controller 520 may also be coupled to a memory 512 for storage and/or retrieval of the average relay-bounce duration, the relay actuation adjustment, the duration of a half cycle, the duration of a full cycle, the relay-actuation delay, instructions/settings for controlling the electrical load 518, and/or the like. The memory 512 may be implemented as an external integrated circuit (IC) or as an internal circuit of the controller 520. A power supply 506 may generate a direct-current (DC) voltage VCC for powering the controller 520, the memory 512, and other low voltage circuitry of the load control device 500.
The load control device 500 may include an initial closure detector 516 for detecting an initial closure of the controllably conductive device 504. Upon detecting the initial closure of the controllably conductive device 504, the initial closure detector 516 may generate an initial closure signal to the controller 520. The initial closure detector 516 may generate an initial closure signal to the controller 520 when the relay is closed in a negative half cycle and when the relay is closed in a positive half cycle. The initial closure detector 516 may generate an initial closure signal to the controller 520 only when the relay is closed in a negative half cycle. The initial closure detector 516 may generate an initial closure signal to the controller 520 only when the relay is closed in a positive half cycle. The initial closure detector 516 may generate an initial closure edge interrupt on the initial closure signal upon detecting the initial closure of the controllably conductive device 504. The initial closure detector 516 may comprise similar circuitry as the zero-cross detector 510.
The controller 520 may receive an input signal 522 from an input circuit 524 (e.g., such as a user interface). Upon receiving an input signal 522 indicating the controllably conductive device is to be conductive, the controller 520 may initiate relay actuation such that the relay contacts complete or substantially complete bouncing just prior to a subsequent zero cross. For example, upon receiving the input signal 522, the controller 520 may wait for a signal from the zero-cross detector indicating a voltage zero cross has occurred. The controller 520 may determine a time, based on the timing of the zero cross, for providing a drive signal to the drive circuit 508 to actuate the controllably conductive device 504. The time for providing a drive signal to the drive circuit 508 may correspond to the relay actuation time 330 described herein with respect to
At 630, the load control device may operate in the adjust state. In the adjust state, the controller 520 may be operable to determine the relay actuation adjustment 370 by adjusting from the baseline relay actuation adjustment. The relay actuation adjustment 370 may be determined such that the relay contact may complete or substantially complete bouncing close to but prior to a target zero cross. The controller 520 may determine the relay actuation delay associated with the relay based on the time difference between the zero cross signal and the initial closure signal.
The controller 520 may initiate a turn on sequence and wait for a first zero cross edge interrupt 1120A. The zero-cross detector 510 may detect zero cross 1110A, and may generate first zero cross edge interrupt 1120A. The first zero cross edge interrupt 1120A may be received briefly after the actual zero cross 1110A, for example, after a hardware delay 1115.
Upon receiving the zero cross edge interrupt 1120A, the controller 520 may determine a relay actuation time 1135A. The relay actuation time 1135A may correspond to a time point following the zero cross edge interrupt 1120A by the baseline relay actuation adjustment 1125. For example, the controller 520 may start a timer that may stop or expire after running for the baseline relay actuation adjustment 1125 to trigger the relay actuation at the relay actuation time 1135A. When the timer expires, the controller 520 may generate a relay set signal to the drive circuit 508. The relay set signal may remain active for a relay actuation duration. For example, if the relay is a latching relay, the relay actuation duration may be the time between the relay actuation time 1135C and a relay release time 1135B. Alternatively, the relay set signal may remain active for the entire time that the relay is to be closed.
The controller 520 may receive a second zero cross edge interrupt 1120B. The second zero cross edge interrupt 1120B may be received briefly after the zero-cross detector 510 detects the actual zero cross 1110B, for example, after the hardware delay 1115. Upon actuation of the relay at the relay actuation time 1135A, the relay contact may initially close after the relay actuation delay or the relay close delay 1150. The initial closure detector 516 may detect an initial closure of the relay contacts and may generate an initial closure edge interrupt 1140A on the initial closure signal. The controller 520 may receive an initial closure edge interrupt 1140A on the initial closure signal when the relay contacts initially close (e.g., prior to any potential relay bounce not shown in
The controller 520 may adjust the baseline relay actuation adjustment based on the switching differential 1155A and the hardware delay 1115. For example, the adjusted relay actuation adjustment may be equal to the baseline relay actuation adjustment modified by the difference between the switching differential 1155A and the hardware delay 1115 (e.g., adjusted relay actuation adjustment=baseline relay actuation adjustment−(switching differential−hardware delay)).
The controller 520 may initiate a turn on sequence and wait for a first zero cross edge interrupt 1120C. The zero-cross detector 510 may detect zero cross 1110C, and may generate first zero cross edge interrupt 1120C. The first zero cross edge interrupt 1120C may be received briefly after the actual zero cross 1110C. Upon receiving the zero cross edge interrupt 1120C, the controller 520 may determine an adjusted relay actuation time 1135C. The adjusted relay actuation time 1135C may correspond to the adjusted relay actuation adjustment 1160 after the zero cross edge interrupt 1120C. The adjusted relay actuation adjustment 1160 may be determined based on the previous switching differential (e.g., the switching differential 1155A shown in
The controller 520 may start a timer that may stop or expire after running for the adjusted relay actuation adjustment 1160 to trigger relay actuation at an adjusted relay actuation time 1135C. When the timer expires, the controller 520 may generate a relay set signal to the drive circuit 508. The relay set signal may continue to be active from the relay actuation time until the relay release time 1135D. The controller 520 may receive a second zero cross edge interrupt 1120D. The second zero cross edge interrupt 1120D may be received briefly after the zero-cross detector 510 detecting the actual zero cross 1110D. Upon actuation of the relay at the adjusted relay actuation time 1135C, the relay contact may initially close after relay actuation delay or the relay close delay 1150. The initial closure detector 516 may detect an initial closure of the relay contacts and may generate an initial closure edge interrupt 1140B on the initial closure signal. The controller 520 may receive an initial closure edge interrupt 1140B on the initial closure signal when the relay contact initially closes. The controller 520 may calculate a new switching differential 1155B that may correspond to the time difference between the initial closure edge interrupt 1140B and the zero cross edge interrupt 1120D. The new switching differential 1155B may be indicative of the time difference between the initial closure of the relay contact and the target zero cross.
The controller 520 may compare the new switching differential 1155B to the hardware delay 1115 to determine whether to further adjust the relay actuation adjustment. The controller 520 may determine to further adjust the relay actuation adjustment when the new switching differential 1155B is not equal to or is outside of a predetermined range of the hardware delay 1115. This may indicate that when the relay is actuated based on the adjusted relay actuation time, the relay does not initially close at, or close to, the target zero cross such as zero cross 1110D. The controller 520 may determine to adopt a given value of the relay actuation adjustment when the resulting switching differential 1155B is equal to or within a predetermined range of the hardware delay 1115. This may indicate that when the relay is actuated based on the adjusted relay actuation time, the relay is initially closed at, or sufficiently close to, the target zero cross such as zero cross 1110D.
Upon determining a relay actuation adjustment that may allow the relay contact to initially close at a target zero cross, the controller 520 may offset the relay actuation adjustment by one and one half of the average relay contact-bounce duration.
The relay actuation delay or relay close delay 1150 may change throughout the life of a relay due to aging or deterioration or due to different temperature or voltage conditions. The relay actuation adjustment may be updated using the process described herein with respect to
Turning back to
In the hold state 640, the controller 520 may not adjust the relay actuation adjustment 370 for a predetermined number of switching cycles. For example, the load control device may transition from the hold state to the adjust state every predetermined number of switching cycles such as a switching cycle hold count. At 650, the controller 520 may determine whether the switching cycle hold count has been reached. The switching cycle hold count may be 900, 1000, 1100 or the like. Based on a determination that the switching cycle hold count has been reached, the load control device may transition from the hold state to the adjust state. The relay set time may be adjusted by the switching differential prior to entering the adjust state. Based on a determination that the switching cycle hold count has not been reached, the load control device may continue to operate in the hold state.
In the hold state 640, the controller 520 may monitor the time difference between the initial closure of the relay and the target zero cross. The controller 520 may compare the time difference to a predetermined threshold and determine whether a readjustment of the value of the relay actuation adjustment may be needed. For example, if the time difference is below a predetermined threshold, the controller 520 may alter, such as increment, the switching cycle hold count by 1. Upon detecting the time difference exceeding the predetermined threshold, the controller 520 may alter the switching cycle hold count by a significantly larger number such as 100, 150, 200, or the like such that the controller may transition from the hold state 640 to the adjust state 630 before a predetermined number of switching cycles have actually occurred.
In the hold state, the controller 520 may compare the time difference between the initial closure of the relay and the target zero cross to a predetermined high error threshold. Upon detecting the time difference exceeding the high error threshold, the load control device may immediately transition to the adjust state.
The load control device 500 may close the controllably conductive device 504 in alternating half cycles. Closing the controllably conductive device in alternating half cycles may extend the operative life of the controllably conductive device. If the current flow always occurs in the same direction when closing a relay, material may transfer between the relay contacts over time. Alternating between switching when there is a positive and negative current flow may prevent or reduce such undesirable material transfer.
As described herein, the controller 520 may monitor the time difference between the initial closure of the relay contact and the target zero cross. This time difference may be measured differently when closing the relay just prior to a positive half-cycle and when closing the relay just prior to a negative half-cycle. In an embodiment, the time difference can only be measured in the negative half-cycle.
If a relay closure is measured in an error window, the switching cycle hold count may be altered such that the hold state may exit prior to the regular hold state period. The switching cycle hold count may be altered by a different value based on whether the error in the closure is caused by an increase in the relay-actuation delay or by a decrease in the relay-actuation delay. For example, when the target closure is just before a positive half-cycle, a decrease in the relay-actuation delay can be measured. When the target closure is just before a negative half-cycle, an increase in relay-actuation delay can be measured. As a large decrease in the relay-actuation delay may signify an erroneous lock was achieved, for example, at a low relay voltage, the switching cycle hold count may be altered by a larger value if the error in closure time or relay actuation time is caused by a decrease in the relay-actuation delay than by an increase in the relay-actuation delay.
As shown in