The motor according to one aspect of the present invention has an output waveform correcting unit for correcting the waveform of the output signal of a magnetic sensor during operation of the electric motor. ID codes for identification purposes are assigned respectively to a plurality of magnetic sensors. The output waveform correcting unit receives, from an external device, output waveform correction values for the magnetic sensors together with the ID codes, and stores the output waveform correction values for the magnetic sensors in memory. The drive system according to another aspect of the present invention has a plurality of electric motors, and a system controller connected to the plurality of motors via a shared communication line. Each electric motor has an identification code register that stores an identification code for identifying each electric motor. The system controller has an individual control mode in which operation of individual motors is controlled by transmitting commands to individual electric motors together with identification codes via the shared communication line.
|
1. An electric motor comprising:
a coil array having a plurality of magnetic coils;
a magnet array having a plurality of permanent magnets;
a plurality of magnetic sensors each outputting an output signal that changes in analog fashion depending on relative location of the magnet array and the coil array;
a drive control circuit that, utilizing analog change in the output signals of the plurality of magnetic sensors, generates application voltage for application to the coil array; and
an output waveform correcting unit configured to respectively correct waveforms of the output signals of the plurality of magnetic sensors such that the output signals of the magnetic sensors assume a prescribed waveform shape during operation of the electric motors;
wherein the output waveform correcting unit has a memory for storing output waveform correction values,
ID codes are assigned respectively to the plurality of magnetic sensors, and
the output waveform correcting unit receives from an external device an output waveform correction value for each magnetic sensor, together with the ID code for each magnetic sensor, and stores the output waveform correction value for each magnetic sensor in the memory.
24. A method of controlling a drive system having a plurality of electric motors each including a coil array having a plurality of magnetic coils; a magnet array having a plurality of permanent magnets; a plurality of magnetic sensors each outputting an output signal that changes in analog fashion depending on relative location of the magnet array and the coil array; a drive control circuit that, utilizing analog change in the output signals of the plurality of magnetic sensors, generates application voltage for application to the coil array; and an output waveform correcting unit configured to respectively correct waveforms of the output signals of the plurality of magnetic sensors such that the output signals of the magnetic sensors assume a prescribed waveform shape during operation of the electric motors; wherein the output waveform correcting unit has a memory for storing output waveform correction values, ID codes are assigned respectively to the plurality of magnetic sensors, and the output waveform correcting unit receives from an external device an output waveform correction value for each magnetic sensor, together with the ID code for each magnetic sensor, and stores the output waveform correction value for each magnetic sensor in the memory, and a system controller coupled to the plurality of electric motors via a shared communication line, comprising the steps of:
establishing in the drive control circuit of each electric motor an identification code for identifying each electric motor; and
controlling operation of individual electric motors by transmitting commands together with the identification codes, from the system controller to individual electric motors via the communication line.
7. A drive system comprising:
a plurality of electric motors each including a coil array having a plurality of magnetic coils; a magnet array having a plurality of permanent magnets; a plurality of magnetic sensors each outputting an output signal that changes in analog fashion depending on relative location of the magnet array and the coil array; a drive control circuit that, utilizing analog change in the output signals of the plurality of magnetic sensors, generates application voltage for application to the coil array; and an output waveform correcting unit configured to respectively correct waveforms of the output signals of the plurality of magnetic sensors such that the output signals of the magnetic sensors assume a prescribed waveform shape during operation of the electric motors; wherein the output waveform correcting unit has a memory for storing output waveform correction values, ID codes are assigned respectively to the plurality of magnetic sensors, and the output waveform correcting unit receives from an external device an output waveform correction value for each magnetic sensor, together with the ID code for each magnetic sensor, and stores the output waveform correction value for each magnetic sensor in the memory; and
a system controller coupled to the plurality of electric motors via a shared communication line;
wherein the drive control circuit of each electric motor has an identification code register that stores an identification code to identify each electric motor, and
the system controller has an individual control mode in which operation of an individual electric motor is controlled by transmitting a command to the individual electric motor together with the identification code via the shared communication line.
2. The electric motor according to
the output waveform correcting unit executes gain correction and offset correction of the output signal of each magnetic sensor.
3. The electric motor according to
the memory of the output waveform correcting unit includes a nonvolatile memory for storing gain correction values and offset correction values as the output waveform correction values.
4. The electric motor according to
a communication unit configured to exchange the output waveform correction values and the ID codes of the magnetic sensors with the external device.
5. The electric motor according to
a communication unit configured to exchange the output waveform correction values and the ID codes of the magnetic sensors with the external device.
6. The electric motor according to
a communication unit configured to exchange the output waveform correction values and the ID codes of the magnetic sensors with the external device.
8. The drive system according to
the system controller further has a simultaneous control mode for simultaneously controlling operation of the plurality of electric motors, by transmitting via the shared communication line a shared command that is shared by the plurality of electric motors.
9. The drive system according to
the system controller, when transmitting the shared command to the plurality of electric motors, transmits the shared command without transmitting the identification codes.
10. The drive system according to
the system controller is capable of transmitting commands to individual electric motors together with the identification codes via the shared communication line prior to transmitting the shared command, thereby establishing in the drive control circuit of the individual electric motors a simultaneous control sequence composed of a plurality of control steps arranged in a time sequence, and
each electric motor updates the control step of the simultaneous control sequence each time that the shared command is received from the system controller, and executes operation according to the updated control step.
11. The drive system according to
the communication line is a serial communication line that transmits addresses and commands over the same data line, and
the identification codes of the electric motors are associated on a one-to-one basis with addresses of the electric motors transmitted by the system controller via the communication line, whereby the addresses of the electric motors function as identification codes of the electric motors.
12. The drive system according to
the system controller is capable of acquiring operational parameters or settings from individual electric motors via the communication line.
13. The drive system according to
the system controller is capable of transmitting commands to individual electric motors together with the identification codes via the shared communication line prior to transmitting the shared command, thereby establishing in the drive control circuit of the individual electric motors a simultaneous control sequence composed of a plurality of control steps arranged in a time sequence, and
each electric motor updates the control step of the simultaneous control sequence each time that the shared command is received from the system controller, and executes operation according to the updated control step.
14. The drive system according to
mutually different sequences are established in the plurality of electric motors as the simultaneous control sequence.
15. The drive system according to
the communication line is a serial communication line that transmits addresses and commands over the same data line, and
the identification codes of the electric motors are associated on a one-to-one basis with addresses of the electric motors transmitted by the system controller via the communication line, whereby the addresses of the electric motors function as identification codes of the electric motors.
16. The drive system according to
the system controller is capable of acquiring operational parameters or settings from individual electric motors via the communication line.
17. The drive system according to
the communication line is a serial communication line that transmits addresses and commands over the same data line, and
the identification codes of the electric motors are associated on a one-to-one basis with addresses of the electric motors transmitted by the system controller via the communication line, whereby the addresses of the electric motors function as identification codes of the electric motors.
18. The drive system according to
the system controller is capable of acquiring operational parameters or settings from individual electric motors via the communication line.
19. The drive system according to
the communication line is a serial communication line that transmits addresses and commands over the same data line, and
the identification codes of the electric motors are associated on a one-to-one basis with addresses of the electric motors transmitted by the system controller via the communication line, whereby the addresses of the electric motors function as identification codes of the electric motors.
20. The drive system according to
the system controller is capable of acquiring operational parameters or settings from individual electric motors via the communication line.
21. The drive system according to
the communication line is a serial communication line that transmits addresses and commands over the same data line, and
the identification codes of the electric motors are associated on a one-to-one basis with addresses of the electric motors transmitted by the system controller via the communication line, whereby the addresses of the electric motors function as identification codes of the electric motors.
22. The drive system according to
the system controller is capable of acquiring operational parameters or settings from individual electric motors via the communication line.
23. The drive system according
the system controller is capable of acquiring operational parameters or settings from individual electric motors via the communication line.
|
The present invention relates to an electric motor that utilizes permanent magnets and magnet coils, to a drive system employing multiple electric motors, and to a method for control the same.
Electric motors that utilize permanent magnets and magnet coils are known, having been disclosed in JP2001-298982A and JP2003-111483A, for example.
In the prior art electric motors, motor control is carried out using an on/off signal from a digital magnetic sensor. Specifically, the timing for reversing the polarity of the voltage applied to the magnet coil is determined using the on/off signal from the digital magnetic sensor.
Magnetic sensors having analog output (so-called analog magnetic sensors) are also available. However, where an analog magnetic sensor is used to control a motor, considerable error in sensor output can occur due to manufacturing errors of various kinds among motors, making it impossible in some instances to carry out motor control satisfactorily. Examples of manufacturing errors among motors that can have an effect on output of an analog magnetic sensor are error in the installation location of the magnetic sensor; error in the location of the N pole/S pole boundary due to magnetization error of the permanent magnet; and error in mounting location of elements inside the magnetic sensor. However, to date there have yet to be devised satisfactory technology for achieving accurate motor control using analog magnetic sensors, while taking such errors into consideration. This problem is not limited to cases where analog magnetic sensors are used; the problem is encountered also in cases where digital magnetic sensors having multi-value analog output are used.
Incidentally, drive systems employing multiple electric motors have been implemented in robots, mobile objects (e.g. vehicles), and the like.
However, in the past it was necessary to provide a large number of control lines between the individual electric motors and the overall system controller for the purpose of controlling the multiple electric motors.
A first object of the present invention is to provide technology for achieving accurate motor control, while taking into account errors relating to magnetic sensor output.
A second object of the present invention is to provide technology for simplifying the configuration and control procedure of a drive system employing multiple electric motors.
According to an aspect of the present invention, there is provided an electric motor comprising: a coil array having a plurality of magnetic coils; a magnet array having a plurality of permanent magnets; a plurality of magnetic sensors each outputting an output signal that changes in analog fashion depending on relative location of the magnet array and the coil array; a drive control circuit that, utilizing analog change in the output signals of the plurality of magnetic sensors, generates application voltage for application to the coil array; and an output waveform correcting unit configured to respectively correct waveforms of the output signals of the plurality of magnetic sensors such that the output signals of the magnetic sensors assume a prescribed waveform shape during operation of the electric motors. The output waveform correcting unit has a memory for storing output waveform correction values. ID codes are assigned respectively to the plurality of magnetic sensors. The output waveform correcting unit receives from an external device an output waveform correction value for each magnetic sensor, together with the ID code for each magnetic sensor, and stores the output waveform correction value for each magnetic sensor in the memory.
This electric motor is furnished with an output waveform correcting unit for performing correction of the output signal of the magnetic sensor so as to give a waveform of prescribed shape, and thus the drive control circuit, utilizing analog change in the output signal of the magnetic sensor, can apply application voltage of preferred waveform to the coil array. As a result, it will be possible to achieve accurate motor control even if the output of the magnetic sensor includes errors. Moreover, since the plurality of magnetic sensors are identified to one another by ID codes, and receive output waveform correction values from the external device together with the ID codes, the output signals of the plurality of magnetic sensors can be respectively corrected to their desired waveforms.
The output waveform correcting unit may execute gain correction and offset correction of the output signal of each magnetic sensor.
The gain correction and offset correction will easily correct the output signal of the magnetic sensor to the desired waveform shape.
The memory of the output waveform correcting unit may include a nonvolatile memory for storing gain correction values and offset correction values as the output waveform correction values.
With this arrangement, once a gain correction value and an offset correction value have been established, it becomes possible to obtain the desired sensor output at any time.
The electric motor may further comprises a communication unit configured to exchange the output waveform correction values and the ID codes of the magnetic sensors with the external device.
With this arrangement, correction values can be transmitted to the motor from the external device and stored when the electric motor is manufactured, for example.
According to another aspect of the present invention, a drive system comprises: a plurality of electric motors each including a drive control circuit; and a system controller coupled to the plurality of electric motors via a shared communication line. The drive control circuit of each electric motor has an identification code register that stores an identification code to identify each electric motor. The system controller has an individual control mode in which operation of an individual electric motor is controlled by transmitting a command to the individual electric motor together with the identification code via the shared communication line.
According to this drive system, in the individual control mode, the system controller controls operation of individual electric motors by sending commands, together with identification codes, to the individual electric motors via a communications line, thus eliminating the need to provide a large number of control lines and making it possible to simplify system configuration.
The system controller may further have a simultaneous control mode for simultaneously controlling operation of the plurality of electric motors, by transmitting via the shared communication line a shared command that is shared by the plurality of electric motors.
With this configuration, it is possible to simultaneously operate multiple electric motors in the simultaneous control mode, and thus multiple electric motors can be operated in coordination under the same timing.
The system controller may, when transmitting the shared command to the plurality of electric motors, transmit the shared command without transmitting the identification codes.
With this configuration, operation of multiple electric motors can be controlled simultaneously, while simplifying transmission of shared commands.
The system controller may be capable of transmitting commands to individual electric motors together with the identification codes via the shared communication line prior to transmitting the shared command, thereby establishing in the drive control circuit of the individual electric motors a simultaneous control sequence composed of a plurality of control steps arranged in a time sequence. Each electric motor may update or increment the control step of the simultaneous control sequence each time that the shared command is received from the system controller, and executes operation according to the updated control step.
With this configuration, it is possible to simultaneously modify the operational status of multiple electric motors, according to a simultaneous control sequence pre-established for each electric motor.
Mutually different sequences may be established in the plurality of electric motors as the simultaneous control sequence.
With this configuration, control sequences that are respectively appropriate for individual electric motors can be established.
The communication line may be a serial communication line that transmits addresses and commands over the same data line. The identification codes of the electric motors may be associated on a one-to-one basis with addresses of the electric motors transmitted by the system controller via the communication line, whereby the addresses of the electric motors function as identification codes of the electric motors.
With this configuration, commands can be sent to individual electric motors with a smaller number of lines.
The system controller may be capable of acquiring operational parameters or settings from individual electric motors via the communication line.
With this configuration, it is possible for the system controller to verify operational status and settings status of individual electric motors.
It is possible for the present invention to be reduced to practice in various ways, for example, an electric motor, a method and circuit for controlling the same; a method and device for correcting an electric motor sensor; an actuator, an electronic device, and an electric appliance employing these; a drive system and method for controlling the same; a computer program for this purpose, and so on.
The embodiments of the present invention will be discussed in the order indicated below.
1. Embodiment 1
1-A. Configuration of Electric Motor
1-B. Configuration of Drive Control Circuit
1-C. Correction of Sensor Output
1-D. Modification Example of Drive Control Circuit
1-E. Other Procedure for Implementing Sensor Output Correction
2. Embodiment 2
3. Other Modification Examples
1-A. Configuration of Electric Motor
The magnet array 34M of the rotor unit 30 is affixed to a support member 32M. The permanent magnets of this magnet array 34M are oriented respectively with their direction of magnetization facing in the direction perpendicular to the direction of placement of the magnet array 34M; the latter is the left-right direction in
The Phase A coil array 14A and the Phase B coil array 24B are positioned at locations differing from one another by π/2 in terms of electrical angle. The Phase A coil array 14A and the Phase B coil array 24B differ only in location, and in other respects have substantially identical configuration. Consequently, only the example of the Phase A coil array 14A will be discussed below, except where there is a particular need during discussion of the coil array.
As shown in
In general, an electric motor functions as an energy conversion device that converts between mechanical energy and electrical energy. The back electromagnetic force of the coils represents mechanical energy of the motor converted to electrical energy. Consequently, where electrical energy applied to the coils is converted to mechanical energy (that is, where the motor is driven), it is possible to drive the motor with maximum efficiency by means of application of voltage having waveform identical to that of the back electromagnetic force. As will be discussed below, “voltage having waveform identical to that of the back electromagnetic force” means voltage that generates current in the opposite direction to the back electromagnetic force.
As noted previously, when driving a motor, it is possible to drive the motor with maximum efficiency by means of application of voltage having waveform identical to that of the back electromagnetic force. It can be appreciated that energy conversion efficiency is relatively low in proximity to the middle point of the sinusoidal back electromotive force waveform (in proximity to 0 voltage), and conversely that energy conversion efficiency is relatively high in proximity to the peak of the back electromotive force waveform. Where the motor is driven by applying voltage of the same waveform as the back electromotive force, relatively high voltage will be applied during periods of relatively high energy conversion efficiency, thus improving efficiency of the motor. On the other hand, if the motor is driven with a simple rectangular waveform, considerable voltage will be applied in proximity to a location where back electromotive force is substantially 0 (at the middle point of its waveform), and efficiency of the motor will be lower. Also, the problem of vibration and noise occurring will arise when voltage is applied during such periods of low energy conversion efficiency.
As will be understood from the preceding discussion, advantages of driving a motor through application of voltage having the same waveform as back electromotive force are that efficiency of the motor will be improved, and that vibration and noise will be reduced.
As shown in
As will be understood from
The operation during the period where the phase is between π and 2π is substantially the same as that shown in
As will be understood from the preceding discussion, the electric motor of the present embodiment affords driving force of the magnet array 34M in the operating direction, by utilizing attracting force and repelling force between the magnet array 34M and the coil arrays 14A, 24B. In particular, in the present embodiment, since the coil arrays 14A, 24B are situated at opposite sides of the magnet array 34M, magnetic flux to both sides of the magnet array 34M will be utilized for generating driving force. Consequently, utilization of magnetic flux is higher in comparison to where only one side of the magnets is utilized for generating driving force as in conventional electric motors, thereby affording a motor with good efficiency and high torque. However, it would be possible to omit one of the two coil arrays 14A, 24B.
In preferred practice, the support members 12A, 22B, 32M will be respectively formed from nonmagnetic material. Also, in preferred practice, among the various components of the motor unit of the present embodiment, all components except for the electrical wiring including the coils and sensors, the magnets, and the rotating shaft and its bearings will be formed from materials that are nonmagnetic and electrically nonconductive. By dispensing with a core made of a magnetic body, it is possible to achieve smooth and consistent operation, without the occurrence of cogging. By dispensing with a yoke as part of the magnetic circuit, excitation loss (eddy-current loss) will be held to very low levels, and a motor with good efficiency attained.
1-B. Configuration of Drive Control Circuit
As shown in
The PWM controller 240 generates a PWM signal for driving the coils. The driver circuit 250 is a bridge circuit for driving the coils. The circuit design and operation of the PWM controller 240 and the driver circuit 250 will be discussed later. The communication unit 260 has a function whereby the sensors 16A, 26B are presented with and store in memory the offset correction values Poffset and the gain correction values Pgain that are determined through calibration. The communication unit 260 also has a function for transmitting the correction values Poffset, Pgain stored in the sensors 16A, 26B to an external device. In order to distinguish among correction values for the Phase A sensor 16A and correction values for the Phase B sensor 26B, the communication unit 260 sends and receives an ID code (identification signal) for each sensor, together with the correction values. Where correction values are transmitted using ID codes in this way, it is possible to transmit correction values for multiple sensors via a single communication bus, while distinguishing them from each other.
As shown in
The magnetic sensor 16A has a magnetic sensor element 410, an offset correction circuit 420, a gain correction circuit 430, an offset memory 440, a gain memory 450, an amplifier 460, an ID code register 470, and a communication unit 480. The magnetic sensor element 410 is a Hall element, for example.
During calibration (
As will be understood from the discussion above, the circuit elements 420, 430, 440, 450 of
The basic clock generating circuit 510 is a circuit that generates a clock signal PCL of prescribed frequency, and is composed of a PLL circuit, for example. The frequency divider 520 generates a clock signal SDC of a frequency which is 1/N the frequency of the clock signal PCL. The value of N is set to a prescribed constant. This value of N has been previously established in the frequency divider 520 by the CPU 220 (
A value RI indicating the direction of rotation of the motor is established in the moving direction value register 540 by the CPU 220. In the present embodiment, the motor undergoes forward rotation when the moving direction value RI is L level, and reverse rotation when it is H level.
The other signals Ma, Mb, Pa, Pb, Ea, Eb presented to the PWM unit 530 are determined in the manner described below. The multiplier 550, the encoder 560, and the AD converter 570 are circuits for use in Phase A; the multiplier 552, the encoder 562, and the AD converter 572 are circuits for use in Phase B. Since these circuit groups have identical operation, the discussion hereinbelow will mainly focus on operation of the Phase A circuits.
The magnetic sensor output SSA is presented to the AD converter 570. This sensor output SSA has a range, for example, of from GND (ground potential) to VDD (power supply voltage), with the middle point (=VDD/2) being the middle point of the output waveform (the point at which the sine wave passes through the origin). The AD converter 570 performs AD conversion of this sensor output SSA to generate a digital value of sensor output. The output of the AD converter 570 has a range, for example, of FFh to 0 h (the “h” suffix denotes hexadecimal), with the median value of 80 h corresponding to the middle point of the output waveform.
The encoder 560 converts the range of the sensor output value subsequent to AD conversion, and sets the value of the middle point of the output waveform to 0. As a result, the sensor output value Xa generated by the encoder 560 assumes a prescribed range on the positive side (e.g. +127 to 0) and a prescribed range on the negative side (e.g. 0 to −127). However, the value presented by the encoder 560 to the multiplier 560 is the absolute value of the sensor output value Xa; the positive/negative sign thereof is presented to the PWM unit 530 as the positive/negative sign signal Pa.
The voltage control value register 580 stores a voltage control value Ya established by the CPU 220. This voltage control value Ya, together with the excitation interval signal Ea discussed later, functions as a value for setting application voltage of the motor; the value Ya can take a value of 0 to 1.0, for example. Assuming an instance where the excitation interval signal Ea has been set in such a way that all intervals are excitation intervals, with no non-excitation intervals being provided, Ya=0 will mean that the application voltage is zero, and Ya=1.0 will mean that the application voltage is the maximum value. The multiplier 550 performs multiplication of the voltage control value Ya and the sensor output value Xa output from the encoder 560 and conversion to an integer; the multiplication value Ma thereof is presented to the PWM unit 530.
The PWM unit 530 is furthermore designed so that a drive signal is output during excitation intervals that are indicated by the excitation interval signals Ea, Eb supplied by the excitation interval setting unit 590, and so that no drive signal is output during intervals other than the excitation intervals (non-excitation intervals).
As discussed previously, if the voltage control value Ya is set to a value less than 1, the multiplication value Ma will be small compared with the voltage control value Ya. Consequently, effective adjustment of application voltage through the voltage control value Ya is possible as well.
As will be understood from the preceding discussion, with the motor of the present embodiment, it is possible to adjust the application voltage using both the voltage control value Ya and the excitation interval signal Ea. This is true for Phase B as well. In preferred practice, relationships between the preferred application voltage on the one hand, and the voltage control value Ya and the excitation interval signal Ea on the other, will be stored in advance in table format in memory in the drive control circuit 300. By so doing it is possible, when the drive control circuit 300 has received the preferred application voltage from the outside, for the CPU 220 in response to the drive signal to set the voltage control value Ya and the excitation interval signal Ea in the PWM controller 240. Adjustment of application voltage does not require the use of both the voltage control value Ya and the excitation interval signal Ea, and it would be acceptable to use either of these instead.
The EXOR circuit 533 outputs a signal S2 representing exclusive OR of the positive/negative sign signal Pa and the moving direction value RI. When the motor is running forward, the moving direction value RI is L level. Consequently, the output S2 of the EXOR circuit 533 will be a signal identical to the positive/negative sign signal Pa. The drive waveform shaping unit 535 generates the drive signals DRVA1, DRVA2 from the output S1 of the counter 531 and the output S2 of the EXOR circuit 533. Specifically, in the output S1 of the counter 531, the signal during intervals in which the output S2 of the EXOR circuit 533 is L level is output as the drive signal DRVA1, and the signal during intervals in which the output S2 of the EXOR circuit 533 is H level is output as the drive signal DRVA2. The excitation interval signal Ea falls to L level in proximity to the right end in
1-C. Correction of Sensor Output
In this way it is possible to correct both vertical offset Poffset1 and sideways offset Poffset2. However, in many instances it will suffice for practical purposes to correct only one of these two types of offset. Accordingly, in the procedure described below, it is assumed that, of the two types of offset, only vertical offset Poffset1 is to be corrected.
In Step S210, the rotor unit 30 (
In Step S230, the voltage Ebc of the output signal SSA output by the magnetic sensor 16A is measured. In Step S240, it is decided whether the measured voltage Ebc is equal to or greater than the minimum value E1min (see
In Step S310, the rotor unit 30 (
In Step S330, the voltage Ebm of the output signal SSA of the magnetic sensor 16A is measured. In Step S340, it is decided whether the measured voltage Ebm is equal to or greater than the minimum value E2min (see
In preferred practice, the maximum value E2max of the permissible range during gain correction will be a value slightly smaller than the maximum value possible for sensor output (i.e. the power supply voltage VDD). The reason is that since sensor output voltage cannot go above the power supply voltage VDD, if the maximum value E2max of the permissible range is set to the power supply voltage VDD, there exists a possibility that it will not be possible to determine if the peak of the sensor output SSA prior to correction is flattened as depicted by the dot-and-dash line in
In this way, with the electric motor of the present embodiment, it is possible for offset correction and gain correction of output waveform to be carried out respectively, for the respective magnetic sensors 16A, 26B. Moreover, the drive control circuit 300 generates drive signals utilizing continuous change in analog output of the sensors. Consequently, through correction of the output of the magnetic sensors 16A, 26B to prescribed waveform shape, it is possible to achieve a high efficiency motor that experiences minimal noise and vibration.
1-D. Modification Example of Drive Control Circuit
With the circuit design of
1-E. Other Procedure for Implementing Sensor Output Correction
In Step S1220, the maximum voltage Ebcmax and minimum voltage Ebcmin of sensor output are acquired. These voltages Ebcmax, Ebcmin correspond to the upper peak value and lower peak value of the sensor output SSup (or SSdown) shown in
Steps S1240 to S1280 are substantially identical to Steps S240 to S280 of
As will be understood from this example, it is also possible for offset correction to be carried out utilizing the peak voltage of sensor voltage. In the procedure of
In Step S1320, the maximum voltage Ebmmax of sensor output is acquired a prescribed number of times. This maximum voltage Ebmmax corresponds, for example, to the upper peak value of the sensor output SSsmall shown in
Steps S1340 to S1380 are substantially identical to Steps S340 to S380 of
In the procedure of
In Step S1335, a maximum voltage Ebmpk is selected from among the (P×N)/2 maximum voltages Ebmmax. In Steps S1345 and S1365, gain correction is carried out using this maximum voltage Ebmpk. It is possible to derive appropriate gain correction values Pgain in this manner as well.
The values of the threshold values E2 min and E2max used in Steps S1345 and S1365 of
Each of the electric motors 100b is assigned a unique ID code (identification code) identifying it from the other electric motors. As will be discussed later, the system controller 1300 uses this ID code to send commands to individual electric motors 100b via the control line CL.
The drive control circuit 1600 has amplifiers 1610, 1620, AD converters 1612, 1622, offset correction circuits 1614, 1624, gain correction circuits 1616, 1626, a PWM controller 1630, a driver circuit 1640, a memory 1660, a circuit power supply 1650, a communication unit 1670, and an ID code register 1680. The offset correction circuits 1614, 1624 are circuits for executing offset correction of the sensor outputs SSA, SSB; the gain correction circuits 1616, 1626 are circuits for executing gain correction of the sensor outputs SSA, SSB. Here, offset correction and gain correction of the sensor outputs are the same as those described in Embodiment 1. It is possible to increase the efficiency of the motors by means of carrying out these correction operations. During the process for determining the offset correction value and the gain correction value (termed “calibration”), the outputs SSA, SSB of the sensors 16A, 16B are amplified by the amplifiers 1610, 1620, converted to digital signals by the AD converters 1612, 1622, then stored temporarily in the memory 1660 and presented to the system controller 1300 via the communication unit 1670.
The PWM controller 1630 is a circuit for executing PWM control utilizing the offset-corrected and gain-corrected sensor outputs, and generating drive signals. A motor speed controller 1631 provided to the PWM controller 1630 executes speed-priority control for the purpose of bringing the speed of the electric motor into line with target speed. A torque controller 1632 executes torque-priority control for the purpose of bringing the torque of the electric motor into line with target torque. A rotation direction controller 1632 executes control for the purpose of setting the rotation direction of the electric motor to that of either normal rotation or reverse rotation. The driver circuit 1640 is so-called H-bridge circuit. Motor torque can be detected using a sensor (not shown) that measures coil voltage and current. Motor speed and rotation direction can be detected using a rotation detection circuit (not shown) that detects speed and rotation direction from the output signals of the sensors 16A, 26B. As the PWM controller 1630, one identical to the PWM controller 240 of Embodiment 1 may be used.
The memory 1660 stores offset correction values and gain correction values relating to both the Phase A sensor 16A and the Phase B sensor 26B, as well as various settings used by the PWM controller 1630. Since it is preferable for offset correction values and gain correction values to be held even when the power is shut off, the part of the memory used to store these values will preferably be constituted as nonvolatile memory.
The communication unit 1670 is coupled to the I/O interface 1330 of the system controller 1300 via the communication line CL. Besides this interface 1330, the system controller 1300 also includes a CPU 1320 and a memory, not shown. On the basis of a computer program, the CPU 1320 executes various control processes, discussed later.
In the ID code register 1680, a ID code identifying the individual electric motor is recorded, or an ID code is set by means of an external switch. In the example of
In Steps S30 and S40, the system controller 1300 selects any one of the M motors, and by sending a control command or control instruction to the selected motor executes control of that motor. As control commands, it is possible to use commands instructing change of target motor speed, change of target torque, change of rotation direction, start/stop of braking or regeneration, stop of the motor, and so on. In Step S30 the system controller 1300 determines which of the M motors is to be controlled, and in Step S40 sends a control command to that motor. The control procedure within each motor at this time will be discussed later.
In Step S50, when communication with the selected motor is completed, the routine returns to Step S30, and Steps S30 and S40 are executed again. In the event that the drive system is to be stopped, in Step S60 the system controller 1300 sends to the motors a command to halt driving of all motors. Then, in Step S70, power to the system is turned off by the user.
For individual control of a motor, commands, such as the seven commands listed below for example, can be sent to individual motors from the system controller 1300.
During transmission of data between the system controller 1300 and an individual motor, the motor address and data are transmitted in sync with the serial clock SCL, between a Start command ST and End command ED. A Start command ST is issued by dropping the serial data SDA to Low while the serial clock SCL is High. An End command ED is issued by dropping the serial data SDA to Low while the serial clock SCL is Low, and subsequently while the serial clock SCL is High, raising the serial data SDA to High.
After the Start command ST is issued, a 7-bit slave address SLAD and a 1-bit transmission direction R/W are sent. Slave addresses SLAD are addresses for identifying an individual motor, and are associated on a one-to-one basis with the ID codes established in the motors. Various methods may be employed for making these associations, for example, the entire slave address SLAD may be set to the same value as the ID code of the individual motor; or several lower bits of the slave address SLAD may be set to the same value as the ID code of the individual motor. In the event that the entire slave address SLAD is not identical to the ID code, the association between the two will be stored in advance in the memory 1660 in the motor. The slave address SLAD can be considered as substantially identical to the ID code. “Identification code” is used herein in a sense including those that, as is the case with this slave address SLAD, are associated on a one-to-one association with the ID codes in the motors and that can be viewed the same as the ID codes in the motors.
In Embodiment 2, the initial bit of the slave address SLAD is set to a value of 1. This is for the purpose of implementing simultaneous control, to be described later.
The transmit direction R/W which is sent after the slave address SLAD is set Low (WRITE) in the event that data is to be sent from the system controller 1300 (master) to individual motors (slaves); and conversely is set to High (READ) when data is sent from motors to the system controller 1300. After the transmit direction R/W, the motor specified by the slave address SLAD responds with an acknowledgement ACK.
In the example of
Once the addresses of motors have been specified in this manner, data DT is subsequently transmitted between the motors and the system controller 1300, followed by still another acknowledgement ACK. Data DT sent from the system controller 1300 to individual motors may contain the various commands described in
In Embodiment 2, where commands are sent to individual motors by the system controller 1300 in this way, since commands are sent together with identification codes (slave addresses) for the individual motors, it is possible to individually control multiple motors via a shared communication line CL. Moreover, since the system controller 1300 can acquire data from the individual motors, it is possible to check the operational status and settings of individual motors.
In Example 2 shown in
Simultaneous control sequences may be stored in the memory in each motor, rather than being stored in the system controller 1300. With this arrangement, it is possible for the system controller 1300 to easily select the control sequence to be used, by specifying, at the outset of simultaneous control mode, which of the multiple sets of sequences is to be used.
Once simultaneous control sequences have been established respectively for the individual motors, control in simultaneous control mode is executed in accordance with the commands discussed below.
It is also possible to use any other method as the method for distinguishing between the individual control mode and the simultaneous control mode. In preferred practice, however, identification codes for individual motors will not be transmitted during the simultaneous control mode. For example, in the simultaneous control mode, simultaneous control commands may be transmitted together with a so-called shared identification code (a code that the motors can recognize as being transmitted to all motors), instead of transmitting identification codes of individual motors.
As discussed above, in Embodiment 2 it is possible for both individual control of motors and simultaneous control of multiple motors to be implemented by means of transmitted commands from the system controller 1300 to the multiple motors using a shared communication line CL. During individual control of motors, it is possible to select only a motor whose operational status needs to be changed, and change only operation of that particular motor. During simultaneous control of motors, on the other hand, since the operations of the multiple motors can be changed simultaneously (i.e. at identical timing), it is possible to easily achieve coordinated control of the multiple motors.
The present invention is not limited to the embodiments described hereinabove, and may be reduced to practice in various other ways without departing from the spirit thereof. Modifications such as the following would be possible, for example.
Modification Example 1
In the preceding embodiments, it is assumed that both gain correction and offset correction are performed by way of correction of the sensor output waveform; however, it is possible to correct only one of these instead. Alternatively, sensor output waveform may be corrected to desired waveform shape using some other type of correction besides these. In the preceding embodiments the sensor output and back electromotive force waveforms are assumed to be sine waves; however, it is also possible for the invention to be implemented in cases where these waveforms differ somewhat from sine waves.
It is also possible for the electric motors used in the drive system to be motors that do not perform offset correction and gain correction of sensor output.
Modification Example 2
While analog magnetic sensors are employed in the preceding embodiments, it is possible to use digital magnetic sensors having multi-value analog output, instead of analog magnetic sensors. Like analog magnetic sensors, digital magnetic sensors having multi-value analog output also have an output signal that changes in analog fashion. Herein, an “output signal that changes in analog fashion” refers in the broad sense to include both analog output signals, and multilevel digital output signals having three or more levels, not On/Off binary output.
Modification Example 3
In Embodiment 1, a drive control circuit for calibration and a drive control circuit for actual use are employed respectively, but it is possible instead to employ the drive control circuit for actual use as-is during calibration as well, and to connect the calibration circuit to the connector 90. Any circuit having the function of registering corrected values of sensor output waveforms in the motor can be used as this calibration circuit.
Modification Example 4
It is possible to employ for the PWM circuit or PWM controller various circuit configurations besides that shown in
Modification Example 5
In Embodiment 2 discussed previously, a drive system capable of independent control of a motor and simultaneous control of multiple motors are discussed; however, the present invention may be implemented in a drive system capable of executing either independent control or simultaneous control, or both.
Modification Example 6
In Embodiment 2 discussed previously, prior to initiating simultaneous control, a sequence for simultaneous control is set up in each motor; however, it is possible to execute simultaneous control by some other methods. For example, it is possible to execute simultaneous control by simultaneously transmitting given operational parameters to multiple motors, using shared commands. By means of such a configuration, the multiple motors will be made to execute the same operation simultaneously.
Also, where simultaneous control of multiple motors is performed, it is not necessary to simultaneously control all of the motors contained in the system, and to instead control only a certain plurality of motors selected from among them. With this arrangement, it is possible to simultaneously control and operate a certain plurality of motors, while causing the other motors to continue their respective operations. It is therefore possible to implement more complex driving in the system as a whole.
Modification Example 7
In the preceding embodiments, six-pole, two-phase brushless DC motors are described, but it is possible to implement the invention with electric motors of various kind other than this. For example, the pole number and phase number may be any arbitrarily selected integers. It is also possible to employ a mix of different types of motors as the multiple electric motors making up the drive system.
The present invention is applicable to motors, actuators employing motors, and drive systems equipped with multiple motors or actuators.
Patent | Priority | Assignee | Title |
10038349, | Aug 15 2008 | MILLENNIAL RESEARCH CORPORATION | Multi-phase modular coil element for electric motor and generator |
10333436, | Nov 29 2017 | Regal Beloit America, Inc. | Drive circuit for electric motors |
10407178, | Aug 04 2014 | ISRAEL AEROSPACE INDUSTRIES LTD. | Propulsion system assembly |
10429815, | Aug 19 2015 | Kabushiki Kaisha Yaskawa Denki | Motor control device, position control system, and motor control method |
10554157, | Nov 29 2017 | Regal Beloit America, Inc.; Regal Beloit America, Inc | Drive circuit for electric motors |
11038455, | Oct 17 2018 | ABB Schweiz AG | Method of controlling a motor |
8193669, | Jul 26 2006 | MILLENNIAL RESEARCH CORPORATION | High power rotary device |
8264177, | May 06 2008 | MILLENNIAL RESEARCH CORPORATION | Apparatus and system for efficiently controlling a hub motor |
8471512, | May 28 2007 | PARKSIDE IP LLC | Robotic drive control |
8604734, | Sep 28 2009 | Mitsubishi Electric Corporation | Electric motor control apparatus |
8648560, | Sep 28 2009 | Mitsubishi Electric Corporation | Electric motor control apparatus |
8853907, | Jul 26 2006 | MILLENNIAL RESEARCH CORPORATION | Electric motor |
9024487, | Nov 20 2011 | EAGLE EYE RESEARCH, INC | Levitation with switchable inductive element and associated systems, devices, and methods |
9588522, | Mar 12 2012 | Ricoh Company, Ltd. | Motor controller and motor control method |
9800111, | Aug 15 2008 | MILLENNIAL RESEARCH CORPORATION | Regenerative motor and coil |
Patent | Priority | Assignee | Title |
5991355, | Jun 17 1998 | Siemens Aktiengesellschaft | Device for counting the number of uses of a sensor |
7095155, | Mar 12 2004 | Godo Kaisha IP Bridge 1 | Motor and drive control system thereof |
7211974, | Mar 12 2004 | Godo Kaisha IP Bridge 1 | Motor and drive control system thereof |
20050258986, | |||
20070188121, | |||
20090039809, | |||
20090195202, | |||
20090218163, | |||
20090295318, | |||
GB2351162, | |||
JP11099131, | |||
JP2000295894, | |||
JP2001298982, | |||
JP2002315374, | |||
JP2003111483, | |||
JP2005110363, | |||
JP2005261135, | |||
JP2005295721, | |||
JP5137183, | |||
JP54129417, | |||
JP9149675, |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Jun 07 2007 | Seiko Epson Corporation | (assignment on the face of the patent) | / | |||
Aug 20 2008 | TAKEUCHI, KESATOSHI | Seiko Epson Corporation | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 021786 | /0991 | |
Sep 07 2016 | Seiko Epson Corporation | Godo Kaisha IP Bridge 1 | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 040030 | /0262 | |
May 14 2019 | Godo Kaisha IP Bridge 1 | PARKSIDE IP LLC | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 053196 | /0829 |
Date | Maintenance Fee Events |
Jan 04 2012 | ASPN: Payor Number Assigned. |
Aug 20 2014 | M1551: Payment of Maintenance Fee, 4th Year, Large Entity. |
Nov 05 2018 | REM: Maintenance Fee Reminder Mailed. |
Apr 22 2019 | EXP: Patent Expired for Failure to Pay Maintenance Fees. |
Date | Maintenance Schedule |
Mar 15 2014 | 4 years fee payment window open |
Sep 15 2014 | 6 months grace period start (w surcharge) |
Mar 15 2015 | patent expiry (for year 4) |
Mar 15 2017 | 2 years to revive unintentionally abandoned end. (for year 4) |
Mar 15 2018 | 8 years fee payment window open |
Sep 15 2018 | 6 months grace period start (w surcharge) |
Mar 15 2019 | patent expiry (for year 8) |
Mar 15 2021 | 2 years to revive unintentionally abandoned end. (for year 8) |
Mar 15 2022 | 12 years fee payment window open |
Sep 15 2022 | 6 months grace period start (w surcharge) |
Mar 15 2023 | patent expiry (for year 12) |
Mar 15 2025 | 2 years to revive unintentionally abandoned end. (for year 12) |