Motor control device and motor control system
The motor control device addresses sudden operation changes by using a position command generation unit, position control unit, and speed control unit to manage the transition from speed to position control, ensuring smooth deceleration and accurate stopping.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-09-26
- Publication Date
- 2026-04-02
AI Technical Summary
Existing motor control systems struggle to smoothly transition from speed control to position control, leading to sudden changes in mechanical operation and inaccurate stopping at target positions, especially when deceleration is required.
A motor control device that includes a position command generation unit, a position control unit, a speed control unit, and a control system initial value setting unit, which together manage the transition by generating appropriate position and speed commands, using position and speed gains, and setting initial values at the switching point to ensure smooth deceleration and accurate stopping.
The system enables smooth acceleration changes near the stopping position without sudden operation changes, ensuring accurate stopping at the target position during the transition from speed to position control.
Smart Images

Figure JP2024034393_02042026_PF_FP_ABST
Abstract
Description
Motor control device and motor control system
[0001] The present disclosure relates to a motor control device and a motor control system for controlling a motor.
[0002] Mechanical devices such as elevators and industrial machines operate by controlling a motor provided in the mechanical device with a motor control device. The motor control device may switch from speed control to position control to control the mechanical device. At the time of this switch, it is desired to suppress sudden changes in mechanical operation. The mechanical operation control device described in Patent Document 1 matches the initial value of the position command at the time of switching from speed control during a period of constant-speed movement to position control for stopping at the target position with the detected position detected from the control object, thereby suppressing sudden changes in mechanical operation.
[0003] Japanese Patent Application Laid-Open No. 11-212650
[0004] When it is desired to shorten the position control section that requires a sensor, etc., deceleration is started in the state of speed control before starting position control, switched to position control during deceleration, and deceleration is continued without sudden change in acceleration at the time of switching, and there is a demand to accurately stop the control object at the target position with smooth operation even near the stop position. When the mechanical device switches from speed control to position control during deceleration, in order to smoothly stop the control object at the target position, both the position and speed relative to the target position need to be in an appropriate relationship. However, according to the above conventional technology, only setting the initial value of the position command at the time of switching cannot satisfy the appropriate relationship. Therefore, there is a problem that a sudden change in operation occurs immediately after switching, and it is difficult to smoothly and accurately stop the control object at the target position without sudden change in acceleration after switching.
[0005] [[ID=IS]] The present disclosure has been made in view of the above, and an object thereof is to obtain a motor control device that can accurately stop by smoothly changing the acceleration even near the stop position without sudden change in the operation of the control object even when the control object switches from non-position control different from position control to position control during deceleration.
[0006] To solve the above-mentioned problems and achieve the objective, this disclosure provides a motor control device that controls a movable part by position control, which controls the position of the movable part that is the object to be controlled, and non-position control, which is different from position control. The motor control device is characterized by comprising: a position command generation unit that generates a position command, which is a command that indicates the position of the movable part; a position control unit that determines a first speed command, which is a command that controls the speed of the movable part, using a position control gain based on a detected position detected as the position of the movable part and the position command; a speed control unit that determines a first torque command, which is a torque command for a drive device that drives the movable part, based on the first speed command and a detected speed detected as the speed of the movable part; and a control system initial value setting unit that sets a position control gain based on a detected position at a switching point, which is the point at which switching from non-position control to position control is performed during deceleration of the movable part.
[0007] The motor control device of this disclosure has the effect of being able to smoothly change the acceleration even near the stopping position and stop accurately, without abruptly changing the operation of the controlled object immediately after switching from non-position control (which is different from position control) to position control while the controlled object is decelerating.
[0008] A block diagram showing an example configuration of a motor control device according to Embodiment 1. A diagram illustrating an example of an operation pattern of a movable part operated by motor control by the motor control device according to Embodiment 1. A block diagram showing an example configuration of a position compensation unit included in the motor control device according to Embodiment 1. A block diagram showing an example configuration of a speed compensation unit included in the motor control device according to Embodiment 1. A block diagram showing an example configuration of a normative model unit included in the motor control device according to Embodiment 1. A block diagram showing an example configuration of a position command generation unit included in the motor control device according to Embodiment 1. A diagram showing an example of the operation of the motor control device and movable part according to Embodiment 1. A diagram showing an example of the configuration of a processing circuit when the processing circuit that realizes the motor control device according to Embodiment 1 is realized with a processor and memory. A diagram showing an example of the configuration of a processing circuit when the processing circuit for realizing the motor control device according to Embodiment 1 is realized with dedicated hardware. Block diagram showing an example of the configuration of the motor control device according to Embodiment 2. Block diagram showing an example of the configuration of the speed control model torque generation unit included in the motor control device according to Embodiment 2. Block diagram showing an example of the configuration of the reference model unit included in the motor control device according to Embodiment 2. Block diagram showing an example of the configuration of the motor control device according to Embodiment 3. Block diagram showing an example of the configuration of the speed compensation unit included in the motor control device according to Embodiment 3. Block diagram showing an example of the configuration of the motor control device according to Embodiment 4. Block diagram showing an example of the configuration of the motor control device according to Embodiment 5. Block diagram showing an example of the configuration of the speed compensation unit included in the motor control device according to Embodiment 5.
[0009] The motor control device and motor control system according to embodiments of this disclosure will be described in detail below with reference to the drawings.
[0010] Embodiment 1. Figure 1 is a block diagram showing an example configuration of a motor control device 200A according to Embodiment 1. The motor control device 200A is a device that controls a movable part 7, which is a mechanical device such as an elevator or industrial machine. The motor control device 200A controls the movable part 7 by controlling a motor (not shown) provided in the movable part 7. For example, the motor control device 200A controls the position of the car on which people ride if the movable part 7 is an elevator, or the position of an arm controlled by one or more axes, or the position of a belt in a belt conveyor if the movable part 7 is an industrial machine, by controlling the position of the rotor of the motor, the position of an object that moves linearly by the motor, etc.
[0011] The motor control device 200A drives the movable part 7, which is the object of control, by switching between position control and non-position control, which is a different control mode from position control. The motor control device 200A controls the movable part 7, which is the object of control, by position control and non-position control, which control the position of the movable part 7. As will be explained below, the non-position control in Embodiments 1 to 3 and Embodiment 5 is speed control, and the non-position control in Embodiment 4 is torque control. Furthermore, Embodiments 1 to 4 correspond to cases where the control system is 2-degree-of-freedom control, and Embodiment 5 corresponds to cases where the control system is 1-degree-of-freedom control.
[0012] The motor control device 200A is connected to the drive device 6 and outputs a first torque command Tr1 to the drive device 6. Based on the first torque command Tr1, the drive device 6 supplies a drive command DC, which is a current that drives the movable part 7, to the motor of the movable part 7. In the first embodiment, the motor control system 300A is a system comprising the motor control device 200A, the drive device 6 that drives the movable part 7, and the movable part 7 which is a controlled object whose position is controlled by the motor control device 200A.
[0013] The motor control device 200A includes a speed command generation unit 1, a position command generation unit 2, a switching command unit 3, a position control unit 4A, a speed control unit 5A, a speed detection unit 8, a position detection unit 9, and a control system initial value setting unit 10A.
[0014] The speed command generation unit 1 generates a command to instruct the speed of the movable part 7. Here, the speed command determined by the position control unit 4A, which will be described later, is referred to as the first speed command VC, and the speed command generated by the speed command generation unit 1 is referred to as the second speed command Vr. In Embodiment 1, the speed command generation unit 1 outputs the generated second speed command Vr to the position control unit 4A.
[0015] The position command generation unit 2 obtains a first initial position command value Xr0 from the control system initial value setting unit 10A. The first initial position command value Xr0 represents the position command at the time of switching from speed control to position control. The position command generation unit 2 also obtains a target stop position Xt, which is the target position where the movable part 7 is to be stopped from an external source, and a position command acceleration Acc, which is a constant that determines the time change of the position command Xr. The position command acceleration Acc represents the acceleration corresponding to the second derivative of the position command Xr. If the position of the movable part 7 is less than or equal to a specified distance from the target stop position Xt, the position command generation unit 2 can generate a time-series position command Xr that decelerates from the first initial position command value Xr0 by the position command acceleration Acc and stops the movable part 7 at the target stop position Xt. In Embodiment 1, the position command generation unit 2 generates a position command Xr, which is a command that indicates the position of the movable part 7 during position control. The position command generation unit 2 outputs the generated position command Xr to the position control unit 4A.
[0016] The switching command unit 3 generates a switching command Sw, which is a command to switch between speed control and position control, which are non-position control modes. For example, although not shown in Figure 1, the switching command unit 3 monitors the actual remaining distance, which is the difference between the target stop position Xt and the detected position XFB, which is the actual position of the movable part 7 detected by the position detection unit 9 (described later). When the actual remaining distance is greater than or equal to a specific value, it outputs a switching command Sw to move the movable part 7 using speed control. When the actual remaining distance is less than or equal to a specific value, it outputs a switching command Sw to move the movable part 7 using position control. The detected position XFB corresponds to the position of the movable part 7. As another example, the motor control system 300A may be equipped with a position detection sensor, which is a sensor that detects the position of the movable part 7 only in the section in which the movable part 7 is being controlled. When the movable part 7 is on the section equipped with the position detection sensor, the motor control device 200A performs position control using the detected position XFB detected by the position detection sensor. At this time, the switching command unit 3 outputs a switching command Sw to move the movable part 7 using position control. When the movable part 7 is in a section without a position detection sensor, the movable part 7 is driven by speed control. At this time, the switching command unit 3 outputs a switching command SW to move the movable part 7 by speed control. The switching command unit 3 outputs, for example, "0" as the switching command SW for speed control of the movable part 7, and for example, "1" as the switching command SW for position control of the movable part 7.
[0017] The position control unit 4A comprises a reference model unit 401A and a position compensation unit 402A. During speed control, the position control unit 4A determines the model torque Tm, model acceleration Am, and model velocity Vm based on a second velocity command Vr. Also during position control, the position control unit 4A determines a first velocity command VC, which is a command to control the velocity of the movable part 7, using a position control gain, based on the detected position XFB detected by the position detection unit 9 as the position of the movable part 7 and the position command Xr generated by the position command generation unit 2. Specifically, the reference model unit 401A determines the model position Xm by filtering the position command Xr using the aforementioned position control gains, the first position control filter gain FG1 and the second position control filter gain FG2. The position compensation unit 402A also determines the first velocity command VC based on the difference between the model position Xm and the detected position XFB. In the following explanation, the first position control filter gain FG1 and the second position control filter gain FG2 may be collectively referred to simply as the position control filter gain.
[0018] The reference model unit 401A obtains a second speed command Vr from the speed command generation unit 1, a position command Xr from the position command generation unit 2, and a switching command Sw from the switching command unit 3. At the time of switching from speed control to position control, the reference model unit 401A also obtains the initial model position value Xm0, the initial model speed value Vm0, the first position control filter gain FG1, and the second position control filter gain FG2 from the control system initial value setting unit 10A. The initial model position value Xm0, the initial model speed value Vm0, the first position control filter gain FG1, and the second position control filter gain FG2 will be described later.
[0019] The norm model unit 401A executes processing to smooth the movement of the movable part 7, such as its speed and acceleration, in response to the second speed command Vr or position command Xr. That is, the norm model unit 401A executes processing to smoothly change the actual position of the movable part 7 in response to the second speed command Vr or position command Xr. Based on the switching command Sw, the norm model unit 401A switches whether to execute processing using the second speed command Vr or the position command Xr. If the switching command Sw is a command to switch to speed control, the norm model unit 401A executes processing using the second speed command Vr, and if the switching command Sw is a command to switch to position control, it executes processing using the position command Xr.
[0020] During position control, the reference model unit 401A filters the position command Xr and determines and outputs the model position Xm, model velocity Vm, model acceleration Am, and model torque Tm. During velocity control, the reference model unit 401A filters the second velocity command Vr and determines and outputs the model velocity Vm, model acceleration Am, and model torque Tm. Note that during velocity control, the model position Xm is not used, so the reference model unit 401A does not need to determine or output the model position Xm.
[0021] Here, the model position Xm is a position calculated using a filter such as a low-pass filter, which will be described later, provided by the reference model unit 401A. The model position Xm is a signal obtained through a filter such as a low-pass filter. The model position Xm lags behind the position command Xr by a time corresponding to the characteristics of the filter. The model velocity Vm is a velocity calculated using a filter such as a low-pass filter provided by the reference model unit 401A. The model acceleration Am is the acceleration obtained through a filter such as a low-pass filter provided by the reference model unit 401A. The model torque Tm is a torque calculated using a filter such as a low-pass filter provided by the reference model unit 401A.
[0022] The model position Xm and the model velocity Vm have a differential and integral relationship. That is, the model velocity Vm is obtained by differentiating the model position Xm with respect to time, and the model position Xm is obtained by integrating the model velocity Vm with respect to time. The model position Xm and the detected position XFB, which is the actual position of the movable part 7 and is detected by the position detection unit 9 described later, are approximately the same. The model velocity Vm and the detected velocity VFB, which is the velocity of the movable part 7 and is detected by the velocity detection unit 8 described later, are approximately the same. Furthermore, the model torque Tm is determined by multiplying the model acceleration Am, which is the derivative of the model velocity Vm, by a value corresponding to the load such as the weight of the movable part 7. That is, the model torque Tm is determined by modeling the movable part 7 as a rigid body, and represents the ideal torque required to drive the movable part 7.
[0023] Since the model speed Vm, model position Xm, and model torque Tm are calculated using a filter, the movable part 7, which is controlled according to the first torque command Tr1 determined using the model speed Vm, model position Xm, and model torque Tm, operates smoothly according to the characteristics of the filter. In Embodiment 1, during position control, the detected position XFB, which represents the position of the movable part 7, is controlled to coincide with the model position Xm. If the motor control device 200A increases the response of the reference model unit 401A, the motor of the movable part 7 will not be able to operate smoothly due to the influence of sudden changes in the acceleration of the position command Xr. Therefore, the reference model unit 401A has a function to adjust the trade-off between the speed and smoothness of the response.
[0024] The model acceleration Am, model velocity Vm, model position Xm, and model torque Tm change according to the values input to the filter. During velocity control, the model acceleration Am, model velocity Vm, model position Xm, and model torque Tm change according to the second velocity command Vr. During position control, the model acceleration Am, model velocity Vm, model position Xm, and model torque Tm change according to the position command Xr. At the time of switching from velocity control to position control, the reference model unit 401A obtains the initial model position value Xm0, the initial model velocity value Vm0, the first position control filter gain FG1, and the second position control filter gain FG2 from the control system initial value setting unit 10A, and determines the model position Xm, model velocity Vm, model acceleration Am, and model torque Tm. The reference model unit 401A outputs the model position Xm to the position compensation unit 402A, the model speed Vm to the speed control unit 5A and the control system initial value setting unit 10A, the model acceleration Am to the control system initial value setting unit 10A, and the model torque Tm to the speed control unit 5A.
[0025] The position compensation unit 402A obtains the model position Xm from the reference model unit 401A and the detected position XFB from the position detection unit 9. Based on the model position Xm and the detected position XFB, the position compensation unit 402A determines a first speed command VC, which is a signal for compensating for the position error of the movable part 7 that is the object of control. The first speed command VC can also be described as a signal for correcting the positional displacement of the movable part 7. The first speed command VC is indicated by speed information. The model position Xm, the position compensation unit 402A, and the first speed command VC are used during position control. The position compensation unit 402A outputs the determined first speed command VC to the speed control unit 5A.
[0026] The speed control unit 5A determines a first torque command Tr1, which is a torque command for the drive device 6 that drives the movable part 7, based on a first speed command VC and a detected speed VFB detected by the speed detection unit 8 as the speed of the movable part 7. The speed control unit 5A includes a switch 501, a speed compensation unit 502A, and a calculator 503.
[0027] Switch 501 receives a switching command Sw from the switching command unit 3 and a first speed command VC from the position compensation unit 402A of the position control unit 4A. Based on the switching command Sw, switch 501 switches to ON during position control and to OFF during speed control. By switching ON during position control, switch 501 outputs the first speed command VC to the speed compensation unit 502A, and by switching OFF during speed control, it blocks the output of the first speed command VC to the speed compensation unit 502A. Note that switch 501 may be placed between the reference model unit 401A and the position compensation unit 402A. Alternatively, switch 501 may be placed in the reference model unit 401A after the low-pass filter described later. In this case, the position control unit 4A will be configured to include switch 501.
[0028] The speed compensation unit 502A obtains the model speed Vm from the reference model unit 401A of the position control unit 4A and the detected speed VFB from the speed detection unit 8. The detected speed VFB is the value of the speed of the movable part 7 detected by the speed detection unit 8. During position control, the speed compensation unit 502A obtains the first speed command VC from the switch 501, but does not obtain the first speed command VC from the switch 501 during speed control. During position control, the speed compensation unit 502A calculates the error torque Te, which is a signal to compensate for the speed error of the movable part 7 that is the target of control, by performing calculations based on the first speed command VC, the model speed Vm, and the detected speed VFB. During speed control, the speed compensation unit 502A calculates the error torque Te by performing calculations based on the model speed Vm and the detected speed VFB. The speed compensation unit 502A outputs the calculated error torque Te to the arithmetic unit 503.
[0029] The arithmetic unit 503 obtains the model torque Tm from the reference model unit 401A of the position control unit 4A and the error torque Te from the speed compensation unit 502A. The arithmetic unit 503 calculates the sum of the model torque Tm and the error torque Te and calculates the first torque command Tr1 which determines the torque of the motor. The arithmetic unit 503 outputs the first torque command Tr1 to the drive unit 6.
[0030] The drive unit 6 determines a drive command DC, which is the current used to drive the movable part 7, based on the first torque command Tr1 obtained from the speed control unit 5A, and outputs it to the movable part 7.
[0031] The movable part 7 is the object controlled by the motor control device 200A. The movable part 7 is driven by the rotation of a motor (not shown) based on the current output from the drive device 6, i.e., the drive command DC.
[0032] The speed detection unit 8 detects the speed of the movable part 7 and outputs a detected speed VFB, which is information indicating the speed of the movable part 7. The speed of the movable part 7 is, for example, the speed of movement of the car if the movable part 7 is an elevator, or the speed of movement of the arm, belt, etc., if the movable part 7 is an industrial machine. The speed detection unit 8 can obtain the detected speed VFB by differentiating the position detected by an encoder, for example. Alternatively, the speed detection unit 8 may estimate the detected speed VFB based on at least one of the voltage and current generated by the drive device 6, without using the position detected by an encoder, etc. The speed detection unit 8 outputs the detected speed VFB to the speed control unit 5A.
[0033] The position detection unit 9 detects the position of the movable part 7 and outputs a detected position XFB, which is information indicating the position of the movable part 7. The position of the movable part 7 is, for example, the position of the car if the movable part 7 is an elevator, or the position of a reference point in the arm, belt, etc., if the movable part 7 is an industrial machine. The position detection unit 9 uses an encoder, for example, to detect the position. The position detection unit 9 outputs the detected position XFB to the position control unit 4A and the control system initial value setting unit 10A.
[0034] The control system initial value setting unit 10A sets the position control gain based on the detected position XFB at the switching point, which is the point at which the switching from speed control to position control is performed while the movable part 7 is decelerating. The control system initial value setting unit 10A acquires the switching command Sw that instructs the switching, the target stop position Xt, the position command acceleration Acc, the detected position XFB, the model acceleration Am, and the model velocity Vm, which are constants input from an external source. Using these acquired signals, the control system initial value setting unit 10A sets the first position command initial value Xr0, the model position initial value Xm0, the model velocity initial value Vm0, and the aforementioned position control gains, the first position control filter gain FG1 and the second position control filter gain FG2, at the switching time from speed control to position control. In Figure 1, the first position control filter gain and the second position control filter gain are referred to as the first and second position control filter gains. The same notation may be used in subsequent figures. The control system initial value setting unit 10A includes a first position command initial value setting unit 101, a model position initial value setting unit 102, a position control filter gain setting unit 103, and a model speed initial value setting unit 104.
[0035] The model position initial value setting unit 102 sets the model position initial value Xm0, which will be used as the initial value of the model position Xm at the time when switching from speed control to position control begins. The model position initial value is used as the initial value of the model position Xm when the position control unit 4A determines the model position Xm. The model position initial value setting unit 102 sets the model position initial value Xm0 so that the model position Xm at the time of switching from speed control to position control matches the detected position XFB at the time of switching from speed control to position control.
[0036] The model speed initial value setting unit 104 sets the model speed initial value Vm0, which will be used as the initial value of the model speed Vm at the time when switching from speed control to start position control. The model speed initial value Vm0 is used as the initial value of the model speed Vm when the position control unit 4A determines the model speed Vm.
[0037] The position control filter gain setting unit 103 sets the first position control filter gain FG1 and the second position control filter gain FG2, which are the aforementioned position control gains used when filtering the position command Xr.
[0038] The first position command initial value setting unit 101 sets the first position command initial value Xr0, which is used as the initial value of the position command Xr when the position command generation unit 2 generates the position command Xr. The first position command initial value setting unit 101 sets the first position command initial value Xr0 based on the model position Xm at the time of switching from speed control to position control and the filter gain for position control.
[0039] The operation of the movable part 7 will now be explained. Figure 2 is a diagram illustrating an example of the operation pattern of the movable part 7, which operates by motor control by the motor control device 200A according to Embodiment 1. In Figure 2, the upper part, Figure 2(a), is a graph showing the speed of the movable part 7, with the horizontal axis representing time and the vertical axis representing the speed of the movable part 7. Also, in Figure 2, the lower part, Figure 2(b), is a graph showing the acceleration of the movable part 7, with the horizontal axis representing time and the vertical axis representing the acceleration of the movable part 7.
[0040] In Embodiment 1, the movable part 7 includes a motor (not shown) and a moving body (not shown) that moves in conjunction with the motor's drive. In the above example, the moving body is an elevator car, an arm or belt of an industrial machine, etc. Before time t0, the movable part 7 is stationary. At time t0, the movable part 7 starts to accelerate, and its speed gradually increases until time t1. The section from time t0 to time t1 is the acceleration section in which the movable part 7 accelerates. At time t1, the speed of the movable part 7 is at its maximum, and it is driven at a constant speed until time t2. The section from time t1 to time t2 is the constant speed section in which the speed of the movable part 7 is constant. From time t2, the movable part 7 decelerates and its speed gradually decreases. At time t3, the speed of the movable part 7 becomes zero, and the movable part 7 stops at the target stopping position Xt. The section from time t2 to time t3 is the deceleration section in which the movable part 7 decelerates.
[0041] Here, the movable part 7 is driven by speed control from time t0 to the switching time ts, and is driven by position control from the switching time ts to time t3. The switching time ts is the time of switching from speed control to position control. Regarding the switching time ts, in the graph shown in Fig. 2(b), it is in the region where the acceleration is negative, that is, after time t2.
[0042] During speed control, the switching command Sw is "0", and the second speed command Vr, which is the output of the speed command generation unit 1, is used in the reference model unit 401A. Also, since the state of the switch 501 is off by the switching command Sw, the first speed command VC, which is the output of the position control unit 4A, is not used in the speed compensation unit 502A. In this case, the speed compensation unit 502A determines the error torque Te by performing an operation based on the model speed Vm and the detected speed VFB.
[0043] When the switching command Sw becomes "1", the movable part 7 is driven by position control. During position control, the position command Xr, which is the output of the position command generation unit 2, is used in the reference model unit 401A. During position control, the state of the switch 501 is on, so the first speed command VC, which is the output from the position control unit 4A, is used in the speed compensation unit 502A. In this case, the speed compensation unit 502A determines the error torque Te by performing an operation based on the first speed command VC, which is the output of the position control unit 4A, the model speed Vm, and the detected speed VFB.
[0044] Also, at the time when the switching command Sw switches from "0" to "1", that is, at the switching time ts which is the switching point from speed control to position control, the first position command initial value setting unit 101 sets the first position command initial value Xr0 by the method described later, and the position command generation unit 2 sets the position command Xr at the switching time ts to the first position command initial value Xr0. Also, at the switching time ts, the model position initial value setting unit 102 sets the model position initial value Xm0, and the canonical model unit 401A sets the model position Xm at the switching time ts to the model position initial value Xm0; the model speed initial value setting unit 104 sets the model speed initial value Vm0, and the canonical model unit 401A sets the model speed Vm at the switching time ts to the model speed initial value Vm0; the position control filter gain setting unit 103 sets the first and second position control filter gains, and the canonical model unit 401A determines the model position Xm, model speed Vm, model acceleration Am, and model torque Tm using the first and second position control filter gains during position control.
[0045] <Position compensation unit 402A> FIG. 3 is a block diagram showing a configuration example of the position compensation unit 402A included in the motor control device 200A according to Embodiment 1. The position compensation unit 402A includes an arithmetic unit 402a and a position proportional gain 402b. The arithmetic unit 402a acquires the model position Xm from the canonical model unit 401A and acquires the detected position XFB from the position detection unit 9. The arithmetic unit 402a calculates the difference between the model position Xm and the detected position XFB, and outputs the calculation result to the position proportional gain 402b.
[0046] The position proportional gain 402b multiplies the output value from the arithmetic unit 402a by Kp. Here, Kp is the proportional gain, that is, the strength of the proportion. The output from the position proportional gain 402b is the first speed command VC. The position proportional gain 402b outputs the first speed command VC to the switch 501 of the speed control unit 5A.
[0047] In this way, the position compensation unit 402A controls the position of the movable part 7 by P (Proportional) control, that is, proportional control. The position compensation unit 402A controls the detected position XFB of the movable part 7, which is the controlled object, to follow the model position Xm by setting the first speed command VC to a value proportional to the difference between the target value, the model position Xm, and the current value, the detected position XFB, that is, by performing P control. In Embodiment 5 described later, the position proportional gain Kp, which is a multiplier, is set based on the detected position XFB, etc., at the switching time ts, but such a setting is not performed in Embodiments 1 to 4.
[0048] <Speed Compensation Unit 502A> Figure 4 is a block diagram showing an example of the configuration of the speed compensation unit 502A included in the motor control device 200A according to Embodiment 1. The speed compensation unit 502A comprises an arithmetic unit 502a and a speed PI (Proportional Integral) unit 502b.
[0049] In the speed compensation unit 502A, the arithmetic unit 502a obtains the model speed Vm from the reference model unit 401A during both position control and speed control. The arithmetic unit 502a also obtains the detected speed VFB from the speed detection unit 8 during both position control and speed control. Furthermore, during position control, the arithmetic unit 502a obtains the first speed command VC from the position control unit 4A via the switch 501. During position control, the arithmetic unit 502a subtracts the detected speed VFB from the sum of the first speed command VC and the model speed Vm. During speed control, the arithmetic unit 502a subtracts the detected speed VFB from the model speed Vm. The arithmetic unit 502a outputs the calculation result to the speed PI unit 502b.
[0050] The speed PI unit 502b takes the signal output from the arithmetic unit 502a as input and outputs the error torque Te based on the transfer function shown in equation (1).
[0051]
[0052] Here, s is the Laplace operator, kvi represents the integral gain, i.e., the strength of the integral, and kvp represents the proportional gain, i.e., the strength of the proportionality.
[0053] The speed compensation unit 502A performs PI control, or proportional-integral control, based on equation (1). In this way, the speed compensation unit 502A determines the error torque Te based on the value calculated by the PI control. The speed compensation unit 502A controls the detected speed VFB of the movable part 7, which is the object of control, so that it follows the model speed Vm.
[0054] <Reference Model Unit 401A> Figure 5 is a block diagram showing an example of the configuration of the reference model unit 401A provided in the motor control device 200A according to Embodiment 1. The reference model unit 401A includes switches 401e, 401q, 401r, 401x, and 401m, low-pass filters 401p and 401y, a differentiator 401z, and a gain 401s.
[0055] The low-pass filter 401y smooths the shape of the second speed command Vr so that the movable part 7 operates with high precision during speed control. During speed control, the output of the low-pass filter 401y is the model speed Vm. The low-pass filter 401y is represented by the transfer function shown in equation (2) below.
[0056]
[0057] Here ω v This represents the cutoff frequency of the low-pass filter 401y. The low-pass filter 401y has a time constant of 1 / ω v It has the characteristics of a low-pass filter and removes high-frequency components from the second speed command Vr, so that the movable part 7 can be controlled with high precision during speed control. In addition, the motor control device 200A controls the response from the second speed command Vr to the speed of the movable part 7 with a time constant of 1 / ω v Because it can be adjusted by this, the movable part 7 can be controlled with high precision.
[0058] The low-pass filter 401p smooths the shape of the position command Xr so that the movable part 7, which is the object of control, can operate with high precision. The low-pass filter 401p comprises arithmetic units 401f and 401h, gains 401g and 401i, and integrators 401l and 401o.
[0059] The arithmetic unit 401f calculates the difference between the position command Xr and the model position Xm, which is the output from the integrator 401l, and outputs the calculation result to the gain 401g. The gain 401g multiplies the calculation result of the arithmetic unit 401f by ωf1 and outputs the result to the arithmetic unit 401h. At the switching time ts, the gain 401g receives the first position control filter gain FG1 from the switch 401q and sets the first position control filter gain FG1 as ωf1.
[0060] Here, ωf1 and ωf2, which are used in the gain 401i described later, are parameters that determine the responsiveness of the low-pass filter 401p, and also parameters that determine the poles of the low-pass filter 401p. The low-pass filter 401p has the characteristics of a low-pass filter with a time constant of 1 / ωf1 and removes high-frequency components from the position command Xr, so that the movable part 7 can be controlled with high precision. The method for determining ωf1 will be described later. ωf2 can be a constant multiple of ωf1.
[0061] The arithmetic unit 401h calculates the difference between the output from gain 401g and the output from integrator 401o, and outputs the calculation result to gain 401i. Gain 401i multiplies the calculation result of arithmetic unit 401h by ωf² and outputs it to switch 401x and integrator 401o. In addition, at the switching time ts, arithmetic unit 401h receives the second position control filter gain FG2 and sets the second position control filter gain FG2 as ωf².
[0062] The integrator 401l integrates the output from the integrator 401o and outputs the calculation result as the model position Xm to the position compensation unit 402A and the arithmetic unit 401f. At the switching time ts, the integrator 401l receives the initial model position value Xm0 from the switch 401t and outputs the initial model position value Xm0 as the model position Xm at the switching time ts. From thereafter, the integrator 401l outputs the result of integrating the calculation result of the integrator 401o with the initial model position value Xm0 as the initial value. Here, the initial model position value Xm0 is set to the detected position XFB(ts) at the switching time ts by the initial model position value setting unit 102 of the control system initial value setting unit 10A. By setting the initial model position value Xm0 in this way, the model position Xm and the detected position XFB at the switching time ts coincide, and the first speed command VC at the switching time ts becomes zero. Therefore, when switching from speed control to position control, the operation of the movable part 7 does not change abruptly due to the model position Xm.
[0063] The integrator 401o integrates the output from the gain 401i and outputs the calculation result to the arithmetic unit 401h, the integrator 401l, and the switch 401e. The model velocity Vm during position control is the output of the integrator 401o. At the switching time ts, the integrator 401o receives the initial model velocity value Vm0 from the switch 401m and outputs the initial model velocity value Vm0 as the model velocity Vm at the switching time ts. From thereafter, the integrator 401o outputs the result of integrating the calculation result of the gain 401i using the initial model velocity value Vm0 as the initial value. The initial model velocity value Vm0 is set as the model velocity Vm0(ts) at the switching time ts by the model velocity initial value setting unit 104. As a result, the model velocity Vm remains continuous when switching from velocity control to position control. As described above, at the switching time ts, the first speed command VC is zero, and the model speed Vm is continuous at the switching time ts. Therefore, the output of the arithmetic unit 502a of the speed compensation unit 502A at the switching time ts is continuous. Consequently, the operation of the movable part 7 does not change abruptly due to the model speed.
[0064] The differentiator 401z differentiates the output of the low-pass filter 401y and outputs the calculation result to the switch 401x.
[0065] Switch 401x has terminals a5, b5, and c5. Terminal a5 is connected to the low-pass filter 401p, terminal b5 is connected to the differentiator 401z, and terminal c5 is connected to the gain 401s. Based on the switching command Sw obtained from the switching command unit 3, during speed control, switch 401x connects terminals b5 and c5 and outputs the output of the differentiator 401z as the model acceleration Am to the gain 401s. Also, during position control, switch 401x connects terminals a5 and c5 and outputs the output of the gain 401i as the model acceleration Am to the gain 401s.
[0066] The gain 401s outputs the model torque Tm to the speed control unit 5A, which is obtained by multiplying the model acceleration Am, which is the output from switch 401x, by the load J of the movable part 7 that is being controlled.
[0067] Switch 401e has terminals a1, b1, and c1. Terminal a1 is connected to the low-pass filter 401y, terminal b1 is connected to the low-pass filter 401y, and terminal c1 is connected to the speed compensation unit 502A. Based on the switching command Sw acquired from the switching command unit 3, during speed control, switch 401e connects terminals b1 and c1 and outputs the output of the low-pass filter 401y as the model speed Vm to the speed compensation unit 502A. Based on the switching command Sw acquired from the switching command unit 3, during position control, switch 401e connects terminals a1 and c1 and outputs the output of the integrator 401o as the model speed Vm to the speed compensation unit 502A.
[0068] Switch 401t receives a switching command Sw from the switching command unit 3 and obtains the initial model position value Xm0 from the initial model position value setting unit 102 of the control system initial value setting unit 10A. Switch 401t turns on when the switching command Sw changes from 0 to 1, that is, at the switching time ts when the system switches from speed control to position control. Switch 401t turns off at all other times. As a result, switch 401t outputs the initial model position value Xm0 obtained from the initial model position value setting unit 102 of the control system initial value setting unit 10A to the integrator 401l only at the timing when the system switches from speed control to position control.
[0069] Switch 401m receives a switching command Sw from the switching command unit 3 and the initial model speed value Vm0 from the initial model speed value setting unit 104. Switch 401m turns on when the switching command Sw changes from 0 to 1, that is, at the switching time ts when the system switches from speed control to position control. Switch 401m is off at all other times. As a result, switch 401m outputs the initial model speed value Vm0 to the integrator 401o only at the time when the system switches from speed control to position control.
[0070] Switch 401q receives a switching command Sw from the switching command unit 3 and obtains a first position control filter gain FG1 from the position control filter gain setting unit 103 of the control system initial value setting unit 10A. Switch 401q turns on when the switching command Sw changes from 0 to 1, that is, at the switching time ts when the system switches from speed control to position control, and is off at all other times. As a result, switch 401q outputs the first position control filter gain FG1 obtained from the position control filter gain setting unit 103 to gain 401g only at the timing when the system switches from speed control to position control.
[0071] Switch 401r receives a switching command Sw from the switching command unit 3 and a second position control filter gain FG2 from the position control filter gain setting unit 103 of the control system initial value setting unit 10A. Switch 401r turns on when the switching command Sw changes from 0 to 1, that is, at the switching time ts when the system switches from speed control to position control, and is off at all other times. As a result, switch 401r outputs the second position control filter gain FG2 obtained from the position control filter gain setting unit 103 to gain 401i only at the timing when the system switches from speed control to position control.
[0072] <Position Command Generation Unit 2> Figure 6 is a block diagram showing an example of the configuration of the position command generation unit 2 included in the motor control device 200A according to Embodiment 1. The position command generation unit 2 includes a calculator 2a, a position command speed calculator 2b, a switch 2f, and an integrator 2c.
[0073] The arithmetic unit 2a acquires the target stop position Xt and the position command Xr, which is the output of the integrator 2c. The arithmetic unit 2a calculates the difference between the target stop position Xt and the position command Xr, and outputs the calculation result as the command remaining distance Xe to the position command velocity calculation unit 2b. The command remaining distance Xe is a signal indicating the remaining distance to the target stop position Xt when moving the movable part 7 to the target stop position Xt.
[0074] The position command velocity calculation unit 2b determines the position command velocity Xrv using the command remaining distance Xe obtained from the arithmetic unit 2a. The position command velocity Xrv corresponds to the derivative of the position command Xr used during position control. In other words, the position command velocity Xrv is a signal that becomes the position command Xr after being integrated over time. It can also be said that the position command Xr corresponds to the signal obtained by integrating the position command velocity Xrv. The position command velocity Xrv(t) at time t is determined, for example, using the position command acceleration Acc, by the following equation (3).
[0075]
[0076] In equation (3), (Xt - Xr(t)) is the commanded remaining distance Xe.
[0077] The integrator 2c receives the first initial position command value Xr0 from the switch 2f at the switching time ts and outputs the first initial position command value Xr0 as the position command Xr at the switching time ts. At subsequent times, the integrator 2c outputs the result of integrating the position command velocity Vrv using the first initial position command value Xr0 as the initial value. As a result, the position command generation unit 2 can generate a time-series position command Xr that stops the movable part 7 at the target stop position Xt with a position command acceleration Acc, starting from the first initial position command value Xr0, if the position of the movable part 7 is less than or equal to a specified distance from the target stop position Xt. The calculation result of the integrator 2c is output to the position control unit 4A as the position command Xr. The method for setting the first initial position command value Xr0 will be described later.
[0078] Switch 2f receives the switching command Sw from the switching command unit 3 and the first position command initial value Xr0 from the first position command initial value setting unit 101 of the control system initial value setting unit 10A. Switch 2f turns on when the switching command Sw changes from 0 to 1, that is, at the switching time ts when the system switches from speed control to position control, and turns off at all other times. As a result, switch 2f outputs the first position command initial value Xr0 to the integrator 2c only at the timing when the system switches from speed control to position control.
[0079] <Control System Initial Value Setting Unit 10A> The control system initial value setting unit 10A sets the first position command initial value Xr0, the model position initial value Xm0, the model speed initial value Vm0, the first position control filter gain FG1, and the second position control filter gain FG2 in order to continue deceleration without abruptly changing acceleration during switching and to accurately stop the movable part 7 at the target stop position Xt with smooth operation even near the stop position.
[0080] <Model Position Initial Value Setting Unit 102> As described above, the model position initial value setting unit 102 sets the model position initial value Xm0 to the detected position XFB(ts) at the switching time ts. At the switching time ts, the model position Xm and the detected position XFB coincide, so the first speed command VC becomes zero at the switching time ts. Therefore, the operation of the movable part 7 does not change abruptly due to the model position Xm at the switching time ts.
[0081] <Model Speed Initial Value Setting Unit 104> As described above, the model speed initial value setting unit 104 sets the model speed initial value Vm0 to the output of the low-pass filter 401y at the switching time ts. At the switching time ts, the model speed Vm is continuous and the first speed command VC at the switching time ts is zero, so the output of the calculator 502a of the speed compensation unit 502A is continuous at the switching time ts. Therefore, the operation of the movable part 7 does not change abruptly due to the model speed Vm at the switching time ts.
[0082] <Position Control Filter Gain Setting Unit 103 and First Position Command Initial Value Setting Unit 101> Next, we will explain how to set the first position command initial value Xr0 and the first position control filter gain FG1 in the first position command initial value setting unit 101 and the position control filter gain setting unit 103, in order to continue deceleration without abruptly changing acceleration during switching and to accurately stop the movable part 7 at the target stop position Xt with smooth operation even near the stopping position. To achieve this objective, we consider a state in which a position command Xr, which decelerates the movable part 7 with position command acceleration Acc and stops at the target stop position Xt, is input to the low-pass filter 401p before the switching point, and the model acceleration Am has reached a constant steady state. Even when switching from speed control to position control, by setting the same state as the steady state described above as the initial value and operating it, it becomes possible to decelerate with position command acceleration Acc without abrupt changes and smoothly stop the movable part 7 at the target stop position Xt without overshooting. In other words, a conditional equation is derived for when the low-pass filter 401p reaches a steady state after deceleration at the position command acceleration Acc, and the first position command initial value Xr0 and the first position control filter gain FG1 are set from the detected position and velocity values at the switching point so as to satisfy this conditional equation. The specific operation will be explained below.
[0083] First, in order for the operation of the movable part 7 to not change abruptly at the switching time ts, the model acceleration Am must be continuous at the switching time ts. The model acceleration Am is continuous at the switching time ts if the following equation (4) is satisfied.
[0084]
[0085] Here, Am(ts) is the model acceleration Am at the switching time ts. In equation (4), the model acceleration Am(ts) at the switching time ts may also be the position command acceleration Acc, assuming that the model acceleration Am has reached a steady state.
[0086] Next, we derive the conditional equation for when the low-pass filter 401p reaches a steady state after deceleration with the position command acceleration Acc as described above. The transfer function Gvp from the position command Xr to the model position Xm can be expressed by equation (5) using the Laplace operator s.
[0087]
[0088] Here, Xr(s) and Xm(s) represent the Laplace transform of the position command Xr and the Laplace transform of the model position Xm, respectively. From equation (5), the deviation between the position command Xr and the model position Xm can be expressed by equation (6).
[0089]
[0090] Furthermore, by differentiating equation (6), the difference between the position command velocity Vrv and the model velocity Vm can be expressed by equation (7).
[0091]
[0092] Here, Vrv(s) and Vm(s) are the Laplace transforms of the commanded position velocity Vrv and the model velocity Vm, respectively. Furthermore, after deceleration by the commanded position acceleration Acc, the steady-state value of the deviation between the commanded position velocity Vrv and the model velocity Vm can be expressed as equation (8) by applying the final value theorem.
[0093]
[0094] By substituting equation (3) into equation (8), and using the fact that the position command at the switching time ts is Xr0 and that the first position control filter gain FG1 is set as ωf1, equation (9) is obtained as the condition for reaching a steady state of position command acceleration Acc.
[0095]
[0096] From the above, by solving the simultaneous equations (4) and (9) of the condition equations for a steady state at the time of switching, the initial value of the first position command Xr0 and the first position control filter gain FG1 are set from the detected position XFB detected at the time of switching and the model velocity Vm, which is the output of the low-pass filter 401y. Here, the position command acceleration Acc is made to match the velocity command acceleration corresponding to the acceleration of the second velocity command Vr, or the detected acceleration detected as the acceleration of the movable part 7, so that switching to position control can be performed without fluctuations in the acceleration of the movable part 7. The velocity command acceleration corresponds to the first derivative of the second velocity command Vr. The second position control filter gain FG2 is set by multiplying the first position control filter gain FG1 by a predetermined constant as described above.
[0097] As described above, the first initial position command value Xr0 and the first position control filter gain FG1 are set from the conditional equation for when the model acceleration Am, which is decelerating at the position command acceleration Acc, is in a steady state, the detected position XFB detected at the switching point, and the model velocity Vm. This allows the low-pass filter 401p to operate with the steady state of deceleration at the position command acceleration Acc as the initial value at the switching point for the position command Xr, which decelerates at the position command acceleration Acc and stops at the target stop position Xt. Furthermore, since the position command Xr decelerates at the position command acceleration Acc from its initial value and stops at the target stop position Xt, the model position Xm calculated by the low-pass filter 401p also stops smoothly at the target stop position Xt without overshoot. Furthermore, since the initial values of the model speed Vm and model position Xm are set so as not to change abruptly during switching, as described above, the motor control device 200A can continue decelerating without abruptly changing the acceleration during switching, and can accurately stop the movable part 7 at the target stopping position Xt with smooth operation even near the stopping position.
[0098] Figure 7 shows an example of the operation of the motor control device 200A and the movable part 7 according to Embodiment 1. The upper part of Figure 7 shows the waveform related to the position of the movable part 7, where the dashed line is the position command Xr and the solid line is the detected position XFB. Note that the model position Xm and the detected position XFB are approximately the same in Figure 7 and are therefore omitted. The middle part of Figure 7 shows the waveform related to the speed of the movable part 7, where the dashed line is the second speed command Vr, the solid line is the detected speed VFB, and the dashed line is the position command speed Vrv. In Figure 7, the model speed Vm is approximately the same as the detected speed VFB and is therefore omitted. The lower part of Figure 7 shows the acceleration of the movable part 7. In Figure 7, the movable part 7 is driven by speed control until the switching time ts. At the switching time ts, for example, when the movable part 7 reaches a section equipped with a sensor that detects the position of the movable part 7, the motor control device 200A switches from speed control to position control. At the switching time ts, the motor control device 200A sets the initial value of the first position command Xr0, the initial value of the model position Xm0, the initial value of the model speed Vm0, the first position control filter gain FG1, and the second position control filter gain FG2 using the method described above. By performing these operations, the motor control device 200A can continue deceleration without abruptly changing the acceleration at the switching time ts, and can accurately stop the movable part 7 at the target stopping position Xt with smooth movement even near the stopping position.
[0099] Next, the hardware configuration of the motor control device 200A according to Embodiment 1 will be described. In the motor control device 200A, the speed detection unit 8 and the position detection unit 9 are measuring instruments using encoders or the like. The speed command generation unit 1, the position command generation unit 2, the switching command unit 3, the position control unit 4A, the speed control unit 5A, and the control system initial value setting unit 10A are implemented by a processing circuit. The processing circuit may be a memory for storing programs and a processor for executing the programs stored in the memory, or it may be dedicated hardware. The processing circuit is also called a control circuit.
[0100] Figure 8 shows an example of the configuration of a processing circuit 90 when the processing circuit for realizing the motor control device 200A according to Embodiment 1 is realized by a processor 91 and a memory 92. The processing circuit 90 shown in Figure 8 is a control circuit and comprises a processor 91 and a memory 92. When the processing circuit 90 is composed of a processor 91 and a memory 92, each function of the processing circuit 90 is realized by software, firmware, or a combination of software and firmware. The software or firmware is written as a program and stored in the memory 92. In the processing circuit 90, each function is realized by the processor 91 reading and executing the program stored in the memory 92. That is, the processing circuit 90 includes a memory 92 for storing a program that will ultimately result in the execution of the processing of the motor control device 200A. This program can also be said to be a program that causes the motor control device 200A to execute each function realized by the processing circuit 90. This program may be provided by a storage medium on which the program is stored, or by other means such as a communication medium.
[0101] Here, the processor 91 is, for example, a CPU (Central Processing Unit), processing unit, arithmetic unit, microprocessor, microcomputer, or DSP (Digital Signal Processor). The memory 92 is, for example, a non-volatile or volatile semiconductor memory such as RAM (Random Access Memory), ROM (Read Only Memory), flash memory, EPROM (Erasable Programmable ROM), EEPROM (Registered Trademark) (Electrically EPROM), magnetic disk, flexible disk, optical disk, compact disk, minidisc, or DVD (Digital Versatile Disc).
[0102] Figure 9 shows an example of the configuration of a processing circuit 93 when the processing circuit for realizing the motor control device 200A according to Embodiment 1 is implemented using dedicated hardware. The processing circuit 93 shown in Figure 9 may be, for example, a single circuit, a composite circuit, a programmed processor, a parallel programmed processor, an ASIC (Application Specific Integrated Circuit), an FPGA (Field Programmable Gate Array), or a combination thereof. The processing circuit 93 may be partially implemented with dedicated hardware and partially implemented with software or firmware. In this way, the processing circuit 93 can realize the above-mentioned functions using dedicated hardware, software, firmware, or a combination thereof.
[0103] Although the explanation will be omitted here, the motor control device described in Embodiment 2 and later will have the same hardware configuration as the motor control device 200A in Embodiment 1.
[0104] As described above, according to this embodiment, in the motor control device 200A, the control system initial value setting unit 10A sets a first position command initial value Xr0, a model position initial value Xm0, a model speed initial value Vm0, a first position control filter gain FG1, and a second position control filter gain FG2 in order to switch from speed control to position control without abrupt changes in the speed, acceleration, etc. of the movable part 7, and to stop the movable part 7 at the target stop position Xt without overshoot. The position command generation unit 2 generates a position command Xr using the first position command initial value Xr0 at the time of switching from speed control to position control. The reference model unit 401A of the position control unit 4A uses the model position initial value Xm0, the model speed initial value Vm0, the first position control filter gain FG1, and the second position control filter gain FG2 to perform processing on the position command Xr using a low-pass filter 401p to smooth the operation of the movable part 7. As a result, when the movable part 7, which is the object of control, is decelerating, the motor control device 200A can continue deceleration without abruptly changing the acceleration, even when switching from non-position control (which is different from position control) to non-position control (in the first embodiment, from speed control to position control), and can accurately stop the movable part 7 at the target stop position Xt with smooth operation even near the stopping position.
[0105] Embodiment 2. In Embodiment 2, similar to Embodiment 1, the operation of the movable part 7, which is the object of control, does not change abruptly even when the motor control device switches from speed control to position control. However, this section describes the case where the second speed command Vr is not filtered by a low-pass filter during speed control.
[0106] Figure 10 is a block diagram showing an example configuration of the motor control device 200B according to Embodiment 2. The motor control device 200B is a device that controls the movable part 7, which is the object to be controlled. In Embodiment 2, the system comprising the motor control device 200B, the drive device 6, and the movable part 7 is the motor control system 300B. Among the components shown in Figure 10, components that achieve the same function as the motor control device 200A of Embodiment 1 shown in Figure 1 are denoted by the same reference numerals, and redundant explanations are omitted. The same applies to subsequent figures.
[0107] The motor control device 200B includes a speed command generation unit 1, a position command generation unit 2, a switching command unit 3, a position control unit 4B, a speed control unit 5A, a speed detection unit 8, a position detection unit 9, a control system initial value setting unit 10B, switches 11, 12, 14, and a speed control model torque generation unit 13.
[0108] The speed command generation unit 1 generates a second speed command Vr, similar to Embodiment 1, but in Embodiment 2, it outputs the generated second speed command Vr to the switch 12 and the speed control model torque generation unit 13.
[0109] Switch 11 receives a switching command Sw from the switching command unit 3 and a position command Xr from the position command generation unit 2. Switch 11 is turned on when the switching command Sw is 1, i.e., during position control. During position control, switch 11 outputs the position command Xr obtained from the position command generation unit 2 to the reference model unit 401B of the position control unit 4B. Switch 11 is turned off when the switching command Sw is 0, i.e., during speed control. During speed control, switch 11 does not output the position command Xr obtained from the position command generation unit 2 to the reference model unit 401B of the position control unit 4B. As a result, the reference model unit 401B of the position control unit 4B uses the position command Xr only during position control.
[0110] The position control unit 4B includes a reference model unit 401B and a position compensation unit 402A. During position control, the reference model unit 401B obtains a position command Xr from the position command generation unit 2 via a switch 11 and a switching command Sw from the switching command unit 3. At the switching time ts, the reference model unit 401B obtains the initial model position value Xm0, the initial model speed value Vm0, the first position control filter gain FG1, and the second position control filter gain FG2 from the control system initial value setting unit 10B. Compared with the reference model unit 401A of Embodiment 1, the reference model unit 401B does not use the second speed command Vr.
[0111] Switch 12 has terminals a2, b2, and c2. Terminal a2 is connected to the speed command generation unit 1, terminal b2 is connected to the reference model unit 401B, and terminal c2 is connected to the speed compensation unit 502A. Based on the switching command Sw acquired from the switching command unit 3, during speed control, switch 12 connects terminals a2 and c2 and outputs a second speed command Vr to the speed compensation unit 502A. Based on the switching command Sw acquired from the switching command unit 3, during position control, switch 12 connects terminals b2 and c2 and outputs a model speed Vm to the speed compensation unit 502A.
[0112] The speed control model torque generation unit 13 acquires the second speed command Vr and generates the speed control model torque Tmv. The speed control model torque generation unit 13 outputs the generated speed control model torque Tmv to the switch 14.
[0113] Switch 14 has terminals a3, b3, and c3. Terminal a3 is connected to the speed control model torque generation unit 13, terminal b3 is connected to the reference model unit 401B, and terminal c3 is connected to the arithmetic unit 503. Based on the switching command Sw obtained from the switching command unit 3, during speed control, switch 14 connects terminals a3 and c3 and outputs the speed control model torque Tmv to the arithmetic unit 503. Based on the switching command Sw obtained from the switching command unit 3, during position control, switch 14 connects terminals b3 and c3 and outputs the model torque Tm to the arithmetic unit 503.
[0114] The speed compensation unit 502A acquires a second speed command Vr during speed control and a model speed Vm during position control. However, since the calculation content is the same as in Embodiment 1, a detailed explanation is omitted. Similarly, the arithmetic unit 503 acquires a model torque Tmv for speed control during speed control and a model torque Tm during position control. However, since the calculation content is the same as in Embodiment 1, a detailed explanation is omitted.
[0115] In Embodiment 2, during position control, the position control unit 4B determines the model speed Vm based on the position command Xr, that is, by filtering the position command Xr using the position control filter gain, and the speed control unit 5A determines the first torque command Tr1 based on the model speed Vm.
[0116] Compared to the control system initial value setting unit 10A of Embodiment 1, the control system initial value setting unit 10B does not acquire the model velocity Vm, but instead acquires the detected velocity VFB. Using these acquired signals, the control system initial value setting unit 10B sets the first position command initial value Xr0, the model position initial value Xm0, the model velocity initial value Vm0, and the position control gains, namely the first position control filter gain FG1 and the second position control filter gain FG2, at the switching time ts. The control system initial value setting unit 10B comprises the first position command initial value setting unit 101, the model position initial value setting unit 102, the position control filter gain setting unit 103, and the model velocity initial value setting unit 104B.
[0117] Figure 11 is a block diagram showing an example configuration of the speed control model torque generation unit 13 included in the motor control device 200B according to Embodiment 2. The speed control model torque generation unit 13 includes a differentiator 13a and a gain 13b.
[0118] The differentiator 13a differentiates the second speed command Vr and outputs the calculation result to the gain 13b. The gain 13b multiplies the calculation result output from the differentiator 13a by the load J of the movable part 7 that is the object of control, and outputs the resulting speed control model torque Tmv to the switch 14. In this way, the speed control model torque generation unit 13 can obtain the speed control model torque Tmv by differentiating the second speed command Vr and multiplying it by the load J.
[0119] Figure 12 is a block diagram showing an example configuration of the normative model unit 401B included in the motor control device 200B according to Embodiment 2. The normative model unit 401B includes a low-pass filter 401v, switches 401q, 401r, 401t, and 401w, and a gain 401s.
[0120] In Embodiment 2, the output of the integrator 401o is output to the switch 12 as the model velocity Vm. Also, the output of the gain 401i is output to the gain 401s as the model acceleration. Gains 401s and 13b are constants with the same value.
[0121] <Control System Initial Value Setting Unit 10B> The control system initial value setting unit 10B sets the first position command initial value Xr0, the model position initial value Xm0, the model velocity initial value Vm0, the first position control filter gain FG1, and the second position control filter gain FG2. In the control system initial value setting unit 10B, the model position initial value setting unit 102 sets the model position initial value Xm0 in the same manner as in Embodiment 1.
[0122] <Model Speed Initial Value Setting Unit 104B> The model speed initial value setting unit 104B sets the model speed initial value Vm0 so that the model speed Vm(ts) and the detected speed VFB(ts) match at the switching time ts. At the switching time ts, as described above, the first speed command VC is zero and the detected speed VFB(ts) and the model speed Vm(ts) match, so the output of the arithmetic unit 502a becomes continuous. Therefore, the operation of the movable part 7 does not change abruptly due to the model speed Vm.
[0123] As described above, according to this embodiment, the motor control device 200B determines the first initial position command value Xr0 and the first position control filter gain FG1 from the detected position XFB and model speed Vm detected at the switching point. This allows the low-pass filter 401p to be operated with respect to the position command Xr, which decelerates at the position command acceleration Acc and stops at the target stop position Xt, using the steady state of deceleration at the position command acceleration Acc as the initial value at the switching point. Furthermore, in the motor control device 200B, since the position command Xr decelerates at the position command acceleration Acc from its initial value and stops at the target stop position Xt, the model position Xm calculated by the filter also stops smoothly at the target stop position Xt without overshoot.
[0124] Furthermore, the motor control device 200B is configured to set the output of the integrator 401o of the reference model unit 401B to the initial model speed value Vm0 at the switching time ts. As a result, even in a configuration where the low-pass filter 401v is not used during speed control, the motor control device 200B can continue deceleration without abruptly changing the acceleration at the switching time ts, and can accurately stop the movable part 7 at the target stopping position Xt with smooth operation even near the stopping position.
[0125] Embodiment 3. In Embodiment 3, similar to Embodiments 1 and 2, the operation of the movable part 7, which is the controlled object, does not change abruptly even when the motor control device switches from speed control to position control. However, a case in which the model torque Tm, which is a torque feedforward, is not used during speed control will be described. In Embodiment 3, as will be described later, the initial value of the integrator of the speed control unit is set when switching from speed control to position control.
[0126] Figure 13 is a block diagram showing an example configuration of the motor control device 200C according to Embodiment 3. The motor control device 200C is a device that controls the movable part 7, which is the object to be controlled. In Embodiment 3, the system comprising the motor control device 200C, the drive device 6, and the movable part 7 is the motor control system 300C.
[0127] The motor control device 200C includes a speed command generation unit 1, a position command generation unit 2, a switching command unit 3, a position control unit 4B, a speed control unit 5C, a speed detection unit 8, a position detection unit 9, a control system initial value setting unit 10B, switches 12 and 15, and a torque command initial value setting unit 16.
[0128] The speed command generation unit 1 generates a second speed command Vr, similar to Embodiments 1 and 2, but in Embodiment 3, it outputs the generated second speed command Vr to the switch 12.
[0129] Switch 15 receives a switching command Sw from the switching command unit 3 and a model torque Tm from the reference model unit 401B. Switch 15 is turned on when the switching command Sw is 1, i.e., during position control. During position control, switch 15 outputs the model torque Tm obtained from the reference model unit 401B to the arithmetic unit 503. Switch 15 is turned off when the switching command Sw is 0, i.e., during speed control. During speed control, switch 15 does not output the model torque Tm obtained from the reference model unit 401B to the arithmetic unit 503. As a result, the arithmetic unit 503 uses the model torque Tm only during position control.
[0130] The arithmetic unit 503 does not acquire the model torque Tm during speed control, but acquires the model torque Tm only during position control. That is, during position control, the arithmetic unit 503 outputs the sum of the model torque Tm acquired from the switch 15 and the error torque Te acquired from the speed compensation unit 502C as the first torque command Tr1 to the drive unit 6 and the torque command initial value setting unit 16. During speed control, the arithmetic unit 503 does not use the model torque Tm, but outputs the error torque Te acquired from the speed compensation unit 502C as the first torque command Tr1 to the drive unit 6 and the torque command initial value setting unit 16.
[0131] Figure 14 is a block diagram showing an example configuration of the speed compensation unit 502C included in the motor control device 200C according to Embodiment 3. The speed compensation unit 502C comprises a calculator 502a, a speed PI unit 502j, and a switch 502k. The speed PI unit 502j, similar to the speed PI unit 502b in Embodiment 1, takes the signal output from the calculator 502a as input and outputs an error torque Te based on the transfer function shown in equation (1). The speed PI unit 502j also receives the initial torque command value T0, which is the output of the switch 502k, at the switching time ts from speed control to position control, and outputs the initial torque command value T0 at the switching time ts.
[0132] Switch 502k receives a switching command Sw from the switching command unit 3 and an initial torque command value T0 from the torque command initial value setting unit 16. Switch 502k turns on when the switching command Sw changes from 0 to 1, that is, at the switching time ts when the system switches from speed control to position control. Switch 502k turns off at all other times. As a result, switch 502k outputs the initial torque command value T0 to the speed PI unit 502j only at the time when the system switches from speed control to position control. Thus, considering the operation of the speed compensation unit 502C and the operation of the aforementioned arithmetic unit 503, it can be said that the speed control unit 5C determines the first torque command Tr1 based on the second speed command Vr and the detected speed VFB during speed control.
[0133] The torque command initial value setting unit 16 obtains the first torque command Tr1, which is the calculation result of the arithmetic unit 503, and sets the torque command initial value T0 based on the first torque command Tr1 so that the first torque command Tr1 at the switching time ts is continuous. It can also be said that the torque command initial value setting unit 16 sets the torque command initial value T0 so that the first torque command Tr1 during speed control at the time of switching from speed control to position control matches the first torque command Tr1 during position control at the time of switching from speed control to position control. The torque command initial value T0 is used as the initial value of the first torque command Tr1 when the speed control unit 5C determines the first torque command Tr1.
[0134] As described above, according to this embodiment, the motor control device 200C determines the first initial position command value Xr0 and the first position control filter gain FG1 from the detected position XFB and model speed Vm detected at the switching point. This allows the low-pass filter 401p to be operated with respect to the position command Xr, which decelerates at the position command acceleration Acc and stops at the target stop position Xt, using the steady state of deceleration at the position command acceleration Acc as the initial value at the switching point. Furthermore, in the motor control device 200B, since the position command Xr decelerates at the position command acceleration Acc from its initial value and stops at the target stop position Xt, the model position Xm calculated by the filter also stops smoothly at the target stop position Xt without overshoot.
[0135] Furthermore, the motor control device 200C is configured to set the initial value of the speed PI unit 502j of the speed compensation unit 502C to the initial torque command value T0 at the switching time ts. As a result, when there is no model torque Tm during speed control, the motor control device 200C can continue deceleration without abruptly changing the acceleration of the movable part 7 even when switching from speed control to position control, and can accurately stop the movable part 7 at the target stop position Xt with smooth operation even near the stopping position.
[0136] Embodiment 4. Embodiment 4 describes a case where non-position control is torque control, and the operation of the movable part 7 does not change abruptly even when the motor control device switches from torque control to position control. The operation of the motor control device in Embodiment 4 when switching from torque control to position control is almost the same as the operation of the motor control device 200C in Embodiment 3 when switching from speed control to position control. However, the motor control device in Embodiment 4 differs from the motor control device 200C in Embodiment 3 in that, since there is no speed command acceleration in torque control, the position command acceleration Acc is matched with the detected acceleration at the time of switching from torque control to position control.
[0137] Figure 15 is a block diagram showing an example configuration of the motor control device 200D according to Embodiment 4. The motor control device 200D is a device that controls the movable part 7, which is the object to be controlled. In Embodiment 4, the motor control system 300D is a system comprising the motor control device 200D, the drive device 6, and the movable part 7. Although not shown in the diagram, the relationship between torque control and position control in the motor control device 200D is the same as the relationship in Figure 2 described in Embodiment 1, but with the "speed control section" replaced by the "torque control section". In Embodiment 4, the switching time ts is the time of switching from torque control to position control.
[0138] The motor control device 200D includes a position command generation unit 2, a switching command unit 3, a position control unit 4B, a speed control unit 5C, a speed detection unit 8, a position detection unit 9, a control system initial value setting unit 10B, a torque command initial value setting unit 16, a torque command generation unit 17 for torque control, and a switch 18.
[0139] The torque command generation unit 17 for torque control generates a second torque command Tr2, which is a command that instructs the torque of the movable part 7 in order to operate the movable part 7 with a specific torque during torque control, and outputs it to the switch 18.
[0140] Switch 18 has terminals a4, b4, and c4. Terminal a4 is connected to the torque command generation unit 17 for torque control, terminal b4 is connected to the calculator 503 of the speed control unit 5C, and terminal c4 is connected to the drive unit 6 and the torque command initial value setting unit 16. Based on the switching command Sw acquired from the switching command unit 3, during torque control, switch 18 connects terminals a4 and c4 and outputs a second torque command Tr2 to the drive unit 6 and the torque command initial value setting unit 16. Based on the switching command Sw acquired from the switching command unit 3, during position control, switch 18 connects terminals b4 and c4 and outputs a first torque command Tr1 to the drive unit 6 and the torque command initial value setting unit 16.
[0141] Thus, during torque control, the switch 18 outputs a second torque command Tr2 to the drive unit 6 and the torque command initial value setting unit 16, and during position control, it outputs a first torque command Tr1 to the drive unit 6 and the torque command initial value setting unit 16. In other words, the motor control device 200D drives the movable part 7 based on the second torque command Tr2 during torque control, and drives the movable part 7 based on the first torque command Tr1 during position control.
[0142] The torque command initial value setting unit 16 sets the torque command initial value T0 in the same manner as the torque command initial value setting unit 16 in Embodiment 3, but depending on the output from the switch 18, the second torque command Tr2 is used during torque control and the first torque command Tr1 is used during position control. The torque command initial value setting unit 16 sets the torque command initial value T0 so that the second torque command Tr2 at the time of switching from torque control to position control matches the first torque command Tr1 at the time of switching from torque control to position control.
[0143] <Position control filter gain setting unit 103 and first position command initial value setting unit 101> Similar to Embodiment 1, the first position command initial value Xr0, the first position control filter gain FG1, and the second position control filter gain FG2 are set. At this time, the position command acceleration Acc is used as the detected acceleration of the movable part 7 at the switching time ts. The detected acceleration is determined, for example, by differentiating the detected velocity VFB.
[0144] As described above, according to this embodiment, when non-position control is set to torque control, the motor control device 200D determines the first torque command Tr1 in the same manner as in Embodiment 3, while outputting the second torque command Tr2 during torque control and the first torque command Tr1 during position control. As a result, even when switching from torque control to position control, the motor control device 200D can continue deceleration without abruptly changing the acceleration, and can accurately stop the movable part 7 at the target stop position Xt with smooth operation even near the stop position.
[0145] Embodiment 5. In Embodiments 1 to 4, the motor control devices 200A to 200D were configured to filter the position command Xr. Embodiment 5 describes a case in which the motor control device does not filter the position command Xr.
[0146] Figure 16 is a block diagram showing an example configuration of the motor control device 200E according to Embodiment 5. The motor control device 200E is a device that controls the movable part 7, which is the object to be controlled. In Embodiment 5, the system comprising the motor control device 200E, the drive device 6, and the movable part 7 is the motor control system 300E.
[0147] The motor control device 200E includes a speed command generation unit 1, a position command generation unit 2, a switching command unit 3, a position control unit 4E, a speed control unit 5E, a speed detection unit 8, a position detection unit 9, a control system initial value setting unit 10E, and a switch 19.
[0148] The speed command generation unit 1 generates a second speed command Vr in the same manner as in Embodiments 1 to 3, but in Embodiment 5, the generated second speed command Vr is output to the switch 19.
[0149] Switch 19 receives a switching command Sw from the switching command unit 3 and a second speed command Vr from the speed command generation unit 1. Switch 19 is turned on when the switching command Sw is 0, i.e., during speed control. During speed control, switch 19 outputs the second speed command Vr obtained from the speed command generation unit 1 to the speed compensation unit 502E. Switch 19 is turned off when the switching command Sw is 1, i.e., during position control. During position control, switch 19 does not output the second speed command Vr obtained from the speed command generation unit 1 to the speed compensation unit 502E. As a result, the speed compensation unit 502E uses the second speed command Vr only during speed control.
[0150] At the switching time ts, the position command generation unit 2 obtains the second initial position command value Xr1 from the second initial position command value setting unit 105 of the control system initial value setting unit 10E. The position command generation unit 2 generates a position command Xr in the same manner as in embodiments 1 to 4, but in embodiment 5, it generates the position command Xr based on the target stop position Xt, the position command acceleration Acc, and the second initial position command value Xr1. The position command generation unit 2 outputs the generated position command Xr to the position compensation unit 402E of the position control unit 4E.
[0151] The position control unit 4E includes a position compensation unit 402E. In Embodiment 5, the position control unit 4E does not include a configuration corresponding to the reference model unit 401A of Embodiment 1, or the reference model unit 401B of Embodiments 2 to 4. The position control unit 4E receives a position command Xr and a position proportional gain Kp, and outputs a first speed command VC to the switch 501.
[0152] The speed control unit 5E includes a switch 501 and a speed compensation unit 502E. In Embodiment 5, the speed control unit 5E does not include a calculator 503. Therefore, in Embodiment 5, the calculation result obtained by the speed compensation unit 502E is output as a first torque command Tr1.
[0153] During position control, the position compensation unit 402E determines the first speed command VC based on the position command Xr obtained from the position command generation unit 2, the position proportional gain Kp, which is the position control gain obtained from the position proportional gain setting unit 106 of the control system initial value setting unit 10E, and the detected position XFB obtained from the position detection unit 9. In the position compensation unit 402E, although not shown in the figures, the position proportional gain 402b shown in Figure 3, which was described in Embodiment 1, uses the acquired position proportional gain Kp to multiply the output value from the arithmetic unit 402a by Kp. That is, the position control unit 4E determines the first speed command VC using the position proportional gain Kp. In Embodiment 5, the position proportional gain Kp corresponds to the position control gain described above. The position compensation unit 402E obtains the position proportional gain Kp from the position proportional gain setting unit 106 of the control system initial value setting unit 10E as the multiplier used in the position proportional gain 402b.
[0154] Figure 17 is a block diagram showing an example configuration of the speed compensation unit 502E included in the motor control device 200E according to Embodiment 5. The speed compensation unit 502E comprises arithmetic units 502a and 502l, a speed I control unit 502f, and a speed proportional gain 502h.
[0155] During speed control, the arithmetic unit 502a obtains a second speed command Vr from the speed command generation unit 1 and a detected speed VFB from the speed detection unit 8. Therefore, during speed control, the speed compensation unit 502E determines a first torque command Tr1 based on the second speed command Vr and the detected speed VFB. During position control, the arithmetic unit 502a obtains a first speed command VC from the position compensation unit 402E of the position control unit 4E via switch 501 and a detected speed VFB from the speed detection unit 8. Therefore, during position control, the speed compensation unit 502E determines a first torque command Tr1 based on the first speed command VC and the detected speed VFB. The speed I control unit 502f is a transfer function represented by equation (10).
[0156]
[0157] Here, kvi represents the integral gain. The speed I control unit 502f takes the calculation result of the arithmetic unit 502a as input and outputs the result calculated based on equation (10) to the arithmetic unit 502l. The arithmetic unit 502l calculates the difference between the calculation result output from the speed I control unit 502f and the detected speed VFB output from the speed detection unit 8, and outputs the calculation result to the speed proportional gain 502h. The speed proportional gain 502h outputs the result of multiplying the output of the arithmetic unit 502l by kvp as the first torque command Tr1 to the drive unit 6.
[0158] In Embodiment 5, unlike the speed compensation unit 502A in Embodiment 1, the speed compensation unit 502E performs I-P control instead of PI control. Although the speed compensation unit 502E can also perform PI control, it is preferable to perform I-P control from the viewpoint of stability.
[0159] <Control System Initial Value Setting Unit 10E> In Embodiment 5, by setting the second position command initial value Xr1 and the position proportional gain Kp in the following manner, deceleration can be continued without abruptly changing the acceleration of the movable part 7, which is the object of control, and the movable part 7 can be accurately stopped at the target stop position Xt with smooth operation even near the stop position. The position proportional gain Kp is the gain used in the position proportional gain 402b of the position compensation unit 402A shown in Figure 3.
[0160] <Second position command initial value setting unit 105 and position proportional gain setting unit 106> The control system initial value setting unit 10E includes a second position command initial value setting unit 105 and a position proportional gain setting unit 106.
[0161] The second position command initial value setting unit 105 sets the second position command initial value Xr1, which is the initial value of the position command Xr at the time of switching from speed control to position control when the position command generation unit 2 generates the position command Xr. The position proportional gain setting unit 106 sets the position proportional gain Kp, which is the position control gain.
[0162] At the switching time ts, if the output of the calculator 502a in the speed compensation unit 502E is continuous, the first torque command Tr1 will also be continuous, and therefore the acceleration of the movable part 7 will not change abruptly at the switching time ts. For the output of the calculator 502a to be continuous at the switching time ts, the first speed command VC and the second speed command Vr must coincide at the switching time ts. That is, equation (11) must be satisfied.
[0163]
[0164] Next, similar to Embodiment 1, we consider setting the steady state, in which deceleration occurs with position command acceleration Acc, as the initial value at the time of switching. The transfer function Gxf from position command Xr to detected position XFB is given by the following equation (12).
[0165]
[0166] However, Gv is the transfer function from the first speed command VC to the detected speed VFB. Also, for simplicity, the transfer function of the drive unit 6 is set to 1. The following equation (13) is obtained for the deviation between the position command speed Vrv and the detected speed VFB.
[0167]
[0168] From equations (12) and (13), the difference between the position command velocity Vrv and the detected velocity VFB during deceleration is given by the final value theorem in the following equation (14).
[0169]
[0170] Substitute equation (3) into equation (14) to obtain equation (15).
[0171]
[0172] Based on the above, the system of equations (11) and (15) is solved to set the second initial position command Xr1 and the position proportional gain Kp. In other words, the second initial position command setting unit 105 sets the second initial position command Xr1 such that the difference between the position command velocity Xrv, which is determined based on the time derivative of the position command Xr, and the detected velocity VFB is equal to the product of the reciprocal of the position proportional gain Kp and the position command acceleration Acc, which is determined based on the second derivative of the position command Xr, or the product of the reciprocal of the position proportional gain Kp and the detected acceleration detected as the acceleration of the movable part 7. The position proportional gain setting unit 106 sets the position proportional gain Kp such that the first velocity command VC at the time of switching from velocity control to position control is equal to the detected velocity VFB at the time of switching from velocity control to position control, or to the second velocity command Vr at the time of switching from velocity control to position control. This allows the position control unit 4E and the speed control unit 5E to operate with the steady state of deceleration at position command acceleration Acc as the initial value at the time of switching, in response to a position command Xr that decelerates at position command acceleration Acc and stops at the target stop position Xt. The motor control device 200E continues deceleration without abruptly changing the acceleration at the switching time ts, and can accurately stop the movable part 7 at the target stop position Xt with smooth operation even near the stop position.
[0173] As described above, according to this embodiment, when the motor control device 200E determines the first speed command VC without filtering the position command Xr, the control system initial value setting unit 10E sets the second initial position command value Xr1 used by the position command generation unit 2 when generating the position command Xr, and the position proportional gain Kp used by the position compensation unit 402E when determining the first speed command VC. As a result, even when the motor control device 200E switches from speed control to position control, it can continue decelerating without abruptly changing the acceleration at the switching time ts, and can accurately stop the movable part 7 at the target stop position Xt with smooth operation even near the stopping position.
[0174] The configurations shown in the above embodiments are merely examples, and it is possible to combine them with other known technologies, combine different embodiments, and omit or modify parts of the configuration without departing from the gist of the invention.
[0175] 1 Speed command generation unit, 2 Position command generation unit, 2a, 401f, 401h, 402a, 502a, 502l, 503 Calculator, 2b Position command speed calculation unit, 2c, 401l, 401o Integrator, 2f, 11, 12, 14, 15, 18, 19, 401e, 401m, 401q, 401r, 401t, 401w, 401x, 501, 502k Switch, 3 Switching command unit, 4A, 4B, 4E Position control unit, 5A, 5C, 5E Speed control unit, 6 Drive unit, 7 Movable part, 8 Speed detection unit, 9 Position detection unit, 10A, 10B, 10E Control system initial value setting unit, 13 Model torque generation unit for speed control, 13a, 401z Differentiator, 13b, 401g, 401i, 401s Gain, 16 Torque command initial value setting unit, 17 Torque command generation unit for torque control, 90, 93 Processing circuit, 91 Processor, 92 Memory, 101 First position command initial value setting unit, 102 Model position initial value setting unit, 103 Position control filter gain setting unit, 104, 104B Model speed initial value setting unit, 105 Second position command initial value setting unit, 106 Position proportional gain setting unit, 200A, 200B, 200C, 200D, 200E Motor control device, 300A, 300B, 300C, 300D, 300E Motor control system, 401A, 401B Reference model unit, 401p, 401v, 401y Low-pass filter, 402A, 402E Position compensation unit, 402b Position proportional gain, 502A, 502C, 502E Speed compensation unit, 502b Speed PI unit, 502f Speed I control unit, 502h Speed proportional gain, 502j Speed PI unit, Acc Position command acceleration, Am, Am(ts) Model acceleration, a1-a5, b1-b5, c1-c5 Terminal, DC Drive command, FG1 First position control filter gain, FG2 Second position control filter gain, Gvp, Gxf Transfer function, J Load, Kp Position proportional gain, Sw Switching command, Te Error torque, Tm Model torque, Tmv Model torque for speed control, Tr1 First torque command, Tr2 Second torque command, T0 Torque command initial value, VC First speed command, VFB Detected speed, Vm,Vm(ts) Model velocity, Vm0 Initial model velocity, Vr Second velocity command, Vrv Position command velocity, Xe Command remaining distance, XFB Detected position, Xm Model position, Xm0 Initial model position, Xr Position command, Xrv, Xrv(t) Position command velocity, Xr0 Initial first position command, Xr1 Initial second position command, Xt Target stop position.
Claims
1. A motor control device that controls a movable part, which is a control target, by position control for controlling the position of the movable part and non-position control different from the position control, comprising: a position command generation unit that generates a position command which is a command indicating the position of the movable part; a position control unit that determines a first speed command which is a command for controlling the speed of the movable part, using a position control gain based on a detected position detected as the position of the movable part and the position command; a speed control unit that determines a first torque command which is a torque command for a drive device that drives the movable part, based on the first speed command and a detected speed detected as the speed of the movable part; and a control system initial value setting unit that sets the position control gain based on the detected position at a switching point which is the point at which switching from non-position control to position control is performed during deceleration of the movable part.
2. The motor control device according to claim 1, wherein the control system initial value setting unit includes a position control filter gain setting unit that sets the position control filter gain, which is the position control gain used when filtering the position command, and the position control unit determines the model position by filtering the position command using the position control filter gain, and determines the first speed command based on the difference between the model position and the detected position.
3. The motor control device according to claim 2, wherein the control system initial value setting unit includes a model position initial value setting unit that sets an initial model position value to be used as the initial value of the model position when the position control unit determines the model position, and the model position initial value setting unit sets the initial model position value so that the model position at the time of switching and the detected position at the time of switching coincide.
4. The motor control device according to claim 2 or 3, wherein the control system initial value setting unit includes a first position command initial value setting unit that sets a first position command initial value to be used as the initial value of the position command when the position command generation unit generates the position command, and the first position command initial value setting unit sets the first position command initial value based on the model position at the switching time and the position control filter gain.
5. The motor control device according to claim 1, comprising: a speed command generation unit that generates a second speed command which is a command that indicates the speed of the movable part, wherein the position command generation unit generates the position command based on the detected acceleration detected as the acceleration of the movable part, or the speed command acceleration which is related to the time derivative of the second speed command.
6. The motor control device according to claim 2, characterized in that the position control unit determines the model speed by filtering the position command using the position control filter gain, the speed control unit determines the first torque command based on the model speed, the control system initial value setting unit includes a model speed initial value setting unit that sets an initial model speed value to be used as the initial value of the model speed when the position control unit determines the model speed, and the model speed initial value setting unit sets the initial model speed value so that the model speed and the detected speed match at the switching point.
7. The motor control device according to claim 1, wherein the non-position control is a speed control that controls the speed of the movable part, and further comprises a speed command generation unit that generates a second speed command which is a command that indicates the speed of the movable part, and the speed control unit determines the first torque command based on the second speed command and the detected speed when performing the speed control.
8. The motor control device according to claim 7, further comprising: a torque command initial value setting unit that sets a torque command initial value to be used as the initial value of the first torque command when the speed control unit determines the first torque command, wherein the torque command initial value setting unit sets the torque command initial value such that the first torque command during speed control at the switching point matches the first torque command during position control at the switching point.
9. The motor control device according to claim 1, wherein the non-position control is torque control for controlling the torque of the movable part, and further comprises a second torque command generation unit that generates a second torque command which is a command that instructs the torque of the movable part, and the movable part is driven based on the second torque command when the torque control is performed.
10. The motor control device according to claim 9, further comprising: a torque command initial value setting unit that sets a torque command initial value to be used as the initial value of the first torque command when the speed control unit determines the first torque command, wherein the torque command initial value setting unit sets the torque command initial value such that the second torque command at the time of switching matches the first torque command at the time of switching for position control.
11. The motor control device according to claim 1, characterized in that the position control unit determines the first speed command based on the difference between the position command and the detected position.
12. The motor control device according to claim 11, further comprising: a speed command generation unit that generates a second speed command which is a command that instructs the speed of the movable part; a position proportional gain setting unit that sets a position proportional gain which is a position control gain such that the first speed command at the time of switching matches the detected speed at the time of switching or the second speed command at the time of switching; and a position control unit that determines the first speed command using the position proportional gain.
13. The motor control device according to claim 12, wherein the control system initial value setting unit includes a second position command initial value setting unit that sets a second position command initial value which becomes the initial value of the position command at the switching point when the position command generation unit generates the position command, and the second position command initial value setting unit sets the second position command initial value such that the difference between the position command speed determined based on the time derivative of the position command and the detected speed matches the product of the reciprocal of the position proportional gain and the position command acceleration determined based on the second derivative of the position command, or the product of the reciprocal of the position proportional gain and the detected acceleration detected as the acceleration of the movable part.
14. A motor control system comprising: a motor control device according to any one of claims 1 to 13; a movable part which is a control object whose position is controlled by the motor control device; and a drive device for driving the movable part.
Citation Information
Patent Citations
Vibration suppression controller
JP2009118684A
Motor controller generating command limited by motor torque
JP2016093031A
Motor controller
JP2019075962A
Servo adjustment method of motor driving device, program, and servo adjustment device for motor driving device
WO2023195293A1