AN ELECTRICAL APPLIANCE

An electrical appliance comprising: a plurality of electrical loads, each electrical load being powered from a common power source; a controller including a processor coupled to a memory, wherein the memory has stored therein a sequence of numbers and a plurality of numerical ranges, each numerical range being associated with a respective electrical load from the plurality of electrical loads; and a plurality of switches, each electrical switch being electrically coupled to the power source, the controller, and a respective electrical load of the plurality of electrical loads; wherein the appliance is configured to iteratively: select, by the controller, a plurality of numbers from the sequence of numbers; generate, by the controller, a switching signal for any electrical load of the plurality of electrical loads which is associated with a respective numerical range which includes a number from the plurality of numbers; and activate, for each switching signal, a respective switch of the plurality of switches to electrically connect the respective electrical load to the power source over a period of time.

TECHNICAL FIELD

The present invention relates to an electrical appliance, and in particular to controlling electrical loads of the electrical appliance.

BACKGROUND

Any discussion of the prior art throughout the specification should in no way be considered as an admission that such prior art is widely known or forms part of the common general knowledge in the field.

Certain appliances may include a plurality of high-power electrical loads. To operate an appliance (such as a compact oven) with different power profiles for reaching a set temperature, a dimming circuit can be used to control the oven's heating elements to reach the required temperature. This type of dimming requires an EMC (electromagnetic compatibility) filter circuit so that the dimming circuit does not cause electromagnetic interference affecting mains power and appliances on the same electric circuit. The type of EMC solutions required can be costly.

Another way of providing different power profiles is to switch the heating elements on and off for varying times. Generally, this has been achieved using a lookup table which is stored in memory of the appliance. A plurality of switching patterns are stored in the lookup table. Each switching pattern is used by a controller to controllably switch on and off the electrical loads to achieve a predefined power profile for the appliance.

Whilst generating a lookup table for controlling two electrical loads is achievable, the process of generating such a lookup table for switching three or more electrical loads to achieve different power profiles for the appliance can be quite difficult. In particular, the lookup table becomes quite lengthy and can negatively impact memory constraints for the appliance for three or more electrical loads. Moreover, the complexity of the generation of the lookup table is further dependent on the number of power profiles to be provided per electrical load. Generally, users of an appliance desire refined control (for example temperature or motor speed etc.), thus the complexity of the generation of the lookup table increases which further negatively impacts on the length of the table and the memory usage of the appliance.

Other constraints may impact the generation of such a table.

For example, there may be regulatory requirements in terms of the amount of electrical power which the electrical loads of the appliance can consume. Thus, for example, simultaneous operation of all the high-power electrical loads may not be possible given this constraint, therefore the switching sequences of the table must be generated in a manner which complies with this regulatory and/or practical constraints such as constraints for power cords and residential circuits.

In some instances it has been observed that switching high-power electrical loads to control the power consumption can cause a visible “flicker” in lights located within the device or connected on the same mains power circuit. Thus, this further constraint can further complicate the generation of the switching sequences.

SUMMARY

An electrical appliance comprising: a plurality of electrical loads, each electrical load being powered from a common power source: a controller including a processor coupled to a memory, wherein the memory has stored therein a sequence of numbers and a plurality of numerical ranges, each numerical range being associated with a respective electrical load from the plurality of electrical loads: and a plurality of switches, each electrical switch being electrically coupled to the power source, the controller, and a respective electrical load of the plurality of electrical loads: wherein the appliance is configured to iteratively: select, by the controller, a plurality of numbers from the sequence of numbers; generate, by the controller, a switching signal for any electrical load of the plurality of electrical loads which is associated with a respective numerical range which includes a number from the plurality of numbers: and activate, for each switching signal, a respective switch of the plurality of switches to electrically connect the respective electrical load to the power source over a period of time.

In certain embodiments, the plurality of numbers includes n numbers such that a maximum power consumption via simultaneous activation of n electrical loads from the plurality of electrical loads does not exceed a power threshold for the electrical appliance.

In certain embodiments, the sequence of numbers is a sequence of tuples.

In certain embodiments, each tuple includes n tuple elements.

In certain embodiments, the sequence of numbers is generated based on a low-discrepancy sequence.

In certain embodiments, the low-discrepancy sequence is a Halton sequence.

