Motor control device
The motor control device uses an encoder and torque sensor, along with calculation and control units, to achieve high-precision, high-responsive motor control by calculating angle and torque deviations, thereby addressing the limitations of existing systems in handling torque fluctuations and external disturbances.
Patent Information
- Application Number
- JP2021211861
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2021-12-27
- Publication Date
- 2025-06-18
- Estimated Expiration
- 2041-12-27
AI Technical Summary
Existing motor control systems face challenges in achieving high-precision, high-responsive control without complicating the control system, particularly when differentiating angular velocity to obtain angular acceleration or using changes in drive current as an estimated value of angular acceleration.
The motor control device incorporates an encoder for detecting motor rotation, a torque sensor for detecting drive torque, and a series of calculation and control units to calculate angle and torque deviations, allowing for the generation of drive currents based on these deviations, thereby controlling motor rotation with high precision and responsiveness.
This approach enables high-precision control with high responsiveness while avoiding system complexity, effectively handling minute torque fluctuations and external disturbance torques, such as cogging torque, without the need for differentiators or complex angular acceleration calculations.
Smart Images

Figure 0007694955000001 
Figure 0007694955000002 
Figure 0007694955000003
Abstract
Description
Technical Field
[0001] This invention relates to a motor control device.
Background Art
[0002] The state variables of a servo motor (hereinafter simply referred to as a motor) are three variables: angle, angular velocity, and angular acceleration. When actually controlling a motor, the drive current to the motor can be controlled by the angle and angular velocity detected by a resolver or encoder (hereinafter, the resolver and encoder are collectively referred to as an encoder), and the angular acceleration obtained by differentiating the angular velocity.
[0003] Also, as another method of controlling a motor, the drive current to the motor can be controlled by using the detected angle and detected angular velocity detected by an encoder, and the change in the current value of the drive current flowing through the motor as an estimated value of the angular acceleration. Regarding various controls of the motor, various proposals are made in the following Patent Document 1.
Prior Art Documents
Patent Documents
[0004]
Patent Document 1
Summary of the Invention
Problems to be Solved by the Invention
[0005] In the above-described motor control, when obtaining the angular acceleration by differentiating the angular velocity detected by the encoder, a device for differentiating the output signal of the encoder is required, so there is a problem that the control system becomes complicated and the accuracy cannot be maintained high.
[0006] In the above-described motor control, when controlling using the change in the drive current flowing through the motor as an estimated value of the angular acceleration, there is a problem that highly responsive control cannot be achieved, such as being unable to cope with phenomena such as minute torque changes like the cogging torque of the motor that are difficult to appear as changes in the drive current.
[0007] Therefore, when controlling the motor, it has been desired to perform high-precision control with high responsiveness without complicating the control system. An object of the present invention is to provide a motor control device capable of performing high-precision control with high responsiveness without complicating the control system.
Means for Solving the Problems
[0008] The motor control device according to this invention is an encoder that detects the rotation of the motor by the obtained detected angle and detected angular velocity, and provided on the motor a torque sensor that detects the drive torque of the motor by controls the rotation of the motor based on the obtained detected torque, and includes an angle deviation calculation unit that calculates an angle deviation from an instruction angle given from the outside and the detected angle, an angle control unit that generates an instruction angular velocity from the angle deviation, an angular velocity deviation calculation unit that calculates an angular velocity deviation from the instruction angular velocity and the detected angular velocity, an angular velocity control unit that generates an instruction torque from the angular velocity deviation, a torque deviation calculation unit that calculates a torque deviation from the instruction torque and the detected torque, and a torque control unit that generates a drive current to the motor from the torque deviation.
Effects of the Invention
[0009] According to the motor control device according to this invention, since the rotation of the motor is controlled based on the angle and angular velocity detected by the encoder and the torque detected by the torque sensor, it is possible to perform high-precision control with high responsiveness without complicating the control system.
Brief Description of the Drawings
[0010]
Figure 1
Figure 2
Figure 3
Mode for Carrying Out the Invention
[0011] Hereinafter, embodiments of the motor control device of the present invention will be described with reference to the drawings. In each figure, the same parts are denoted by the same reference numerals.
[0012] Embodiment 1. The configuration of the motor control device 100 in Embodiment 1 will be described with reference to FIG. 1. FIG. 1 is a configuration diagram showing the configuration of the motor control device 100 in Embodiment 1 together with the motor 10.
[0013] In FIG. 1, the motor 10 supplies a rotational force to the load, and an encoder 20 and a torque sensor 30 are provided near the rotation axis. The encoder 20 and the torque sensor 30 may be configured as a motor unit integrally with the motor 10.
[0014] The encoder 20 detects the rotation of the motor 10, calculates the rotation angle of the motor 10 as the detection angle θ2, calculates the rotational angular velocity of the motor 10 as the detection angular velocity ω2, and supplies the detection angle θ2 and the detection angular velocity ω2 to the motor control device 100. Note that the encoder 20 can be configured by a resolver or an optical encoder. The torque sensor 30 detects the drive torque of the motor 10, calculates the detected torque T2, and supplies the detected torque T2 to the motor control device 100. Note that various sensors such as a non-contact torque sensor can be used for the torque sensor 30.
[0015] The motor control device 100 controls the rotation of the motor 10 and mainly includes an angle deviation calculation unit 110, an angle control unit 120, an angular velocity deviation calculation unit 130, an angular velocity control unit 140, a torque deviation calculation unit 150, and a torque control unit 160.
[0016] As described below, the motor control device 100 generates a drive current Im for the motor 10 based on an instruction angle θ1, a detected angle θ2, a detected angular velocity ω2, and a detected torque T2, and controls the rotation of the motor 10.
[0017] The angle deviation calculation unit 110 calculates an angle deviation Δθ corresponding to the difference between the instruction angle θ1 and the detected angle θ2 from the instruction angle θ1 given by an external controller and the detected angle θ2 obtained by the encoder 20. Note that the angle deviation calculation unit 110 may output a fixed signal other than 0 as the angle deviation Δθ when θ1 = θ2. The angle control unit 120 generates an instruction angular velocity ω1 for eliminating the angle deviation Δθ in the motor 10 from the angle deviation Δθ calculated by the angle deviation calculation unit 110.
[0018] The angular velocity deviation calculation unit 130 calculates an angular velocity deviation Δω from the instruction angular velocity ω1 generated by the angle control unit 120 and the detected angular velocity ω2 obtained by the encoder 20. Note that the angular velocity deviation calculation unit 130 may output a fixed signal other than 0 as the angular velocity deviation Δω when ω1 = ω2. The angular velocity control unit 140 generates an instruction torque T1 for eliminating the angular velocity deviation Δω in the motor 10 from the angular velocity deviation Δω calculated by the angular velocity deviation calculation unit 130.
[0019] The torque deviation calculation unit 150 calculates a torque deviation ΔT from the instruction torque T1 generated by the angular velocity control unit 140 and the detected torque T2 obtained by the torque sensor 30. Note that the torque deviation calculation unit 150 may output a fixed signal other than 0 as the torque deviation ΔT when T1 = T2. The torque control unit 160 generates a drive current Im based on the torque deviation ΔT calculated by the torque deviation calculation unit 150, and supplies the drive current Im to the motor 10.
[0020] As described above, when controlling the rotation of the motor 10, the motor control device 100 uses, as an estimated value of the angular acceleration, the torque deviation ΔT, which is the change in the detected torque T2 with respect to the instructed torque T1, for control. For this reason, it has the characteristic that it can also cope with minute torque fluctuations such as the cogging torque of the motor. Further, since the motor control device 100 includes a feedback loop based on torque in the control loop, even if some external disturbance torque is applied, it can quickly suppress the influence of the external disturbance torque and perform highly responsive and smooth control.
[0021] Further, the motor control device 100 uses the detected torque T2 actually detected by the torque sensor 30, and uses the torque deviation ΔT, which is the change in the detected torque T2 with respect to the instructed torque T1, as an estimated value of the angular acceleration for control. Therefore, compared with the case of using the angular acceleration calculated by differentiating with a differentiator, it has the characteristic that it can perform high-precision control with high responsiveness without complicating the control system.
[0022] Comparative Example 1. With reference to FIG. 2, a configuration corresponding to the motor control device 100 in Embodiment 1 of the present invention will be described as Comparative Example 1. FIG. 2 is a configuration diagram showing the configuration of a motor control device 100a as Comparative Example 1 together with the motor 10. In the following Comparative Example 1, the same parts as those in Embodiment 1 are denoted by the same reference numerals, and parts corresponding to Embodiment 1 but different are denoted by adding "a" to the end of the reference numeral.
[0023] In FIG. 2, the encoder 20 detects the rotation of the motor 10, calculates a detected angle θ2 and a detected angular velocity ω2, and supplies the detected angle θ2 and the detected angular velocity ω2 to the motor control device 100a. The differentiator 40 differentiates the detected angular velocity ω2 calculated by the encoder 20 to calculate the angular acceleration α2, and supplies the angular acceleration α2 to the motor control device 100a. Hereinafter, the angular acceleration α2 calculated by differentiation is referred to as the calculated angular acceleration α2.
[0024] In FIG. 2, the motor control device 100a mainly includes an angle deviation calculation unit 110, an angle control unit 120, an angular velocity deviation calculation unit 130, an angular velocity control unit 140a, an angular acceleration deviation calculation unit 150a, and an angular acceleration control unit 160a.
[0025] As described below, the motor control device 100a generates a drive current Im for the motor 10 based on the commanded angle θ1, the detected angle θ2, the detected angular velocity ω2, and the calculated angular acceleration α2, and controls the rotation of the motor 10.
[0026] The angle deviation calculation unit 110 calculates an angle deviation Δθ corresponding to the difference between the commanded angle θ1 and the detected angle θ2 from the commanded angle θ1 given from an external controller and the detected angle θ2 detected by the encoder 20. The angle control unit 120 generates a commanded angular velocity ω1 for canceling the angle deviation Δθ in the motor 10 from the angle deviation Δθ calculated by the angle deviation calculation unit 110.
[0027] The angular velocity deviation calculation unit 130 calculates an angular velocity deviation Δω from the commanded angular velocity ω1 generated by the angle control unit 120 and the detected angular velocity ω2 detected by the encoder 20. The angular velocity control unit 140a generates a commanded angular acceleration α1 for canceling the angular velocity deviation Δω in the motor 10 from the angular velocity deviation Δω calculated by the angular velocity deviation calculation unit 130.
[0028] The angular acceleration deviation calculation unit 150a calculates an angular acceleration deviation Δα from the commanded angular acceleration α1 generated by the angular velocity control unit 140a and the calculated angular acceleration α2 calculated by the differentiator 40. The angular acceleration control unit 160a generates a drive current Im based on the angular acceleration deviation Δα calculated by the angular acceleration deviation calculation unit 150a, and supplies the drive current Im to the motor 10.
[0029] As described above, in Comparative Example 1, when controlling the motor 10, in order to obtain the calculated angular acceleration α2 by differentiating the detected angular velocity ω2 obtained by the encoder 20, in addition to the encoder 20, a differentiator 40 needs to be installed, and wiring for guiding the output of the encoder 20 to the differentiator 40 needs to be provided. And, in addition to the actually detected detection angle θ2 and detection angular velocity ω2, since the calculated angular acceleration α2 obtained by differentiating the detection angular velocity ω2 with the differentiator 40 is used, there is a problem that the control system becomes complicated. Also, obtaining the calculated angular acceleration α2 by differentiating the detected angular velocity ω2 with the differentiator 40 means calculating the change per unit time of the detected angular velocity ω2, and there is a problem that it is difficult to maintain high accuracy. Furthermore, when noise or calculation error is included in the calculated angular acceleration α2 obtained by differentiation, unnecessary control may occur, and there is also a possibility that new problems such as wasteful power consumption may occur.
[0030] Comparative Example 2. Next, a configuration corresponding to the motor control device 100 in Embodiment 1 of the present invention will be described as Comparative Example 2 with reference to FIG. 3. FIG. 3 is a configuration diagram showing the configuration of the motor control device 100b as Comparative Example 2 together with the motor 10. In the following Comparative Example 2, the same parts as those in Embodiment 1 are denoted by the same reference numerals, and parts corresponding to but different from those in Embodiment 1 are denoted by adding "b" at the end of the reference numerals.
[0031] In FIG. 3, the encoder 20 detects the rotation of the motor 10, calculates the detection angle θ2 and the detection angular velocity ω2, and supplies the detection angle θ2 and the detection angular velocity ω2 to the motor control device 100b. The current detection unit 50 detects the drive current Im flowing through the motor 10, and supplies the current value I2 of the drive current Im to the motor control device 100b. Hereinafter, the current value I2 will be referred to as the detected current value I2.
[0032] In FIG. 3, the motor control device 100b mainly includes an angle deviation calculation unit 110, an angle control unit 120, an angular velocity deviation calculation unit 130, an angular velocity control unit 140b, a current deviation calculation unit 150b, and a current control unit 160b.
[0033] As described below, the motor control device 100b generates a drive current Im for the motor 10 based on the commanded angle θ1, the detected angle θ2, the detected angular velocity ω2, and the detected current value I2, and controls the rotation of the motor 10.
[0034] The angle deviation calculation unit 110 calculates an angle deviation Δθ corresponding to the difference between the commanded angle θ1 and the detected angle θ2 from the commanded angle θ1 given by an external controller and the detected angle θ2 detected by the encoder 20. The angle control unit 120 generates a commanded angular velocity ω1 for eliminating the angle deviation Δθ in the motor 10 from the angle deviation Δθ calculated by the angle deviation calculation unit 110.
[0035] The angular velocity deviation calculation unit 130 calculates an angular velocity deviation Δω from the commanded angular velocity ω1 generated by the angle control unit 120 and the detected angular velocity ω2 detected by the encoder 20. The angular velocity control unit 140b generates a commanded current value I1 for eliminating the angular velocity deviation Δω in the motor 10 from the angular velocity deviation Δω calculated by the angular velocity deviation calculation unit 130.
[0036] The current deviation calculation unit 150b calculates a current deviation ΔI from the commanded current value I1 generated by the angular velocity control unit 140b and the detected current value I2 detected by the current detection unit 50. The current control unit 160b generates a drive current Im based on the current deviation ΔI calculated by the current deviation calculation unit 150b and supplies the drive current Im to the motor 10.
[0037] As described above, in Comparative Example 2, when controlling the motor 10, since the current deviation ΔI, which is the change in the detected current value I2 with respect to the instructed current value I1, is used as the estimated value of the angular acceleration for control, there is a problem that highly responsive control cannot be achieved, such as being unable to cope with minute torque fluctuations such as the cogging torque of the motor that is difficult to appear as the current deviation ΔI. Similarly, since the current deviation ΔI is used as the estimated value of the angular acceleration for control, there is a problem that highly responsive control cannot be achieved, such as being unable to cope with fine disturbance torques that are difficult to appear as the current deviation ΔI.
[0038] [Effects Obtained by the Embodiment] According to the motor control device 100 of Embodiment 1, based on the detected angle θ2 and detected angular velocity ω2 detected by the encoder 20, and the torque T2 detected by the torque sensor 30, in order to control the rotation of the motor 10, compared with the case of controlling using the calculated angular acceleration α2 obtained by differentiation, without complicating the control system, unnecessary control caused by noise, calculation errors, etc., and wasteful power consumption associated with unnecessary control can be avoided, and high-precision control with high responsiveness can be achieved.
[0039] Further, according to the motor control device 100 of Embodiment 1, based on the detected angle θ2 and detected angular velocity ω2 detected by the encoder 20, and the torque T2 detected by the torque sensor 30, in order to control the rotation of the motor 10, compared with the case of controlling using the current deviation ΔI, which is the change in the detected current value I2 with respect to the instructed current value I1, as the estimated value of the angular acceleration, it is possible to achieve high-precision control with high responsiveness while also coping with cogging torque and disturbance torque.
[0040] Further, according to the motor control device 100 of Embodiment 1, since it includes a feedback loop based on torque within the control loop of the motor control device 100, even if some disturbance torque is applied, it is possible to quickly suppress the influence of the disturbance torque and achieve smooth control with high responsiveness.
Explanation of Reference Numerals
[0041] 10 Motor, 20 Encoder, 30 Torque Sensor, 100 Motor Control Device, 110 Angle Deviation Calculation Unit, 120 Angle Control Unit, 130 Angular Velocity Deviation Calculation Unit, 140 Angular Velocity Control Unit, 150 Torque Deviation Calculation Unit, 160 Torque Control Unit, Im Drive Current, T1 Indicated Torque, T2 Detected Torque, θ1 Indicated Angle, θ2 Detected Angle, ω1 Indicated Angular Velocity, ω2 Detected Angular Velocity, Δθ Angle Deviation, Δω Angular Velocity Deviation, ΔT Torque Deviation.
Claims
1. A motor control device (100) for controlling the rotation of a motor (10) based on a detected angle (θ2) and a detected angular velocity (ω2) obtained by an encoder (20) that detects the rotation of the motor (10), and a detected torque (T2) obtained by a torque sensor (30) provided in the motor (10) for detecting the driving torque of the motor (10), An angle deviation calculation unit (110) that calculates an angle deviation (Δθ) from an instructed angle (θ1) given from the outside and the detected angle (θ2), An angle control unit (120) that generates an instructed angular velocity (ω1) from the angle deviation (Δθ), An angular velocity deviation calculation unit (130) that calculates an angular velocity deviation (Δω) from the instructed angular velocity (ω1) and the detected angular velocity (ω2), An angular velocity control unit (140) that generates an instructed torque (T1) from the angular velocity deviation (Δω), A torque deviation calculation unit (150) that calculates a torque deviation (ΔT) from the instructed torque (T1) and the detected torque (T2), A torque control unit (160) that generates a drive current (Im) to the motor (10) from the torque deviation (ΔT), A motor control device comprising the above.
2. When calculating the torque deviation (ΔT) from the instructed torque (T1) and the detected torque (T2), the torque deviation calculation unit (150) outputs a signal having a constant value other than 0 when the instructed torque (T1) and the detected torque (T2) are equal. The motor control device according to Claim 1.
Citation Information
Patent Citations
Speed reducer integrated actuator, and actuator system equipped with it
JP2006050710A
Vehicle control device, steering simulation device and program
JP2011057173A
Motor control device, motor, robot and motor control method
JP2013243839A
JP2018-1191371A
Motor torque control device
JP2019122208A