Electric motor and motor control
09893660 ยท 2018-02-13
Assignee
Inventors
- Gregory A. Peterson (Elgin, IL, US)
- Michael P. Sullivan (Elgin, IL, US)
- Stephen J. Burton (Fenton, MO, US)
- Gary E. Horst (Manchester, MO)
- Keith I. Hoemann (Fenton, MO, US)
- Richard J. Fadler (St. Charles, MO, US)
Cpc classification
H02P1/42
ELECTRICITY
H02P27/04
ELECTRICITY
H02P6/10
ELECTRICITY
International classification
H02P27/04
ELECTRICITY
H02P6/10
ELECTRICITY
H02P1/42
ELECTRICITY
Abstract
Various embodiments of an electric motor and electronic control for an electric motor are disclosed. An exemplary electric motor comprises a single-phase brushless permanent magnet electric motor. In exemplary embodiments, the electronic motor control is configured to commutate an electric motor at a frequency other than line frequency, perform pulse width modulation, and drive the electric motor with a drive waveform that approximates the counter-electromotive force of the motor.
Claims
1. A motor system comprising: an electric motor comprising: a stator, a rotor, and a winding; a single-phase electric power supply circuit configured to receive an alternating current having a first frequency and provide electric power to the electric motor; and a motor controller comprising a processor and a memory, the motor controller being configured to control the single-phase electric power supply circuit, the processor being configured to execute a motor control software that (a) receives position data indicative of rotor position, and (b) based on the received position data, electronically commutates the electric motor at a second frequency not equal to the first frequency, the memory comprising a lookup table that stores a digital representation of a counter-electromotive force waveform associated with the electric motor.
2. The motor system of claim 1, further comprising a Hall sensor for determining an RPM of the electric motor.
3. The motor system of claim 1, wherein the processor is configured to start the electric motor in a predetermined start direction by executing a start-up sequence comprising driving the electric motor with an alignment pulse including a single polarity pulse width modulation burst.
4. The motor system of claim 1, wherein the processor is configured to generate a series of drive pulses according to pulse width modulation.
5. The motor system of claim 1, wherein the processor is configured to drive the motor in a ramp-up mode by applying a gradually increasing frequency of pulse width modulation pulses to the winding.
6. The motor system of claim 1, wherein the processor is configured to drive the motor in a normal run mode at a steady frequency of commutation.
7. The motor system of claim 1, wherein the processor is configured to electronically commutate the electric motor at the second frequency according to a selected speed profile.
8. The motor system of claim 1, wherein the processor is configured to check whether a DC bus voltage is outside an acceptable range and disable drive power to the electric motor if the DC bus voltage is outside the acceptable range.
9. The motor system of claim 1, wherein the digital representation of the counter-electromotive waveform comprises a triangle waveform approximation of the counter-electromotive force waveform.
10. The motor system of claim 1, wherein the second frequency is less than the first frequency.
11. The motor system of claim 1, wherein the second frequency is greater than the first frequency.
12. The motor system of claim 1, wherein the second frequency is less than 40 hertz.
13. A motor system comprising: an electric motor comprising: a stator, a rotor, and a winding; a single-phase electric power supply circuit configured to receive an alternating current having a first frequency and provide electric power to the electric motor; and a motor controller comprising a processor and a memory, the motor controller being configured to control the single-phase electric power supply circuit, the processor being configured to: start the electric motor in a predetermined start direction by executing a start-up sequence comprising driving the electric motor with an alignment pulse including a single polarity pulse width modulation burst; execute a motor control software that (a) receives position data indicative of rotor position, and (b) based on the received position data, electronically commutates the electric motor at a second frequency not equal to the first frequency; generate a series of drive pulses according to pulse width modulation for commutating the electric motor at the second frequency; electronically commutate the electric motor at the second frequency according to a selected speed profile; and check whether a DC bus voltage is outside an acceptable range and disable drive power to the electric motor if the DC bus voltage is outside the acceptable range; the memory comprising a lookup table that stores a digital representation of a counter-electromotive force waveform associated with the electric motor, the digital representation comprising a triangle waveform approximation of the counter-electromotive force waveform.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1)
(2)
(3)
(4)
(5)
(6)
(7)
(8)
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
(9)
(10) In an exemplary embodiment, Main Microcontroller 101 stores a BEMF (Back ElectroMotive Force) look-up table that contains a digital representation of a counter-electromotive force associated with the electric motor. The BEMF look-up table may be generated by manually spinning the shaft of the motor and recording the resulting BEMF waveform. This can be done using a commercially available oscilloscope that is capable of recording data to a computer-readable medium such as a USB flash drive. The BEMF look-up table contains n data points. Each data point comprises a rotor position index and a corresponding dutycycle percentage value. In an exemplary embodiment, the BEMF look-up table comprises 256 data points. An exemplary BEMF look-up table comprising 64 data points is shown in
(11)
(12) At stage 205 the system determines the appropriate stage for motor operation. If the system is waiting for a command to run the electric motor, then flow proceeds to Drive Init (wait) stage 207. If the system has received a command to run the electric motor, and the electric motor is currently stopped, then flow proceeds to Alignment Pulse stage 209. If the system has already performed the Alignment Pulse stage 209, then flow proceeds to Prepare for Motor Ramp stage 211. If the system has already performed the Motor Ramp stages 211 and 215 for the current speed setpoint, then flow proceeds to Prepare for Normal Run stage 213. In an exemplary embodiment, the system will execute Motor Ramp stages 211 and 215 whenever the speed setpoint increases.
(13) At Drive Init stage 207 the system waits for further instructions.
(14) At Alignment Pulse stage 209, the system delivers an alignment pulse to the electric motor. The alignment pulse may comprise a single-polarity pulse width modulation (PWM) burst. An exemplary alignment pulse 507 is shown in
(15) At Prepare for Motor Ramp stage 211, the system calculates the ramp-up RPM and voltage. This calculation depends on the previously selected speed profile.
(16) At Motor Ramp stage 215 the system delivers a ramp-up drive waveform having a gradually increasing frequency of commutation. The ramp-up drive waveform may comprise a plurality of pulse width modulation (PWM) bursts delivered with alternating polarity and in gradually increasing frequency. An exemplary ramp-up drive waveform 509 is shown in
(17) At Prepare for Normal Run stage 213 the system calculates the voltage based on the selected speed profile and the measured speed of the motor. In an exemplary embodiment, the system employs a PID (Proportional, Integral, Derivative) control approach, as is well known in the art. The selected speed profile determines the setpoint for the proportional, integral, derivative (PID) subroutine. In such an embodiment, the system calculates a speed error as the difference between the speed setpoint from the selected speed profile and the measured motor speed. The speed error is used as an input to a PID control routine that calculates the desired drive voltage amplitude. The PID constants may be selected by the motor manufacturer depending on the application.
(18) At Normal Run stage 217 the system delivers a normal run drive waveform having a steady frequency of commutation. An exemplary run drive waveform 511 is shown in
(19) At stage 221 the system checks for loss of power of the AC line-in. If power has been lost then flow proceeds to stage 223. If power is within an acceptable range, then flow proceeds to stage 225.
(20) At stage 223 the system checks the DC bus voltage. If the DC bus voltage is outside an acceptable range than flow proceeds to step 225. If the DC bus voltage is acceptable then flow proceeds to stage 205.
(21) At stage 225 the system registers a fault condition and disables the drive power to the electric motor.
(22)
(23) As is well known in the art, an Advance Angle can be calculated based on the determined shaft RPM. Advance Angle increases with increasing RPM and is used to overcome electric motor internal impedance and counter-electromotive force (BEMF) which increases with RPM.
(24) At stage 313 the system sets the waveform angle (Theta) to zero degrees plus an Advance Angle, as shown in Equation (1).
Theta=0+Advance_AngleEquation (1):
(25) At stage 317 the system sets the waveform angle (Theta) to 180 degrees plus an Advance Angle, as shown in Equation (2).
Theta=180+Advance_AngleEquation (2):
(26) At stage 309 the system sets the waveform angle equal to the previous waveform angle plus an estimated rotation of the rotor since the previous iteration. The estimated rotation of the rotor may be calculated based on the motor speed setpoint, as shown in Equation (3).
delta-Theta setpoint_RPM/(360*delta-Time)Equation (3):
(27) The new waveform angle (Theta) can then be calculated as shown in Equation (4).
Theta=Theta_previous+delta-ThetaEquation (4):
(28) At stage 319 the system uses the calculated waveform angle (Theta) as an index into the drive waveform look-up table to retrieve a table value. As noted above, the drive waveform look-up table may be a BEMF look-up table having n data points. In an exemplary embodiment, the 360 degrees of rotor position are evenly mapped to the n data points of the BEMF look-up table. For example, if the BEMF look-up table comprises 256 data points, then the 360 degrees of rotation of the rotor would be evenly distributed to 256 index values.
(29) At stage 321 the system uses the retrieved table value to determine a PWM duty cycle for the drive waveform. Thus, the result of the drive waveform generation interrupt service routine is a single PWM duty-cycle. At stage 323 the interrupt service routine ends. In an exemplary embodiment, the interrupt service routine is executed at a frequency of 16 kHz.
(30)
(31)
(32)
(33)
(34)
(35) (PWM) pulses 501 and 503 are designed to approximate the BEMF waveform 505. As can be seen, the middle of PWM pulses 501 and 503 coincides with the maximum and minimum of the BEMF waveform, respectively. Thus, the PWM waveform approximates the counter-electromotive force of the motor as described above.
(36)
(37)
(38)
(39) While specific embodiments of the invention have been described in detail, it will be appreciated by those skilled in the art that various modifications and alternatives to those details could be developed in light of the overall teachings of the disclosure. Accordingly, the particular arrangements disclosed are meant to be illustrative only and not limiting as to the scope of invention which is to be given the full breadth of the claims appended and any and all equivalents thereof. It should be understood that the embodiments disclosed herein include any and all combinations of features as disclosed herein and/or described in any of the dependent claims.