In certain embodiments, the sequence is based on a stochastic or pseudo-random sequence.

In certain embodiments, the sequence of numbers is stored in a non-volatile manner in the memory.

In certain embodiments, the sequence of numbers is dynamically generated by the processor and stored in a volatile manner in the memory.

In certain embodiments, electrical power consumed by the electrical appliance has a short term flicker severity less than or equal to 1.0.

In certain embodiments, the appliance includes one or more user input devices for setting operation of at least some of the electrical loads of the plurality of loads, wherein the processor is configured to dynamically scale the plurality of numerical ranges based on one or more input signals generated by the one or more user input devices.

In certain embodiments, the controller is configured to dynamically scale the plurality of numerical ranges based on one or more PID control variables generated by a PID controller, wherein the PID controller is part of the controller or in electrical communication with the controller.

In certain embodiments, the plurality of electrical loads include one or more heating elements, wherein the electrical appliance further includes one or more temperature sensors for measuring a temperature of a medium or object heated by at least some of the one or more heating elements, wherein the one or more input signals include one or more temperature measurement signals generated by the one or more temperature sensors.

In certain embodiments, the plurality of electrical loads include one or more motors, wherein the electrical appliance further includes one or more tachometers for at least some of the one or more motors, wherein the one or more input signals include one or more tachometer measurement signals generated by the one or more tachometers.

In certain embodiments, the electrical appliance further includes a zero-crossing detector, wherein the controller is configured to activate, for each switching signal, the respective switch of the plurality of switches in response to receiving a zero-crossing detection signal from the zero-crossing detector.

In certain embodiments, the electrical appliance is a kitchen appliance.

In another aspect, there is provided an electrical appliance comprising: a controller including a processor coupled to a memory, wherein the memory has stored therein a sequence of numbers and a plurality of numerical ranges: a plurality of electrical load elements, wherein at least one of the plurality of electrical load elements is associated with one of the stored plurality of numerical ranges, wherein the controller is configured to: read a first portion of the sequence, wherein the first portion comprises at least one number, determine the numerical range in which the first portion of the sequence falls therein, and based on the determination, selectively power at least one of the electrical load elements.

In certain embodiments, the sequence of numbers is a sequence of tuples.

In certain embodiments, the sequence of numbers is generated based on a low-discrepancy sequence.

In certain embodiments, the low-discrepancy sequence is a Halton sequence.

In certain embodiments, the Halton sequence is a base n, Halton sequence, wherein n is equal to a number of electrical loads within the plurality of electrical loads.

In certain embodiments, the sequence of numbers is stored in a non-volatile manner in the memory.

In certain embodiments, the sequence of numbers is dynamically generated by the processor and stored in a volatile manner in the memory.

In certain embodiments, a second portion of the sequence of numbers is sequentially read at a next zero crossing point.

In certain embodiments, a second portion of the sequence of numbers, comprising at least one number, is sequentially read after predetermined time period has elapsed.

In certain embodiments, the sequence is associated with a short-term flicker severity of less than 1.0.

In certain embodiments, the plurality of numerical ranges is fixed.

In certain embodiments, the plurality of numerical ranges is set by the processor, based on a current configuration of the electrical appliance.

DETAILED DESCRIPTION

Referring toFIG.1there is shown a schematic diagram of an example of an electrical appliance100.

The electrical appliance100includes a plurality of electrical loads130. Each electrical load130a,130b, . . .130n, being selectively powered from a common power source105. In one form, the power source105could be an alternating current (AC) power source. In another form, the power source may be a direct current (DC) power source.

The electrical appliance100further includes a controller110including a processor305(seeFIG.3A) coupled to a memory309(seeFIG.3A). The memory309has stored therein a sequence of numbers and a plurality of numerical ranges, wherein each numerical range is associated with a respective electrical load130a,130b, . . .130nfrom the plurality of electrical loads130.

The electrical appliance100further includes a plurality of switches120. The plurality of switches120can be provided in the form of a plurality of solid state relays, such as a plurality of triodes for alternating current (TRIAC) and/or silicone controlled rectifiers (SCR). Each electrical switch120a,120b, . . . ,120nis electrically coupled to the power source105, the controller110, and a respective electrical load130a,130b, . . . ,130nfrom the plurality of electrical loads130. Upon activation of one of the switches120, the respective switch120a,120b, . . . ,120nprovides an amount of power to the respective electrical load130a,130b, . . .130n.

