An improved motor control method and controller
By introducing new adjustment items into the traditional PID controller and optimizing the motor control method, the load end jitter problem of the servo system is solved, the system stability and responsiveness are improved, and additional mechanical and parameter adjustments are avoided.
Patent Information
- Application Number
- CN202211308086.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-10-25
- Publication Date
- 2025-09-26
- Estimated Expiration
- 2042-10-25
AI Technical Summary
Traditional PID controllers in servo control systems have the problem of residual jitter at the load end, and adjusting parameters will affect the system control bandwidth and responsiveness. Changing the connection method increases design difficulty and cost.
A new adjustment term is introduced. By calculating the difference between the real-time position and the expected position, the adjustment coefficient Kc is used to perform secondary differentiation and then integration to adjust the expected current value of the motor. The proportional, integral and differential terms of the traditional PID controller are combined to optimize the controller structure.
The residual jitter of the motor system is suppressed, the system stability and responsiveness are improved, and the need to change the mechanical connection structure and control parameters is avoided.
Smart Images

Figure CN115589179B_ABST
Abstract
Description
Technical Field
[0001] The present application belongs to the field of motor control technology and relates to an improved motor control method and controller. Background Art
[0002] Traditional PID controllers are widely used in servo control systems. They mainly include three parameters: proportional Kp, integral Ki, and differential Kd. If the servo control system has good structural rigidity and the inertia of the drive side and the load side is properly matched, the traditional PID controller can achieve good control effects in each loop of the servo system. However, in many engineering scenarios, elastic connection devices such as couplings, reducers, and hinges are widely present in the control system. The presence of these elastic connection devices will cause residual jitter at the load end when the servo motor running at high speed is positioned.
[0003] The general solution is to reduce the parameters Kp and Ki of the PID controller in the servo system position loop and increase the parameter Kd. Although this can suppress the jitter to a certain extent, it will reduce the system's control bandwidth, the rapid response capability of the position signal, and the ability to quickly eliminate steady-state errors. If the connection method between the drive and the load is changed to increase the system stiffness, this method will undoubtedly increase the design difficulty, manufacturing cost and maintenance cost of the connection device. Summary of the Invention
[0004] In order to solve the problems in the related art, the present application provides an improved motor control method and controller, the specific technical solutions of which are as follows:
[0005] In a first aspect, the present application provides an improved motor control method, the method comprising:
[0006] Get the real-time position of the mover when the motor is running;
[0007] Calculating the difference between the real-time position and the pre-stored expected position to obtain position error information e(t);
[0008] Calculating an adjustment term based on the position error information e(t) and a predetermined adjustment coefficient Kc;
[0009] Adjusting the expected current value u(t) of the motor using the adjustment item to obtain an adjusted expected current value u'(t);
[0010] Calculating the difference between the adjusted expected current value and the real-time current value to obtain a current error signal;
[0011] The movement of the motor is controlled according to the current error signal.
[0012] Optionally, after calculating the difference between the real-time position and the pre-stored expected position to obtain position error information, the improved motor control method further includes:
[0013] The expected current value u(t) of the motor is calculated according to the calculation formula of the expected current value u(t) of the motor. The calculation formula of the expected current value u(t) of the motor is:
[0014]
[0015] Among them, the K p is a predetermined proportional parameter, the K i is a predetermined integral parameter, the K d is the predetermined differential parameter.
[0016] Optionally, the position error information e(t) and the predetermined adjustment coefficient K c , calculating the adjustment item, including: calculating the adjustment item according to a calculation formula of the adjustment item, the calculation formula of the adjustment item is:
[0017] Optionally, the adjusting the expected current value u(t) of the motor by using the adjustment item to obtain an adjusted expected current value u'(t) includes:
[0018] The sum of the expected current value u(t) of the motor and the adjustment term is calculated to obtain the adjusted expected current value u'(t). The calculation formula of the adjusted expected current value u'(t) of the motor is:
[0019]
[0020] Optionally, controlling the motor movement according to the current error signal includes:
[0021] If the current error signal is positive, the motor is controlled to rotate forward;
[0022] If the current error signal is negative, the motor is controlled to rotate in the reverse direction.
[0023] In a second aspect, the present application further provides an improved motor controller, the improved motor controller comprising:
[0024] An acquisition module is configured to acquire a real-time position of the mover when the motor is running;
[0025] a first calculation module, configured to calculate the difference between the real-time position obtained by the acquisition module and the pre-stored expected position to obtain position error information e(t);
[0026] a second calculation module, configured to calculate an adjustment term based on the position error information e(t) calculated by the first calculation module and a predetermined adjustment coefficient Kc;
[0027] an adjustment module configured to adjust the expected current value u(t) of the motor using the adjustment item calculated by the second calculation module to obtain an adjusted expected current value u'(t);
[0028] a third calculation module, configured to calculate the difference between the expected current value adjusted by the adjustment module and the real-time current value to obtain a current error signal;
[0029] The control module is configured to control the movement of the motor according to the current error signal calculated by the third calculation module.
[0030] Optionally, the first calculation module is further configured to calculate the expected current value u(t) of the motor according to a calculation formula of the expected current value u(t) of the motor, and the calculation formula of the expected current value u(t) of the motor is:
[0031]
[0032] Among them, the K p is a predetermined proportional parameter, the K i is a predetermined integral parameter, the K d is the predetermined differential parameter.
[0033] Optionally, the second calculation module is further configured to calculate the adjustment item according to a calculation formula of the adjustment item, where the calculation formula of the adjustment item is:
[0034] Optionally, the adjustment module is further configured to calculate the sum of the expected current value u(t) of the motor and the adjustment term to obtain the adjusted expected current value u'(t). The calculation formula of the adjusted expected current value u'(t) of the motor is:
[0035]
[0036] Optionally, when the current error signal is positive, the control module controls the motor to rotate forward; when the current error signal is negative, the control module controls the motor to rotate reverse.
[0037] Based on the above technical solution, this application can achieve at least the following beneficial effects:
[0038] By optimizing the controller structure and introducing a new adjustment item, the system stability can be increased, a better expected current value can be obtained, and the residual jitter of the motor system can be suppressed. In the process, there is no need to change the mechanical connection structure or the already debugged control parameters.
[0039] It should be understood that the foregoing general description and the following detailed description are exemplary only and are not restrictive of the invention. BRIEF DESCRIPTION OF THE DRAWINGS
[0040] The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the present application and, together with the description, serve to explain the principles of the present application.
[0041] Figure 1 is a flow chart of an improved motor control method provided in one embodiment of the present application;
[0042] Figure 2 This is a schematic structural diagram of an improved motor controller provided in one embodiment of the present application;
[0043] Figure 3 Response waveforms of a traditional PID controller and an improved controller provided in one embodiment of the present application acting on a voice coil motor servo control system, respectively;
[0044] Figure 4 The frequency domain open-loop Bode diagrams of a traditional PID controller and an improved controller provided in one embodiment of the present application acting on a voice coil motor servo control system are shown;
[0045] Figure 5 The figures are position response waveforms of a traditional PID controller and an improved controller provided in one embodiment of the present application respectively acting on a voice coil motor servo control system. DETAILED DESCRIPTION
[0046] Exemplary embodiments will be described in detail herein, with examples illustrated in the accompanying drawings. In the following description, when referring to the drawings, identical numerals in different figures represent identical or similar elements, unless otherwise indicated. The embodiments described in the following exemplary embodiments are not intended to represent all embodiments consistent with the present application. Rather, they are merely examples of apparatus and methods consistent with certain aspects of the present application, as detailed in the appended claims.
[0047] Since voice coil motors are also a type of servo motor, the following further explains some common concepts in the improved motor control method provided by this application in conjunction with the control principles of servo motors: A loop refers to the part of the servo system that receives and processes feedback signals, typically including a speed loop, a position loop, and a current loop. Their main function is to reduce errors, achieve higher, more accurate, and faster control precision, and achieve automatic control. The improved motor control method provided by this application mainly improves the position loop to suppress residual jitter in the system.
[0048] Figure 1 : is a flow chart of an improved motor control method provided in one embodiment of the present application. The improved motor control method provided in the present application may include the following steps:
[0049] Step 101, obtaining the real-time position Real_Pos of the mover when the voice coil motor rotates;
[0050] In practical applications, a PSD position sensor detects the position of the voice coil motor's actuator in real time as it rotates and transmits this information to a microcontroller (MCU). In one feasible implementation, the position loop executes at a frequency of 10 kHz, with the MCU collecting the motor's real-time position (Real_Pos) every 0.1 ms before beginning the calculation. Alternatively, the position loop could execute at a frequency of 8 kHz or 5 kHz, with the MCU's acquisition period determined by the frequency.
[0051] Step 102, calculating the difference between the real-time position Real_Pos and the pre-stored desired position Target_Pos to obtain position error information e(t);
[0052] The MCU pre-sets the desired position Target_Pos of the voice coil motor. The difference between the desired position Target_Pos and the real-time position Real_Pos is calculated to obtain the position error signal e(t).
[0053] e(t)=Target_Pos-Real_Pos(1)
[0054] Step 103: Calculate the adjustment term K according to the position error information e(t) and the predetermined adjustment coefficient Kc. c _Output;
[0055] The adjustment term is calculated as:
[0056]
[0057] In formula (2), Kc_Output is the newly introduced adjustment term in the improved motor control method. Its essence is to differentiate the error signal twice and then integrate it, and then multiply it by the adjustment coefficient Kc. Kc is the gain of the newly introduced control term in the improved controller.
[0058] Step 104, adjusting the expected current value u(t) of the motor using the adjustment item to obtain an adjusted expected current value u'(t);
[0059] First, the expected current value u(t) is calculated according to the mathematical model of the traditional PID controller. The mathematical model of the traditional PID controller is shown in the following formula (3):
[0060]
[0061] In formula (3), the proportional term output Kp_Output obtained by multiplying the position error signal and the proportional coefficient Kp, the integral term output K i _Output and the differential output K obtained by performing differential operation on the position signal d _Output, where K p is the predetermined scale parameter, K i is the predetermined integral parameter, K d is the predetermined differential parameter;
[0062] Kp_Output=K p e(t)(4)
[0063]
[0064]
[0065] Then, add u(t) to the adjustment term Kc_Output to obtain the adjusted desired current value u'(t):
[0066]
[0067] Step 105 , calculating the difference between the adjusted expected current value u'(t) and the real-time current value Real_I to obtain a current error signal I_Error;
[0068] I_Error=u'(t)-Real_I(8)
[0069] The real-time current value Real_I is acquired through the sampling resistor in the current loop.
[0070] Step 106 , controlling the motor movement according to the current error signal I_Error; if the current error signal I_Error is positive, controlling the motor to rotate forward; if the current error signal I_Error is negative, controlling the motor to rotate reverse.
[0071] To sum up, the improved motor control method provided in this application can increase the stability of the system and obtain a better expected current value by optimizing the controller structure and introducing a new adjustment item, thereby suppressing the residual jitter of the motor system. During the process, there is no need to change the mechanical connection structure or the control parameters that have been debugged.
[0072] The following is an embodiment of an improved motor controller provided in this application. Since the improved motor controller is a device corresponding to the above-mentioned improved motor control method, some technical features involved in the improved motor controller can refer to the explanation in the embodiment of the above-mentioned improved motor control method, and will not be repeated below.
[0073] Figure 2 This is a schematic diagram of the structure of an improved motor controller provided in one embodiment of the present application. The improved motor controller provided in the present application can be implemented by software, hardware, or a combination of software and hardware. Figure 1 The improved motor controller provided by the present application may include an acquisition module 201 , a first calculation module 202 , a second calculation module 203 , an adjustment module 204 , a third calculation module 205 and a control module 206 .
[0074] The acquisition module 201 is configured to obtain the real-time position Real_Pos of the mover when the motor is running; optionally, the acquisition module 201 includes a PSD position sensor, which detects the position information of the mover when the voice coil motor rotates in real time through the PSD position sensor and sends the position information to the microcontroller (MCU).
[0075] The first calculation module 202 is configured to calculate the difference between the real-time position obtained by the acquisition module and the pre-stored desired position to obtain position error information e(t). Optionally, the position error information e(t) is obtained by calculating the difference between the real-time position Real_Pos obtained by the acquisition module 201 and the pre-stored desired position Target_Pos according to formula (1).
[0076] The second calculation module 203 is configured to calculate the adjustment term K according to the position error information e(t) calculated by the first calculation module 202 and the predetermined adjustment coefficient Kc. c _Output. Optionally, the adjustment term K can be calculated using formula (2) c _Output.
[0077] The adjustment module 204 is configured to use the adjustment item K calculated by the second calculation module 203 c _Output adjusts the expected current value u(t) of the motor to obtain the adjusted expected current value u'(t);
[0078] Optionally, the improved motor controller provided in the present application also includes a fourth calculation module, which is configured to calculate the expected current value u(t) of the motor according to the calculation formula (3) of the expected current value u(t) of the motor, and then the adjustment module 204 calculates the adjusted expected current value u'(t) according to formula (7).
[0079] The third calculation module 205 is configured to calculate the difference between the expected current value u'(t) adjusted by the adjustment module 304 and the real-time current value Real_I to obtain a current error signal I_Error. Optionally, the current error signal I_Error can be obtained by calculation according to formula (8).
[0080] The control module 206 is configured to control the motor movement according to the current error signal I_Error calculated by the third calculation module 205. Optionally, if the current error signal I_Error is positive, the motor is controlled to rotate forward; if the current error signal I_Error is negative, the motor is controlled to rotate reversely.
[0081] In summary, the improved motor controller provided in this application, based on the traditional PID control, introduces a new adjustment item through the adjustment module 204, which increases the stability of the system, obtains a better expected current value, and plays a role in suppressing the residual jitter of the motor system.
[0082] In order to prove that the present invention has more advantages than the traditional PID controller in suppressing the residual jitter existing at the load end when the servo motor is positioned, its effectiveness is first analyzed theoretically. The servo control system based on the voice coil motor can be equivalent to a typical second-order model in engineering. The second-order model is shown in Equation (9).
[0083]
[0084] In formula (9), ξ is the damping coefficient of the controlled object, ω n is the angular frequency of the undamped natural oscillation.
[0085] In one embodiment, ω nSet to 80rad / s, ξ to 0.707, and the input signal to 4. Select the traditional PID controller and the improved motor controller to act on the second-order model. Set the controller parameters in the model, Kp = 100, Ki = 4800, Kd = 0, Kc = 4000. The parameters of Kp, Ki, and Kd of the improved controller are the same as those of the traditional PID controller. The only difference is the new control term introduced by the parameter Kc. The response waveform of the second-order system is as follows Figure 3 shown.
[0086] from Figure 3 It can be seen that when the traditional PID controller acts on the second-order model, the system jitter is severe, the maximum overshoot is 87.1%, and the system stabilization time is 0.1787s. When the improved controller acts on the second-order system, it has a significant inhibitory effect on the system jitter, with a maximum overshoot of 3% and a system stabilization time of 0.0145s. Regardless of the overshoot or system stabilization time, the improved controller has obvious performance advantages over the traditional PID controller and has better suppression performance on the system's residual jitter.
[0087] Figure 4 The frequency domain open-loop Bode diagrams of the traditional PID controller and the improved controller acting on the second-order model are shown in Figure 2. Figure 4 As shown in the figure, after the traditional PID controller acts on the control object, the open-loop bandwidth of the control system is 151Hz and the phase margin is 4.69dB. After the improved controller proposed in this invention acts on the control object, the bandwidth of the control system is 577Hz and the phase margin is 72.3dB. The improved controller not only improves the bandwidth of the system and accelerates the system response, but also improves the phase margin of the system, making the system more stable. In addition, the simulation found that the larger the Kc value, the stronger the ability to suppress the residual vibration of the system will be, the system bandwidth will show an upward trend, and the system convergence speed will be faster, but the system phase margin will be reduced, resulting in poor system stability. Therefore, in actual engineering debugging, it is necessary to adjust the Kc value based on the comprehensive consideration of the suppression of the residual vibration and stability of the system until the system reaches a good state.
[0088] Figure 5 The following are the position response waveforms of the traditional PID controller and the improved controller acting on the voice coil motor servo control system. Figure 5As shown, in the voice coil motor servo control system, the load is connected to the voice coil motor through a hinge. It is necessary to take into account the rapid response capability of the servo system and at the same time have a good ability to suppress the residual vibration of the positioning end. If the position loop adopts a traditional PID controller, the system response rapidity and stability cannot be well taken into account. Increasing the Kp parameter to improve the rapidity will result in severe jitter at the positioning end. Reducing the Kp parameter to alleviate the jitter at the positioning end will not satisfy the rapidity. Using the improved controller of the present invention, new control items are introduced without changing the Kp, Ki, and Kd parameter values that have been debugged in the early stage. This can not only meet the rapid response capability of the system but also better suppress the jitter of the motor positioning end.
[0089] In the voice coil motor servo control system, the position target is set to 1.9 mm, and the position loop control parameter K p =1.3, K i =0.008, K d =90,K c =20. Figure 5 It can be seen that when the position loop uses a traditional PID controller, the position response overshoot is 2.3% and the stabilization time is 160.6ms. When the position loop uses the improved controller, the position response overshoot is 0.94% and the stabilization time is 113.3ms. When the improved controller acts on the voice coil motor servo system, it has a significant inhibitory effect on the terminal jitter of the system and accelerates the stabilization time of the motor positioning.
[0090] To sum up, the improved motor controller provided in this application, on the basis of traditional PID control, can increase the stability of the system and obtain a better expected current value by introducing a new adjustment item, thereby suppressing the residual jitter of the motor system. During the process, there is no need to change the mechanical connection structure or the control parameters that have been debugged.
[0091] Those skilled in the art will readily appreciate other embodiments of the present invention after considering the specification and practicing the application herein. This application is intended to cover any variations, uses, or adaptations of the present invention that follow the general principles of the present invention and include common knowledge or customary techniques in the art that are not covered by this application. The description and examples are to be considered merely as exemplary, and the true scope and spirit of the present invention are indicated by the appended claims.
[0092] It should be understood that the present application is not limited to the exact structures described above and shown in the drawings, and that various modifications and changes may be made without departing from the scope thereof. The scope of the present application is limited only by the appended claims.
Claims
1. An improved motor control method, characterized in that: The improved motor control method comprises: Get the real-time position of the mover when the motor is running; Calculating the difference between the real-time position and the pre-stored expected position to obtain position error information e(t); The expected current value u(t) of the motor is calculated according to the calculation formula of the expected current value u(t) of the motor. The calculation formula of the expected current value u(t) of the motor is: Among them, the K p is a predetermined proportional parameter, the K i is a predetermined integral parameter, the K d is the predetermined differential parameter; According to the position error information e(t) and the predetermined adjustment coefficient Kc, an adjustment item is calculated, including: The adjustment item is calculated according to the calculation formula of the adjustment item, and the calculation formula of the adjustment item is: The adjustment item is used to adjust the expected current value u(t) of the motor to obtain an adjusted expected current value u'(t), including: The sum of the expected current value u(t) of the motor and the adjustment term is calculated to obtain the adjusted expected current value u'(t). The calculation formula of the adjusted expected current value u'(t) of the motor is: Calculating the difference between the adjusted expected current value and the real-time current value to obtain a current error signal; The movement of the motor is controlled according to the current error signal.
2. The improved motor control method according to claim 1, characterized in that: The controlling of the motor movement according to the current error signal includes: If the current error signal is positive, the motor is controlled to rotate forward; If the current error signal is negative, the motor is controlled to rotate in the reverse direction.
3. An improved motor controller, characterized in that: The improved motor controller comprises: an acquisition module, configured to acquire a real-time position of the mover when the motor is running; a first calculation module, configured to calculate the difference between the real-time position obtained by the acquisition module and the pre-stored expected position to obtain position error information e(t); The fourth calculation module is configured to calculate the expected current value u(t) of the motor according to the calculation formula of the expected current value u(t) of the motor, and the calculation formula of the expected current value u(t) of the motor is: Among them, the K p is a predetermined proportional parameter, the K i is a predetermined integral parameter, the K d is the predetermined differential parameter; a second calculation module, configured to calculate an adjustment term based on the position error information e(t) calculated by the first calculation module and a predetermined adjustment coefficient Kc; The second calculation module is further configured to calculate the adjustment item according to a calculation formula of the adjustment item, where the calculation formula of the adjustment item is: an adjustment module configured to adjust the expected current value u(t) of the motor using the adjustment item calculated by the second calculation module to obtain an adjusted expected current value u'(t); The adjustment module is further configured to calculate the sum of the expected current value u(t) of the motor and the adjustment term to obtain the adjusted expected current value u'(t). The calculation formula of the adjusted expected current value u'(t) of the motor is: a third calculation module, configured to calculate the difference between the expected current value adjusted by the adjustment module and the real-time current value to obtain a current error signal; The control module is configured to control the movement of the motor according to the current error signal calculated by the third calculation module.
4. The improved motor controller according to claim 3, characterized in that: When the current error signal is positive, the control module controls the motor to rotate forward; when the current error signal is negative, the control module controls the motor to rotate reverse.
Citation Information
Patent Citations
Passivity controller and control method for induction motor
CN107968608A
Synchronous motor control method and system based on composite nonlinear feedback integral sliding mode
CN110212837A