Systems and methods for calibrating BLDC motors
10516353 ยท 2019-12-24
Assignee
Inventors
- Luis Rivera (Dumont, NJ, US)
- Michael Campagna (Woodcliff Lake, NJ, US)
- Benjamin Slivka (Hillsdale, NJ, US)
Cpc classification
E06B9/322
FIXED CONSTRUCTIONS
H02P6/153
ELECTRICITY
E06B9/68
FIXED CONSTRUCTIONS
International classification
H02P23/12
ELECTRICITY
E06B9/322
FIXED CONSTRUCTIONS
Abstract
A motor calibration system and method for a motor having a rotor, a stator, and at least one phase. The system further comprises a controller and a position detector adapted to detect a position of the rotor with respect to the stator. Wherein the controller is adapted to perform a calibration sequence to calibrate to motor by driving at least one motor phase with a motor control signal at a predetermined maximum amplitude value in a first direction with substantially no load applied on the motor, receiving a feedback signal from the at least one position detector, and determining a first calibration angle shift by measuring a difference between at least the motor control signal and the feedback signal of the at least one motor phase. The controller accounts for the first calibration angle shift when driving the motor in the first direction during normal operation.
Claims
1. A motor calibration system comprising: a motor having a rotor and a stator and comprising at least one phase; at least one position detector adapted to detect a position of the rotor with respect to the stator and generate a feedback signal; and a controller adapted to perform a calibration sequence to calibrate to motor, wherein for at least one motor phase during the calibration sequence the controller is adapted to: drive the motor phase with a motor control signal at a predetermined maximum amplitude value in a first direction with substantially no load applied on the motor; receive a feedback signal from the at least one position detector; and determine a first calibration angle shift by measuring a difference between at least the motor control signal and the feedback signal of the at least one motor phase; wherein during normal operation the controller accounts for the first calibration angle shift when driving the motor in the first direction; wherein to determine the first calibration angle shift, the controller is adapted to: determine a plurality of angle shift sample values from at least the motor control signal and the feedback signal; and average the plurality of angle shift sample values to determine the first calibration angle shift.
2. The motor control system of claim 1, wherein during normal operation the controller drives the at least one motor phase at or below the predetermined maximum amplitude value.
3. The motor control system of claim 1, wherein the predetermined maximum amplitude value comprises a maximum amplitude rating of the motor.
4. The motor control system of claim 1, wherein the first calibration angle shift is an estimated measurement of the at least one position detector misplacement with respect to the stator.
5. The motor control system of claim 1, wherein the motor control signal comprises at least one of a sinusoidal signal, a trapezoidal signal, or any combinations thereof.
6. The motor control system of claim 1, wherein the calibration sequence is performed prior to attaching the motor to the load that is meant to be driven by the motor during normal operation.
7. The motor control system of claim 1, wherein the motor comprises a clutch, and wherein the calibration sequence is performed while the load is attached to the motor and while the motor causes the load to be lowered in a downward direction.
8. The motor control system of claim 1, wherein the motor comprises a clutch, and wherein the calibration sequence is performed while the load is attached to the motor and while the load is substantially manipulated via gravitational forces in the first direction.
9. The motor control system of claim 1, wherein to determine the first calibration angle shift, the controller is further adapted to validate each of the plurality of angle shift sample values.
10. The motor control system of claim 9, wherein the controller validates each of the plurality of angle shift sample values by comparing each of the plurality of angle shift sample values to an average value.
11. The motor control system of claim 9, wherein the controller validates each of the plurality of angle shift sample values by comparing each of the plurality of angle shift sample values to a predetermined angle shift threshold value.
12. The motor control system of claim 1, wherein the controller drives the at least one motor phase with the motor control signal until the controller determines a predetermined number of plurality of angle shift sample values.
13. The motor control system of claim 1, wherein for at least one motor phase during the calibration sequence the controller is further adapted to: drive the motor phase with a motor control signal at a predetermined maximum amplitude value in a second direction with substantially no load applied on the motor; receive a feedback signal from the at least one position detector for the second direction; determine a second calibration angle shift by measuring a difference between at least the motor control signal and the feedback signal of the at least one motor phase for the second direction; wherein during normal operation the controller accounts for the second calibration angle shift when driving the motor in the second direction.
14. The motor control system of claim 1, wherein the controller drives the motor phase with the motor control signal for a predetermined amount of time.
15. The motor control system of claim 1, wherein the calibration sequence is initiated by at least one of a user interface, a startup of the controller, a power up of the controller, and any combinations thereof.
16. The motor control system of claim 1, wherein the at least one position detector comprises at least one selected from a position sensor, a Hall Effect sensor, a magnetic position sensor, a resolver, an encoder, an optical encoder, a magnetic encoder, a current sense circuit, a voltage sense circuit, a back electromotive force (EMF) sense circuit, and any combinations thereof.
17. The motor control system of claim 1, wherein during the calibration sequence the controller is further adapted to calculate a second calibration angle shift for a second direction from the determined first calibration angle shift, wherein the second direction is opposite to the first direction, and wherein during normal operation the controller accounts for the second calibration angle shift when driving the motor in the second direction.
18. The motor control system of claim 17, wherein the controller calculates the second calibration angle shift by subtracting the first calibration angle shift from a predetermined angle shift sum constant.
19. The motor control system of claim 18, wherein the controller calculates the second calibration angle shift by first applying a circle transformation function to the first calibration angle shift.
20. The motor control system of claim 17, wherein the predetermined angle shift sum constant is determined by testing the motor.
21. The motor control system of claim 17, wherein the angle shift sum constant is predetermined prior to attaching the motor to the load, and wherein for at least one motor phase when determining the predetermined angle shift sum constant the controller is adapted to: drive the motor phase with a motor control signal at a predetermined maximum amplitude value in a first direction and in a second direction; for each of the first and second directions, receive a feedback signal from the at least one position detector; determine a first angle shift by measuring a difference between at least the motor control signal and the feedback signal of the at least one motor phase that identifies an event for the first direction; determine a second angle shift by measuring a difference between at least the motor control signal and the feedback signal of the at least one motor phase that identifies the event for the second direction; and sum the first angle shift and the second angle shift to determine the angle shift sum constant.
22. The motor control system of claim 21, wherein when determining the predetermined angle shift sum constant the controller is further adapted to: determine a plurality of first angle shift sample values from at least the motor control signal and the feedback signal that identify at least one event for the first direction; determine a plurality of corresponding second angle shift sample values from at least the motor control signal and the feedback signal that identify the at least one event for the second direction; sum corresponding pairs of first angle shift sample values and second angle shift sample values that identify the same events; and average the plurality of summed corresponding pairs of angle shift values to the determine the first calibration angle shift.
23. The motor control system of claim 1, wherein for a multi-phase motor, the controller determines the first feedback signal by averaging measurements between respective motor control signals and feedback signals of each phase.
24. A motorized window treatment system comprising: a shade material; a motor having a rotor and a stator and comprising at least one phase, wherein the motor is operably connected to the shade material via a clutch, wherein the motor is adapted to operate in a first direction to lower the shade material and in a second direction to raise the shade material; at least one position detector adapted to detect a position of the rotor with respect to the stator and generate a feedback signal; and a controller adapted to perform a calibration sequence to calibrate to motor, wherein for at least one motor phase during the calibration sequence the controller is adapted to: drive the motor phase with a motor control signal at a predetermined maximum amplitude value in the first direction; receive a feedback signal from the at least one position detector; determine a first calibration angle shift by measuring a difference between at least the motor control signal and the feedback signal; and calculate a second calibration angle shift for the second direction from the determined first calibration angle shift; wherein during normal operation the controller accounts for the first calibration angle shift when driving the motor in the first direction and for the second calibration angle shift when driving the motor in the second direction.
25. The motor control system of claim 24, wherein the controller calculates the second calibration angle shift by subtracting the first calibration angle shift from a predetermined angle shift sum constant.
26. The motor control system of claim 24, wherein the controller calculates the second calibration angle shift by first applying a circle transformation function to the first calibration angle shift.
27. The motor control system of claim 24, wherein the controller initiates the calibration sequence after an upper limit and a lower limit have been set or reset.
28. The motor control system of claim 24, wherein prior to initiating the calibration sequence, the controller drives the motor to raise the shade material to an upper limit.
29. The motor control system of claim 28, wherein the controller drives the motor according to the motor control signal until the shade material is lowered to a lower limit.
30. The motor control system of claim 24, wherein to determine the first calibration angle shift, the controller is adapted to: determine a plurality of angle shift sample values from at least the motor control signal and the feedback signal; and average the plurality of angle shift sample values to determine the first calibration angle shift.
31. The motor control system of claim 30, wherein the controller drives the motor according to the motor control signal until the shade material is lowered to a lower limit or until the controller determines a predetermined number of plurality of angle shift sample values, whichever occurs first.
32. A method for calibrating a motor comprising the steps of: driving at least one motor phase of the motor with a motor control signal at a predetermined maximum amplitude value in a first direction with substantially no load applied on the motor; receiving a feedback signal from at least one position detector indicating a position of a rotor with respect to a stator of the motor; and determining a first calibration angle shift by measuring a difference between at least the motor control signal and the feedback signal of the at least one motor phase; wherein during normal operation the controller accounts for the first calibration angle shift when driving the motor in the first direction; wherein to determine the first calibration angle shift, the controller is adapted to: determining a plurality of angle shift sample values from at least the motor control signal and the feedback signal; and averaging the plurality of angle shift sample values to determine the first calibration angle shift.
33. A method for calibrating a motor comprising the steps of: calibrating the motor in a first direction by: driving at least one motor phase of the motor with a first motor control signal at a predetermined maximum amplitude value in the first direction with substantially no load applied on the motor; receiving a first feedback signal from at least one position detector indicating a position of a rotor with respect to a stator of the motor for the first direction; and determining a first calibration angle shift by measuring a difference between at least the first motor control signal and the first feedback signal of the at least one motor phase; calibrating the motor in a second direction by: driving the at least one motor phase of the motor with a second motor control signal at the predetermined maximum amplitude value in the second direction with substantially no load applied on the motor; receiving a second feedback signal from at least one position detector indicating a position of the rotor with respect to the stator of the motor for the second direction; and determining a second calibration angle shift by measuring a difference between at least the second motor control signal and the second feedback signal of the at least one motor phase; wherein during normal operation the controller accounts for the first calibration angle shift when driving the motor in the first direction and for the second calibration angle shift when driving the motor in the second direction.
34. A method for calibrating a motor comprising the steps of: driving at least one motor phase of the motor with a motor control signal at a predetermined maximum amplitude value in a first direction with substantially no load applied on the motor; receiving a feedback signal from at least one position detector indicating a position of a rotor with respect to a stator of the motor; determining a first calibration angle shift by measuring a difference between at least the motor control signal and the feedback signal of the at least one motor phase; and calculating a second calibration angle shift for a second direction from the determined first calibration angle shift, wherein the second direction is opposite to the first direction; wherein during normal operation the controller accounts for the first calibration angle shift when driving the motor in the first direction and for the second calibration angle shift when driving the motor in the second direction.
35. The motor control system of claim 34, wherein the controller calculates the second calibration angle shift by subtracting the first calibration angle shift from a predetermined angle shift sum constant.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1) The above and other objects and features of the embodiments will become apparent and more readily appreciated from the following description of the embodiments with reference to the following figures. Different aspects of the embodiments are illustrated in reference figures of the drawings. It is intended that the embodiments and figures disclosed herein are to be considered to be illustrative rather than limiting. The components in the drawings are not necessarily drawn to scale, emphasis instead being placed upon clearly illustrating the principles of the aspects of the embodiments. In the drawings, like reference numerals designate corresponding parts throughout the several views.
BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
DETAILED DESCRIPTION OF THE INVENTION
(11) The embodiments are described more fully hereinafter with reference to the accompanying drawings, in which embodiments of the inventive concept are shown. In the drawings, the size and relative sizes of layers and regions may be exaggerated for clarity. Like numbers refer to like elements throughout. The embodiments may, however, be embodied in many different forms and should not be construed as limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the inventive concept to those skilled in the art. The scope of the embodiments is therefore defined by the appended claims. The detailed description that follows is written from the point of view of a control systems company, so it is to be understood that generally the concepts discussed herein are applicable to various subsystems and not limited to only a particular controlled device or class of devices.
(12) Reference throughout the specification to one embodiment or an embodiment means that a particular feature, structure, or characteristic described in connection with an embodiment is included in at least one embodiment of the embodiments. Thus, the appearance of the phrases in one embodiment on in an embodiment in various places throughout the specification is not necessarily referring to the same embodiment. Further, the particular feature, structures, or characteristics may be combined in any suitable manner in one or more embodiments.
(13) List of Reference Numbers for the Elements in the Drawings in Numerical Order
(14) The following is a list of the major elements in the drawings in numerical order.
(15) TABLE-US-00001 100 Motor System 101 Motor 102 Rotor 103 Driving Shaft 104 Permanent Magnet 105a-c Phase Windings 106a-c Hall Effect Sensors 107 Stator 108 Crossing Point 110 Controller 111 Motor Control Signal 112 Feedback Signal 120 Central Processing Unit (CPU) 122 Communication Interface 124 Memory 126 User Interface 128 Power Supply 200 Three Phase Sinusoidal Waveform 201 First Phase Sinusoidal Wave 202 Second Phase Sinusoidal Wave 203 Third Phase Sinusoidal Wave 301 Sinusoidal Waveform for One of the Phases of the Motor Control Signal 302 Waveform of a Feedback Signal with No Load 303 Waveform of a Feedback Signal with About Half the Maximum Load 304 Waveform of a Feedback Signal with Maximum Load 306 Angle Offset 400 Angle Shift Compensation Motor System 401 Motor 402 Position Detector 403 Feedback Signal Block 404 Speed Regulator 405 Output Signal Generator 406 Power Driver 407 Reference Speed 408 Angle Shift Controller 409 Amplitude Regulator 410 Controller 411 Motor Control Signal 412 Feedback Signal 413 Error Detector 414 Angle Shift 415 Motor Control Signal Angle 416 Feedback Signal Angle 500 Flowchart That Illustrates One Method of Calibrating the Motor System 502-520 Steps of Flowchart 500 550 Flowchart That Illustrates Another Method of Calibrating the Motor System 552-566 Steps of Flowchart 550 600 Flowchart That Illustrates the Angle Shift Compensation Method for Controlling the Motor System 602-622 Steps of Flowchart 600 700 Flowchart That Illustrates a Motor Startup Sequence for Each Motor Phase 702-712 Steps of Flowchart 700 800 Three Phase Sinusoidal Waveform 801 First Phase Sinusoidal Wave 802 Second Phase Sinusoidal Wave 803 Third Phase Sinusoidal Wave 806 Predetermined Time Period (T) 809 Initial Amplitude (A.sub.I) 810 Maximum Amplitude (A.sub.MAX) 811 First Startup Point in First Phase Sinusoidal Wave 812 Second Startup Point in Second Phase Sinusoidal Wave 813 Third Startup Point in Third Phase Sinusoidal Wave 815 Startup Time 821 Ramping Curve for the First Phase 822 Ramping Curve for the Second Phase 823 Ramping Curve for the Third Phase 825 First Startup Amplitude (A.sub.S1) 826 Second Startup Amplitude (A.sub.S2) 827 Third Startup Amplitude (A.sub.S3)
List of Acronyms Used in the Specification in Alphabetical Order
(16) The following is a list of the acronyms used in the specification in alphabetical order.
(17) TABLE-US-00002 Angle Shift .sub.C Calibration Angle Shift .sub.C1 First Calibration Angle Shift .sub.C2 Second Calibration Angle Shift .sub.N Determined Angle Shift .sub.N+1 New Measured Angle Shift .sub.MIN Minimum Angle Shift .sub.TH Angle Shift Threshold A.sub.I Initial Amplitude A.sub.S Startup Amplitude A.sub.MAX Maximum Amplitude AC Alternating Current ASIC Application Specific Integrated Circuit BLDC Brushless Direct Current CPU Central Processing Unit DC Direct Current EEPROM Electrically Erasable Programmable Read-Only Memory IR Infrared K Predetermined Angle Shift Sum Constant LED Light Emitting Diode ms Milliseconds N North PI Proportional-Integral PID Proportional-Integral-Derivative PoE Power over Ethernet PWM Pulse Width Modulation RAM Random-Access Memory RF Radio Frequency ROM Read-Only Memory RPM Revolutions per Minute RPS Revolutions per Second S South T Time Period VFD Variable-Frequency Drive W.sub.N Weight of the Determined Angle Shift W.sub.N+1 Weight of the New Measured Angle Shift
Mode(S) for Carrying Out the Invention
(18) For 40 years Crestron Electronics, Inc. has been the world's leading manufacturer of advanced control and automation systems, innovating technology to simplify and enhance modern lifestyles and businesses. Crestron designs, manufactures, and offers for sale integrated solutions to control audio, video, computer, and environmental systems. In addition, the devices and systems offered by Crestron streamlines technology, improving the quality of life in commercial buildings, universities, hotels, hospitals, and homes, among other locations. Accordingly, the systems, methods, and modes of the aspects of the embodiments described herein can be manufactured by Crestron Electronics, Inc., located in Rockleigh, N.J.
(19) The different aspects of the embodiments described herein pertain to the context of motor calibration and control, but is not limited thereto, except as may be set forth expressly in the appended claims. According to one embodiment, the present embodiments provide for Brushless Direct Current (BLDC) motor calibration to provide efficient operation of the motor. According to further embodiments, the present embodiments provide for motor control that achieves efficient motion and reduced noise without effecting the frequency or speed of the motor. The present embodiments minimize the irregularities of the control algorithm by making the native motor control variables as independent from the motion feedback as possible and not using special mathematical variable transformation methods. While the embodiments described herein are explained by referencing a Brushless Direct Current (BLDC) motor, it should be noted that the motor control algorithms discussed herein may be applied to any type of sinusoidally driven motors, including but not limited to brushed direct current (DC) motors, outrunner BLDC motors, alternating current (AC) motors, variable-frequency driven (VFD) motors, or the like. In addition, while a three-phased motor is illustrated and described herein, the motor control algorithms discussed herein may be applied to a motor with any number of one or more phases. Accordingly, the motor control signal illustrated and discussed herein may comprise one or more sinusoidal waves corresponding to the number of phases of the motor. In addition, while the calibration and control methods described below with reference to roller shades, the calibration and control methods may be used for other application, including for other types of motorized window treatment (such as inverted rollers, Roman shades, Austrian shades, pleated shades, blinds, shutters, skylight shades, garage doors, or the like), or any other type of motorized systems.
(20) Referring to
(21) The motor system 100 further comprises at least one position detector adapted to detect or determine the position of the rotor 102 in relation to the stators 105a-c and provide a feedback signal 112 to the controller 110. For illustrative purposes, as shown in
(22) The controller 110 may comprise at least one central processing unit (CPU) 120 that can represent one or more microprocessors, general purpose microprocessors, special purpose microprocessors, application specific integrated circuits (ASICs), or any combinations thereof. The controller 110 can provide processing capability to provide processing for one or more of the techniques and functions described herein. The controller 110 can further include an internal memory 124, or alternatively an external memory, communicably coupled to the CPU 120. Memory 124 can store data and executable code, such as volatile memory, nonvolatile memory, read-only memory (ROM), random-access memory (RAM), electrically erasable programmable read-only memory (EEPROM), flash memory, a hard disk drive, or other types of memory.
(23) The controller 110 may comprise a power supply 128 configured for providing power to the various components of the controller 110. The power supply 128 may be connected to a voltage line for receiving an electric alternating current (AC) power signal from an AC mains power source. The power supply 128 may comprise circuit components configured for converting the incoming AC power signal to a direct current (DC) power signal. In another embodiment, the controller 110 may be connected to an external power supply for receiving a DC power signal.
(24) In an embodiment, the controller 110 may comprise a user interface 126, such one or more buttons, configured for enabling calibration and control of the motor 101 by receiving control commands directly from a user. The user interface 126 may further comprise one or more light indicators, such as light emitting diodes (LED), to provide feedback to the status of the motor 101.
(25) In another embodiment, the controller 110 further comprises a communication interface 122, such as a wired or a wireless interface, configured for receiving control commands from an external control point. The wireless interface may be configured for bidirectional wireless communication with other electronic devices, such as the external control point, over a wireless network. The wireless network interface may comprise a radio frequency (RF) transceiver configured for bidirectional wireless communication using wireless communication protocols, such as the ZigBee protocol, the infiNET EX protocol from Crestron Electronics, Inc. of Rockleigh, N.J., or the like. In another embodiment, the wireless interface may in addition or alternately comprise an infrared (IR) interface. The wired interface may be configured for bidirectional communication with other devices over a wired network. The wired interface can represent, for example, an Ethernet or a Cresnet port. Cresnet provides a network wiring solution for Crestron keypads, lighting controls, thermostats, and other devices. In various aspects of the embodiments, the communication interface 122 and/or power supply 128 can comprise a Power over Ethernet (PoE) interface. The controller 110 can receive both the electric power signal and the control input from a network through the PoE interface.
(26) The controller 110 may output a motor control signal 111 to the motor 101 comprising at least one sinusoidal wave, each configured to energize a corresponding phase of the motor. For a three-phase motor, the motor control signal 111 may comprise a three phase sinusoidal waveform 200 shown in
(27) Beneficially, once a speed is chosen, the controller 110 does not alter the frequency of the motor control signal 111, or the motor speed, based on the feedback of the position detector, such as Hall Effect sensors 106a-c. Locking the frequency in place effectively minimizes the noises caused by the speed compensation algorithms. According to the present embodiments, the motor control signal 111 is synthesized from the controller 110 using PWM and corrected according to outputs of the angle shift compensation algorithm of the present embodiments, as described in greater detail below.
(28) Referring to
(29) When driving a motor 101 without speed compensation, as the load on the motor 101 increases, and thereby the torque increases, there is an increasing drift in the angle between the motor control signal 301 and the feedback signal (when the input power is kept constant). In a roller shade application, for example, initially, more torque is required to lift the entire weight of a fully unraveled shade material and the hem bar. As the roller tube turns, the shade material wraps around the roller tube, resulting in less shade material hanging from the roller tube, and as a result less torque is required to lift the weight of the remaining shade material. For example, waveform 303 represents a feedback signal from the position detector when there is about half the maximum load exerted on the motor 101. The drift in the angle increases as more load is exerted on the motor 101, as shown by waveform 304 representing a feedback signal from the position detector when the maximum load is exerted on the motor 101.
(30) Controlling the amplitude of the motor control signal 301 while maintaining a constant torque output can adjust the angle between the sinusoidal control signal 301 and the feedback signal to maximize efficiency. Without amplitude control, while the motor runs very quietly, it runs inefficiently because it needs to be driven at its maximum power. If the angle is too shallow, it meant that the motor is being overdriven. On the other hand, if the angle was too wide, the motor can stall.
(31) As such, according to the present embodiments, the frequency of the motor control signal 111 is maintained fixed to keep a constant speed, while the amplitude of the motor control signal 111 is dynamically updated in order to keep the angle shift between the motor control signal 111 and the feedback signal 112 at an angle shift threshold (.sub.TH). As such, the angle shift compensation algorithm of the present embodiments is more loosely coupled to the position feedback readings. Doing so will maximize the energy efficiency of the motor 101, while minimizing the sudden speed changes caused due to the typical speed feedback compensation during any perturbing torque or any other non-linearity in the motion variables that can disrupt the control system. Locked frequency enables constant speed control not effected by external forces as well as quiet and smooth motor operation. Proper amplitude control on the sinusoidal control signal will keep a constant speed, avoid rotor lag and thereby stall conditions, and keep the commutation of the motor 101 as close as possible to an efficient commutation. Another advantage is that the motor 101 can be driven at a very slow speed, for example at speeds below 10 RPM, while maintaining high efficiency and substantially no noise.
(32) According to an embodiment, the angle shift between the motor control signal 111 and the feedback signal 112 is maintained at an angle shift threshold (.sub.TH). According to one embodiment the angle shift threshold (.sub.TH) may be the sum of a predetermined minimum angle shift (.sub.MIN) and a calibration angle shift (.sub.C), which takes into account position detection errors, such as Hall Effect sensor misplacement, such as one shown by angle shift 306 in
(33) According to another embodiment, the angle shift threshold (.sub.TH) may be a predetermined value stored by the motor, or may be a value determined according to other calibration methods. In addition, instead of using the same angle shift threshold (.sub.TH) for all of the position detectors, there can also be a separate angle shift threshold (.sub.TH) for each position detector. Regardless of how it is determined, the angle shift threshold (.sub.TH) is the angle shift between the motor control signal 111 and the feedback signal 112 the controller 110 will try to maintain by raising or lowering the amplitude of the motor control signal 111.
(34)
(35) The amplitude regulator 409 regulates the amplitude for the motor control signal 411 at which to drive the motor 401. According to an embodiment, at startup, the amplitude for the motor control signal 411 is set to a maximum or high amplitude value (A.sub.MAX). The output signal generator 405 generates the motor control signal 411 to drive the motor 401 at the fixed frequency set by the speed regulator 404 and the amplitude set by the amplitude regulator 409. The output signal generator 405 also feeds the motor control signal angle 415 of the motor control signal 411 to an error detector 413. The power driver 406 uses the motor control signal 411 from the output signal generator 405 to generate current to excite the stator coils to drive the motor 401.
(36) As the rotor of the motor 401 rotates, at least one position detector 402, such as Hall Effect sensors, determines the position of the rotor in relation to the stator poles and outputs a feedback signal 412. The feedback signal block 403 turns the feedback signal 412 into a sinusoidal wave signal, from which the feedback signal angle 416 of the rotor position in relation to the stator poles is determined. The error detector 413 receives the feedback signal angle 416 from the position detector 402 as well as the motor control signal angle 415 of the motor control signal 411 from the output signal generator 405. The error detector 413 determines the difference between these angles 416 and 415 to detect the angle shift 414 between the motor control signal 411 and the feedback signal 412.
(37) According to an embodiment, the controller 410 may be constantly measuring the difference between the angle 415 of the motor control signal 411 and the angle 416 of the feedback signal 412 and may determine the angle shift 414 over time using a weighted average filter. According to an embodiment, the controller 410 may use the following formula to determine the new angle shift:
(38)
(39) where, .sub.N is the determined angle shift, .sub.N+1 is the new measured angle shift, W.sub.N is the weight of the determined angle shift, and W.sub.N+1 is the weight of the new measured angle shift.
The weight of the determined angle shift (W.sub.N) may for example comprise 3 and the weight of the new measured angle shift (W.sub.N+1) may for example comprise 4. Using these weights, every new estimation of the measured angle shift (.sub.N+1) has a weight of 0.25, where the determined angle shift (.sub.N) keeps a weight of 0.75. Other weight values may also be chosen to give more or less weight to the new measured angle shift (.sub.N+1) or the determined angle shift (.sub.N). Using a weighted average estimation makes sure that an instantaneous measured angle shift outlier does not detriment the angle shift determination. As an example, for a constant speed output for a pole pair of a 3 phase motor 401, this update tends to be very constant over 1/24 the time of a full revolution. Meaning that if the motor 401 is set to rotate at 1000 RPM it will yield to 16.6 revolutions per second (RPS), and therefore the position detector 402 will be triggering an event every 2.5 milliseconds (ms), for a given angle shift value, it will take four of these position detected events for the angle shift value (.sub.N) to converge to the new value, which is about 10 ms in this case.
(40) The angle shift controller 408 determines the amplitude by which to adjust the motor control signal 411 based on the detected angle shift 414 to minimize the angle shift 414 between the motor control signal 411 and the feedback signal 412. The angle shift controller 408 essentially adjusts the amplitude in proportion to the angle shift 414 until the angle shift 414 reaches an angle shift threshold (.sub.TH). The compensation algorithm by which the angle shift controller 408 may excite or relax the amplitude may comprise a linear algorithm, a non-linear algorithm, a proportional-Integral (PI) algorithm, a proportional-integral-derivative (PID) algorithm, a fuzzy logic algorithm, other similar algorithms, or any combinations thereof. The relationship between the angle shift and amplitude will vary between motor to motor. The factors considered will be dependent and tuned to the motor system being controlled based on the system parameters. The determined amplitude is fed to the amplitude regulator 409 to regulate the amplitude of the motor control signal 411.
(41) After startup, because initially the motor 401 is driven at the maximum amplitude (A.sub.MAX), the amplitude of the motor control signal 411 would be relaxed back until the angle shift 414 between the motor control signal 411 and the feedback signal 412 reaches the angle shift threshold (.sub.TH). Thereafter, if the detected angle shift 414 is above the angle shift threshold (.sub.TH), the angle shift controller 408 may increase the amplitude of the motor control signal 411. If the detected angle shift 414 is below the angle shift threshold (.sub.TH), the angle shift controller 408 may decrease the amplitude of the motor control signal 411.
(42) For the angle shift compensation algorithm to operate properly, the motor system 100 needs to get calibrated to take into account position detection feedback errors, such as Hall Effect sensor misplacement with respect to the phase windings 105a-c of the stator 107, which results in the angle shift 306 between the input sinusoidal motor control signal 301 and the position detection feedback signal 302 as discussed above. The calibration methods discussed below allow the controller 110 to find the calibration angle shift (.sub.C) at which to operate the motor. Finding the calibration angle shift (.sub.C) allows the identification of the mechanical and electrical tolerances that cause signal offsets within the motor 101. More particularly, it indicates the position detector offsets regardless of the type of position detector that is being used. In a sense, it tells the position of the position detectors, such as the Hall Effect sensors, and achieves the mechanical alignment automatically in the firmware of the controller 110. According to one embodiment, the calibration methods discussed herein and the determined calibration angle shift (.sub.C) may be used for the angle shift compensation motor driving algorithm discussed herein allowing the motor 101 to run at an optimum performance, avoiding false tripping of power supplies, and keeping the current bounded to certain amount of power output. Alternatively, the calibration methods discussed herein may be used for other types of motor control algorithms or commutations to compensate for position detectors' misplacement and resultant position detection feedback errors and thereby improve efficiency, including but not limited to a conventional sinusoidal drive signal, a trapezoidal drive signal, or other motor driving techniques.
(43)
(44) In response, in step 504, the motor controller 110 generates a motor control signal 111 at a predetermined maximum amplitude value (A.sub.MAX) and a predetermined frequency or speed. The maximum amplitude value (A.sub.MAX) may be set according to a given motor parameters, such as motor ratings, and/or based on the maximum level of torque anticipated to be driven by the motor 101. The maximum amplitude value (A.sub.MAX) may be the highest available drive power for the particular motor 101. The frequency may comprise a nominal frequency. In step 505, the motor controller 110 drives the motor 101 according to the generated motor control signal 111 in a first direction. As such, the motor 101 is driven at substantially full power with no load for a predetermined amount of time, for example for about 10 seconds. By applying substantially full power to the rotor 102 with substantially no load, the motor 101 is substantially locked and aligned to the inputted frequency. Accordingly, when the motor 101 is driven by the generated motor control signal at the maximum amplitude value and substantially no load, the feedback signal 112 from the position detectors, such as sensors 106a-c, can substantially accurately identify the angle shift that is caused by the position sensor 106a-c misplacement with respect to the phase windings 105a-c of the stator 107.
(45) As such, in step 506, the motor controller 110 receives a feedback signal 112 from at least one position detector, such as Hall Effect sensors 106a-c, indicating the position of the rotor 102 with respect to the stator 107. In step 508, the controller 110 determines a first calibration angle shift (.sub.C1) between the motor control signal 111 and the feedback signal 112 for the first direction. According to an embodiment, the controller 110 may determine the first calibration angle shift (.sub.C1) by measuring angle shifts between the motor control signal 111 and the feedback signal 112 for a convergence period, for example of about 10 seconds, and correlating this resulting data. For example, according to an embodiment, for robustness in determining the first calibration angle shift (.sub.C1), the controller 110 may determine and capture a plurality of angle shift sample values while driving the motor 101 in the first direction for each Hall Effect sensor 106a-c and average these values to determine the first calibration angle shift (.sub.C1). The plurality of angle shift sample values may be captured as calibration data in a buffer of memory 124 of the controller 110. For example, about 1000 samples may be captured per each Hall Effect sensor channel. In addition, each of the determined angle shift sample values per each Hall Effect sensor channel may be validated. An invalid calibration data may, for example, comprise angle shift sample values for that given Hall Effect sensor channel that seem to far apart from the average for that channel, and/or values where the difference between generated motor control signal and the captured feedback signal are beyond a given predetermined angle shift threshold value. For example, angle shift sample values with angles of differences above 50 degrees are an indication of a faulty value or outliers. However, this angle shift threshold value may vary depending on the motor type and build. Validating the calibration data provides an indicator of the quality in the calibration data capture process. The proper yield should be such that the calibration data of all the Hall Effect sensor channels should be substantially uniform with similar amount of valid samples, otherwise a given angle shift sample value or a whole set of calibration data may be discarded and the calibration determination steps may be again repeated to capture new data. For example, the entire calibration data may be discarded when a given Hall Effect sensor channel has 15% less valid samples compared to all other channels. The validated angle shift sample values may be averaged to determine the first calibration angle shift (.sub.C1).
(46) Next in step 512, the motor 101 is driven according to the generated motor control signal in a second direction, opposite to the first direction. For example, the first direction may comprise a clockwise direction and the second direction may comprise a counterclockwise direction, or vice versa. In step 514, the controller 110 will receive a feedback signal 112 from at least one position detector. In step 516, the controller 110 determines a second calibration angle shift (.sub.C2) between the motor control signal 111 and the feedback signal 112 for the second direction. As discussed above, the controller 110 may determine the second calibration angle shift (.sub.C2) by capturing a plurality of calibration angle shift sample values per each Hall Effect sensor channel, validating these values, and averaging these values to determine the second calibration angle shift (.sub.C2).
(47) According to the present embodiments, the controller 110 determines a calibration angle shift (.sub.C) for each direction of travel of the motor 101, including for the first direction and the second direction as discussed above. The calibration angle shift (.sub.C) is different in each direction of travel. For example, referring to sensor 106a facing magnet 104 in
(48) During operation the controller 110 may use either the first calibration angle shift (.sub.C1) or the second calibration angle shift (.sub.C2), depending on the motor's 101 corresponding direction of travel, in a selected driving algorithm of the motor 101 to compensate for position detectors' misplacement and corresponding feedback signal errors.
(49) For the angle shift compensation driving method described herein, the controller 110 may use the first calibration angle shift (.sub.C1) and the second calibration angle shift (.sub.C1) to calculate the angle shift threshold (.sub.TH) for each direction of travel. Particularly, in step 518, the controller 110 may determine a first angle shift threshold (.sub.TH1) for the first direction by adding the first calibration angle shift (.sub.C1) to a minimum angle shift value (.sub.MIN). For example, as discussed above, the minimum angle shift value (.sub.MIN) may comprise about 20 degrees of one electrical rotation. In step 520, the controller 110 may determine a second angle shift threshold (.sub.TH2) for the second direction by adding the second calibration angle shift (.sub.C2) to a minimum angle shift value (.sub.MIN).
(50)
(51) However, when the shade material is instead rolled on the roller tube by the motor 101 to raise the shade material and connected hem bar, generally a substantial load and torque is applied to the motor 101. Thus, the calibration of FIG. of 5A will generally not be effective in determining an efficient calibration angle shift (.sub.C) for the upward direction. As such, when a clutch based motorized roller shade is installed in the field, calibration should only be determined in one direction, i.e., in the lowering direction, as this direction is the one where the device is bearing minimal or substantially no load. However, this determined calibration angle shift (.sub.C) for the downward direction will not be an effective value for driving the motor 101 in an upward direction. Accordingly, a solution to this conundrum is to utilize a set of symmetry properties applicable to the fundamental manner in which BLDC motors are designed and how the Hall Effect sensors' placement reflects such symmetry. As such, the method of
(52) Nevertheless, in other embodiments, the method of
(53) Referring to
(54) In step 554, the motor controller 110 generates a motor control signal 111 at a predetermined maximum amplitude value (A.sub.MAX) and a predetermined frequency or speed, as discussed above. Then, in step 556 the motor controller 110 drives the motor 101 according to the generated motor control signal 111 in a first direction, which for examples lowers the shade material. As such, the motor 101 is driven at substantially full power with minimal perceived load. According to an embodiment, the roller shade must be fully opened to its upper limit for the controller to initiate the calibration sequence. As such, the controller 110 may first raise the shade material to the upper limit. Once the shade material is at the upper limit, the controller 110 may drive the motor 101 according to the generated motor control signal 111 in the lowering direction in step 556. As the roller shade is being lowered, the controller 110 may receive a feedback signal 112 from at least one position detector in step 558 and determine a first calibration angle shift (.sub.C1) between the motor control signal 111 and the feedback signal 112 in the first direction in step 560. As discussed above, the controller 110 may determine a plurality of angle shift sample values per each Hall Effect sensor channel, for example at least 1000 samples per Hall Effect sensor channel, and validate these values as discussed above. The controller 110 may lower the roller shade material until reaching the lower limit, or in another embodiment until a prerequisite number of angle shift sample values have been captured, whereby the controller 110 will stop the motor 101. The controller 110 may average the plurality of the captures angle shift sample values to determine the first calibration angle shift (.sub.C) and use that value for calibration during operation of the roller shade 100 in the first or downward direction.
(55) In step 562, the controller 110 may calculate a second calibration angle shift (.sub.c2) for the second or upward direction from the determined first calibration angle shift (.sub.C1) for the first or downward direction using a transformation formula. As discussed above, the calibration angle shift (.sub.C) is different in each direction of travel due to hysteresis that causes the same physical event in opposing directions of traveli.e., the south-north crossing point 108 that is detected by a position detector, such as sensor 106a in
.sub.C1+.sub.C2=KFormula 1
(56) where, .sub.C1 is the determined first calibration angle shift; .sub.C2 is the calculated second calibration angle shift; and K is a predetermined angle shift sum constant.
The second calibration angle shift (.sub.C2) is determined by subtracting the first calibration angle shift (.sub.C1) from an angle shift sum constant (K). As such, the controller 110 may store this transformation formula in memory 124, input the determined first calibration angle shift (.sub.C1) into the transformation formula, and output the calculated second calibration angle shift (.sub.C2) as if the motor 101 was calibrating in the opposite direction.
(57) This angle shift sum constant (K) may be predetermined at the factory by testing the motor 101 and determining the resultant angle shift sum constant (K). According to one embodiment, the angle shift sum constant (K) may be predetermined for each individual BLDC motor. According to another embodiment, the angle shift sum constant (K) may be determined from a sample set of motors from the same batch of motors to be used on all the motors of the same batch. The angle shift sum constant (K) may be a function of the power point at which the motor operates (e.g., the predetermined maximum amplitude value (A.sub.MAX)), the Hall Effect sensor placement and symmetry, and the properties of the motor itself.
(58) For example, for a three phase BLDC motor, three Hall Effect sensors may be placed roughly about 120 degrees from each other in the circumference shape of the motor. Although the Hall Effect sensors may be placed at other distances with respect to each other, such as for example about 60 degrees apart as shown in
(59) It should be apparent to an ordinary skilled in the art that each of these sums, as well as the angle shift sum constant (K), is not in all cases a direct sum of the complementary pair of angles. In some cases, unit circle transformation must be applied depending on the values their direct sum generate, as some of the values measured could be in a raw reference to negative values. In such cases, adjustment operations must be applied before attempting to calculate the sum. For example, 360 degrees may be first subtracted from the first calibration angle shift (.sub.C1) before it is subtracted from the angle shift sum constant (K) in step 562. Also during the determination of the angle shift sum constant (K), similar 360 degree adjustments may be made before adding the corresponding pairs of angle shift sample values.
(60) The resultant angle shift sum constant (K) may be stored in memory 124 of the controller 110 to be used during field calibration to determine the second calibration angle shift (.sub.C2) in the second direction from the first calibration angle shift (.sub.C1) in the first direction, as discussed above.
(61) During operation, the controller 110 may use either the first calibration angle shift (.sub.C1) or the second calibration angle shift (.sub.C2), depending on the motor's 101 corresponding direction of travel, in a selected driving algorithm of the motor 101 to compensate for feedback signal errors to achieve smooth and silent operation. For the angle shift compensation driving method described herein, the controller 110 may use the first calibration angle shift (.sub.C1) and the second calibration angle shift (.sub.C2) to calculate the angle shift threshold (.sub.TH) for each direction of travel in steps 564 and 566, respectively.
(62)
(63) According to an embodiment, in step 604, the motor controller 110 initially drives the motor 101 according to a startup sequence. Particularly, in the start of the angle shift compensation method of the present embodiments, the motor 101 needs to be driven at a maximum amplitude value (A.sub.MAX), which is a relatively high value. If on startup, the motor 101 is instantaneously impulsed with a motor control signal at such maximum amplitude value (A.sub.MAX), it will likely react with a jolting or clunking sound when the motor rotor 102 locks into a correct position with respect to the stator 107. In order to eliminate this event, a startup sequence is implemented according to the present embodiments to lock the rotor into a known state before starting commutation. This helps to avoid the perceivable clunk noise on startup.
(64) Referring to
(65) In step 704, for each phase, the controller 110 may determine a startup point in the sinusoidal waveform based on the previously detected position of the motor as reported by the position detector. According to one embodiment, the startup point may be estimated based on the previously detected position. According to another embodiment, the startup point may be more accurately determined using the position detector, such as by an absolute encoder. In particular, the controller 110 stores the last recorded position of the rotor with respect to the stator and uses that position to determine the startup point in the sinusoidal waveform. For a three phase motor, the startup points of the three waveforms may be offset by 120 degrees. For example, referring to
(66) In step 706, for each phase, the controller 110 determines a ramping curve to ramp up the amplitude from an initial amplitude (A.sub.I) to the startup amplitude (A.sub.S) of the startup point during a predetermined time period (T). The initial amplitude may comprise zero or some other nominal value. According to an embodiment the predetermined time period (T) may range from about 20 microseconds to about 100 milliseconds. The ramping curve may comprise a linear ramping curve, or it may comprise a non-linear ramping curve, such as a positive or a negative logarithmic curve. The rate of ramp (e.g., slope) of the ramping curve may be relative to the startup amplitude (A.sub.S) in relation to the predetermined time period (T). For example, referring to
(67) In step 708, the controller 110 drives each motor phase according to its corresponding ramping curve determined in step 706 until reaching the startup point. Then in step 710, the controller 110 drives each motor phase from the startup point according to the generated sinusoidal waveform. Referring to
(68) According to an embodiment, during the startup sequence, motor controller 110 may also gradually ramp up the frequency of the sinusoidal waveform from the startup frequency to the set frequency in step 712.
(69) Returning to
(70) The controller 110 then compares the detected angle shift () to an appropriate angle shift threshold (.sub.TH), i.e., the first angle shift threshold (.sub.TH) or the second angle shift threshold (.sub.TH) depending on the direction of travel of the motor 101. If the detected angle shift () is smaller than the angle shift threshold (.sub.TH) as determined in step 612, then the controller 110 decreases the amplitude of the motor control signal 111 based on the detected angle shift () in step 614. As discussed above, the controller 110 may decrease the amplitude of the motor control signal 111 in proportion to the detected angle shift () using a linear algorithm, a non-linear algorithm, a proportional-Integral (PI) algorithm, a proportional-integral-derivative (PID) algorithm, a fuzzy logic algorithm, other similar algorithms, or any combinations thereof.
(71) If the controller did not receive a command to stop the motor in step 620, the controller 110 returns to step 608 to continue to monitor the feedback signal 112 and adjust the amplitude of the motor control signal 111 accordingly. Because initially the controller 110 has powered the motor 101 to a maximum amplitude (A.sub.MAX) in the startup sequence of step 604, the controller 110 will relax the amplitude of the motor control signal 111 back until reaching the angle shift threshold (.sub.TH). According to an embodiment, the controller 110 may be updated with the feedback signal 112 every 10 ms, although other time value may be used.
(72) If in step 616 the controller 110 determines that the detected angle shift () is equal to the angle shift threshold (.sub.TH), and the controller 110 did not receive a command to stop the motor in step 620, the controller 110 does not change the amplitude of the motor control signal 111 and returns to step 608 to continue monitoring the feedback signal 112.
(73) On the other hand, if in step 616 the controller 110 determines that the detected angle shift () is above the angle shift threshold (.sub.TH), for example due to additional load exerted on the motor 101, the controller 110 will increase the amplitude of the motor control signal 111 based on the detected angle shift () in step 618. If no control command was received to stop the motor in step 620, the controller 110 returns to step 608 to continue monitoring the angle shift () and increase or decrease the amplitude of the motor control signal 111 accordingly.
(74) Otherwise, if the controller 110 receives a control command to stop the motor in step 620, the controller 110 stops the motor in step 622 and the shift angle compensation process ends. According to an embodiment, instead of immediately stopping the motor, the motor controller 110 may gradually ramp down the frequency of the sinusoidal waveform from the set frequency to the startup frequency, or some other nominal frequency, before stopping the motor.
INDUSTRIAL APPLICABILITY
(75) The disclosed embodiments provide a system, software, and a method for controlling motors to achieve efficient motion and reduced noise. It should be understood that this description is not intended to limit the embodiments. On the contrary, the embodiments are intended to cover alternatives, modifications, and equivalents, which are included in the spirit and scope of the embodiments as defined by the appended claims. Further, in the detailed description of the embodiments, numerous specific details are set forth to provide a comprehensive understanding of the claimed embodiments. However, one skilled in the art would understand that various embodiments may be practiced without such specific details.
(76) Although the features and elements of aspects of the embodiments are described being in particular combinations, each feature or element can be used alone, without the other features and elements of the embodiments, or in various combinations with or without other features and elements disclosed herein.
(77) This written description uses examples of the subject matter disclosed to enable any person skilled in the art to practice the same, including making and using any devices or systems and performing any incorporated methods. The patentable scope of the subject matter is defined by the claims, and may include other examples that occur to those skilled in the art. Such other examples are intended to be within the scope of the claims.
(78) The above-described embodiments are intended to be illustrative in all respects, rather than restrictive, of the embodiments. Thus the embodiments are capable of many variations in detailed implementation that can be derived from the description contained herein by a person skilled in the art. No element, act, or instruction used in the description of the present application should be construed as critical or essential to the embodiments unless explicitly described as such. Also, as used herein, the article a is intended to include one or more items.
(79) Additionally, the various methods described above are not meant to limit the aspects of the embodiments, or to suggest that the aspects of the embodiments should be implemented following the described methods. The purpose of the described methods is to facilitate the understanding of one or more aspects of the embodiments and to provide the reader with one or many possible implementations of the processed discussed herein. The steps performed during the described methods are not intended to completely describe the entire process but only to illustrate some of the aspects discussed above. It should be understood by one of ordinary skill in the art that the steps may be performed in a different order and that some steps may be eliminated or substituted.
(80) All United States patents and applications, foreign patents, and publications discussed above are hereby incorporated herein by reference in their entireties.
(81) Alternate Embodiments
(82) Alternate embodiments may be devised without departing from the spirit or the scope of the different aspects of the embodiments.