Referring toFIG.3Athere is shown a further functional block diagram of the electrical appliance100with specific details being shown in relation to the controller110.

As seen inFIG.3A, the controller110has a processing unit (or processor)305which is bi-directionally coupled to an internal storage module309. The storage module309may be formed from non-volatile semiconductor read only memory (ROM)360and semiconductor random access memory (RAM)370, as seen inFIG.3B. The RAM370may be volatile, non-volatile or a combination of volatile and non-volatile memory.

The electrical appliance100can include one or more user output devices314such as a display314, for example a liquid crystal display (LCD) panel or the like. The one or more output devices can be configured for displaying graphical images on the display314in accordance with instructions received from the controller110. The controller110may include or be connected to a display controller110to control the presentation of the graphical images by the one or more user output devices. However, it will be appreciated that the one or more user output devices may be less sophisticated, for example the one or more user output devices may be provided in the form of one or more light emitting diodes or the like.

The electrical appliance100also includes one or more user input devices313. In one form, the one or more user input device can be formed by keys, a keypad or like controls. In some implementations, the one or more user input devices313may include a touch sensitive panel physically associated with the display314to collectively form a touch-screen. Such a touch-screen may thus operate as one form of graphical user interface (GUI) as opposed to a prompt or menu driven GUI typically used with keypad-display combinations. However, in some instances, the one or more user input devices may be less sophisticated taking the form of one or more buttons, switches, knobs, or the like.

In some examples, the electrical appliance100can include a communication interface150to enable to electrical appliance to transmit and/or receive data from a separate device. For example, the communication interface may be a wireless communication interface to allow the electrical appliance to wireless receive input from a wireless device.

The methods described herein may be implemented, at least partially, using the embedded controller110, where at least some of the steps of these methods may be implemented as one or more software application programs333executable within the embedded controller110. With reference toFIG.2, some of the steps of the described method200are implemented by instructions in the software333that are carried out within the controller110. The software instructions may be formed as one or more code modules, each for performing one or more tasks. The software may also be divided into two separate parts, in which a first part and the corresponding code modules performs the described methods and a second part and the corresponding code modules manage a user interface between the first part and the user.

The software333of the embedded controller110is typically stored in the non-volatile ROM360of the internal storage module309. The software333stored in the ROM360can be updated when required from a computer readable medium. The software333can be loaded into and executed by the processor305. In some instances, the processor305may execute software instructions that are located in RAM370. Software instructions may be loaded into the RAM370by the processor305initiating a copy of one or more code modules from ROM360into RAM370. Alternatively, the software instructions of one or more code modules may be pre-installed in a non-volatile region of RAM370by a manufacturer. After one or more code modules have been located in RAM370, the processor305may execute software instructions of the one or more code modules.

The application program333is typically pre-installed and stored in the ROM360by a manufacturer, prior to distribution of the electrical appliance100. The second part of the application programs333and the corresponding code modules mentioned above may be executed to implement one or more graphical user interfaces (GUIs) to be rendered or otherwise represented upon the display314ofFIG.3A. Through manipulation of the user input device313(e.g., the keypad), a user of the appliance100and the application programs333may manipulate the interface in a functionally adaptable manner to provide controlling commands and/or input to the applications associated with the GUI(s).

FIG.3Billustrates in detail the embedded controller110, also shown as302, having the processor305for executing the application programs333and the internal storage309. The internal storage309comprises read only memory (ROM)360and random access memory (RAM)370. The processor305is able to execute the application programs333stored in one or both of the connected memories360and370. When the electrical appliance100is initially powered up, a system program resident in the ROM360is executed. The application program333permanently stored in the ROM360is sometimes referred to as “firmware”. Execution of the firmware by the processor305may fulfil various functions, including processor management, memory management, device management, storage management and user interface.

The processor305typically includes a number of functional modules including a control unit (CU)351, an arithmetic logic unit (ALU)352, a digital signal processor (DSP)353and a local or internal memory comprising a set of registers354which typically contain atomic data elements356,357, along with internal buffer or cache memory355. One or more internal buses359interconnect these functional modules. The processor305typically also has one or more interfaces358for communicating with external devices via system bus381, using a connection361.

