METHOD AND CIRCUIT ARRANGEMENT FOR CONTROLLING A STEPPER MOTOR
20240266977 ยท 2024-08-08
Assignee
Inventors
Cpc classification
H02P23/14
ELECTRICITY
H02P8/22
ELECTRICITY
H02P8/36
ELECTRICITY
H02P23/02
ELECTRICITY
H02P23/04
ELECTRICITY
International classification
Abstract
A new method and circuit arrangement for operating a stepper motor in a voltage-based operating mode with a control loop over the whole operating range of speeds of a stepper motor. The method/circuit arrangement includes calculating a load angle of the stepper motor. The load angle is then used to calculate a voltage-based control signal suitable for operating a known motor driver circuit, such as a chopper, to drive the stepper motor coils. This enables improved control over the stepper motor which can improve control stability.
Claims
1. A method of operating a stepper motor in a voltage-based operating mode with a control loop, the stepper motor comprising at least a first motor coil and a second motor coil, the method comprising: measuring a first motor coil current from the first stepper motor coil; measuring a second motor coil current from the second stepper motor coil; determining a coil current vector based on: the first motor coil current; and the second motor coil current, wherein there is a predetermined phase angle relationship between the first motor coil current and the second motor coil current; determining a coil current phase angle between the coil current vector and a pre-defined reference angle; receiving a first voltage-based control signal for operating the stepper motor; calculating a load angle of the stepper motor based on: the coil current phase angle; an absolute value of the coil current vector; and the first voltage-based control signal; calculating a second voltage-based control signal based on the load angle; and operating the stepper motor using the second voltage-based control signal.
2. The method of claim 1, further comprising: generating a target current based on the load angle of the stepper motor.
3. The method of claim 2, wherein the second voltage-based control signal is further calculated based on the absolute value of the coil current vector.
4. The method of claim 2, further comprising: determining a target load angle proportional to the absolute value of the coil current vector, wherein generating the target current is further based on the target load angle.
5. The method of claim 4, wherein the target load angle is between a lower load angle threshold and an upper load angle threshold, wherein the upper load angle threshold is less than 90 degrees.
6. The method of claim 4, further comprising: operating the stepper motor in a reverse motoring mode such that the stepper motor is configured to feedback energy into a driver supply, determining the target load angle proportional to the absolute value of the coil current vector, wherein the target load angle is between a reverse-motoring upper load angle threshold and a reverse-motoring lower load angle threshold.
7. The method of claim 6, wherein the reverse-motoring upper load angle threshold is set to reduce energy fed back into the driver supply or to maximise energy fed back into the driver supply.
8. The method of claim 4, wherein the target current is calculated by a target current PI-regulator receiving at its input the difference between the load angle of the stepper motor and the target load angle.
9. The method of claim 1, further comprising determining an emf vector based on an estimated first motor coil back-emf voltage and an estimated second motor coil back-emf voltage; determining a back-emf voltage phase angle between the emf vector and the pre-defined reference angle; and calculating a load reserve from the difference between the back-emf voltage phase angle and the coil current phase angle, wherein the load reserve is the load angle minus 90?.
10. The method of claim 9, wherein the back-emf voltage angle is further determined based on at least one of the following: the supply voltage; inductance of the stepper motor coils; resistance of the stepper motor coils; the first voltage-based control signal; and the first and second motor coil currents.
11. The method of claim 1, wherein at a first time the stepper motor is operated using the first voltage-based control signal, the first time proceeding a second time at which the stepper motor is operated with the second voltage-based control signal.
12. The method of claim 1, wherein the first voltage-based control signal is further calculated based on a first micro-step value associated with a first phase angle position of a micro-step sequencer waveform for operating the stepper motor in a micro-step mode of operation.
13. The method of claim 12, wherein the second voltage-based control signal is further calculated based on a second micro-step value associated with a second phase angle position of the micro-step sequencer waveform for operating the stepper motor in a micro-step mode of operation.
14. The method of claim 13, further comprising: adjusting the second phase angle position of the micro-step sequencer waveform relative to the first phase angle position of the micro-step sequencer waveform based on the coil current phase angle.
15. The method of claim 14, wherein the adjustment of the second phase angle position of the micro-step sequencer waveform relative to the first phase angle position of the micro-step sequencer waveform is determined with a damping PI-regulator, wherein the PI-regulator receives the coil current phase angle.
16. The method of claim 13, wherein the second voltage-based control signal is further calculated based on a voltage control signal, wherein the method further comprises: calculating the voltage control signal by regulating the absolute value of the coil current vector based on the target current.
17. A circuit arrangement for operating a stepper motor in a voltage-based operating mode with a control loop, the stepper motor comprising at least a first motor coil and a second motor coil, the circuit comprising: a control unit for a voltage-based operating mode, configured to generate: a first voltage-based control signal for operating the stepper motor at a first time; a second voltage-based control signal for operating the stepper motor at a second time, wherein the first time proceeds the second time at which the stepper motor is operated; an analog-to-digital converter configured to: measure a first motor coil current from the first stepper motor coil; measure a second motor coil current from the second stepper motor coil, wherein a coil current vector is based on: the first motor coil current; and the second motor coil current, wherein there is a predetermined phase angle relationship between the first motor coil current and the second motor coil current, wherein a coil current phase angle is an angle between the coil current vector and a pre-defined reference angle; a load angle calculation unit configured to calculate the load angle of the stepper motor based on: the coil current phase angle; an absolute value of the coil current vector; and the first voltage-based control signal; wherein the second voltage-based control signal is based on the load angle of the stepper motor.
18. The circuit arrangement of claim 17, further comprising: a target current regulator unit coupled to the load angle calculation unit configured to generate a target current based on the load angle of the stepper motor.
19. The circuit arrangement of any of claim 18, further comprising: a load angle controller coupled to the target current regulator unit and configured to: receive the absolute value of the coil current vector; and, determine a target load angle proportional to the absolute value of the coil current vector, wherein generating a target current is further based on the target load angle.
20. A method for damping stepper motor resonances of a stepper motor, the stepper motor comprising at least a first motor coil and a second motor coil, the method comprising: measuring a first motor coil current from the first stepper motor coil; measuring a second motor coil current from the second stepper motor coil; determining a coil current vector based on: the first motor coil current; and the second motor coil current, wherein there is a predetermined phase angle relationship between the first motor coil current and the second motor coil current; determining a coil current phase angle between the coil current vector and a pre-defined reference angle; generating a micro-step sequencer waveform for operating the stepper motor in a micro-step mode of operation, wherein the micro-step sequencer waveform is discrete and comprises at least: a first micro-step value associated with a first phase angle position of a micro-step sequencer waveform; and a second micro-step value associated with a second phase angle position of the micro-step sequencer waveform; adjusting the second phase angle position relative to the first phase angle position based on the coil current phase; and, generating the second voltage-based control signal based on the second phase angle position.
Description
FIGURES
[0057]
[0058]
[0059]
[0060]
[0061]
[0062]
[0063]
[0064]
[0065]
[0066]
DEFINITIONS
[0067] An operating mode with a control loop (i.e., an industrial control loop, or closed loop control) generally includes a process variable sensor for sensing a process variable of a process, a controller for receiving an input signal representative of the process variable and for generating an output signal based on the input signal and a setpoint signal representing a desired value of the process variable, and an actuation device for receiving the output signal and for adjusting the process in response to the output signal. The controller uses the control algorithm to compare the setpoint signal to the input signal from the previous iteration of the loop (e.g., at time t=?1) and to generate the output signal for the current iteration of the loop (e.g., at time t=0). The actuation device adjusts the process in order to bring the process variable towards the desired value represented by the setpoint signal, which will be used as the input for the next iteration of the loop (e.g., at time t=1). The controller may be implemented as a computer program executing on a processor, and the process variable sensor, actuation device, and setpoint input may be connected to the controller via electrical or communication links.
[0068] A voltage-based operating mode with a control loop is a control loop operating mode which uses voltage signals to generate a control signal for operating a device.
[0069] Regulating involves correcting for an error between the commanded setpoint and the actual value based on some type of feedback. That is, the output of a regulator is determined which, upon a new iteration of a control loop adjusts the actual value to the commanded setpoint.
[0070] Operating the stepper motor involves providing a voltage/current to the motor coils of the stepper motor to induce movement in the rotor/stator of the stepper motor.
[0071] Over dimensioning is a standard practice in industry in which an oversized (on the NEMA scale) stepper motor is selected for an industrial/consumer application to ensure compliance.
[0072] A mechanical load is the load which is coupled to the stepper motor's rotating element (typically the rotor).
DETAILED DESCRIPTION
[0073] A problem with a known voltage-regulated operating mode, is that a higher rotational speed and/or a higher load angle of the motor results in a phase shift between the coil voltage and the coil current. This results in a variation between the coil voltage and the coil current so that an exact regulation of the actual measured coil current by changing the coil voltage is no longer readily possible.
[0074] A further problem with a known voltage-regulated operating mode is that if a control system implements a shift in a stepper motor's load angle, then this may result in motor oscillations, because a change in load angle also directly leads to a change in motor current unless the driver instantaneously reacts and corrects for it. These motor oscillations may eventually stall the motor. This oscillation may also be excited by the motor's cogging torque and will have a maximum oscillation amplitude at the motor's resonance frequency and multiples of it.
[0075] Embodiments of the invention solve the above problems with stepper motor control methods.
[0076] As a brief non-limiting overview of the invention, the present disclosure provides a method of operating a stepper motor in a voltage-based operating mode with a control loop over the whole operating range of speeds of a stepper motor. The method includes calculating a load angle of the stepper motor. The load angle is then used to calculate a voltage-based control signal suitable for operating a known motor driver circuit, such as a chopper, to drive the stepper motor coils. This enables improved control over the stepper motor which can improve control stability.
[0077]
[0078] In a simple case of a 2-phase stepper motor 12 it may be assumed that one of the two coils (e.g., coil x) is subjected to a sinusoidal current course and the other coil (e.g., coil y) is supplied with a current course which is phase-shifted by 90? and thus co-sinusoidal. The stepper motor 12 may also be controlled in micro-step operation with a PWM voltage which results in a substantially sinusoidal motor coil current within the coils x, y. However, the following considerations also apply accordingly in the alternative case of: non-sinusoidal motor coil current; stepper motors with the same or a different number of phases; an associated phase shift of the motor coil currents relative to one another which is not 90?; and/or a stepper motor operated in a full- and a half-step operation.
[0079] A PWM voltage is generated from a motor supply voltage, such that the amplitude of the motor supply voltage defines the amplitude of the PWM voltage. In particular, the motor supply voltage can be pulse-width-modulated and applied with corresponding polarity to the motor coils x, y. The duty factor of this modulation being controlled or regulated in such a way that the resulting effective voltage across the motor coils each has an amount which causes an instantaneous motor coil current value to flow. Alternatively, other methods may be used to cause the instantaneous target motor coil currents value to flow. The control of the PWM may be based on a voltage-based control signal {right arrow over (U)} using known methods.
[0080] It is preferred to measure the actual motor coil current to regulate a duty factor of the PWM voltage applied to the respective motor coil via a closed loop voltage-based operating mode (that is, a voltage-based operating mode with a control loop). The actual motor coil current can be detected, for example, by means of an analog-to-digital converter (ADC) in order to control the amplitude or the amount of the voltage applied to the coil, or the duty factor of the PWM voltage, e.g. via a regulator, preferably a PI-regulator.
[0081] The circuit arrangement 10 comprises, as components known per se, an integrated motor driver circuit 14, with which via outputs, first and second bridge circuits 16 are controlled.
[0082] The bridge circuits 16 are arranged between a supply voltage +VM and ground, in order to apply in the voltage-based (or voltage-regulated) operating mode a first PWM voltage signal to the coil x and a second PWM voltage signal to the coil. The motor driver circuit 14 receives a voltage-based control signal U in order to control the amplitude or the amount of the voltage applied to each coil, or the duty factor of the PWM voltages, e.g. via control unit 24 comprising a regulator, preferably a PI-regulator. Since these motor driver circuit 14 units are known per se, they do not need to be described in more detail. The invention herein is directed towards the generation of the voltage-based control signal {right arrow over (U)}.
[0083] The voltage-based control signal ? evolves over time and with each iteration of the control loop, for example at a first time (e.g., t=1) the stepper motor is operated using the first voltage-based control signal {right arrow over (U)}.sub.1, and at a second time (e.g., t=2) after the first time, the stepper motor is operated with the second voltage-based control signal {right arrow over (U)}.sub.2. That is, the first voltage-based control signal {right arrow over (U)}.sub.1 is input into the control loop to generate the second voltage-based control signal {right arrow over (U)}.sub.2. The output (e.g., the voltage-based control signal) of the control loop is iterated upon as is known in the field of closed loop control/control loops.
[0084] The motor coil currents I.sub.x, I.sub.y flowing through the coils x, y are measured by probes P.sub.x, P.sub.y at the base point (e.g., source of a bridge MOSFET) of the bridge circuit 16. The coil x of the stepper motor 12 (in this example a 2-phase motor) is connected to a first bridge circuit 16a with the first probe P.sub.x. The first probe P.sub.x is coupled to an ADC 18 to provide a measurement of the first motor coil current I.sub.ADC.sub.
[0085] The ADC 18 may provide current values (e.g., first motor coil current I.sub.ADC.sub.
[0086] The first motor coil current I.sub.ADC.sub.
[0087]
[0088] Therefore, the absolute value of the coil current vector |I| can be determined by measuring the first and second motor coil currents I.sub.ADC.sub.
[0089] Returning to
[0090] The probes P.sub.x, P.sub.y may be in series with a respective coil x, y (i.e., at the connection of the first and second bridge circuits 16a, 16b to the coils x, y). Alternatively, the motor coil currents I.sub.x, I.sub.y flowing through the coils x, y may be measured by probes P.sub.x, P.sub.y at the base point (e.g., source of a bridge MOSFET) of the bridge circuit 16. Although,
[0091] The load angle calculation unit 20 is configured to calculate the load angle of the stepper motor based on: the coil current phase angle ?I, the absolute value of the coil current vector |I|; and the first voltage-based control signal {right arrow over (U)}.sub.1. The second voltage-based control signal {right arrow over (U)}.sub.2 is calculated based on the load angle.
[0092] In a stepper motor the direction of the rotor is defined by its magnetization. If there is no mechanical load, the angle of the rotor corresponds to the main direction of the magnetic field that is generated by the coilsthis corresponds to a load angle of 0?. If the direction of the magnetization of the rotor in a two-pole motor is orthogonal to the main direction of the magnetic field that is generated by the coils, then this corresponds to a load angle of 90?. This means that in a two-pole motor the load angle, when the motor is at a standstill, corresponds directly to the mechanical deflection by the neutral position on the motor shaft caused directly prior to the torque (without load and with a load angle of 0?).
[0093] In higher pole motors the load angle is an integral multiple of this mechanical deflection by the neutral position. In high pole-count motors the determination of the load angle therefore would require very high resolution rotary pulse generators and very precise current measurements.
[0094] The determination of the mechanical motor load according to the invention that is represented by the load angle is based on the voltage that is counter-induced in the motor coils by the rotation of the rotor (Back-electromotive force, Back-EMF, or counter-electromotive force, CEMF) and especially on the amount of this Back-EMF, which is position controlled in order to achieve a specified current flow in the respective stepper motor coil.
[0095] Advantageously, the load angle calculation unit 20 enables a load angle of the stepper motor 12 to be detected in a sensor-free manner.
[0096] There are many load angle calculation schemes known in the field of sensorless operated PMSM motor algorithms. The load angle calculation may determine a load reserve ?. The load reserve ? gives a measure for the amount of torque still available and not used by mechanics of a stepper motor at the given motor current. If the load reserve ? is approximately 0?, then the load angle is approximately 90?. That is, the load reserve ?=the load angle ?90?.
[0097] Since the torque and the holding torque of a stepper motor for the most part are proportional to the RMS (root mean square) value of the motor current, multiplied by the sine of the load angle, then the stepper motor, in most situations, will be operated with motor current that is much too high in relation to the current actual motor load, i.e. the stepper motor is typically operated at a torque reserve that is much too high. For example, if the motor is operated with a mean torque reserve of 100%, i.e., with a motor current that is twice as high as required, the result, given that the power loss of the motor is proportional to the square of the motor current, is a static power loss that is increased by a factor of four. Since the mechanical power taken in stepper motors often is small compared to the static power loss, energy losses ranging from 100 to 300% are to be expected. This power loss is not desirable. While a reduction of these losses would be possible by using rotary sensors (position sensors, rotary pulse generators) and analysing the rotational positions of the rotor, this concept is generally rejected by industry for (cost-intensive) stepper motor applications in which a stepper motor is used as a purely forward propelled drive and in which angle of rotation sensors thus are not required.
[0098] In contrast, and as shown in
[0099] The load reserve ? may be calculated from the difference between: the coil current phase angle ?I, and a back electromotive force (back-EMF) voltage phase angle. The back electromotive force (back-EMF) voltage phase angle is defined by the phase angle between: a vector defined by an estimated first motor coil back-emf voltage U.sub.bemf.sub.
[0100] The load angle calculation unit 20 may have access to data which allows the load angle calculation unit 20 to determine how the motor drive circuit 14 generates a drive voltage in response to the first voltage-based control signal {right arrow over (U)}.sub.1. A drive voltage for each coil is provided to a respective stepper motor 12 coil x, y. The drive voltage for each coil is based on the first voltage-based control signal {right arrow over (U)}.sub.1. Therefore, an estimated drive voltage may be based on the first voltage-based control signal {right arrow over (U)}.sub.1, which may be used to determine both motor coil back-EMF voltages.
[0101] The load angle calculation unit 20 may be arranged to determine an emf vector based on an estimated first motor coil back-emf voltage U.sub.bemf.sub.
[0102] The back-emf voltage angle may be further calculated based on any of: the supply voltage +V.sub.M; the resistance R of the stepper motor coil x; the resistance R of the stepper motor coil y; and the inductance L of the stepper motor coil x; the inductance L of the stepper motor coil y. A stepper motor coil x, y may be typically modeled as a voltage source (in opposition to the coil driving voltage (e.g., PWM voltage signals) and a resistor. Advantageously, the supply voltage may correspond to the amplitude/scaling of PWM voltage signals, which can improve the calculation of the back-emf voltage angle. A stepper motor coil may be modeled as a voltage source (in opposition to the coil driving voltage), a resistor, and an inductor. Surprisingly, the inclusion of the use of a coil inductor L in the calculation of the back-emf voltage angle provides an unexpectedly large benefit to the accuracy of the back-emf voltage angle.
[0103] The load angle=the load reserve ?+90?. Therefore, the load angle calculation unit 20 may optionally determine the load angle. Thus, the output of the load angle calculation unit 20 may be the load angle and/or the load reserve ?.
[0104] A target current regulator unit 22 is coupled to the load angle calculation unit 20. The target current regulator unit 22 is configured to generate a target current I.sub.T based on the load angle (i.e., 90? plus the load reserve ?) of the stepper motor 12. The target current regulator unit 22 may use a generated or pre-determined target load angle as a commanded setpoint. The pre-determined target load angle may be determined based on a specific industrial application of the stepper motor 12. The target current regulator unit 22 compares the target load angle to the actual load angle (or optionally the target current regulator unit 22 compares the target load reserve to the actual load reserve), to generate the target current I.sub.T. The target current regulator unit 22 may comprise a PI regulator (to regulate the target current I.sub.T within the limits of the stepper motor 12) to, upon a next iteration of the control loop, adjust the load angle (or load reserve) to reduce the error between the next load angle (or next load reserve) and the target load angle (or target load reserve). That is, the target current regulator unit 22 may generate a target current I.sub.T for the stepper motor 12 which is adapted to the mechanical motor load.
[0105] A control unit 24 is coupled to the output of the target current regulator unit 22. The control unit 24 receives as an input: the target current I.sub.T, the absolute value of the coil current vector |I|, and optionally a micro-step sequencer signal. The control unit 24 generates a second voltage-based control signal U.sub.2 based on the target current I.sub.T and the absolute value of the coil current vector |I|. The generation of a voltage-based control signal (suitable for being provided to a motor driver circuit 14) from an input current is known per se. The second voltage-based control signal U.sub.2 is for operating the stepper motor 12 at a second time t=2, after the first time t=1. That is, the first voltage-based control signal {right arrow over (U)}.sub.1 is for generating the next iteration of the voltage-based control signal of the control loop (i.e., the second voltage-based control signal {right arrow over (U)}.sub.2).
[0106] The motor driver circuit 14 is arranged to generate a first motor coil driving voltage with the second voltage-based control signal {right arrow over (U)}.sub.2. The first motor coil driving voltage is configured to be applied to the first stepper motor coil x. The motor driver circuit 14 is arranged to generate a second motor coil driving voltage with the second voltage-based control signal {right arrow over (U)}.sub.2. The second motor coil driving voltage is configured to be applied to the second stepper motor coil y. Therefore, the second voltage-based control signal {right arrow over (U)}.sub.2 may operate the stepper motor 12 to result in motor coil currents I.sub.x, I.sub.y and corresponds with the absolute value |I| and the coil current phase angle ?I at a further time. The voltage-based operating mode repeats.
[0107]
[0108] The schematic block wiring diagram of a circuit arrangement 30 operating in a voltage-based operating mode with a control loop (such as, a current control loop) may further include a load angle controller 32 arranged to receive the absolute value of the coil current vector |I| and generate a target load reserve ?.sub.T (and/or target load angle). The output of the load angle controller 32 may be coupled to the input of the target current regulator unit 22. The load angle controller 32 may be configured to determine a target load reserve ?.sub.T (and/or target load angle) proportional to the absolute value of the coil current vector |I|. The target load reserve ?.sub.T (and/or target load angle) may be input into the target current regulator unit 22 to provide the commanded setpoint.
[0109] Typically, stepper motors in closed loop systems are controlled to operate at a 90? load angle, that is, at maximum torque. If the stepper motor coils are provided with a certain electrical power at a 90? load angle, then any variation of load angle results in the same power being applied to the motor coils but with a reduced torque. Therefore, it is typical practice that a skilled person in the art would avoid a load angle which is not 90?.
[0110] However, the present inventors realised that at light loads (up to a motor specific defined lower current threshold I.sub.Th.sub.
[0111]
[0112] Advantageously, the use of the load angle controller 32 reduces excess energy fed into the stepper motor 12, and thus reduces excess energy which may induce stepper motor 12 oscillations. Additionally, the reduced field strength reduces any resulting induced oscillation frequency, and thus (if present) a resonance damping regulator 54 may be more effective in dampening oscillations. This avoids over-dimensioning of the stepper motor 12. Over dimensioning is a standard practice in industry in which an oversized (e.g. on the NEMA scale) stepper motor is selected for an industrial/consumer application to ensure compliance.
[0113] Another benefit of targeting a reduced load angle in combination with the intended load-adaptive current reduction: targeting a low load angle in low load situations prevents a step loss in response to a sudden mechanical load increase, because the stepper motor's flywheel mass can offer a certain momentum to overcome a portion of the load jerk, until the target current regulation unit 22 can react by sufficiently increasing the motor's target current I.sub.T, as determined by its (PI) regulation parameters. During the sudden mechanical load increase, the load angle increases, for example, it may increase towards and above 900. A load angle above 90? leads to reduced torque which may result in a (further) increasing load angle, and thus instability and the danger of step loss. Therefore, it is beneficial to have sufficient load angle reserve to avoid the load angle exceeding the critical threshold of 90?. Therefore, an upper load angle threshold Load.sub.Th.sub.
[0114] The stepper motor 12 may be operated in a reverse motoring mode (i.e., regenerative operation [negative load angle]) such that the stepper motor is configured to feedback energy into a driver power supply. When operating in the reverse motoring mode the load angle controller 32 may determine the target load angle proportional to the absolute value of the coil current vector |I|. The target load angle is between a reverse-motoring upper load angle threshold Load.sub.gTh.sub.
[0115] This behaviour shows a stabilizing effect on the system, as the load angle controller 32 behaviour corresponds to the natural behaviour of the stepper motor 12 to react to a higher mechanical load with increased load angle.
[0116]
[0117] Advantageously, this allows for four quadrant operation. Four quadrant operation is important in highly dynamic drives, because active braking of the motor is required. Choosing a lower (negative) target load angle for regenerative operation has the benefit, that the amount of energy fed back from the drive to the power supply can be reduced.
[0118] This is beneficial for applications which cannot cope well with energy fed back from the drive into the power supply. Thus, the reverse-motoring upper load angle threshold Load.sub.gTh.sub.
[0119] Advantageously, the reverse-motoring upper load angle threshold Load.sub.gTh.sub.
[0120] Returning to
[0121] Advantageously, this enables the stepper motor 12 to accurately adapt to a mechanical motor load.
[0122] The target current regulator unit 22 may compare the target load reserve/angle to the actual load reserve/angle using the subtractor 36. The subtractor 36 may determine the difference between the load reserve/angle of the stepper motor 12 and the target load reserve/angle (i.e., the error). The target current I.sub.T may be calculated by the regulation loop 34 (e.g., a PI regulator) receiving at its input the difference between the load reserve/angle of the stepper motor 12 and the target load reserve/angle, to generate the target current I.sub.T.
[0123]
[0124]
[0125]
[0126] As an example, a first phase angle positions t.sub.1 of the first micro-step sequencer waveform 42 corresponds to the first phase angle position t.sub.1 of the second micro-step sequencer waveform 46. The first phase angle position t.sub.1 represents a point in the index table (or a point in time t=1). Each phase angle position (e.g., t.sub.1, t.sub.2) corresponds with a micro-step value (e.g., representing a scale factor). It can be seen that at the first phase angle position t.sub.1, a first micro-step value SQ.sub.1x for the coil x is 0, and a first micro-step value SQ.sub.1y for the coil y is 1. The output of the micro-step unit represents a first micro-step vector {right arrow over (SQ.sub.1)} defined by the first micro-step value SQ.sub.1x of the first micro-step sequencer waveform 42 and first micro-step value SQ.sub.1y of the second micro-step sequencer waveform 46. The first voltage-based control signal {right arrow over (U)}.sub.1 may be based on a first micro-step value SQ.sub.1x associated with a first phase angle position t.sub.1 of the first micro-step sequencer waveform 42 for operating the stepper motor 12 in a micro-step mode of operation.
[0127] Similarly, a second phase angle position t.sub.2 of the first and second micro-step sequencer waveforms 42, 46 represents a point in the index table (or a point in time t=2). The second voltage-based control signal {right arrow over (U)}.sub.2 may be based on a second micro-step value SQ.sub.2x associated with a second phase angle position t.sub.2 of the micro-step sequencer waveform for operating the stepper motor 12 in a micro-step mode of operation.
[0128]
[0129] Each of the first and second micro-step vectors {right arrow over (SQ.sub.1)}, {right arrow over (SQ.sub.2)} may be determined based on: a micro-step value (e.g., SQ.sub.1x, SQ.sub.2x) associated with the second micro-step sequencer waveform 46; and a micro-step value (e.g., SQ.sub.1y, SQ.sub.2y) associated with the first micro-step sequencer waveform 42. There is a predetermined (e.g., by the micro-step sequencer) phase angle relationship between the first micro-step sequencer waveform and a second micro-step sequencer waveform. The phase angle relationship between the first micro-step sequencer waveform 42 and the second micro-step sequencer waveform 46 is represented by the shape of a dashed circle 48.
[0130] As an example, the absolute value of the first micro-step vector is 1 since the magnitude of the first and second micro-step sequencer waveforms 42, 46 represent a scale factor between ?1 and 1. A first micro-step phase angle ?SQ.sub.1 represents the angle between the first micro-step vector {right arrow over (SQ.sub.1)} and a pre-defined reference angle (this may correspond to the pre-defined reference angle discussed at
[0131]
[0132] The micro-step unit 40 may advantageously comprise a resonance damping regulator 54 (e.g., regulation loop such as a PI-regulator) configured to provide control of a phase angle position of a micro-step sequencer 52. That is, the second phase angle position t.sub.2 of the first micro-step sequencer waveform 42 (or second micro-step sequencer waveform 46) relative to the first phase angle position t.sub.1 of the first micro-step sequencer waveform 42 (or second micro-step sequencer waveform 46) may be adjusted based on the coil current phase angle ?I. Thus, the outputs SQ corresponding to the phase angle position of the micro-step sequencer may no longer be sequential steps.
[0133] The resonance damping regulator 54 may be implemented as a PI-regulator (which may be called a damping PI-regulator). The adjustment of the second phase angle position t.sub.2 relative to the first phase angle position t.sub.1 may be determined with the PI-regulator. The PI-regulator may receive the coil current phase angle ?I and the output of the ramp generator 38. The output of the ramp generator 38 may act as the commanded setpoint. That is, the resonance damping regulator 54 may be arranged to reduce the difference/error between the coil current phase angle ?I and a target angle output from the ramp generator 38 (via influencing the operating the stepper motor 12). The error between the coil current phase angle ?I and a target angle output from the ramp generator 38 may be generated by a subtractor.
[0134] Advantageously, the position of the second phase angle position t.sub.2 can be adjusted/shifted which can improve resonance damping. This control may reduce resonances of the stepper motor 12.
[0135] If the micro-step unit 40 comprising the resonance damping regulator 54 is combined with the load angle controller 32 then the circuit arrangement 30 can advantageously dampen oscillations of the stepper motor 12. Specifically, the load angle controller 32 can reduce magnetic flow which shifts resonances to lower frequencies, these lower frequencies may be better dampened with the resonance damping regulator 54.
[0136] The control unit 24 may comprise a current regulator 56 based on a measurement of both motor phase currents. Specifically, the current regulator 56 may be a PI-regulator which uses a PI-scheme to regulate the absolute value of the coil current vector |I| to fit the target current I.sub.T. That is, the current regulator 56 may be arranged to generate a voltage control signal |U| which operates the stepper motor 12 to reduce the difference/error between the absolute value of the coil current vector |I| to the target current I.sub.T. The current regulator 56 may receive at its input the difference (i.e., the error) between the target current I.sub.T, and the absolute value of the coil current vector |I| (e.g., which may be generated by a subtractor 58).
[0137] Additionally, the resonance damping regulator 54 can be applied to other stepper motor control schemes. Using known methods, any phase offset in the current phase would lead to a mechanical jerk of the stepper motor when switching between a voltage-based motor control scheme and a current-based motor control scheme. Advantageously, the resonance damping regulator 54 may reduce or eliminate mechanical jerk of the stepper motor 12 when switching between voltage-based motor control schemes and current-based motor control schemes. Thus, switching between motor control schemes at any velocity is possible. This allows for combinations of motor control schemes (one of which may be a control scheme as highlighted in
[0138] The resonance damping regulator 54 may be applied to other stepper motor control schemes to reduce mechanical resonances in stepper motors comprising at least a first motor coil and a second motor coil. Such a method, as shown in
Numbered Clauses
[0147] By way of non-limiting example, some aspects of the disclosure are set out in the following numbered clauses.
[0148] Clause 1A method of operating a stepper motor in a voltage-based operating mode with a current control loop, the stepper motor comprising at least a first motor coil and a second motor coil, the method comprising: [0149] measuring a first motor coil current (I.sub.ADC.sub.
[0160] Clause 2The method of clause 1, further comprising: [0161] generating a target current based on the load angle of the stepper motor.
[0162] Clause 3The method of clause 2, wherein the second voltage-based control signal ({right arrow over (U)}.sub.2) is further calculated based on the absolute value of the coil current vector (|I|).
[0163] Clause 4The method of any of clauses 2 or 3, further comprising: [0164] determining a target load angle proportional to the absolute value of the coil current vector (|I|), wherein generating the target current is further based on the target load angle.
[0165] Clause 5The method of clause 4, wherein the target load angle is between a lower load angle threshold and an upper load angle threshold, wherein the upper load angle threshold is less than 90 degrees.
[0166] Clause 6The method of any of clauses 4 or 5, further comprising: [0167] operating the stepper motor in a reverse motoring mode such that the stepper motor is configured to feedback energy into a driver power supply, [0168] determining the target load angle proportional to the absolute value of the coil current vector (|I|), wherein the target load angle is between a reverse-motoring upper load angle threshold and a reverse-motoring lower load angle threshold.
[0169] Clause 7The method of clause 6, wherein the reverse-motoring upper load angle threshold is set to reduce energy fed back into the driver power supply or to maximise energy fed back into the driver power supply.
[0170] Clause 8The method of any of clauses 4 to 7, wherein the target current is calculated by a target current PI-regulator receiving at its input the difference between the load angle of the stepper motor and the target load angle.
[0171] Clause 9The method of any preceding clause, further comprising: [0172] determining an emf vector based on an estimated first motor coil back-emf voltage (U.sub.bemf.sub.
[0175] Clause 10The method of clause 9, wherein the back-emf voltage angle is further determined based on at least one of the following: the supply voltage; inductance of the stepper motor coils; resistance of the stepper motor coils; the first voltage-based control signal ({right arrow over (U)}.sub.1); and the first and second motor coil currents (I.sub.ADC.sub.
[0176] Clause 11The method of any preceding clause, wherein at a first time the stepper motor is operated using the first voltage-based control signal ({right arrow over (U)}.sub.1), the first time proceeding a second time at which the stepper motor is operated with the second voltage-based control signal ({right arrow over (U)}.sub.2).
[0177] Clause 12The method of any preceding clause, wherein the first voltage-based control signal ({right arrow over (U)}.sub.1) is further calculated based on a first micro-step value associated with a first phase angle position of a micro-step sequencer waveform for operating the stepper motor in a micro-step mode of operation.
[0178] Clause 13The method of clause 12, wherein the second voltage-based control signal ({right arrow over (U)}.sub.2) is further calculated based on a second micro-step value associated with a second phase angle position of the micro-step sequencer waveform for operating the stepper motor in a micro-step mode of operation.
[0179] Clause 14The method of clause 13, further comprising: [0180] adjusting the second phase angle position of the micro-step sequencer waveform relative to the first phase angle position of the micro-step sequencer waveform based on the coil current phase angle (?I).
[0181] Clause 15The method of clause 14, wherein the adjustment of the second phase angle position of the micro-step sequencer waveform relative to the first phase angle position of the micro-step sequencer waveform is determined with a damping PI-regulator, wherein the PI-regulator receives the coil current phase angle (?I).
[0182] Clause 16. The method of any of clause 13 to 15, wherein the second voltage-based control signal ({right arrow over (U)}.sub.2) is further calculated based on a voltage control signal (|U|), wherein the method further comprises: [0183] calculating the voltage control signal (|U|) by regulating the absolute value of the coil current vector based on the target current.
[0184] Clause 17The method of any of clause 13 to 16, wherein the micro-step sequencer waveform is a first micro-step sequencer waveform, wherein the second voltage-based control signal ({right arrow over (U)}.sub.2) is further based on: [0185] the voltage control signal (|U|); and [0186] the second micro-step value.
[0187] Clause 18The method of any of clause 17, wherein the second voltage-based control signal ({right arrow over (U)}.sub.2) is further based on: [0188] a predetermined phase angle relationship between the first micro-step sequencer waveform and a second micro-step sequencer waveform.
[0189] Clause 19The method of any preceding clause, further comprising: [0190] generating a first motor coil driving voltage with the second voltage-based control signal ({right arrow over (U)}.sub.2), wherein the first motor coil driving voltage is configured to be applied to the first stepper motor coil; and [0191] generating a second motor coil driving voltage with the second voltage-based control signal ({right arrow over (U)}.sub.2), wherein the second motor coil driving voltage is configured to be applied to the second stepper motor coil.
[0192] Clause 20. A circuit arrangement for operating a stepper motor in a voltage-based operating mode with a current control loop, the stepper motor comprising at least a first motor coil and a second motor coil, the circuit comprising: [0193] a control unit for a voltage-based operating mode, configured to generate: [0194] a first voltage-based control signal ({right arrow over (U)}.sub.1) for operating the stepper motor at a first time; [0195] a second voltage-based control signal ({right arrow over (U)}.sub.2) for operating the stepper motor at a second time, wherein the first time proceeds the second time at which the stepper motor is operated; [0196] an analog-to-digital converter (ADC) configured to: [0197] measure a first motor coil current (I.sub.ADC.sub.
[0204] Clause 21The circuit arrangement of clause 20, further comprising: a target current regulator unit coupled to the load angle calculation unit configured to generate a target current based on the load angle of the stepper motor.
[0205] Clause 22The circuit arrangement of clauses 21, further comprising: [0206] a load angle controller coupled to the target current regulator unit and configured to: [0207] receive the absolute value of the coil current vector (|I|); and, [0208] determine a target load angle proportional to the absolute value of the coil current vector (|I|), wherein generating a target current is further based on the target load angle.
[0209] Clause 23The circuit arrangement of any of clauses 20 to 22, further comprising: a micro-step unit configured to: [0210] generate a micro-step sequencer waveform for operating the stepper motor in a micro-step mode of operation, wherein the micro-step sequencer waveform is discrete and comprises: a first micro-step value associated with a first phase angle position of a micro-step sequencer waveform.
[0211] Clause 24The circuit arrangement of clause 23, wherein the micro-step sequencer waveform further comprises: a second micro-step value associated with a second phase angle position of the micro-step sequencer waveform.
[0212] Clause 25The circuit arrangement of clause 24, wherein the micro-step unit is further configured to regulate the second phase angle position relative to the first phase angle position based on the coil current phase (?I).
[0213] Clause 26The circuit arrangement of any of clauses 24 to 25, wherein the micro-step sequencer waveform is a first micro-step sequencer waveform, wherein the second phase angle position is further associated with a second micro-step sequencer waveform, wherein there is a predetermined phase angle relationship between the first micro-step sequencer waveform and a second micro-step sequencer waveform, Clause 27The circuit arrangement of clause 26, wherein the micro-step unit is further configured to: [0214] generate a micro-step vector based on the second micro-step value (SQ.sub.2y) associated with the first micro-step sequencer waveform; and a third micro-step value (SQ.sub.2y) associated with the second micro-step sequencer waveform at the second phase angle position. For example, as disclosed at
[0215] Clause 28The circuit arrangement of clause 27, wherein the micro-step unit is further configured to determine a micro-step phase angle (?I) between the micro-step vector and the pre-defined reference angle, wherein the second voltage-based control signal ({right arrow over (U)}.sub.2) is further based the second micro-step phase angle.
[0216] Clause 29The circuit arrangement of any of clauses 27 to 28, wherein the second voltage-based control signal ({right arrow over (U)}.sub.2) is further based the micro-step vector.
[0217] Clause 30The circuit arrangement of any of clauses 20 to 29, wherein the control unit further comprises: [0218] a current regulator coupled to the target current regulator unit, and configured to: receive the target current and the absolute value of the coil current vector and, determine a voltage control signal (|U|) based on the difference between: the target current; and the absolute value of the coil current vector.
[0219] Clause 31The circuit arrangement of clause 30, wherein the current regulator is a PI-regulator.
[0220] Clause 32The circuit arrangement of any of clause 30 to 31, further comprising a motor driver circuit configured to operate the stepper motor based on the voltage control signal (|U|) such that the absolute value of the coil current vector of a subsequent loop/iteration (e.g., at time t=2) is adjusted to the target current.
[0221] Clause 33The circuit arrangement of any of clause 24 to 31, wherein the control unit further comprises: [0222] a multiplier configured to multiply the voltage control signal (|U|) with the second micro-step value to generate the second voltage-based control signal ({right arrow over (U)}.sub.2).
[0223] Clause 34A method for damping stepper motor resonances of a stepper motor, the stepper motor comprising at least a first motor coil and a second motor coil, the method comprising: [0224] measuring a first motor coil current (I.sub.ADC.sub.
[0231] Clause 35The method of clause 34, wherein the adjustment of the second phase angle position relative to the first phase angle position is determined with a damping PI-regulator, wherein the PI-regulator receives the coil current phase angle (?I).
[0232] Clause 36A method of operating a stepper motor in a voltage-based operating mode with a control loop, the stepper motor comprising at least a first motor coil and a second motor coil, the method comprising: [0233] measuring a first motor coil current from the first stepper motor coil; [0234] measuring a second motor coil current from the second stepper motor coil; [0235] determining a coil current vector based on: the first motor coil current; and the second motor coil current, wherein there is a predetermined phase angle relationship between the first motor coil current and the second motor coil current; [0236] determining a coil current phase angle between the coil current vector and a pre-defined reference angle; [0237] receiving a first voltage-based control signal for operating the stepper motor; [0238] calculating a load angle of the stepper motor based on: [0239] the coil current phase angle; [0240] an absolute value of the coil current vector; and [0241] the first voltage-based control signal; [0242] calculating a second voltage-based control signal based on the load angle; and operating the stepper motor using the second voltage-based control signal.
[0243] Clause 37The method of clause 36, further comprising: [0244] generating a target current based on the load angle of the stepper motor.
[0245] Clause 38The method of clause 37, wherein the second voltage-based control signal is further calculated based on the absolute value of the coil current vector.
[0246] Clause 39The method of any of clause 37 or 38, further comprising: [0247] determining a target load angle proportional to the absolute value of the coil current vector, wherein generating the target current is further based on the target load angle.
[0248] Clause 40The method of clause 39, wherein the target load angle is between a lower load angle threshold and an upper load angle threshold, wherein the upper load angle threshold is less than 90 degrees.
[0249] Clause 41The method of any of clauses 39 or 40, further comprising: [0250] operating the stepper motor in a reverse motoring mode such that the stepper motor is configured to feedback energy into a driver supply, [0251] determining the target load angle proportional to the absolute value of the coil current vector, wherein the target load angle is between a reverse-motoring upper load angle threshold and a reverse-motoring lower load angle threshold.
[0252] Clause 42The method of clause 41, wherein the reverse-motoring upper load angle threshold is set to reduce energy fed back into the driver supply or to maximise energy fed back into the driver supply.
[0253] Clause 43The method of any of clauses 39 to 42, wherein the target current is calculated by a target current PI-regulator receiving at its input the difference between the load angle of the stepper motor and the target load angle.
[0254] Clause 44The method of any of clauses 36 to 43, further comprising [0255] determining an emf vector based on an estimated first motor coil back-emf voltage and an estimated second motor coil back-emf voltage; [0256] determining a back-emf voltage phase angle between the emf vector and the pre-defined reference angle; and [0257] calculating a load reserve from the difference between the back-emf voltage phase angle and the coil current phase angle, wherein the load reserve is the load angle minus 90?.
[0258] Clause 45The method of clause 44, wherein the back-emf voltage angle is further determined based on at least one of the following: the supply voltage; inductance of the stepper motor coils; resistance of the stepper motor coils; the first voltage-based control signal; and the first and second motor coil currents.
[0259] Clause 46The method of any of clauses 36 to 45, wherein at a first time the stepper motor is operated using the first voltage-based control signal, the first time proceeding a second time at which the stepper motor is operated with the second voltage-based control signal.
[0260] Clause 47The method of any of clauses 36 to 46, wherein the first voltage-based control signal is further calculated based on a first micro-step value associated with a first phase angle position of a micro-step sequencer waveform for operating the stepper motor in a micro-step mode of operation.
[0261] Clause 48The method of clause 47, wherein the second voltage-based control signal is further calculated based on a second micro-step value associated with a second phase angle position of the micro-step sequencer waveform for operating the stepper motor in a micro-step mode of operation.
[0262] Clause 49The method of clause 48, further comprising: [0263] adjusting the second phase angle position of the micro-step sequencer waveform relative to the first phase angle position of the micro-step sequencer waveform based on the coil current phase angle.
[0264] Clause 50The method of clause 49, wherein the adjustment of the second phase angle position of the micro-step sequencer waveform relative to the first phase angle position of the micro-step sequencer waveform is determined with a damping PI-regulator, wherein the PI-regulator receives the coil current phase angle.
[0265] Clause 51The method of any of clauses 48 to 50, wherein the second voltage-based control signal is further calculated based on a voltage control signal, wherein the method further comprises: [0266] calculating the voltage control signal by regulating the absolute value of the coil current vector based on the target current.
General
[0267] Each block of
[0268] Unless the context clearly requires otherwise, throughout the description and the claims, the words comprise, comprising, include, including, and the like are to be construed in an inclusive sense, as opposed to an exclusive or exhaustive sense; that is to say, in the sense of including, but not limited to.
[0269] The words coupled or connected, as generally used herein, refer to two or more elements that may be either directly connected, or connected by way of one or more intermediate elements. Additionally, the words herein, above, below, and words of similar import, when used in this application, shall refer to this application as a whole and not to any particular portions of this application. Where the context permits, words in the Detailed Description using the singular or plural number may also include the plural or singular number, respectively. The words or in reference to a list of two or more items, is intended to cover all of the following interpretations of the word: any of the items in the list, all of the items in the list, and any combination of the items in the list.
[0270] It is to be understood that one or more features from one or more of the above-described embodiments may be combined with one or more features of one or more other ones of the above-described embodiments, so as to form further embodiments which are within the scope of the appended claims.