Back to results
US 8,649,887 B2Granted
Methods, systems and apparatus for implementing dithering in motor drive system for controlling operation of an electric machine
AssigneeGM Global Technology Operations LLC
InventorsSteven E. Schulz, Michael J. Grimmer, Konstantin S. Majarov, William R. Cawthorne
Life of this patent
Estimating the term…
Abstract
Embodiments of the present disclosure relate to methods, systems and apparatus for implementing dithering in motor drive system for controlling operation of a multi-phase electric machine.
Claims19
A method, comprising:
- iteratively executing a slow-rate task processing loop that executes at a relatively slow-rate during a first task processing period (TTASK2), wherein the step of iteratively executing the slow-rate task processing loop comprises:
- computing, once during each first task processing period (TTASK2), an average switching frequency (fSW—avg) and a dither span frequency (fspan), wherein the dither span frequency (fspan) corresponds to an amount of frequency variation allowed when dithering switching frequency (fSW) to generate switching signals that are applied to an inverter module;
- iteratively executing an intermediate-rate task processing loop that executes at an intermediate-rate during a second task processing period (TTASK1), wherein the relatively slow-rate is less than the intermediate-rate,
- iteratively executing a fast-rate task processing loop that executes at a relatively fast-rate during a third task processing period (TTask0), wherein the intermediate-rate is less than the relatively fast-rate;
- wherein iteratively executing an intermediate-rate task processing loop, comprises:
- computing, at the intermediate-rate (TTASK1) during execution of intermediate-rate task processing loop:
- a pseudo-random number (Krand), and a new instantaneous switching frequency (fSW—new) based on the average switching frequency (fSW—avg), the dither span frequency (fspan) and a scaled version of the pseudo-random number (Krand);
- and
- regularly and consecutively re-initializing time-dependent parameter values used during the fast-rate task processing based on the new instantaneous switching frequency (fSW—new) so that all of the time-dependent parameter values used during the fast-rate task processing have been updated with correct values representative of the new instantaneous switching frequency (fSW—new),
- wherein iteratively executing the fast-rate task processing loop comprises:
- executing a pre-fast-rate task processing loop of the fast-rate task processing loop, wherein the pseudo-random number (Krand) and the new instantaneous switching frequency (fSW—new) are computed prior to the execution of the pre-fast-rate task processing loop;
- and
- executing a post-fast-rate task processing loop of the fast-rate task processing loop.
10 more elements
A system, comprising:
- a processor;
- a memory, coupled to the processor, the memory comprising a non-transitory processor-readable storage medium comprising a plurality of software modules executable by the processor, the plurality of software modules comprising:
- a slow-rate task processor module that is configured to iteratively execute slow-rate task processing during a slow-rate task processing loop that executes at a relatively slow-rate during a first task processing period (TTASK2), wherein the slow-rate task processor module comprises:
- a first computation module that computes, once during each first task processing period (TTASK2), an average switching frequency (fSW—avg) and a dither span frequency (fspan) that corresponds to an amount of frequency variation allowed when dithering switching frequency (fSW);
- an intermediate-rate task processor module that is configured to iteratively execute intermediate-rate task processing during an intermediate-rate task processing loop that executes at an intermediate-rate during a second task processing period (TTASK1), wherein the relatively slow-rate is less than the intermediate-rate;
- and
- a fast-rate task processor module that is configured to iteratively execute fast-rate task processing during a fast-rate task processing loop that executes at a relatively fast-rate during a third task processing period (TTask0), wherein the intermediate-rate is less than the relatively fast-rate, and
- wherein the intermediate-rate task processor module, comprises:
- a second computation module that is configured to compute, at the intermediate-rate (TTASK1) during execution of intermediate-rate task processing loop:
- a pseudo-random number (Krand), and a new instantaneous switching frequency (fSW—new) based on the average switching frequency (fSW—avg), the dither span frequency (fspan) and a scaled version of the pseudo-random number (Krand);
- and
- a parameter re-initialization module that regularly and consecutively re-initializes time-dependent parameter values that will be used by the fast-rate task processor, based on the new instantaneous switching frequency (fSW—new),
- wherein the fast-rate task processing loop comprises:
- a pre-fast-rate task processor module that is configured to execute pre-fast-rate task processing during a pre-fast-rate task processing loop of the fast-rate task processing loop, wherein the second computation module is configured to compute the pseudo-random number (Krand) and the new instantaneous switching frequency (fSW—new) prior to the execution of the pre-fast-rate task processing loop;
- and
- a post-fast-rate task processor module that is configured to execute post-fast-rate task processing during a post-fast-rate task processing loop of the fast-rate task processing loop.
13 more elements
Dependencies are inferred from the claim text.