The application program333includes a sequence of instructions362though363that may include conditional branch and loop instructions. The program333may also include data, which is used in execution of the program333. This data may be stored as part of the instruction or in a separate location364within the ROM360or RAM370.

In general, the processor305is given a set of instructions, which are executed therein. This set of instructions may be Organized into blocks, which perform specific tasks or handle specific events that occur in the electrical appliance100. Typically, the application program333waits for events and subsequently executes the block of code associated with that event. Events may be triggered in response to input from a user, via the user input devices313ofFIG.3A, as detected by the processor305. Events may also be triggered in response to other sensors140and interfaces in the electrical appliance100.

The execution of a set of the instructions may require numeric variables to be read and modified. Such numeric variables are stored in the RAM370. The disclosed method uses input variables371that are stored in known locations372,373in the memory370. The input variables371are processed to produce output variables377that are stored in known locations378,379in the memory370. Intermediate variables374may be stored in additional memory locations in locations375,376of the memory370. Alternatively, some intermediate variables may only exist in the registers354of the processor305.

The execution of a sequence of instructions is achieved in the processor305by repeated application of a fetch-execute cycle. The control unit351of the processor305maintains a register called the program counter, which contains the address in ROM360or RAM370of the next instruction to be executed. At the start of the fetch execute cycle, the contents of the memory address indexed by the program counter is loaded into the control unit351. The instruction thus loaded controls the subsequent operation of the processor305, causing for example, data to be loaded from ROM memory360into processor registers354, the contents of a register to be arithmetically combined with the contents of another register, the contents of a register to be written to the location stored in another register and so on. At the end of the fetch execute cycle the program counter is updated to point to the next instruction in the system program code. Depending on the instruction just executed this may involve incrementing the address contained in the program counter or loading the program counter with a new address in order to achieve a branch operation.

Each step or sub-process in the processes of the methods described below is associated with one or more segments of the application program333, and is performed by repeated execution of a fetch-execute cycle in the processor305or similar programmatic operation of other independent processor blocks in the electrical appliance100.

Operation of the electrical appliance100is herein described with reference toFIG.2. At step210, the method200includes the controller110selecting a plurality of numbers from the sequence of numbers stored in memory309. The plurality of numbers are a portion of the total sequence of numbers. The plurality of numbers includes n numbers such that a maximum power consumption of simultaneous activation of n electrical loads130from the plurality of electrical loads130does not exceed a power threshold for the electrical appliance100.

At step220, the method200includes generating, by the controller110, a switching signal for any electrical load130a,130b, . . .130nfrom the plurality of electrical loads130which is associated with a respective numerical range may include (i.e. encompasses) a number from the plurality of numbers. In some instances, the numerical ranges may not encompass any number from the plurality of numbers resulting in no switching signal being generated.

At step230, the method200includes activating, for each switching signal, a respective switch120a,120b, . . . ,120nof the plurality of switches120to electrically connect the respective electrical load130a,130b, . . .130nto the power source105over a period of time.

It will be appreciated that whilst the above method200has been described performing iterations, it is possible that a single iteration can be performed by the controller.

Advantageously, the described method uses less memory compared with previous methodologies which utilized lookup tables. As will be described in further embodiments below, using a mathematical function can simplify the generation of the sequence of numbers thereby avoiding the difficult process of generating the lookup table.

In a particular form, the sequence of numbers is a sequence of tuples. The numbers may be integers, decimals or fractions represented by an integer or floating-point data structure. Each tuple is a data structure including multiple parts. For example, a tuple may be an array, a dictionary, or other similar data structures. Each part of the tuple is a tuple element such that each tuple includes a plurality of tuple elements. The plurality of numbers is a plurality of tuple elements of the respective tuple selected from the sequence of tuples. Each tuple includes n tuple elements, wherein n is set to a maximum number of electrical loads130which can be operative simultaneously without exceeding a power threshold.

In certain embodiments, the sequence of numbers is stored in a non-volatile manner in the memory. The sequence of numbers can be stored in the memory at the time of manufacture. However, in other embodiments, the sequence of numbers is dynamically generated by the processor305and stored in a volatile manner in the memory. More specifically, the sequence of number can be dynamically generated by the processor305in response to the electrical appliance100receiving input to begin operation (e.g. the electrical appliance100includes a heater element which receives user input to begin heating, wherein the controller110generates the sequence of numbers in response to receiving the user input to begin heating) or in response to the electrical appliance100being activated for future operation (e.g. the electrical appliance100is electrically turned on, wherein the sequence of numbers is generated upon startup).

