This disclosure relates generally to relays, and, more particularly, to methods, apparatus, and articles of manufacture to regulate relay coil switching.
Some traditional appliances, such as ovens, stoves, ranges, and clothes dryers have relays that are operated to control the supply of power to high-current and/or high-voltage components, such as heating elements.
A disclosed example method of regulating switching times of a relay having a pair of contacts to selectively and electrically couple an analog alternating current (AC) power source and a load includes forming a digital pulse train representative of an AC signal at the load, determining a first value corresponding to a representative pulse width of the digital pulse train, providing a first relay switching signal to the relay at a first time relative to a zero crossing of the AC signal, selecting a second time for providing a second relay switching signal to the relay based the first value and a second value representative of the width of a first pulse of the digital pulse train associated with the first relay switching signal at the first time, and providing the second relay switching signal to the relay at the second time.
In this specification and the appended claims, the singular forms “a,” “an” and “the” do not exclude the plural referent unless the context clearly dictates otherwise. Further, conjunctions such as “and,” “or,” and “and/or” are inclusive unless the context clearly dictates otherwise. For example, “A and/or B” includes A alone, B alone, and A with B. Further still, connecting lines, or connectors shown in the various figures presented are intended to represent exemplary functional relationships and/or physical or logical couplings between the various elements. It should be noted that many alternative or additional functional relationships, physical connections or logical connections may be present in a practical device. Additionally, no item or component is essential to the practice of the embodiments disclosed herein unless the element is specifically described as “essential” or “critical”. Moreover, terms such as, but not limited to, approximately, substantially, etc. are used herein to indicate that a precise value is not required, need not be specified, etc. For example, a first value being approximately a second value means that from a practical implementation perspective they can be considered as if equal. As used herein, such terms will have ready and instant meaning to one of ordinary skill in the art.
Relay contact life may degrade when high-current loads are switched on and/or off when there is a large voltage potential across the contacts. The problem is worse when the current passing through the contacts is at or above the rated current handling of the relay. Example degradations include fused contacts, pitted contacts, carbon encrusted contacts, etc. Example prior art solutions include use of a zero-cross detection circuit to switch at zero-cross, and a walking pattern algorithm that attempts to perform switching randomly at different voltage potentials. The former solution does not always work correctly for 3-phase systems, and without feedback cannot verify or ensure that switching times are correct. Without means to verify switching time, performance degrades overtime. The latter solution only partially resolves the problem as switching still occurs occasionally under large voltage potential conditions. Moreover, the characteristics of relays change with time, temperature, usage, etc. It will be understood that relays do not close and open instantaneously due to, for example, mechanical effects, inertia and, may experience closure bounce due to spring effects.
To overcome at least these problems, the methods, apparatus and articles of manufacture to regulate and/or control relay coil switching times disclosed herein perform an initial calibration, and then adaptively adjust over time relay coil switching times to maintain relay coil switching at or near a desired time relative to zero crossings of the power supply. An example desired time for initiating relay operate (i.e., relay contact closure) is to straddle zero-cross with the relay operate. An example desired time for relay operate initiation is within +/−1 milliseconds (ms) of zero-cross, assuming it takes approximately 1 ms to close the relay. An example desired time for initiating relay release (i.e., relay open) is to initiate opening the relay before zero-cross to avoid flash effects due to increasing voltage as the contacts open. An example desired time is to initiate relay release is 1 to 2 ms before zero-cross. Of course, the methods, apparatus, and articles of manufacture to regulate and/or control relay coil switching disclosed herein may be used to control relay switching to occur at other times relative to zero-cross.
An example relay calibration process uses an L1−N (line 1 minus neutral) zero-cross signal to time the relay coil switching signal, and reads the feedback signal from the relay contact output to measure how long it takes to close and open a relay. An example feedback signal is a pulse train formed by comparing L1−N to a threshold such that, for example, when the L1−N signal exceeds the threshold the pulse train is logic high or TRUE, and when the signal does not exceed the threshold the pulse train is logic low or FALSE. The threshold is typically non-zero due to transistor switching voltage, etc. The feedback signal is a pulse train due to the periodicity of L1−N (see
An example adaptive adjustment process uses the relay contact output feedback signal to make adjustments to the switching trigger times during normal operation. In an example, the process uses a modified line-straddling algorithm to adapt switching times so that relay contacts close near zero-cross +/−1 ms, and open 1-2 ms before zero-cross. If the relay contact is closed or opened too early, the time at which the next corresponding relay switch signal is sent to the relay is moved forward in time with respect to zero-cross. If the relay contact is closed or opened too late, the time at which the next corresponding relay switch signal is sent to the relay is moved back in time with respect to zero-cross.
In some examples, the example methods, apparatus and articles of manufacture disclosed herein uses L1−N and L2−N (line 2 minus neutral) zero-cross signals to determine whether an AC power source is a split-single phase or three-phase source. When a three-phase power source is present and not accommodated for, switching will not occur at L1−L2 zero-cross. Thus, if a three-phase source is identified, the examples disclosed herein determine whether L1 leads or follows L2. The results are used to adjust relay switching times so that switching is done when the L1−L2 AC voltage across the relay contacts is at or near zero-cross.
The example range 10 of
To enable a user to control operation of the range 10, the range 10 includes a control panel 28. To control operation of the heating elements 19, the example control panel 28 includes respective knobs 30. However, other means of controlling the heating elements 19, such as capacitive touch areas, buttons, etc. may be used. To control other operations of the range 10 such as, but not limited to, oven temperature, timer, cook time, time of day, etc., the range 10 includes one or more control areas 32 and/or one or more display areas 34. Any number and/or type(s) of elements, devices and/or technologies may be used to implement the control area(s) 32 and the display area(s) 34. For example, capacitive touch areas may be used to implement the control area(s) 32, and liquid crystal display (LCD) or light emitting diode (LED) display technologies may be used to implement the display area(s) 34.
To control operation of the range 10, the range 10 includes a controller 36, which may be implemented by, for example, the example processor platform P100 of
The example controller 36 has a central processing unit (CPU) P105 and memory P115, P120 (see
To provide reference signals 226, 228 that represent zero crossings of the L1 and L2 input signals, the example relay switching control system 200 includes the respective reference circuits 220, 222. The reference signals 226, 228 are pulse trains formed by comparing respective L1−N, L2−N signals to a threshold such that, for example, when the L1−N signal exceeds the threshold the pulse train 226 is logic high or TRUE, and when the L1−N signal does not exceed the threshold the pulse train 226 is logic low or FALSE. The pulse train 228 is similarly formed. The threshold is typically non-zero due to transistor switching voltage, etc. An example L1−N signal and corresponding reference signal pulse train 226 are shown in the example graph of
To provide sensor signals 230, 232 that represent zero crossings of the L1 and L2 input signals gated by the open and closed states of the relays 212, 214, the example relay switching control system 200 includes the respective sensor circuits 216, 218. The sensor signals 230, 232 are pulse trains formed by comparing respective gated L1−N, L2−N signals to a threshold such that, for example, when the gated L1−N signal exceeds the threshold the pulse train 230 is a logic high or TRUE, and when the gated L1−N signal does not exceed the threshold the pulse train 230 is a logic low or FALSE. The sensor signal 232 is similarly formed. The threshold is typically non-zero due to transistor switching voltage, etc. An example L1−N signal and corresponding sensor signal pulse train 230 are shown in the example graph of
In some examples, the signals 226, 228, 230 and 232 are sampled at a rate of 4 kHz (kilocycles per second), however, other sample rates may be used. For an AC power source operating nominally at 60 Hz (cycles per second) there are approximately 67 samples per cycle of the L1−N and L2−N signals.
As part of an initial calibration, the controller 36 determines a first value corresponding to a representative pulse width of the reference pulse train 226, and a second value corresponding to a representative cycle width of the reference pulse train 226.
In the example of
The example method of
Returning to block 410, if the last 4 samples are not [0111] (block 410), the controller 36 increments COUNT (block 414). If the last 4 samples are [1000] (block 416), the controller 36 saves COUNT as PULSEWIDTH (block 418), and updates a running or moving average of PULSEWIDTH (block 420). Control then returns to block 410.
Returning to block 416, if the last 4 samples are not [1000] (block 416), control returns to block 410.
Initial calibration continues with a determination of operate and release times that result in a PULSEWIDTH of a pulse associated with a relay switch event that is approximately half the average PULSEWIDTH computed or determined by, for example, using the example method of
Turning first to relay operate trigger time,
When the TRIGGERTIME is reached (block 814), the controller 36 operates the relay 212 (i.e., sends a relay operate switching signal to the relay 212) (block 816), and measures the width of the first pulse following the relay switching signal (block 818). If the measured RELAYPULSEWIDTH is in range (block 820), control exits from the example method of
Returning to block 820, if the RELAYPULSEWIDTH is not in range (block 820), the controller 36 updates OPERATETIME (block 822), and control returns to block 812 to trigger the relay 212 again.
Turning now to relay release trigger time,
When the TRIGGERTIME is reached (block 1214), the controller 36 releases the relay 212 (i.e., sends a relay release switching signal to the relay 212) (block 1216), and measures the width of the pulse preceding the relay switching signal (block 1218). If the RELAYPULSEWIDTH is in range (block 1220), control exits from the example method of
Returning to block 1220, if the RELAYPULSEWIDTH is not in range (block 1220), the controller 36 updates the RELEASETIME (block 1222), and control returns to block 1212 to trigger the relay 212 again.
Subsequent to initial calibration, an example adaptive adjustment process uses the relay contact output feedback signal 230 to make adjustments to relay switching trigger times during operation. For relay operate, the process uses a modified line-straddling algorithm to adapt relay operate trigger time so that relay contacts close near to zero-cross +/−1 ms. If the relay contacts close too early as shown in
For relay release, the process uses a modified line-straddling algorithm to adapt relay release switching times so that relay contacts open 1-2 ms before zero-cross. If the relay contacts are opened too early, the time at which the next corresponding relay release switch signal is sent to the relay 212 is moved forward in time with respect to zero-cross. Thus, the relay release trigger time will progressively move forward in time until the relay 212 open occurs 1-2 ms before zero-cross.
If COUNT is greater than another threshold THRES2 (block 1818), then the processor 36 determines that L1 and L2 are 180° out-of-phase (block 1820), and control exits from the example method of
IF COUNT is between THRES1 and THRES2 (block 1818), the processor 36 waits for the next rising zero-cross of L1−N (block 1825), and then collects the next five (5) samples of reference signal 228 (L2−N) (block 1830). If all 5 samples are zero (0) (block 1835), the processor 36 determines that L2 follows L1 by 120° (block 1840), and control exits from the example method of
Knowing the phase relationship between L1 and L2, the processor 36 can determine zero-crossings of the L1−L2 voltage at the load 224 based on zero-crossings of L1−N. When in-phase, zero-cross of L1−L2 corresponds to zero-cross of L1−N. When 180° out of phase, zero-cross of L1−L2 precedes L1−N zero-cross by 90°. When L2 follows L1 by 120°, then zero-cross of L1−L2 precedes L1−N zero-cross by 30°, and when L1 follows L2 by 120°, then zero-cross of L1−L2 lags behind L1−N zero-cross by 30°. Using these adjustments, the processor 36 can maintain relay switching times based on the reference signal 226 (L1−N) and corresponding sensor signal 230, and adjust OPERATETIME and RELEASTTIME to accommodate the phase relationship.
The example methods shown in
As used herein, the term “computer-readable medium” is expressly defined to include any type of computer-readable medium and to expressly exclude propagating signals. Example computer-readable medium include, but are not limited to, a volatile and/or non-volatile memory, a volatile and/or non-volatile memory device, a compact disc (CD), a digital versatile disc (DVD), a read-only memory (ROM), a random-access memory (RAM), a programmable ROM (PROM), an electronically-programmable ROM (EPROM), an electronically-erasable PROM (EEPROM), an optical storage disk, an optical storage device, a magnetic storage disk, a magnetic storage device, a cache, and/or any other storage media in which information is stored for any duration (e.g., for extended time periods, permanently, brief instances, for temporarily buffering, and/or for caching of the information) and that can be accessed by a processor, a computer and/or other machine having a processor, such as the example processor platform P100 discussed below in connection with
The processor platform P100 of the instant example includes at least one programmable processor P105. For example, the processor P105 can be implemented by one or more Atmel®, Intel®, AMD®, and/or ARM® microprocessors. Of course, other processors from other processor families and/or manufacturers are also appropriate. The processor P105 executes coded instructions P110 present in main memory of the processor P105 (e.g., within a volatile memory P115 and/or a non-volatile memory P120), stored on a storage device P150, stored on a removable computer-readable storage medium P155 such as a CD, a DVD and/or a FLASH drive. The processor P105 may execute, among other things, the example methods of
The processor P105 is in communication with the main memory including the non-volatile memory P120 and the volatile memory P115, and the storage device P150 via a bus P125. The volatile memory P115 may be implemented by, for example, synchronous dynamic random access memory (SDRAM), dynamic random access memory (DRAM), RAMBUS® dynamic random access memory (RDRAM) and/or any other type of RAM device(s). The non-volatile memory P120 may be implemented by, for example, flash memory(-ies), flash memory device(s) and/or any other desired type of memory device(s). Access to the memory P115 and P120 may be controlled by a memory controller.
The processor platform P100 also includes an interface circuit P130. Any type of interface standard, such as an external memory interface, serial port, general-purpose input/output, as an Ethernet interface, a universal serial bus (USB), and/or a peripheral component interface (PCI) express interface, etc, may implement the interface circuit P130.
One or more input devices P135 are connected to the interface circuit P130. The input device(s) P135 permit a user to enter data and commands into the processor P105. The input device(s) P135 can be implemented by, for example, the knobs 30, the control area(s) 32, a keyboard, a mouse, a touchscreen, a track-pad, a trackball, an isopoint and/or a voice recognition system. The input device(s) P135 may also implement the reference circuits 220, 222 and/or the sensor circuits 216, 218,
One or more output devices P140 are also connected to the interface circuit P130. The output devices P140 can be implemented, for example, by display devices (e.g., a display, indicators, light emitting diodes, and/or speakers) to implement, for example, the display area(s) 34. The output devices P140 may also include the relays 212, 214.
The interface circuit P130 may also includes one or more communication device(s) P145 such as a network interface card to facilitate exchange of data with other appliances, devices, computers, nodes and/or routers of a network.
Although certain example methods, apparatus and articles of manufacture have been described herein, the scope of coverage of this patent is not limited thereto. On the contrary, this patent covers all methods, apparatus and articles of manufacture fairly falling within the scope of the claims of this patent.
Number | Name | Date | Kind |
---|---|---|---|
5644463 | El-Sharkawi et al. | Jul 1997 | A |
5804991 | Hu | Sep 1998 | A |
5808851 | Birrell | Sep 1998 | A |
6768615 | Liu | Jul 2004 | B2 |
8154841 | Allen et al. | Apr 2012 | B2 |
8441248 | Kachorek et al. | May 2013 | B2 |
8467164 | Elwell et al. | Jun 2013 | B2 |
9006616 | Nicholson | Apr 2015 | B2 |
20080258692 | Heinz et al. | Oct 2008 | A1 |
20120262147 | Wang | Oct 2012 | A1 |
20130057998 | Li et al. | Mar 2013 | A1 |
Number | Date | Country |
---|---|---|
0353986 | Feb 1990 | EP |
1006539 | Jun 2000 | EP |
2791466 | Sep 2000 | FR |
2009135519 | Nov 2009 | WO |
Entry |
---|
European Patent Application No. 15179561.4 filed Aug. 3, 2015. Applicant: Whirlpool Europe, Srl, European Extended Search Report re: same, mail date Jan. 13, 2016. |
Number | Date | Country | |
---|---|---|---|
20160042901 A1 | Feb 2016 | US |