DRIVER DEVICE FOR A STEPPING MOTOR
20230144831 · 2023-05-11
Assignee
Inventors
Cpc classification
International classification
Abstract
A driver device supplies an output current to each coil in a stepping motor to rotate a rotor. After the polarity and magnitude of the output current for each coil have reached the target polarity and magnitude, during control for keeping the polarity and magnitude of the output current for each coil at the target polarity and magnitude, occurrence of a particular current waveform in the output current due to a back-electromotive force resulting from the rotation of the rotor is detected so that, if a particular current waveform is detected, a predetermined detection signal is transmitted to an external device.
Claims
1. A driver device for a stepping motor having a rotor and a coil, comprising: an output stage circuit configured to supply an output current to the coil by applying a voltage to the coil; a control circuit configured to control the output stage circuit based on a current setting signal for setting a target of the output current to be supplied to the coil and a current sense signal indicating a result of sensing of the output current; and a particular current waveform detector configured to detect occurrence of a particular current waveform in a waveform of the output current, wherein the rotor rotates according to change of the output current based on change of the current setting signal, when the current setting signal is changed to require that, according to the current setting signal changed, a polarity of the output current be set to a target polarity and a magnitude of the output current be set to a target magnitude, the control circuit changes the output current to a current having the target polarity and the target magnitude according to the current setting signal changed and then, to approximate the magnitude of the output current to the target magnitude, the control circuit repeatedly performs a unit operation which is a sequence of a power supply mode operation and a decay mode operation, in the power supply mode operation, the output stage circuit is in a power supply state in which the output stage circuit supplies electric power to the coil to increase the magnitude of the output current and, in the decay mode operation, the output stage circuit is in a decay state in which the output stage circuit suspends supplying the electric power to decrease the magnitude of the output current, after a start of repetition of the unit operation, the particular current waveform detector detects, as the particular current waveform, a waveform with which the magnitude of the output current increases above the target magnitude and, on detecting occurrence of the particular current waveform, the particular current waveform detector transmits a predetermined detection signal to a device external to the driver device.
2. The driver device according to claim 1, wherein during the repetition of the unit operation, the control circuit controls the output stage circuit so as to approximate the magnitude of the output current to the target magnitude such that the magnitude of the output current is equal to or smaller than the target magnitude, and the particular current waveform is a waveform with which the magnitude of the output current increases above the target magnitude against control by the control circuit due to a counter-electromotive force appearing in the coil as the rotor rotates.
3. The driver device according to claim 1, wherein in each unit operation, the control circuit performs the power supply mode operation at least for a predetermined forced power supply time and, if the magnitude of the output current is detected to be equal to or greater than the target magnitude when, after a start of the power supply mode operation, the forced power supply time has elapsed, the control circuit ends the power supply mode operation and performs the decay mode operation for a predetermined decay time.
4. The driver device according to claim 1, wherein the particular current waveform detector detects, as an output on time, a time during which, in each unit operation, the output stage circuit is in the power supply state and detects occurrence of the particular current waveform based on change of the output on time during a detection target period in which the unit operation is repeated.
5. The driver device according to claim 4, wherein the detection target period includes a first period and a second period occurring after the first period, and the particular current waveform detector sets a reference on time based on one or more output on times detected as the output on time during the first period and detects occurrence of the particular current waveform during the second period based on a comparison between the reference on time and the output on time during the second period.
6. The driver device according to claim 5, wherein in a case where an evaluation on time, which is the output on time during the second period, is shorter than the reference on time, if an absolute value of a difference between the reference on time and the evaluation on time is equal to or greater than a predetermined difference threshold value or if a ratio of the evaluation on time to the reference on time is equal to or smaller than a predetermined ratio threshold value, the particular current waveform detector recognizes occurrence of the particular current waveform during the second period.
7. The driver device according to claim 1, wherein during a detection target period in which the unit operation is repeated, the particular current waveform detector detects occurrence of the particular current waveform using a current threshold value greater than the target magnitude based on a comparison between the current threshold value and the magnitude of the output current.
8. The driver device according to claim 7, wherein the particular current waveform detector recognizes occurrence of the particular current waveform if, during the detection target period, the output current with a magnitude equal to or greater than the current threshold value is sensed.
9. The driver device according to claim 1, wherein the particular current waveform detector detects occurrence of the particular current waveform based on a slope of increase of the magnitude of the output current with the output stage circuit in the power supply state during a detection target period in which the unit operation is repeated.
10. The driver device according to claim 9, wherein during the detection target period, the particular current waveform detector detects a slope of increase of the magnitude of the output current with the output stage circuit in the power supply state in each unit operation and, if the slope is detected to be equal to or greater than a predetermined slope threshold value, the particular current waveform detector recognizes occurrence of the particular current waveform.
11. The driver device according to claim 9, wherein the detection target period includes a first period and a second period occurring after the first period, and the particular current waveform detector sets a reference slope based on one or more slopes detected as the slope during the first period and then, based on a comparison between the reference slope and the slope during the second period, the particular current waveform detector detects occurrence of the particular current waveform during the second period.
12. The driver device according to claim 11, wherein in a case where an evaluation slope, which is the slope during the second period, is greater than the reference slope, if an absolute value of a difference between the reference slope and the evaluation slope is equal to or greater than a predetermined difference threshold value or if a ratio of the evaluation slope to the reference slope is equal to or greater than a predetermined ratio threshold value, the particular current waveform detector recognizes occurrence of the particular current waveform during the second period.
13. The driver device according to claim 1, wherein the output stage circuit includes a full-bridge circuit comprising four output transistors, currents commensurate with the output current flow through the output transistors respectively, and the particular current waveform detector acquires current waveforms in the output transistors respectively based on results of sensing of the currents flowing through the output transistors respectively, and the particular current waveform detector detects occurrence of the particular current waveform based on a comparison between the current waveforms in the output transistors and a predetermined current waveform during a detection target period in which the unit operation is repeated.
14. The driver device according to claim 1, wherein after a start of repetition of the unit operation, when the current setting signal is changed again to require that, according to the current setting signal changed again, the polarity of the output current be reversed from the target polarity, the control circuit switches the output stage circuit from a first power supply state for feeding the coil with the output current of the target polarity to a second power supply state for feeding the coil with the output current of the polarity reversed from the target polarity and, if the magnitude of the output current immediately after the switching is equal to or greater than a current threshold value greater than the target magnitude, the control circuit recognizes occurrence of the particular current waveform.
15. The driver device according to claim 1, wherein as the coil, a plurality of coils are provided in the stepping motor, in the driver device, a plurality of channel circuits are allocated to the plurality of coils respectively, and a plurality of the output stage circuits and a plurality of the control circuits are provided for the channel circuits respectively, and as a result of the output current being controlled in each of the channel circuits, the rotor rotates.
Description
BRIEF DESCRIPTION OF DRAWINGS
[0011]
[0012]
[0013]
[0014]
[0015]
[0016]
[0017]
[0018]
[0019]
[0020]
[0021]
[0022]
[0023]
[0024]
[0025]
[0026]
[0027]
DESCRIPTION OF EMBODIMENTS
[0028] Hereinafter, examples of implementing the present disclosure will be described specifically with reference to the accompanying drawings. Among the diagrams referred to in the course, the same parts are identified by the same reference signs, and in principle no overlapping description of the same parts will be repeated. In the present description, for the sake of simplicity, symbols and reference signs referring to information, signals, physical quantities, elements, parts, and the like are occasionally used with omission or abbreviation of the names of the information, signals, physical quantities, elements, parts, and the like corresponding to those symbols and reference signs. For example, the particular current waveform detector described later and identified by the reference sign “160” (see
[0029] First, some of the terms used to describe embodiments of the present disclosure will be defined. “Ground” refers to a reference conductor at a reference potential of 0 V (zero volts), or to a potential of 0 V itself. A reference conductor is formed of an electrically conductive material such as metal. A potential of 0 V is occasionally referred to as a ground potential. In embodiments of the present disclosure, any voltage mentioned with no particular reference mentioned is a potential relative to the ground. “Level” denotes the level of a potential, and for any signal or voltage, “high level” has a higher potential than “low level”. For any signal or voltage, its being at high level means its level being equal to high level, and its being at low level means its level being equal to low level. A level of a signal is occasionally referred to as a signal level, and a level of a voltage is occasionally referred to as a voltage level.
[0030] For any transistor configured as an FET (field-effect transistor), which can be a MOSFET, “on state” refers to a state where the drain-source channel of the transistor is conducting, and “off state” refers to a state where the drain-source channel of the transistor is not conducting (cut off). Similar definitions apply for any transistor that is not classified as an FET. Unless otherwise stated, any MOSFET can be understood to be an enhancement MOSFET. “MOSFET” is an abbreviation of “metal-oxide-semiconductor field-effect transistor”. For any transistor, its being in the on or off state is occasionally expressed simply as its being on or off respectively.
[0031]
[0032]
[0033] The stepping motor 200 includes motor coils (armature windings) for a plurality of phases and a rotor 210. The embodiment assumes that the stepping motor 200 is a two-phase stepping motor, and that, as the motor coils for two phases, motor coils L[1] and L[2] are provided in the stepping motor 200. Instead, as the stepping motor 200, a three-phase stepping motor with three motor coils or a five-phase stepping motor with five motor coils may also be used.
[0034] The MPU 300 controls the operation of the motor driver 100 by transmitting a control signal CNT to the motor driver 100. The motor driver 100 drives and controls the stepping motor 200 based on the control signal CNT. That is, the MPU 300 is an example of a processing device that controls the rotation of the rotor 210 by controlling the motor driver 100. The control signal CNT is fed to the control terminal group TM.sub.CNT. The control signal CNT is composed of a plurality of control signals. Not all of the plurality of control signals may be fed from the MPU 300. That is, for example, of the plurality of control signals composing the control signal CNT, one or more control signals may be fixed at low level or high level by being pulled down or up.
[0035] The motor driver 100 includes an input buffer 111, a translator 112, a DAC 113, which is a digital-to-analog converter, a plurality of channel circuits, and a particular current waveform detector 160. The motor driver 100 includes as many channel circuits as the number of motor coils provided in the stepping motor 200. That is, if the stepping motor 200 has N motor coils, so as to correspond to them, a total of N channel circuits are provided in the motor driver 100 (where N is any integer of two or more). Here, where it is assumed that the stepping motor 200 includes two motor coils L[1] and L[2], a channel circuit CH[1] that corresponds to the motor coil L[1] and a channel circuit CH[2] that corresponds to the motor coil L[2] are provided in the motor driver 100. Also, although not specifically illustrated, an oscillator, a regulator, and different protection circuits are also provided in the motor driver 100.
[0036] In the motor driver 100, each channel circuit includes a control circuit and an output stage circuit. The control circuit and the output stage circuit provided in the channel circuit CH[i] are referred to as the control circuit 120[i] and the output stage circuit 130[i] respectively. Here, i is any integer; the control circuit 120[i] refers to, if i =1, the control circuit 120[1] and, if i=2, the control circuit 120[2]. The same applies to the output stage circuit 130[i] etc. In each channel circuit, the control circuit 120[i] includes a comparator 121[i] and a control logic 122[i]. In each channel circuit, the output stage circuit 130[i] includes a pre-driver 131[i] and a full-bridge circuit 132[i] (an H-bridge circuit).
[0037] A motor coil and a current sensing resistor are connected to each channel circuit.
[0038] The motor coil and the current sensing resistor that correspond to the channel circuit CH[i] are a motor coil L[i] and a current sensing resistor R[i]. Hereinafter, a circuit that includes a given channel circuit and a circuit including a motor coil and a current sensing resistor that correspond to the given channel circuit may be referred to as a channel. The channel composed of the channel circuit CH[1], the motor coil L[1], and the current sensing resistor R[1] is referred to as a first channel, and the channel composed of the channel circuit CH[2], the motor coil L[2], and the current sensing resistor R[2] is referred to as a second channel. The terminals A.sub.OUT[i], B.sub.OUT[i], RNF[i], and VCC[i] are the terminals that belong to the i-th channel (the terminals that correspond to the i-th channel). A common supply voltage VCC is fed from a power supply circuit (not shown) provided outside the motor driver 100 to the power terminals VCC[1] and VCC[2]. The supply voltage VCC is a positive direct-current voltage (for example, 24 V). The circuits in the motor driver 100 operate based on the supply voltage VCC. The ground terminal GND is connected to the ground.
[0039] The channel circuits CH[1] and CH[2] have the same circuit configuration, and the interconnection among the channel circuit, the motor coil, and the current sensing resistor is common to a plurality of channels. Thus, in the embodiment, the configuration of the i-th channel, voltages and currents in the i-th channel, etc. will be described using the symbol “i” representing any integer.
[0040] The output terminal A.sub.OUT[i] is connected to one terminal of the motor coil L[i], and the output terminal B.sub.OUT[i] is connected to the other terminal of the motor coil L[i]. A current passing between the output terminals A.sub.OUT[i] and B.sub.OUT[i] (thus, a current passing through the motor coil L[i]) is referred to as an output current I.sub.OUT[i]. When the output current I.sub.OUT[i] passes from the output terminal A.sub.OUT[i] via the coil L[i] toward the output terminal B.sub.OUT[i], the polarity of the output current I.sub.OUT[i] is assumed to be positive and the polarity of the output current I.sub.OUT[i] opposite to it is assumed to be negative. As the polarities of the output currents I.sub.OUT[1] and I.sub.OUT[2] are changed or as the magnitudes and the polarities of the output currents I.sub.OUT[1] and I.sub.OUT[2] are changed, the rotor 210 rotates stepwise based on the magnetic force produced around the coils L[1] and L[2].
[0041] The current sensing resistor R[i] is provided outside the motor driver 100. The current sensing resistor R[i] is connected between the resistor connection terminal RNF[i] and the ground. The current sensing resistor R[i] senses the current passing through the motor coil L[i] and converts the sensed current into a voltage. The voltage at the resistor connection terminal RNF[i] is referred to as a detection voltage V.sub.RNF[i]. The resistors R[1] and R[2] have the same (with some error permitted) resistance value (for example, 0.1Ω to 0.3Ω). The current sensing resistor R[i] constitutes a current sensor. The current sensor senses the output current I.sub.OUT[i] to generate a current sense signal indicating the result of sensing of the output current I.sub.OUT[i]. During a period in which the output current I.sub.OUT[i] passes through the resistor R[i], the detection voltage V.sub.RNF[i] has a voltage value proportional to the output current I.sub.OUT[i]; thus, it functions as the current sense signal. The current sensing resistor R[i] may be incorporated in the motor driver 100. In that case, the current sensor is incorporated in the motor driver 100.
[0042] The input buffer 111, the translator 112, and the DAC 113 are the circuits shared between the first and second channels.
[0043] The input buffer 111 is a voltage follower configured with an operational amplifier and outputs a reference voltage Vref, which is fed to the reference voltage input terminal TM.sub.REF, to the DAC 113 with a low impedance. The reference voltage Vref is a positive direct-current voltage. As will be clear from the description given later, the reference voltage Vref determines the maximum value of the magnitude of the output currents I.sub.OUT[1] and I.sub.OUT[2].
[0044] The translator 112 is connected to the control terminal group TM.sub.CNT to receive the control signal CNT. The control signal CNT determines the driving scheme and the excitation mode of the motor 200 and the rotation direction of the rotor 210, and the translator 112, based on the control signal CNT, generates and outputs internal control signals CNT.sub.V[1], CNT.sub.V[2], CNT.sub.P[1], and CNT.sub.P[2]. In each channel, the magnitude of the output current I.sub.OUT[i] is controlled in accordance with the internal control signal CNT.sub.V[i], and the polarity (output logic) of the output current I.sub.OUT[i] is controlled in accordance with the internal control signal CNT.sub.P[i].
[0045] The DAC 113, based on the reference voltage Vref fed through the input buffer 111, generates reference voltages V.sub.REF[1] and V.sub.REF[2] that are respectively given by V.sub.REF[1]=k.sub.DAC[1]×Vref and V.sub.REF[2]=k.sub.DAC[2]×Vref Here, the coefficient k.sub.DAC[i] is determined by the internal control signal CNT.sub.V[i]. For example, the internal control signal CNT.sub.V[i] is a 2-bit digital signal, and the coefficient k.sub.DAC[i] selectively takes one of the values 0, ⅓, ⅔, and 1 in accordance with the internal control signal CNT.sub.V[i]. Here, the DAC 113 may be configured with a 2-bit digital-to-analog converter. This, however, is not meant to limit the number of bits in the DAC 113.
[0046] The control circuit 120[1] is fed with, as signals for the first channel, the reference voltage V.sub.REF[1], the detection voltage V.sub.RNF [1], and the internal control signal CNT.sub.P[i]. The control circuit 120[2] is fed with, as signals for the second channel, the reference voltage V.sub.REF[2], a detection voltage V.sub.RNF[2], and the internal control signal CNT.sub.P [2].
[0047] The control circuit 120[i], based on the reference voltage V.sub.REF[i], the detection voltage V.sub.RNF[i], and the internal control signal CNT.sub.P[i], controls the output stage circuit 130[i] so that the output current I.sub.OUT[i] has a magnitude in accordance with the reference voltage V.sub.REF[i] and the output current I.sub.OUT[i] has a polarity in accordance with the internal control signal CNT.sub.P[i].
[0048] Specifically, in the control circuit 120[i], the non-inverting input terminal of the comparator 121[i] is fed with the reference voltage V.sub.REF[i], and the inverting input terminal of the comparator 121[i] is fed with the detection voltage V.sub.RNF[i]. The comparator 121[i] compares the voltage V.sub.REF[i] with the voltage V.sub.RNF[i] and outputs a comparison result signal Sc[i] indicating the result of comparison to the control logic 122[i]. The comparison result signal Sc[i] is at high level when the reference voltage V.sub.REF[i] is higher than the detection voltage V.sub.RNF[i] and is at low level when the reference voltage V.sub.REF[i] is lower than the detection voltage V.sub.RNF[i]. When V.sub.REF[i]=V.sub.RNF[1], the comparison result signal S.sub.CMP[i] is at high or low level.
[0049] The control logic 122[i] generates a motor driving signal that specifies the on/off states of the output transistors in the full-bridge circuit 132[i] based on the comparison result signal Sc[i] and the internal control signal CNT.sub.P[i], and outputs the generated motor driving signal to the pre-driver 131[i]. The pre-driver 131[i], in accordance with the motor driving signal, turns on and off individually the plurality of output transistors constituting the full-bridge circuit 132[i]. Here, the control logic 122[i], based on the comparison result signal S.sub.CMP[i] in the period during which the output current I.sub.OUT[i] passes from the terminal RNF[i] via the resistor R[i] to the ground, generates the motor driving signal such that the detection voltage V.sub.RNF [i] during this period is close (ideally, substantially equal) to the reference voltage V.sub.REF[i] and that the polarity of the output current I.sub.OUT[i] is the same as the polarity specified by the internal control signal CNT.sub.P[i].
[0050] In this way, the reference voltage V.sub.REF[i] and the internal control signal CNT.sub.P[i] constitute a current setting signal (in other words, a current command signal) that sets the target of the output current I.sub.OUT[i] to be fed to the motor coil L[i]. With the detection voltage V.sub.RNF[i] controlled so as to be close (ideally, substantially equal) to the reference voltage V.sub.REF[i], the output current I.sub.OUT[i] has a magnitude proportional to the reference voltage V.sub.REF[i] (however, for some reason, the output current I.sub.OUT[i] may have a magnitude contradicting the control; this will be described in detail later). That is, the target of the magnitude of the output current I.sub.OUT[i] is set by the reference voltage V.sub.REF[i]. In addition, the target of the polarity of the output current I.sub.OUT[i] is set by the internal control signal CNT.sub.P[i].
[0051] The full-bridge circuit 132[1] is composed of the output transistors M1[1] and M2[1] configured as P-channel MOSFETs and the output transistors M3[1] and M4[1] configured as N-channel MOSFETs. The full-bridge circuit 132[2] is composed of the output transistors M1[2] and M2[2] configured as P-channel MOSFETs and the output transistors M3[2] and M4[2] configured as N-channel MOSFETs. A P-channel MOSFET is accompanied by a parasitic diode of which the forward direction points from the drain to the source, and an N-channel MOSFET is accompanied by a parasitic diode of which the forward direction points from the source to the drain. In
[0052] In the full-bridge circuit 132[i], the sources of the output transistors M1[i] and M2[i] are both connected to the power terminal VCC[i], and the supply voltage VCC is applied to the respective sources of the output transistors M1[i] and M2[i]. In the full-bridge circuit 132[i], the drains of the output transistors M1[i] and M3[i] are both connected to the output terminal A.sub.OUT[i], the drains of the output transistors M2[i] and M4[i] are both connected to the output terminal B.sub.OUT[i], and the sources of the output transistors M3[i] and M4[i] are both connected to the resistor connection terminal RNF[i]. The pre-driver 131[i], by controlling the gate potentials of the output transistors M1[i] to M4[i] in accordance with the motor driving signal from the control logic 122[i], turns on an off the output transistors M1[i] to M4[i] individually.
[0053] While the above description deals with an example where the full-bridge circuit 132[i] is configured with P-channel and N-channel MOSFETs, the output transistors constituting the full-bridge circuit 132[i] may all be N-channel MOSFETs. In that case, the circuit is modified as necessary. The full-bridge circuit 132[i] may be configured with bipolar transistors instead of MOSFETs.
[0054] The motor driver 100 can drive the stepping motor 200 in one of a plurality of excitation modes in accordance with the control signal CNT. The plurality of excitation modes include a full step excitation mode in which the rotor 210 is rotated stepwise every electrical angle of 90°, a half step excitation mode in which the rotor 210 is rotated stepwise every electrical angle of 45°, and a quarter step excitation mode in which the rotor 210 is rotated stepwise every electrical angle of 22.5°.
[0055] With reference to
[0056] The target value of the output current I.sub.OUT[i] is referred to as a target current value. The target current value for the output current I.sub.OUT[1] is represented by the symbol “I.sub.TG[1]”, and the target current value for the output current I.sub.OUT[2] is represented by the symbol “I.sub.TG[2]”. The magnitude (absolute value) of the target current value I.sub.TG[i] corresponds to the target of the magnitude of the output current I.sub.OUT[i] (hereinafter referred to as the target magnitude) and is determined by the reference voltage V.sub.REF[i]. The polarity of the target current value I.sub.TG[i] corresponds to the target of the polarity of the output current I.sub.OUT[i] (hereinafter referred to as the target polarity) and is determined by the internal control signal CNT.sub.P[i]. Like the output current I.sub.OUT[i], the target current value I.sub.TG[i] has a polarity. If the resistance value of the resistor R[i] is represented by the symbol “R[i]”, then |I.sub.TG[i]|=V.sub.REF[i]/R[i]. In the full step excitation mode, the magnitudes (absolute values) of the target current values I.sub.TG[1] and I.sub.TG[2] are both equal to a predetermined current value I.sub.REF and are constant (I.sub.REF >0). Thus, in the full step excitation mode, the reference voltages V.sub.REF[1] and V.sub.REF[2] are fixed at a constant voltage (for example, fixed at a voltage equal to the reference voltage Vref). The current value I.sub.REF has a positive value proportional to the reference voltage Vref.
[0057] Specifically,
[0058] in state ST.sub.1, (I.sub.TG[1], I.sub.TG[2])=(I.sub.REF, I.sub.REF),
[0059] in state ST.sub.2, (I.sub.TG[1], I.sub.TG[2])=(−I.sub.REF, I.sub.REF),
[0060] in state ST.sub.3, (I.sub.TG[1], I.sub.TG[2])=(−I.sub.REF, −I.sub.REF), and
[0061] in state ST.sub.4, (I.sub.TG[1], I.sub.TG[2])=(I.sub.REF, −I.sub.REF).
[0062] Thus, the control circuits 120[1] and 120[2] control the output stage circuits 130[1] and 130[2] based on the reference voltages V.sub.REF[1] and V.sub.REF[2], the detection voltages V.sub.RNF[1] and V.sub.RNF[2], and the internal control signals CNT.sub.P[1] and CNT.sub.P[2] such that,
[0063] in state ST.sub.1, (I.sub.OUT[1], I.sub.OUT[2])=(I.sub.REF, I.sub.REF),
[0064] in state ST.sub.2, (I.sub.OUT[1], I.sub.OUT[2])=(−I.sub.REF, I.sub.REF),
[0065] in state ST.sub.3, (I.sub.OUT[1], I.sub.OUT[2])=(−I.sub.REF, −I.sub.REF), and
[0066] in state ST.sub.4, (I.sub.OUT[1], I.sub.OUT[2])=(I.sub.REF, −I.sub.REF).
[0067]
[0068] In the full step excitation mode, as described above, the target current value I.sub.TG[i] for each channel is switched between two current values “I.sub.REF” and “−I.sub.REF”. Methods for controlling the output currents I.sub.OUT[1] and I.sub.OUT[2] in the half step and the quarter step excitation modes are, like that in the full step excitation mode, well known; thus no detailed description will be given. In the half step excitation mode, the target current value I.sub.TG[i] for each channel is switched among a total of three current values “I.sub.REF”, “0”, and “−I.sub.REF”, and, in the quarter step excitation mode, the target current value I.sub.TG[i] for each channel is switched among a total of seven current values “I.sub.REF”, “(⅔) I.sub.REF”, “(⅓) I.sub.REF.sup.”, “0”, “—(⅓) I.sub.REF”, “—(⅔) I.sub.REF”, and “−I.sub.REF”.
[0069] The motor driver 100, through PWM constant current control, keeps the value of the output current I.sub.OUT[i] around the target current value I.sub.TG[i]. PWM is an abbreviation of “pulse width modulation”.
[0070] With reference to
[0071] To give a specific description, it is assumed that I.sub.TG[i]>0 and that a positive output current I.sub.OUT[i] is passing.
[0072] In PWM constant current control, the control circuit 120[i] refers to the detection voltage V.sub.RNF[i] observed when the output current I.sub.OUT[i] is passing across the resistor R[i]. If V.sub.REF[i]>V.sub.RNF[i], the control circuit 120[i] sets the operation mode of the i-th channel to a power supply mode until the detection voltage V.sub.RNF[i] reaches the reference voltage V.sub.REF[i] (that is, until the value of the output current I.sub.OUT[i] reaches the target current value I.sub.TG[i]). When the detection voltage V.sub.RNF[i] reaches the reference voltage V.sub.REF[i] (that is, when the value of the output current I.sub.OUT[i] reaches the target current value I.sub.TG[i]), the control circuit 120[i] switches the operation mode of the i-th channel from the power supply mode to a decay mode. After the switch to the decay mode, when a prescribed decay time T.sub.DECAY has passed, the operation mode of the i-th channel is switched from the decay mode back to the power supply mode.
[0073] The control circuit 120[i], in the period during which the operation mode of the i-th channel is the power supply mode, brings the output stage circuit 130[i] into a power supply state to perform a power supply mode operation and, in the period during which the operation mode of the i-th channel is the decay mode, brings the output stage circuit 130[i] into a decay state to perform a decay mode operation. The power supply state and the power supply mode operation are a state and an operation for increasing the magnitude of the output current I.sub.OUT[i], and the decay state and the decay mode operation are a state and an operation for making decay the magnitude of the output current I.sub.OUT[i]. A sequence of one power supply mode operation and one decay mode operation performed one after the other is referred to as a unit operation. In PWM constant current control, through repetition of the unit operation, the magnitude of the output current I.sub.OUT[i] is kept around the target current value I.sub.TG[i] while being equal to or smaller than the absolute value |I.sub.TG[i]| (that is, equal to or smaller than the magnitude of the target current value |I.sub.TG[i]|).
[0074] The decay mode has a slow decay mode and a fast decay mode.
[0075] In the i-th channel, in the power supply mode, the output stage circuit 130[i] is in the power supply state. When the output stage circuit 130[i] is in the power supply state, it means that the full-bridge circuit 132[i] is in the power supply state. An arrowed broken line 621 in
[0076] In the i-th channel, in the slow decay mode, the output stage circuit 130[i] is in a slow decay state, which is one kind of decay state. When the output stage circuit 130[i] is in the slow decay state, it means that the full-bridge circuit 132[i] is in the slow decay state. An arrowed broken line 622 in
[0077] In the i-th channel, in the fast decay mode, the output stage circuit 130[i] is in a fast decay state, which is another kind of decay state. When the output stage circuit 130[i] is in the fast decay state, it means that the full-bridge circuit 132[i] is in the fast decay state. An arrowed broken line 623 in
[0078] The slow and fast decay modes compare as follows: the decay rate of the output current I.sub.OUT[i] is lower in the slow decay mode than in the fast decay mode. As is well known, the slow and fast decay modes have their respective advantages and disadvantages. In the decay mode operation in each unit operation, a mixed decay mode operation may be performed where a period in which the output stage circuit 130[i] is in the slow decay state and a period in which the output stage circuit 130[i] is in the fast decay state are mixed. Based on an decay mode setting signal included in the control signal CNT, which operation to use as the decay mode operation is selected out of the slow decay mode operation with only the slow decay state, the fast decay mode with only the fast decay state, and the mixed decay mode operation. While the above description deals with the different mode operations with I.sub.TG[i]>0, the same applies with I.sub.TG[i]<0.
[0079] In any case, in the power supply mode operation in the i-th channel, the output stage circuit 130[i] is in the power supply state in which it feeds electric power to the motor coil L[i] to increase the magnitude of the output current I.sub.OUT[i], and, in the decay mode operation in the i-th channel, the output stage circuit 130[i] is in the decay state in which it suspends supplying electric power (suspends the supply of electric power intended to increase the magnitude of the output current I.sub.OUT[i]) to make decay the magnitude of the output current I.sub.OUT[i].
[0080] As described above, PWM constant current control is performed so that, in each channel, the magnitude of the output current I.sub.OUT[i] is kept around the target current value I.sub.TG[i] while being equal to or smaller than the absolute value |I.sub.TG[i]|. However, the magnitude of the output current I.sub.OUT[i] may increase above the absolute value
[0081] At time point t.sub.A1, a shift takes place from I.sub.TG[1]=−I.sub.REF to I.sub.TG[1]=I.sub.REF. Then, starting at time point t.sub.A1, the output current I.sub.OUT[1] starts to rise from a current value (−I.sub.REF), which is the target current value I.sub.TG[1] before the shift, to the current value I.sub.REF, which is the target current value I.sub.TG[1] after the shift, and after a while, the output current I.sub.OUT[1] reaches the current value I.sub.REF. Then, in the period in which I.sub.TG[1]=I.sub.REF, through PWM constant current control achieved by repetition of the unit operation described above, basically, the output current I.sub.OUT[1] is kept around the target current value I.sub.TG[1] while being equal to or smaller than the absolute value |I.sub.TG[i]| (here, equal to or smaller than the I.sub.REF). However, between time points t.sub.A2 and t.sub.A3 within a period in which I.sub.TG[1]=I.sub.REF, the output current I.sub.OUT[1] increases above the target current value I.sub.TG[1] (here, I.sub.REF).
[0082]
[0083] The operation connected with forced power supply will be described with focus on the i-th channel. During forced power supply in the i-th channel, the output stage circuit 130[i] is brought into the power supply state regardless of the detection voltage V.sub.RNF[i] (that is, regardless of the magnitude relationship between the reference voltage V.sub.REF[i] and the detection voltage V.sub.RNF[i]) so that the power supply mode operation described above is performed. Then, in the i-th channel, after the power supply mode operation is started, when the forced power supply time T.sub.FORCE has passed, if the comparator 121[i] detects the magnitude of the output current I.sub.OUT[i] having become equal to or larger than the magnitude of the target current value I.sub.TG[i] (that is, the comparison result signal S.sub.CMP[i] being at low level), a switch is made from the power supply mode to the decay mode, and the decay mode operation is performed for a predetermined decay time T.sub.DECAY. After the decay mode operation is performed for the decay time T.sub.DECAY, the power supply mode operation starts again, and the power supply mode operation is performed at least for the forced power supply time T.sub.FORCE. Although the forced power supply time T.sub.FORCE is suitably short, if the decrease in the current in the decay mode is small, during forced power supply, the magnitude of the output current I.sub.OUT[i] may rise above the magnitude of the target current value I.sub.TG[i].
[0084] In
[0085] While the above description deals with a case where the target current value I.sub.TG[1] is positive, a current bump can occur likewise when the target current value I.sub.TG[1] is negative. That is, a current bump denotes an event in which the magnitude of the output current I.sub.OUT[1] increases, against PWM constant current control, so far as to exceed the magnitude of the target current value I.sub.TG[1] (the target magnitude |I.sub.REF|). While the above description focuses on the first channel, a current bump can occur in either of the first and second channels.
[0086] The current bump focused on in the embodiment can result from the counter-electromotive force that appears in the motor coils L[1] and L[2] as the rotor 210 rotates, and can occur when, as the decay mode, the slow decay mode is used, which involves a comparatively small decay in current. While, in the practical example shown in
[0087] In the motor driver 100, the targets of the output currents I.sub.OUT[1] and I.sub.OUT[2] to be fed to the motor coils L[1] and L[2] are set by the current setting signal, and the current setting signal is composed of the reference voltages V.sub.REF[1] and V.sub.REF[2] that specify the target magnitudes of the output currents I.sub.OUT[1] and I.sub.OUT[2] and the internal control signals CNT.sub.P[1] and CNT.sub.P[2] that specify the target polarities of the output currents I.sub.OUT[1] and I.sub.OUT[2]. Then, according to the change of the current setting signal, as the output currents I.sub.OUT[1] and I.sub.OUT[2] change, for example, as shown in
[0088] The particular current waveform detector 160 shown in
[0089] The way a current bump occurs in the output current I.sub.OUT[i] depends on the load of the rotor 210 (the load that receives the torque generated by the rotor 210). For example, when the load of the rotor 210 is a belt (for example, a belt for feeding sheets in a copier) and the rotor 210 is coupled to it, as the belt sags due to degradation with age, the load of the rotor 210 reduces, and this makes a current bump more likely to occur than before degradation with age (however, it can be the other way around). In that case, it is possible to conveniently recognize degradation with age based on whether the detection signal described above is present.
[0090] Hereinafter, by way of a plurality of practical examples, specific examples of the operation of the motor driver 100 (in particular, the particular current waveform detector 160) will be described along with applied technologies, modified technologies, and the like. Unless otherwise stated or unless inconsistent, any features described above in connection with the embodiment applies to the practical examples described below. For any features of the practical examples that contradict what has been described above, their description given in connection with the practical examples may prevail. Unless inconsistent, any features of any of the plurality of practical examples can be applied to any other practical example (that is, any two or more of the plurality of practical examples can be implemented in any combination).
[0091] <<First Practical Example >>
[0092] A first practical example will be described. The particular current waveform detector 160 according to the first practical example detects occurrence of a particular current waveform by a first detection method.
[0093] To give a specific description, with focus on the first channel, it is assumed that I.sub.TG[i]>0 and that a positive output current I.sub.OUT[i] is passing. That is, with focus on the period in which the states ST.sub.4 and ST.sub.1 in
[0094] In the detection target period, for each unit operation, the detector 160 detects the time for which the output stage circuit 130 [1] is in the power supply state as an output on time. Of a plurality of unit operations belonging to the detection target period, the output on time in the j-th unit operation is represented by the symbol “T.sub.ON[j]”. Here, j is any integer.
[0095] For example, the detector 160 may detect the output on time T.sub.ON[j] based on the gate voltages of the output transistors M1[1] to M4[1]. In this case, for each unit operation, the detector 160 detects, as the output on time, the length of time during which the gate voltage of the output transistor M1[1] is at low level and in addition the gate voltage of the output transistor M4[1] is at high level. With each of the output transistors M1[1] and M2[1] configured as P-channel MOSFETs, it is on when its gate voltage is at low level and is off when its gate voltage is at high level. With each of the output transistors M3[1] and M4[1] configured as N-channel MOSFETs, it is on when its gate voltage is at high level and is off when its gate voltage is at low level.
[0096] For another example, the detector 160 may detect the output on time T.sub.ON[j] based on the motor driving signal fed from the control logic 122[1] to the pre-driver 131[1] to specify the on/off states of the output transistors M[1] to M4[1]. For yet another example, the detector 160 may detect the output on time T.sub.ON[j] based on the voltage at the output terminal A.sub.OUT[1].
[0097] In the detection target period, the detector 160 sets a reference on time T.sub.ONREF based on one or more output on times that have been detected. When, for example, the output on time T.sub.ON[j] is obtained as the latest output on time, the output on time T.sub.ON[j] itself is set as the reference on time T.sub.ONREF, or, the simple moving average or the weighted moving average of a total of q output on times T.sub.ON[j—q+1], T.sub.ON[j—q+2] . . . , T.sub.ON[j— 1], and T.sub.ON[j] is set as the reference on time T.sub.ONREF. Here, q is an integer of two or more.
[0098] As shown in
[0099] With the first detection method, the detector 160 detects occurrence of a particular current waveform (that is, occurrence of a current bump) based on change of the output on time during the detection target period. More specifically, with the first detection method, the detector 160 detects occurrence of a particular current waveform (that is, occurrence of a current bump) during the evaluation period by comparing the output on times detected sequentially during the evaluation period with the reference on time T.sub.ONREF.
[0100] For example, the method proceeds as follows. Let one output on time during the evaluation period be called the evaluation on time. The detector 160 recognizes occurrence of a particular current waveform during the evaluation period if a precondition CND1.sub.A requiring that the evaluation on time be shorter than the reference on time T.sub.ONREF is met and in addition either of the following conditions CND.sub.1B and CND.sub.1C is met: a condition CND.sub.1B requiring that the absolute value of the difference between the reference on time T.sub.ONREF and the evaluation on time be equal to or larger than a predetermined difference threshold value DIF.sub.TH1; and a condition CND.sub.1C requiring that the ratio of the evaluation on time to the reference on time T.sub.ONREF be equal to or smaller than a predetermined ratio threshold value RATIO.sub.TH1.
[0101] Accordingly, when the evaluation on time equals the output on time T.sub.ON[n] (where n is any integer), if T.sub.ONREF>T.sub.ON[n], the precondition CND.sub.1A is met, if |T.sub.ONREF−T.sub.ON[n]|≥DIF.sub.TH1, the condition CND.sub.1B is met, and if T.sub.ON[n]/T.sub.ONREF<RATIO.sub.TH1, the condition CND.sub.1C is met. The difference threshold value DIF.sub.TH1 has a predetermined positive value expressed in time. The ratio threshold value RATIO.sub.TH1 is a dimensionless quantity and has a predetermined positive value (for example, 0.5) smaller than one.
[0102] A configuration is also possible where the detector 160 takes a plurality of consecutive output on times during the evaluation period as a plurality of evaluation on times and recognizes occurrence of a particular current waveform during the evaluation period only if each of the plurality of evaluation on times meets the precondition CND.sub.1A as well as the condition CND.sub.1B or CND.sub.1C.
[0103] If a current bump occurs during the evaluation period, the output on time during the evaluation period is expected to become shorter than the output on time during the reference period. Thus, it is possible to accurately detect occurrence of the particular current waveform by checking whether the conditions described above are met.
[0104] While the first detection method has been described with focus on the period in which, for the first channel, I.sub.TG[1]=I.sub.REF, the first detection method is applicable likewise to any other periods (for example, the period in which I.sub.TG[1]=−I.sub.REF) and also to the second channel.
[0105] <<Second Practical Example >>
[0106] A second practical example will be described. A particular current waveform detector 160 according to the second practical example detects occurrence of a particular current waveform by a second detection method. Also in the second practical example, to give a specific description, with focus on the first channel, it is assumed that I.sub.TG[1]>0 and that a positive output current I.sub.OUT[1] is passing. Attention will be paid to the detection target period (see
[0107] The detector 160 according to the second practical example sets a current threshold value I.sub.TH2 greater than the target magnitude of the output current I.sub.OUT[1] during the detection target period in which the unit operation is repeated, and detects occurrence of a particular current waveform (that is, occurrence of a current bump) based on a comparison between the current threshold value I.sub.TH2 and the magnitude of the output current I.sub.OUT[1].
[0108] As described above, the target magnitude of the output current I.sub.OUT[1] is the target of the magnitude of the output current I.sub.OUT[1], and is the magnitude (absolute value |I.sub.TG[1]|) of the target current value I.sub.TG[1]. Here, it is assumed that I.sub.TG[1]>0, and thus an current threshold value I.sub.TH2 greater than the target current value I.sub.TG[i] can be set. Considering that the target current value I.sub.TG[1] can be negative, the current threshold value I.sub.TH2 can be set according to Expression (2A) or (2B) below. Here, Δ.sub.2 has a predetermined positive value, and k.sub.2 has a predetermined value (e.g., 1.1) greater than one.
I.sub.TH2=|I.sub.TG[1]|+Δ2 (2A)
I.sub.TH2=|I.sub.TG[1]|×k.sub.2 (2B)
[0109] With the second detection method, in the detection target period, the detector 160 recognizes occurrence of a particular current waveform on detecting an output current I.sub.OUT[1] with a magnitude equal to or greater than the current threshold value I.sub.TH2. The detector 160 can detect the output current I.sub.OUT[1] at any sampling timing during the detection target period. For example, in each unit operation during the detection target period, the output current I.sub.OUT[1] immediately before the end of the power supply mode operation can be sampled and detected and, if the magnitude of the output current I.sub.OUT[1] detected is equal to or greater than the current threshold value I.sub.TH2, occurrence of a particular current waveform can be recognized. It is instead also possible to sample the output current I.sub.OUT[1] in each of a plurality of consecutive unit operations and recognize occurrence of a particular current waveform only if the plurality of magnitudes of the output current I.sub.OUT[1] sampled in the plurality of unit operations are all equal to or greater than the current threshold value I.sub.TH2.
[0110] The detector 160 receives a signal indicating the result of detection of the output current I.sub.OUT[1]. The signal indicating the result of detection of the output current I.sub.OUT[1] can be the detection voltage V.sub.RNF[1] obtained using the resistor R[1], or any other signal obtained using a current sensor other than the resistor R[1]. A current sensor other than the resistor R[1] is arranged at a point where the output current I.sub.OUT[1] passes or a current proportional to it passes, and based on the result of detection by that current sensor, the output current I.sub.OUT[1] is detected (as by its magnitude being detected).
[0111] While the second detection method has been described with focus on the period in which, for the first channel, I.sub.TG[1]=I.sub.REF, the second detection method can be applied likewise to any other periods (for example, the period in which I.sub.TG[1]=−I.sub.REF) and also to the second channel.
[0112] <<Third Practical Example >>
[0113] A third practical example will be described. A particular current waveform detector 160 according to the third practical example detects occurrence of a particular current waveform by a third detection method. Also in the third practical example, to give a specific description, with focus on the first channel, it is assumed that I.sub.TG[1]>0 and that a positive output current I.sub.OUT[1] is passing. Attention will be paid to the detection target period (see
[0114] With the third detection method, the detector 160, during the detection target period in which the unit operation is repeated, detects occurrence of a particular current waveform (that is, occurrence of a current bump) based on the slope of increase of the magnitude of the output current I.sub.OUT[1] with the output stage circuit 130[1] in the power supply state. When I.sub.OUT[1]>0, increase of the magnitude of the output current I.sub.OUT[1] is equivalent to increase of the output current I.sub.OUT[1]. In the following description, the slope of increase of the magnitude of the output current I.sub.OUT[1] is referred to as the current slope SLP.
[0115] In the detection target period, for each unit operation, the detector 160 detects the current slope SLP of the output current I.sub.OUT[1] with the output stage circuit 130[1] in the power supply state. Of the plurality of unit operations that belong to the detection target period, the current slope SLP of the output current I.sub.OUT[1] in the j-th unit operation is identified specifically by the symbol “SLP[j]”, where j is any integer.
[0116] For the detection of the current slope SLP, the detector 160 receives a signal indicating the result of detecting the output current I.sub.OUT[1]. The signal indicating the result of detecting the output current I.sub.OUT[1] may be, as mentioned in connection with the second practical example, the detection voltage V.sub.RNF[1] obtained using the resistor R[1], or any other signal obtained using a current sensor other than the resistor R[1]. With respect to the j-th unit operation, the current slope SLP [j] is determined by dividing, by the duration of the power supply mode operation, the absolute value of the difference between the detected value of the output current I.sub.OUT[1] at the start timing of the power supply mode operation and the detected value of the output current I.sub.OUT[1] at the end timing of the power supply mode operation.
[0117] With the third detection method, in the detection target period, the detector 160 recognizes occurrence of a particular current waveform on detecting a current slope SLP[j] equal to or greater than a predetermined slope threshold value SLP.sub.TH3. That is, with respect to the j-th unit operation during the detection target period, if the acquired current slope SLP[j] is equal to or greater than a predetermined slope threshold value SLP.sub.TH3, the detector 160 can recognize occurrence of a particular current waveform. It is instead also possible to recognize occurrence of a particular current waveform only if a plurality of consecutively detected current slopes (e.g., SLP[n], SLP[n+1], and SLP[n+2]) are all equal to or greater than the slope threshold value SLP.sub.TH3.
[0118] If, during the detection target period, a current bump occurs, the current slope SLP mentioned above is expected to increase; thus, with the method described above, it is possible to detect occurrence of a particular current waveform.
[0119] With the third detection method, it is also possible to set a reference period and an evaluation period as shown in
[0120] The detector 160 sets a reference slope SLP.sub.REF based on one or more current slopes SLP detected during the reference period. For example, suppose that a current slope SLP[j] is obtained as the most recent current slope SLP, the current slope SLP[j] is as it is taken as the reference slope SLP.sub.REF, or, the simple moving average or weighted moving average of a total of q current slopes SLP[j−q+1], SLP[j−q+2] SLP[j−1], and SLP[j] is taken as the reference slope SLP.sub.REF, where q is any integer of two or more. For example, the reference period may be started at a time point when, after a switch from I.sub.TG[1]=−I.sub.RFF to I.sub.TG[1]=I.sub.REF, the output current I.sub.OUT[1] first reaches the current value I.sub.REF and then a predetermined time for waiting for the current slope SLP to stabilize has passed, and the reference period may be ended and the evaluation period started when as many current slopes SLP as needed for setting the reference slope SLP.sub.REF have been detected.
[0121] With the modified version of the third detection method, the detector 160 detects occurrence of a particular current waveform (that is, occurrence of a current bump) based on change of the current slope SLP during the detection target period. More specifically, with the modified version of the third detection method, the detector 160 detects occurrence of a particular current waveform (that is, occurrence of a current bump) during the evaluation period by comparing current slopes SLP detected consecutively during the evaluation period with the reference slope SLP.sub.REF.
[0122] For example, the method proceeds as follows. Let one current slope SLP during the evaluation period be called the evaluation slope. The detector 160 recognizes occurrence of a particular current waveform during the evaluation period if a precondition CND.sub.3A requiring that the evaluation slope be greater than the reference slope SLP.sub.REF is met and in addition either of the following conditions CND.sub.3B and CND.sub.3C is met: a condition CND.sub.3B requiring that the absolute value of the difference between the reference slope SLP.sub.REF and the evaluation slope is equal to or greater than a predetermined difference threshold value DIF.sub.TH3; and a condition CND.sub.3C requiring that the ratio of the evaluation slope to the reference slope SLP.sub.REF is equal to or greater than a predetermined ratio threshold value RATIO.sub.TH3.
[0123] Accordingly, in a case where the current slope SLP[n] is taken as the evaluation slope (where n is any integer),
[0124] if SLP.sub.REF<SLP[n], the precondition CND.sub.3A is met,
[0125] if |SLP[n]−SLP.sub.REF1>DIF.sub.TH3, the condition CND.sub.3B is met, and
[0126] if SLP[n]/SLP.sub.REF>RATIO.sub.TH3, the condition CND.sub.3C is met.
[0127] The difference threshold value DIF.sub.TH3 has a predetermined positive value. The ratio threshold value RATIO.sub.TH3 has a predetermined positive value (e.g., two) greater than one.
[0128] The detector 160 may take a plurality of consecutive current slopes SLP during the evaluation period as a plurality of evaluation slopes and recognize occurrence of a particular current waveform during the evaluation period only if each of the plurality of evaluation slopes meets the precondition CND.sub.3A as well as either of the conditions CND.sub.3B and CND.sub.3C.
[0129] While the third detection method has been described with focus on the period in which, for the first channel, I.sub.TG[1]=I.sub.REF, the third detection method can be applied likewise to any other periods (e.g., the period in which I.sub.TG[1]=−I.sub.REF), and can be applied likewise also to the second channel.
[0130] <<Fourth Practical Example >>
[0131] A fourth practical example will be described. The motor driver 100 includes transistor current sensors that sense individually the currents through a plurality of output transistors that constitute half-bridge circuits 132[1] and 132[2].
[0132] The transistor current sensor for the half-bridge circuit 132[i] includes a sense transistor SM1[i] and a sense resistor R1[i] corresponding to the output transistor M1[i], a sense transistor SM2[i] and a sense resistor R2[i] corresponding to the output transistor M2[i], a sense transistor SM3[i] and a sense resistor R3[i] corresponding to the output transistor M3[i], and a sense transistor SM4[i] and a sense resistor R4[i] corresponding to the output transistor M4[i]. The sense transistors SM1[i] and SM2[i] are configured as P-channel MOSFETs to suit the output transistors M1[i] and M2[i], and the sense transistors SM3 [i] and SM4[i] are configured as N-channel MOSFETs to suit the output transistors M3[i] and M4[i].
[0133] Between the transistors SM1[i] and M1[i], the sources are connected together and the gates are connected together. Likewise, between the transistors SM2[i] and M2[i], the sources are connected together and the gates are connected together. Likewise, between the transistors SM3[i] and M3[i], the sources are connected together and the gates are connected together. Likewise, between the transistors SM4[i] and M4[i], the sources are connected together and the gates are connected together.
[0134] The drain of the sense transistor SM1[i] is connected via the sense resistor R1[i] to the drain of the output transistor M1[i]. The drain of the sense transistor SM2[i] is connected via the sense resistor R2[i] to the drain of the output transistor M2[i]. The drain of the sense transistor SM3[i] is connected via the sense resistor R3[i] to the drain of the output transistor M3[i]. The drain of the sense transistor SM4[i] is connected via the sense resistor R4[i] to the drain of the output transistor M4[i].
[0135] The source area ratio between an output transistor and a sense transistor is set such that the ratio between the drain current through a given output transistor and the drain current through the sense transistor corresponding to that output transistor has a predetermined value (e.g., 100: 1). Accordingly, the transistor current sensors can sense the currents through the output transistors M1[i], M2[i], M3[i], and M4[i] by detecting the voltage drops across the sense resistors R1[i], R2[i], R3[i], and R4[i]. The currents through the output transistors M1[i], M2[i], M3[i], and M4[i] are represented by I1 [i], I2[i], I3[i], and I4[i].
[0136] The transistor current sensor for the first channel is one example of a current sensor other than the resistor R[1] mentioned in connection with the second and third practical examples. The same applies to the transistor current sensor for the second channel.
[0137] The output current I.sub.OUT[i] passes through two of the output transistors M1[i] to M4[i], and thus the detector 160 can recognize the output current I.sub.OUT[i] based on the respective gate voltages of the output transistors M1[i] to M4[i] (i.e., the on/off states of the output transistors M1[i] to M4[i]) and the currents I1[i] to I4[i]. Moreover, based on the results of detection of the currents through the output transistors M1[i] to M4[i] (i.e., the voltage drops across the sense resistors R1[i] to R4[i]), the detector 160 can acquire the current waveforms in the output transistors M1[i] to M4[i] in accordance with the output current I.sub.OUT[i]. The current waveforms in the output transistors M1[i] to M4[i] correspond to the waveforms of the currents I1 [i] to I4[i].
[0138] On the other hand, though no specific waveforms are illustrated, the current waveforms in the output transistors M1[i] to M4[i] exhibit a distinctive current waveform when a current bump occurs as is not observed when no current bump occurs. Accordingly, with a fourth detection method according to the fourth practical example, it is possible to detect occurrence of a particular current waveform in the following manner.
[0139] For example, such a current waveform in the output transistors M1[i] to M4[i] exhibit as is expected to be observed if a current bump occurs during the period in which, for the first channel, I.sub.TG[1]=I.sub.REF is acquired through experiments or the like at the stage of the designing of the motor driver 100. The current waveform thus acquired is taken as a reference current waveform (predetermined current waveform), and waveform information representing the reference current waveform is stored in a non-volatile memory (not shown) within the detector 160. Afterwards, when the motor driver 100 built in the motor driving system SYS goes into actual operation, during the detection target period (see
[0140] While the fourth detection method has been described with focus on the period in which, for the first channel, I.sub.TG[1]=I.sub.REF, the fourth detection method can be applied likewise to any other periods (for example, the period in which I.sub.TG[1]=−I.sub.REF), and can be applied likewise also to the second channel.
[0141] The motor driver 100 includes an overcurrent protection circuit (not shown). On sensing a flow of the output current I.sub.OUT[i] with a magnitude equal to or greater than a predetermined overcurrent protection threshold value, the overcurrent protection circuit recognizes the i-th channel to be in an overcurrent state. On recognizing the i-th channel to be in an overcurrent state, the overcurrent protection circuit turns off all the output transistors M1[i] to M4[i] in the i-th channel and latches (holds) their off states, or turns off all the output transistors M1[1] to M4[1] and M1[2] to M4[2] in the first and second channels and latches (holds) their off states. Based on the results of detection of the currents I1[i] to I4[i] by the transistor current sensors mentioned above, the overcurrent protection circuit can sense the magnitude of the output current I.sub.OUT[i] to be compared with the overcurrent protection threshold value. That is, by referring to, as the magnitude of the output current I.sub.OUT[i], one of the magnitudes of the currents I1 [i] to I4[i] detected based on the voltage drops across the sense resistors R1 [i] to R4[i], the overcurrent protection circuit can compare the magnitude of the output current I.sub.OUT[i] thus referred to with the overcurrent protection threshold value. This overcurrent protection threshold value is greater than the current threshold value I.sub.TH2 (see
[0142] <<Fifth Practical Example >>
[0143] A fifth practical example will be described. When a current bump occurs, depending on the rotation speed of the rotor 210, the current bump is likely to occur in the latter half of the rectangular part of the waveform of the output current I.sub.OUT[i] with a substantially rectangular waveform (see
[0144]
[0145] When, at time point t.sub.B1, the target current value I.sub.TG[1] switches from the current value (−I.sub.REF) to the current value I.sub.REF, the output current I.sub.OUT[1] changes its polarity from negative to positive as it increases toward the current value I.sub.REF. Once the output current I.sub.OUT[1] reaches the current value I.sub.REF, thereafter, during the period in which I.sub.TG[1]=I.sub.REF, PWM constant current control is performed so as to keep the output current I.sub.OUT[1] around the current value I.sub.REF. In PWM constant current control, the unit operation is repeated as described above (see
[0146]
[0147] In the first channel, in the first power supply state, out of the output transistors M1[1] to M4[1], only the output transistors M1[1] and M4[1] are on, and a positive output current I.sub.OUT[1] passes from the terminal fed with the supply voltage VCC via the output transistor M1[1], the motor coil L[1], the output transistor M4[1], and the resistor R[1] toward the ground.
[0148] When the target current value I.sub.TG[1] switches from the current value I.sub.REF to the current value (−I.sub.REF) at time point t.sub.B2, the state of the full-bridge circuit 132[1] in the first channel switches to the second power supply state at time point t.sub.B2. In the second power supply state, the output transistors M2[1] and M3[1] are on and in addition the output transistors M1[1] and M4[1] are off. While, in the first channel, the second power supply state is a state suitable for supplying a negative output current I.sub.OUT[1], immediately after time point t.sub.B2, a positive output current I.sub.OUT[1] equivalent to that immediately before time point t.sub.B2 passes as the coil current continues to pass. That is, immediately after time point t.sub.B2, a positive output current I.sub.OUT[1] passes as a regeneration current from the ground via the resistor R[1], the output transistor M3[1], the motor coil L[1], and the output transistor M2[1] toward the terminal fed with the supply voltage VCC. As time passes after time point t.sub.B2, the magnitude of the positive output current I.sub.OUT[1] decreases, and eventually the output current I.sub.OUT[1] changes its polarity to negative. Then, the second power supply state is maintained until the output current I.sub.OUT[1] reaches the current value (−I.sub.REF), and once the output current I.sub.OUT[1] reaches the current value (−I.sub.REF), thereafter, during the period in which I.sub.TG[1]=PWM constant current control is performed to keep the output current I.sub.OUT[1] around the current value (−I.sub.REF).
[0149] With the fifth detection method, the detector 160 refers to the magnitude of the output current I.sub.OUT[1] immediately after time point t.sub.B2 as an evaluation value I.sub.EV[1]. On the other hand, the detector 160 sets a current threshold value I.sub.TH5 greater than the target magnitude of the output current I.sub.OUT[1] immediately before time point t.sub.B2, and, based on a comparison between the current threshold value I.sub.TH5 and the evaluation value I.sub.EV[1], detects occurrence of a particular current waveform (that is, occurrence of a current bump). Here, “immediately after time point t.sub.B2” can be understood as a time point when a predetermined minute time has passed after time point t.sub.B2. The detector 160 can acquire the evaluation value I.sub.EV[1] based on, for example, the detection voltage V.sub.RNF [1].
[0150] As described above, the target magnitude of the output current I.sub.OUT[1] is the target of the magnitude of the output current I.sub.OUT[1], and is the magnitude (absolute value|I.sub.TG[1]|) of the target current value I.sub.TG[1]. Immediately before time point t.sub.B2, I.sub.TG[1] >0; thus, a current threshold value I.sub.TH5 greater than the target current value I.sub.TG[i] can be set. Specifically, considering that the target current value I.sub.TG[1] can be negative, the current threshold value I.sub.TH5 can be set according to Expression (5A) or (5B) below. Here, Δ.sub.5 has a predetermined positive value, and k.sub.5 has a predetermined value (e.g., 1.1) greater than one. In Expression (5A) or (5B) below, |I.sub.TG[1]| represents the absolute value of the target current value I.sub.TG[1] immediately before time point t.sub.B2. If, immediately before the time point t.sub.B2, I.sub.TG[1]>0 as in this example, it is not necessary to take the absolute value.
I.sub.TH5=|I.sub.TG[1]|+Δ.sub.5 (5A)
I.sub.TH5=|I.sub.TG[1]|×k.sub.5 (5B)
[0151] With the fifth detection method, the detector 160 recognizes occurrence of a particular current waveform when the evaluation value I.sub.EV[1] is equal to or greater than the current threshold value I.sub.TH5.
[0152] While the fifth detection method has been described with focus on the time point (t.sub.B2) at which, for the first channel, the target current value switches from I.sub.TG[1]>0 to I.sub.TG[1]<0, the fifth detection method is applicable likewise to the time point at which the target current value switches from I.sub.TG[1]<0 to I.sub.TG[1]>0, and is applicable likewise also to the second channel.
[0153] <<Sixth Practical Example >>
[0154] A sixth practical example will be described.
[0155] The motor driving system SYS and the motor driver 100 according to the embodiment find applications in sheet feeders in copiers and printers, image readers in scanners, and in any devices that employ stepping motors.
[0156] For any signal or voltage, the relationship between its high and low levels may be reversed so long as that can be done without departure from what has been described above.
[0157] Embodiments of the present disclosure can be modified in many ways as necessary without departure from the scope of the technical concepts defined in the appended claims. The embodiments described herein are merely examples of how the present disclosure can be implemented, and what is meant by any of the terms used to describe the present disclosure and its constituent elements is not limited to what is specifically mentioned in connection with the embodiments. The specific values mentioned in the above description are merely illustrative and needless to say can be modified to different values.
[0158] <<Notes >>
[0159] To follow are notes in connection with the present disclosure of which specific examples of implementation have been described by way of practical examples above.
[0160] According to one aspect of the present disclosure, a driver device (100) for a stepping motor having a rotor (210) and a coil (L[i]) includes: an output stage circuit (130[i]) configured to supply an output current (I.sub.OUT[i]) to the coil by applying a voltage to the coil; a control circuit (120[i]) configured to control the output stage circuit based on a current setting signal (CNT.sub.P[i], V.sub.REF [i]) for setting the target of the output current to be supplied to the coil and a current sense signal (V.sub.RNF[i]) indicating the result of sensing of the output current; and a particular current waveform detector (160) configured to detect occurrence of a particular current waveform in the waveform of the output current. The rotor rotates according to change of the output current based on change of the current setting signal. When the current setting signal is changed to require that, according to the current setting signal changed, the polarity of the output current be set to a target polarity and the magnitude of the output current be set to a target magnitude (e.g., corresponding to a switch from I.sub.TG[i]=−I.sub.REF to =I.sub.REF), the control circuit changes the output current to a current having the target polarity and the target magnitude according to the current setting signal changed (e.g., changes from I.sub.OUT[i]=−I.sub.REF to I.sub.OUT[i]=I.sub.REF) and then, to approximate the magnitude of the output current to the target magnitude, the control circuit repeatedly performs a unit operation which is a sequence of a power supply mode operation and a decay mode operation. In the power supply mode operation, the output stage circuit is in a power supply state in which the output stage circuit supplies electric power to the coil to increase the magnitude of the output current and, in the decay mode operation, the output stage circuit is in a decay state in which the output stage circuit suspends supplying the electric power to decrease the magnitude of the output current (e.g., see
[0161] In the driver device of the first configuration described above, during the repetition of the unit operation, the control circuit may control the output stage circuit so as to approximate the magnitude of the output current to the target magnitude such that the magnitude of the output current is equal to or smaller than the target magnitude. The particular current waveform may be a waveform with which the magnitude of the output current increases above the target magnitude against the control by the control circuit due to a counter-electromotive force appearing in the coil as the rotor rotates. (A second configuration.)
[0162] In the driver device of the first or second configuration described above, in each unit operation, the control circuit may perform the power supply mode operation at least for a predetermined forced power supply time. If the magnitude of the output current is detected to be equal to or greater than the target magnitude when, after the start of the power supply mode operation, the forced power supply time has elapsed, the control circuit may end the power supply mode operation and performs the decay mode operation for a predetermined decay time. (A third configuration.)
[0163] In the driver device of any of the first to third configurations described above (the first embodiment; see
[0164] In the driver device of the fourth configuration described above, the detection target period may include a first period and a second period occurring after the first period. The particular current waveform detector may set a reference on time based on one or more output on times detected as the output on time during the first period and may detect occurrence of the particular current waveform during the second period based on a comparison between the reference on time and the output on time during the second period. (A fifth configuration.)
[0165] In the driver device of the fifth configuration described above, in a case where an evaluation on time, which is the output on time during the second period, is shorter than the reference on time, if the absolute value of the difference between the reference on time and the evaluation on time is equal to or greater than a predetermined difference threshold value or if the ratio of the evaluation on time to the reference on time is equal to or smaller than a predetermined ratio threshold value, the particular current waveform detector may recognize occurrence of the particular current waveform during the second period. (A sixth configuration.)
[0166] In the driver device of any of the first to third configurations described above (the second embodiment; see
[0167] In the driver device of the seventh configuration described above, the particular current waveform detector may recognize occurrence of the particular current waveform if, during the detection target period, the output current with a magnitude equal to or greater than the current threshold value is sensed. (An eighth configuration.)
[0168] In the driver device of any of the first to third configurations described above (the third embodiment; see
[0169] In the driver device of the ninth configuration described above, during the detection target period, the particular current waveform detector may detects the slope of increase of the magnitude of the output current with the output stage circuit in the power supply state in each unit operation and, if the slope is detected to be equal to or greater than a predetermined slope threshold value, the particular current waveform detector may recognize occurrence of the particular current waveform. (A tenth configuration.)
[0170] In the driver device of the ninth configuration described above, the detection target period may include a first period and a second period occurring after the first period. The particular current waveform detector may set a reference slope based on one or more slopes detected as the slope during the first period and then, based on a comparison between the reference slope and the slope during the second period, the particular current waveform detector may detect occurrence of the particular current waveform during the second period. (An eleventh configuration.)
[0171] In the driver device of the eleventh configuration described above, in a case where an evaluation slope, which is the slope during the second period, is greater than the reference slope, if the absolute value of the difference between the reference slope and the evaluation slope is equal to or greater than a predetermined difference threshold value or if the ratio of the evaluation slope to the reference slope is equal to or greater than a predetermined ratio threshold value, the particular current waveform detector may recognize occurrence of the particular current waveform during the second period. (A twelfth configuration.)
[0172] In the driver device of any of the first to third configurations described above (the fourth embodiment; see
[0173] In the driver device of any of the first to third configurations described above (the fifth embodiment; see
[0174] In the driver device of any of the first to fourteenth configurations described above, as the coil, a plurality of coils may be provided in the stepping motor. In the driver device, a plurality of channel circuits may be allocated to the plurality of coils respectively, and a plurality of the output stage circuits and a plurality of the control circuits may be provided for the channel circuits respectively. The rotor may rotate as a result of the output current being controlled in each of the channel circuits. (A fifteenth configuration.)