Exemplary operation of the electrical appliance ofFIG.1using the method described in relation to the method200will herein be described with reference to the graph depicted inFIG.4.

In this example, the exemplary electrical appliance100includes a first and second heater that each draw a maximum of 500 Watts, and a motor that draws a maximum of 400 Watts. The electrical appliance100has a total power consumption restraint where the electrical appliance100cannot exceed 1000 Watts. One or more input devices of the electrical appliance100are used by the user to indicate that the electrical appliance100is to operate in a manner the first heater draws an average power over time of 150 Watts, the second heater draws an average power over time of 300 Watts, and the motor draws an average power over time of 400 Watts. In this example, the electrical loads130of the first and second heater and the motor can be selectively activated or deactivated for each half-cycle of the alternating power source105. A sequence of numbers is partitioned into numerical ranges, wherein a first numerical range is associated with the first heater, a second numerical range is associated with the second heater, the motor is associated with the third numerical range, and a fourth numerical range is not associated with any electrical load130a,130b, . . .130n. In this example, for any given half-cycle, zero, one, or two electrical loads130can turned on simultaneously. As the electrical device is being electrically powered by a 50 Hz alternating power source105and the electrical loads130can be switched on or off during each half cycle (i.e.2switching points per cycle),100(i.e.50×2) different values of numbers of the sequence of numbers can be defined. Therefore, the sequence of numbers S1can be defined in groups or tuples, where each group or tuple includes two numbers selected from a numerical range between 0 to 99 (i.e. 100 values), such as that shown by way of example according to Sequence 1 below:

In this example sequence, each second tuple element of a tuple is equal to the respective first tuple element of the respective tuple incremented by an offset constant, which in this example the offset constant is equal to 50 and can be stored in memory. Each tuple includes a plurality of tuple elements, wherein the first element is a fixed number which increases from 0) to 49 and the second element of each tuple increases by an offset constant of 50 relative to the first element of the respective tuple.

The numerical ranges can be set by the processor305of the controller110in memory based on the desired input from the user provided via the one or more input devices. In this instance, given the above average power required for each electrical load130a,130b, . . .130n, the processor305can set in memory the numerical ranges in the following manner: first numerical range: [0, 15): second numerical range: [15, 45); and a third numerical range: [45, 95), where “[” or “]” indicates inclusive and “(” or “)” indicates not-inclusive. For example, the first numerical range includes 0 to 14 but does not include 15 and above.

Based on the above, the processor305is configured to select, in sequential order per each time step (i.e. each half cycle of the alternating power source105), a tuple from the sequence of tuples and determine the respective numerical range which includes each tuple element of the selected tuple. For example, the processor305can be configured to initially select the first tuple of the sequence of tuples which is a pair (0, 50). The first tuple element of 0) falls within the first numerical range which is associated with the first heater. The second tuple element of 50 falls within the third numerical range which is associated with the motor. This results in the first heater and the motor being activated for the first half cycle of the alternating power source105. The second tuple, (1, 51), provides the same result wherein the first heater and the motor are activated for the second half cycle of the alternating power source105. Cycling over these 50 tuples of the sequence of tuples provides an average power of 150 Watts for the first heater, 300 Watts for the second heater, and 400 W for the motor as shown inFIG.4.

Exemplary operation of the electrical appliance100ofFIG.3using the method described in relation to the method200and utilizing a second switching technique will herein be described with reference to the graph depicted inFIG.6. This example will be based on the exemplary electrical appliance100described earlier, however will be configured to minimize flicker. In this example, the tuples of the sequence of tuples S1are reordered to reduce flickering to define a sequence of tuples S2as defined in Sequence 2:

A low-discrepancy or pseudo-random sequence can be used directly or indirectly to reorder the sequence of tuples S1to reduce flickering to define the sequence of tuples S2. In the event that the low-discrepancy or pseudo-random sequence is used indirectly, the low-discrepancy or pseudo-random sequence can be used to reorder an increasing sequence as exemplified by Sequence 2 or the low-discrepancy or pseudo-random sequence can be used directly as exemplified in Sequence 3 discussed later in this document. In one example, the low-discrepancy or pseudo-random sequence may be a base-5 Halton sequence.

It will be appreciated that S2has all the same pairs as S1but are reordered to reduce flickering. For S1, the short-term flicker severity is 1.1 but after reordering, the short term flicker severity for S2is 0.8 using the same numerical ranges as defined above in relation to the earlier example. The resulting activation of the electrical loads130of the electrical appliance100alters the period of the summed power from 50 time steps to 10 time steps as shown inFIG.6, thereby increasing the frequency of the consumed power of the electrical appliance100which in turn results in reducing human-perceivable flickering for any lights which are connected to the mains power source for the electrical appliance100.

In one form, the sequence of numbers is based on a multi-dimensional low-discrepancy sequence. For example, the low-discrepancy sequence is a base-n Halton sequence. However, in other instances, the sequence of tuples is based on stochastic or pseudo-random sequence. In one specific form, the first tuple element of each tuple is based on a selected element of the base-n Halton sequence and a subsequent tuple element of the respective tuple is offset from the first tuple element by an offset constant. The first tuple element is equal to a multiplier constant multiplied by the selected element of the base-n Halton sequence. Advantageously, using a mathematical sequence, such as the Halton sequence, can simplify the generation of the sequence of numbers thereby avoiding the difficult process of generating a lookup table, particularly when there may be a high number of electrical loads that may need to be simultaneously activated.

Exemplary operation of the electrical appliance100ofFIG.3using the method described in relation to the method200and utilizing a third switching technique based on the Halton sequence will herein be described with reference to the graphs depicted inFIGS.7,8A and8B. In particular, the sequence of tuples, S3, may be defined by Sequence 3 below:

where siis fifty multiplied by a base-2 Halton sequence that is rounded, as expressed in Sequence 4 below:

Applying the same numerical ranges and method as described in earlier examples of the electrical appliance100results in the same power distribution between the heaters and motor but provides a less regular pattern. In particular, a more pseudo-random pattern is provided as shown inFIG.7utilizing the sequence of tuples as defined by S3that can be considered less noticeable to a human user. The short term flicker severity for S3is 0.9 which is greater than S2but is still lower than the short term flicker severity of S1.

Whilst the specific ratio or percentages of the numerical ranges can be defined based on the one or more user inputs for operating the one or more electrical loads130, in one particular form, the numerical ranges stored in memory of the controller110may be dynamically scaled based on feedback signals received from the one or more sensors associated with the plurality of loads130. For example, the processor305can be configured to dynamically scale the plurality of numerical ranges based on one or more PID control variables generated by a PID controller160as discussed in relation to the embodiment depicted byFIG.5as discussed below. More specifically, this is exemplified inFIGS.8A and8B, whereFIG.8Ashows a control variable generated by the PID controller160which varies over time andFIG.8Bshows the power consumed by the plurality of electrical loads130over the same period of time and utilizing the sequence of tuples, S3, discussed above. In this particular example, the control variable is multiplied against the numerical ranges for the first to third numerical ranges. However, in this example, the remaining numerical range is not scaled by the control variable.

It will be appreciated that either the processor305of the controller110of the electrical appliance100can generate the sequence of tuples or a separate processing system can be used to generate the sequence of tuples, wherein the sequence of tuples is transferred to and stored in memory of the electrical appliance100. In a generic manner, the sequence of tuples, can be defined according to Sequence 5 provided below:

where the length of the tuple k corresponds to the maximum number of electrical loads130that can draw power without exceeding a predetermined maximum power threshold. Then at timestep M, let 0≤j=M mod N<N and a particular electrical load130a,130b, . . .130nis switched on if αl≤sj,r<blfor any r=0,1, . . . , k−1 and off otherwise. In the instance of multiple electrical loads130, αl, blare set such that bl≤αl+1. As such, k or fewer electrical loads130can draw power at any timestep thus preventing the total maximum power consumption exceeding the predetermined maximum power threshold.

In instances where the sequence of tuples has a length, L, and a numerical range Rl=[αl, bl=αl+L), the length of the numerical range is approximately proportional to the fraction of time that the load(s)130is/are switched on.

In instances where the sequence of tuples has a length, L, and a numerical range Rl=[αl, bl=αl+L) is approximately proportional to the power draw, several characteristics are in common which result in a reduction in human perceivable flicker from one or more lights sharing the same alternating power source105. In particular, if si,jis set by the processor305of the controller110or by another processing system such that for Sα={si,j∈[α, α+L)}, Sb={si,j∈[b, b+L)}, and α<b, L>0, where a is at or above the minimum si,jand b+L is at or below the maximum, si,jhas the following properties to minimize human perceivable flicker:1. card(Sα)≈card(Sb), where card denotes the cardinality or number of elements.2. For Iα={i:si,j∈Sα}, Ib={i:si,j∈Sb}, then the values in Iαand Ibare spread across 0 to N−1.

In the example above in relation to S1, this sequence of tuples satisfies property (1) but not property (2), while S2and S3satisfy both properties. There are many ways for the processor305of the appliance100or a separate processing system to set si,j, such as si,j=CH (ki+j,k), where C is a constant and H is a Halton sequence with base k. In another form, the processor305can be configured to use another common low-discrepancy sequence for either si,jor si,0with si,j=si,0+jD, for an appropriate value of D. In particular, S can be set to be a permutation of {iC}i=0N−1. For example, elements can be randomly permutated by the processor305until the elements satisfy a measurement of tuple spread, such as

As the controller110can be configured to sequentially progress through the sequence of tuples in order (i.e. sequential order), once the processor305processes the last tuple in the sequence, the processor305can return to the first tuple in the sequence of tuples. Thus, the activation signals that are generated can repeat during multiple iterations over the length of the sequence of tuples.

Referring toFIG.5there is shown a further schematic diagram of another example of the electrical appliance100which is configured to reduce or eliminate human-perceivable flicker. In particular, the controller110of the electrical appliance100is configured to generate the one or more activation signals to control switching of the high power electrical loads130for reducing voltage/current fluctuation in the associated power mains that can cause visible/observable flickering of lights which share the alternating power source105. Factors that have been identified as affecting flicker of lights that are observable (or visible) to a human include: (a) the sum of all artefacts caused by each respectively actively switched loads130cause combined artefacts to be introduced to (or present on) the mains power source or circuit; and (b) the artefacts introduced to (or present on) the mains power source or circuit can cause variation in light intensity that occur at a frequency that can be observed: and (c) a person cannot typically perceive visual events occurring at a frequency greater than a human-perceivable flicker frequency threshold. To address this issue, the electrical appliance100further includes a zero-crossing detector150. The controller110is configured to activate at least some of the one or more electrical loads130for a respective iteration in response receiving a zero-crossing detection signal indicative a zero-crossing event for the alternating power source105. By configuring the appliance100ofFIG.5to control zero crossing switching of high power loads130, such that short term flicker severity is less than or equal to 1.0, flicker observed from one or more lights connected to the same power source or circuit can be eliminated or at least reduced. The short-term flicker severity is an electric power quality index defined by the International Electrotechnical Commissioner (IEC), specifically International Standard IEC 61000-4-15. Avoiding frequency components which result in a short term flicker severity greater than 1.0, reduces or eliminates artefacts introduced to (or overlayed on) the power source or circuit—thereby a person would not observe flickering of lights connected (either internally or externally) to a related power circuit.

Referring more specifically toFIG.5where like components betweenFIGS.1and5use the same reference number, the electrical appliance100includes the plurality of electrical loads130. Each electrical load130a,130b, . . .130nis selectively powerable from the common alternating power source105. The electrical appliance100further includes the controller110including the processor305(seeFIG.3A) coupled to the memory309(seeFIG.3B). The memory309has stored therein the sequence of numbers and the plurality of numerical ranges, wherein each respective electrical load130a,130b, . . .130nfrom the plurality of electrical loads130is associated with a particular numerical range. The appliance100further includes a plurality of switches120. In a non-limiting example, the plurality of switches120can be provided in the form of a plurality of solid-state relays, such as a plurality of triodes for alternating current (TRIAC) and/or silicone controlled rectifiers (SCR). Each electrical switch120a.120b, . . . ,120nis electrically coupled to the alternating power source105, the controller110, and a respective electrical load130a,130b. . . ,130nfrom the plurality of electrical loads130.

The electrical appliance100ofFIG.5further includes a zero-crossing detector150which is electrically coupled to the alternating power source105and the controller110. The zero-crossing detector150is configured to detect a zero-crossing event of the alternating power source105and transfer a detection signal to the controller110. The controller110is configured to generate the one or more activation signals in response to receiving the zero-crossing detection signal. The zero-crossing detector150can be provided in the form of a zero crossing circuit which can be an electrical circuit that detects the input AC power source at phases close to zero degrees or 180 degrees, thereby enabling the controller to activate one or more of the switches120to provide each half cycle of the AC waveform to be selectively passed to or restricted from a selection of the plurality of electrical loads130. The purpose of the circuit is to start conducting while the voltage is crossing zero volts, such that the output voltage is in complete sine-wave half-cycles.

The electrical appliance100ofFIG.5further includes a one or more sensors for monitoring an operation of the electrical appliance. In some embodiments, one or more sensors can monitor one or more electrical loads130. In certain examples where one of the electrical loads130is a heating element, the associated sensor may be a temperature sensor which is configured to measure a temperature in a cooking chamber associated with heating element. In instances where one of the electrical loads130is a motor, the associated sensor may be a tachometer configured to measure revolutions performed by the motor.

The electrical appliance100ofFIG.5is particularly relevant to switching of high-powered loads130, such as high-powered resistive heating elements, because high power loads130result in current and/or voltage changes on the power line. In this embodiment, the appliance100is configured to control a temperature using the one or more heating elements. It will be appreciated that feedback control of temperature can be implemented using any conventional or known feedback methods including, but not limited to, On-Off Control, Proportional Control, Proportional-Derivative Control, Proportional-Integral Control, Proportional-Integral-Derivative Control (PID control), and Third-Order Control Systems. As shown inFIG.5, the electrical appliance100can further include a PID controller160which is electrically connected to the controller110and the plurality of sensors. However, it will be appreciated that the controller110can be configured to implement a PID control program and thus act as the PID controller without having a separate and dedicated hardware device for performing this task. In this embodiment, the PID controller160receives one or more sensor measurements from the one or more sensors. The PID controller160generates one or more control variables using the one or more sensor measurements. The one or more control variables are then transferred to the controller110. In one form, the processor305of the controller110is configured to dynamically scale the plurality of numerical ranges based on one or more PID control variables, wherein the one or more PID control variables are based on one or more input signals received by the processor305. The one or more user input devices discussed in relation to the electrical appliance100ofFIG.1which are also present in relation to the electrical appliance100ofFIG.5allow for the user to provide input to set one or more set points for one or more of the electrical loads130. The controller110can transfer an electrical signal indicative of each set point to the PID controller160for generating the one or more control variables.

It will be appreciated that a different sequence of numbers may be utilized by the appliance100depending upon the frequency of the AC power source (i.e. 50 Hz compared to 60 Hz).

It will be appreciated that it is also possible to modulate the switching signal so that the load130a,130b, . . .130nis switched on or off for full cycles rather than half cycles resulting from the zero-crossing detector150.

In certain aspects, the appliance100is a kitchen appliance and at least some of the high power electrical loads130may be a heating element of the kitchen appliance. However, it will be appreciated that the appliance100may include different types of electrical loads130. For example, an example electrical appliance100may include one or more heating elements and one or more motors. In one particular form, the kitchen appliance100may be a multi-function kitchen countertop appliance which can operate on electrical circuits used by other appliances and lights.

In one form, the plurality of electrical loads can include a larger electrical load having a maximum power consumption which is a multiple (i.e., an integer multiple) of a smaller maximum power consumption of each remaining smaller electrical load within the plurality of electrical loads. In this instance, the larger electrical load can be represented as multiple smaller electrical loads, wherein the method described above can be performed by the processor based on the larger electrical load being multiple smaller electrical loads, wherein each smaller electrical load has the smaller maximum power consumption.

In the description provided herein, numerous specific details are set forth. However, it is understood that embodiments of the invention may be practiced without these specific details. In other instances, well-known methods, structures and techniques have not been shown in detail in order not to obscure an understanding of this description. Although the invention has been described with reference to specific examples, it will be appreciated by those skilled in the art that the invention may be embodied in many other forms.

It will be appreciated that an embodiment of the invention can consist essentially of features disclosed herein. Alternatively, an embodiment of the invention can consist of features disclosed herein. The invention illustratively disclosed herein suitably may be practiced in the absence of any element which is not specifically disclosed herein.