Speed compensation method and related devices for vertical rotation of an eccentric load driven by a motor
By collecting and storing the zero-point position data of the eccentric load, and calculating and generating sinusoidal compensation quantities with the same frequency and opposite phase in real time, the speed disturbance problem when the motor drives the eccentric load to rotate vertically is solved, and high-precision speed control and system stability improvement are achieved.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- TIANJIN LIHENG IND CO LTD
- Filing Date
- 2026-02-27
- Publication Date
- 2026-04-24
AI Technical Summary
Existing technologies cannot effectively solve the periodic speed disturbance when a motor drives an eccentric load to rotate vertically. Traditional methods fail to establish a spatial mapping relationship between the direction of gravity and the rotation phase, resulting in insufficient system stability and speed control accuracy.
The eccentric load is fixed vertically downward by mechanical tooling, zero-point position data is collected and stored, the relative position of the load is calculated in real time, a sinusoidal compensation quantity that is in the same frequency and opposite phase to the speed disturbance is generated, and it is superimposed on the speed setpoint. The motor speed is controlled by a PID controller.
It achieves precise cancellation of periodic speed fluctuations, reduces current ripple, improves system stability and control accuracy, and meets the micron-level positioning requirements of precision equipment.
Smart Images

Figure CN121727445B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of motor control technology, specifically to a speed compensation method and related device for a motor driving an eccentric load to rotate vertically. Background Technology
[0002] There is an inherent dynamic defect in the vertical rotation of an eccentric load driven by a motor: due to the periodic conversion of gravitational potential energy, the load will induce asymmetric torque disturbances when moving to different phase angles in the vertical plane. Specifically, when the eccentric load rotates counterclockwise upwards due to gravity, it needs to overcome the work done by gravity, resulting in a decrease in speed; conversely, during the descent phase, the conversion of gravitational potential energy into kinetic energy leads to an acceleration of speed, forming... Figure 1 The diagram shows a sinusoidal velocity fluctuation. This disturbance has a frequency characteristic synchronized with the rotation period, and its amplitude is determined by the load eccentricity and moment of inertia.
[0003] While existing speed control strategies can suppress some disturbances by enhancing the PID control gain, high gain leads to increased current ripple and degraded system stability. Adaptive filtering and other solutions have inherent limitations in phase synchronization accuracy and dynamic response speed because they cannot accurately separate the gravity disturbance frequency band. The more fundamental problem is that traditional methods fail to establish a spatial mapping relationship between the gravity direction and the rotation phase, making it impossible to structurally cancel periodic disturbances.
[0004] To address the aforementioned shortcomings, the technical problem to be solved by this invention is: how to construct a structured compensation quantity that is in the same frequency and out of phase with the velocity disturbance based on the spatial coupling characteristics of the gravitational field and the rotation phase, so as to achieve accurate cancellation of periodic velocity fluctuations while maintaining system stability. Summary of the Invention
[0005] This disclosure proposes a speed compensation method and related device for a motor driving an eccentric load to rotate vertically, with the aim of overcoming at least one defect in the prior art.
[0006] To achieve the above objectives, the technical solution disclosed in this invention is as follows:
[0007] According to one aspect of this disclosure, a speed compensation method for a motor driving an eccentric load to rotate vertically is provided, comprising the following steps:
[0008] The eccentric load is made to be vertically downward by mechanical tooling, and the vertical zero point position data pos_zero of the eccentric load is collected and stored in non-volatile memory to establish a gravity direction reference.
[0009] The current position data pos_cur of the eccentric load is acquired in real time. The difference between the current position data pos_cur and the vertical zero point position data pos_zero is calculated, and the difference is converted into relative position data pos_rel in the range of [0, 2π] to determine the load phase angle.
[0010] The speed compensation amount speed_com is calculated according to the formula speed_com=A·sin(pos_rel+φ), where A is the amplitude adjustment parameter and φ is the phase adjustment parameter, which is used to generate the sinusoidal compensation amount;
[0011] The speed setpoint speed_set is superimposed with the speed compensation amount speed_com to generate the compensated speed command speed_ref: speed_ref=speed_set+speed_com, which is used to counteract speed disturbances;
[0012] Motor speed control is performed based on the compensated speed command speed_ref.
[0013] Preferably, the zero-point position data pos_zero of the eccentric load perpendicularly downward is acquired by a position sensor, and the zero-point position data pos_zero is stored in a non-volatile memory.
[0014] Preferably, the difference conversion step between the current position data pos_cur and the vertical zero point position data pos_zero includes:
[0015] When the difference is greater than or equal to 2π, perform the operation of subtracting 2π from the difference;
[0016] When the difference is less than 0, perform the operation of adding 2π to the difference.
[0017] Preferably, the current position data pos_cur is acquired by a rotary encoder, and the amplitude adjustment parameters and phase adjustment parameters are experimentally calibrated based on the load eccentricity and rotational inertia.
[0018] Preferably, the motor speed control is implemented using a PID controller, and the control output is:
[0019] ,in, To control the output, This is the proportionality coefficient. The integral coefficient is... These are the differential coefficients. This is a deviation signal. For integration, For differential terms;
[0020] deviation signal The calculation formula is as follows:
[0021] ,in This indicates the actual rotational speed.
[0022] Preferably, the PID controller performs an integral term reset operation:
[0023] When |pos_rel-π|<δ, the integral term is cleared to zero, where δ is a preset threshold.
[0024] The reset timing corresponds to the eccentric load moving to its highest point.
[0025] Preferably, during system power-on initialization, pos_zero is read from the non-volatile memory.
[0026] According to another aspect of this disclosure, a speed compensation system for a motor driving an eccentric load to rotate vertically is provided, for realizing the speed compensation method for a motor driving an eccentric load to rotate vertically as described above, comprising:
[0027] The zero-point calibration module is configured to fix the eccentric load vertically downward through mechanical tooling and store the vertical zero-point position data pos_zero collected by the position sensor to non-volatile memory.
[0028] The position acquisition module is used to obtain the current position pos_cur of the eccentric load in real time;
[0029] The phase calculation module is used to calculate the difference between the current position pos_cur and the vertical zero point position data pos_zero and convert it into relative position data pos_rel in the range of [0, 2π].
[0030] The compensation generation module is used to generate the speed compensation amount speed_com according to the formula speed_com=A·sin(pos_rel+φ);
[0031] The instruction synthesis module is used to superimpose the speed setpoint speed_set and the speed compensation amount speed_com to generate the compensated speed instruction speed_ref;
[0032] The control module performs PID control of the motor speed based on the compensated speed command speed_ref.
[0033] According to another aspect of this disclosure, an electronic device is provided, including: a motor drive circuit, a position sensor interface, a non-volatile memory, and a control unit;
[0034] The control unit includes a processor and a memory;
[0035] The position sensor interface receives the real-time position signal of the eccentric load and converts it into the current position pos_cur;
[0036] Read the pre-calibrated vertical zero position data pos_zero from the non-volatile memory;
[0037] Calculate the difference between the current position pos_cur and the vertical zero point position data pos_zero, and convert it into relative position data pos_rel in the range [0, 2π].
[0038] The speed compensation amount speed_com is generated based on the formula speed_com=A·sin(pos_rel+φ);
[0039] The synthesized speed setpoint speed_set and the speed compensation amount speed_com are used to obtain the compensated speed command speed_ref;
[0040] The motor drive circuit generates a motor control signal based on the compensated speed command speed_ref.
[0041] According to another aspect of this disclosure, a computer-readable storage medium is provided that stores computer instructions, which, when executed by a processor, implement the speed compensation method described above for the vertical rotation of an eccentric load driven by a motor.
[0042] The beneficial effects of this invention stem from the deep decoupling and structured compensation of the gravity perturbation mechanism, specifically:
[0043] This invention establishes a spatial phase reference that is strictly aligned with the gravitational field by fixing an eccentric load vertically downward using mechanical tooling and storing the zero-point position data in a non-volatile memory. The physical determinism of this reference eliminates the interference of accumulated errors from traditional position sensors on phase calculations, providing an absolute reference system for compensation algorithms.
[0044] Furthermore, the relative phase angle between the current position of the load and the gravity reference is calculated in real time, and the angle data is always in a continuous space of [0, 2π] after modulus conversion. This operation quantifies the instantaneous potential energy state of rotational motion in the gravitational field into a computable phase variable, so that the periodic characteristics of velocity perturbation can be fully characterized.
[0045] Furthermore, a velocity compensation quantity, generated based on a sine function and in phase with the measured disturbance, is used, and its amplitude and phase parameters are calibrated using load dynamic characteristics. This compensation model physically matches the harmonic characteristics of the gravitational disturbance, overcoming the phase lag and amplitude distortion defects of traditional filters.
[0046] Furthermore, the compensation is directly superimposed on the speed loop setpoint, forming a feedforward channel independent of the regulation. This structure avoids the compensation signal being limited by the PID controller bandwidth, ensuring uninterrupted injection of high-frequency compensation while maintaining the stability margin of the regulation system.
[0047] Furthermore, the compensated speed command significantly reduces the regulation burden on the PID controller, resulting in a reduction of current output ripple of approximately 70%. Figure 4 The experimental waveforms show that this not only improves system energy efficiency but also extends the lifespan of power devices. Ultimately, the speed fluctuation rate of the eccentric load's vertical rotation was reduced from ±12 RPM to ±3 RPM, meeting the micron-level positioning requirements of precision equipment.
[0048] The above description is merely an overview of the technical solution of the present invention. In order to better understand the technical means of the present invention and to implement it in accordance with the contents of the specification, the following describes the preferred embodiments of the present invention in detail with reference to the accompanying drawings. Attached Figure Description
[0049] Figure 1 This is a schematic diagram of the vertical motion velocity disturbance in one embodiment of the present invention;
[0050] Figure 2 This is a flowchart illustrating the process of recording the vertical zero point of an eccentric load in one embodiment of the present invention.
[0051] Figure 3 This is a logic diagram for compensating the vertical rotational speed of an eccentric load in one embodiment of the present invention;
[0052] Figure 4 This is a schematic diagram comparing the eccentric load speed compensation before and after in one embodiment of the present invention;
[0053] Figure 5 This is a flowchart of a method for compensating the vertical rotational speed of an eccentric load in one embodiment of the present invention. Detailed Implementation
[0054] The technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some, not all, of the embodiments of the present invention. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.
[0055] The term "comprising," and any variations thereof, used in the specification and claims of this application, is intended to cover a non-exclusive inclusion. For example, a process, method, system, product, or apparatus that includes a series of steps or units is not necessarily limited to those explicitly listed, but may include other steps or units not explicitly listed or inherent to such process, method, product, or apparatus. Furthermore, the use of "and / or" in the specification and claims indicates at least one of the connected objects, such as A and / or B, indicating the inclusion of A alone, B alone, or both A and B.
[0056] In embodiments of the present invention, the terms "exemplary" or "for example" are used to indicate that something is an example, illustration, or description. Any embodiment or design described as "exemplary" or "for example" in embodiments of the present invention should not be construed as being more preferred or advantageous than other embodiments or designs. Rather, the use of the terms "exemplary" or "for example" is intended to present the relevant concepts in a specific manner.
[0057] The present invention provides the following preferred embodiments:
[0058] Example 1: A motor drives an eccentric load to rotate at a constant speed in a vertical plane. Due to gravity, the actual speed in a single motion cycle generates an approximately sinusoidal speed disturbance based on a given speed, such as... Figure 1 As shown.
[0059] The technical solution of this embodiment is as follows: based on the sinusoidal speed disturbance exhibited by the motor driving the eccentric load at different positions within the vertical circumference, reverse sinusoidal compensation (equal amplitude and frequency, opposite phase) is performed, so that the speed compensation amount cancels out the speed disturbance value, and the actual rotational speed is closer to the given rotational speed. For example... Figure 5 As shown, the steps of the speed compensation method for a motor driving an eccentric load to rotate vertically include:
[0060] S100: Using mechanical tooling to make the eccentric load vertically downward, collect and store the vertical zero point position data pos_zero of the eccentric load to non-volatile memory for establishing a gravity direction reference.
[0061] S200: Real-time acquisition of the current position data pos_cur of the eccentric load, calculation of the difference between the current position data pos_cur and the vertical zero point position data pos_zero, and conversion of the difference into relative position data pos_rel in the range of [0,2π] to determine the load phase angle.
[0062] S300: The speed compensation amount speed_com is calculated according to the formula speed_com=A·sin(pos_rel+φ), where A is the amplitude adjustment parameter and φ is the phase adjustment parameter, which is used to generate the sine compensation amount.
[0063] S400: The speed setpoint speed_set and the speed compensation amount speed_com are superimposed to generate the compensated speed command speed_ref: speed_ref=speed_set+speed_com, which is used to counteract speed disturbances.
[0064] S500: Motor speed control is performed based on the compensated speed command speed_ref.
[0065] Specifically, the vertical zero point position of the eccentric load is recorded, as shown in the flowchart below. Figure 2 As shown.
[0066] 1. Use structural fixtures to make the eccentric load vertically downward.
[0067] 2. Power on the product, run the program, use the position sensor to collect the vertical zero point position of the eccentric load, and record the vertical zero point data of the eccentric load as pos_zero (pos_zero range [0, 2π]).
[0068] 3. Store the eccentric load vertical zero point data pos_zero in non-volatile memory.
[0069] Furthermore, the motor drives the eccentric load to rotate vertically. A position sensor collects the real-time position of the eccentric load, calculates the relative position to the vertical zero point, determines the compensation amount, and performs dynamic compensation. The workflow diagram is as follows: Figure 3 As shown.
[0070] 1. Upon power-up initialization, the product reads the eccentric load vertical zero point data pos_zero from the non-volatile memory.
[0071] 2. The motor drives the eccentric load to perform periodic vertical rotation. The real-time position of the eccentric load is collected by the position sensor, and the real-time position data pos_cur (pos_cur range [0,2π]) of the eccentric load is recorded.
[0072] 3. The real-time relative position data pos_cur of the eccentric load is subtracted from the vertical zero-point position data pos_zero to obtain the real-time relative position data pos_rel of the eccentric load. That is:
[0073]
[0074] Will Converted to the range [0, 2π]. That is:
[0075] if Greater than or equal to 2π:
[0076] if Less than 0:
[0077] 4. Calculate the speed compensation amount (speed_com) of the eccentric load based on the relative position data (pos_rel) of the eccentric load. The calculation formula is as follows:
[0078] speed_com = A·sin(pos_rel+φ)
[0079] Where A and φ are appropriate values adjusted according to the product configuration.
[0080] 5. Add the speed compensation amount speed_com of the eccentric load to the speed setpoint speed_set to generate the compensated speed command speed_ref, that is:
[0081]
[0082] Where speed_set is the speed setpoint for the eccentric load motion.
[0083] 6. Implement speed loop closed-loop control. The speed loop uses standard PID closed-loop control. The standard PID calculation formula is as follows:
[0084]
[0085] in, To control the output, This is the proportionality coefficient. The integral coefficient is... These are the differential coefficients. This is a deviation signal. For integration, This is the differential term.
[0086] Understandable, It serves as a bridge connecting "speed command" and "motor action". Its function is to convert "speed deviation" into "motor drive signal", and by adjusting the motor torque, it can accurately track the actual speed, offset the speed fluctuation caused by the gravity disturbance of the eccentric load, and achieve smooth and accurate speed control.
[0087] Furthermore, The calculation formula is as follows:
[0088] ,in This indicates the actual rotational speed. The compensated speed command `speed_ref` represents the system's desired motor speed, and the deviation signal is also present. This is the difference between the system's desired motor speed and the actual speed, and it serves as the input to the PID controller. The compensated speed command `speed_ref` acts as the setpoint for the speed loop, allowing the deviation signal to... This reflects the difference between the expected and actual values after compensation, thus causing the PID controller to generate a corresponding output. This is to counteract disturbances. This design conforms to the basic logic of control and is also a specific implementation of motor speed control based on the compensated speed command.
[0089] The advantage of this embodiment is that, through the above compensation method, the speed stability of the vertical rotational motion of the motor driving the eccentric load is significantly improved. Before compensation, the speed disturbance exhibits a sinusoidal variation with a range of ±12 RPM. After compensation, the speed tends to a given value and fluctuates around it with a speed disturbance range of ±3 RPM. The speed stability before and after compensation is as follows: Figure 4 As shown.
[0090] Example 2: To address the problem of periodic velocity disturbances caused by gravity during vertical rotation of an eccentric load, this example refines the hardware and software architecture of a velocity compensation system. This system utilizes modular design to achieve spatial phase calibration, dynamic compensation calculation, and feedforward injection functions, ensuring real-time coordination between the compensation process and motor control.
[0091] The speed compensation system includes a zero-point calibration module, which, during the initialization process, uses mechanical fixtures to force the eccentric load into a vertically downward orientation. The position sensor acquires the absolute angle data at this point, recording it as the vertical zero-point position data pos_zero, and writes it into non-volatile memory. This process establishes a mapping reference between the direction of gravity and the rotation phase, providing a spatial reference origin for subsequent relative position calculations. The position acquisition module continuously acquires the real-time position signal pos_cur of the eccentric load, using an incremental encoder or absolute position sensor to output angle values within the range [0, 2π] at a fixed sampling frequency.
[0092] Furthermore, after receiving the real-time position pos_cur and the stored pos_zero data, the phase calculation module performs a difference operation.
[0093] Furthermore, modulus normalization is performed: when pos_rel exceeds 2π, 2π is cyclically subtracted; when it is below 0, 2π is cyclically added, ensuring that the relative position data pos_rel is always within a continuous circular space of [0, 2π]. This operation quantifies the change in gravitational potential energy into a calculable phase variable, eliminating the influence of mechanical installation errors on the reference.
[0094] Furthermore, the PID controller performs the integral term reset operation as follows:
[0095] When |pos_rel-π|<δ, the integral term is cleared to zero, where δ is a preset threshold.
[0096] The reset timing corresponds to the eccentric load moving to its highest point.
[0097] First, we need to explain the function and "side effects" of the integral term. The integral term is used to eliminate steady-state error, that is, by accumulating historical deviations, it gradually adjusts the output to make the actual system value approach the given value. The side effect is that under periodic disturbances, such as the gravitational disturbances of an eccentric load rotating, which follow a sinusoidal pattern, the integral term will accumulate error indefinitely. This is because the direction of the deviation changes with each disturbance, but the integral term will not naturally return to zero, leading to integral saturation. Integral saturation will cause the PID output to be too large, i.e. Increasing the speed can cause the motor speed to overshoot; after overshooting, the system needs more time to adjust, resulting in speed oscillation and reduced control accuracy.
[0098] Specifically, the highest point is the turning point of the load's motion, where the disturbance direction changes from resistance to assistance. For example, after the load reaches its highest point, it begins to descend, and the gravitational torque changes from hindering rotation to propelling rotation. At this time, the accumulated error in the integral term during the "resistance phase" will cause the PID output to maintain a large compensation amount. However, in reality, the "assistance phase" does not require large compensation. That is, the accumulated value of the integral term will lead to "overcompensation," causing over-adjustment of the speed.
[0099] Therefore, clearing the integral term at the highest point is equivalent to resetting the integral term in each cycle, because the load will pass through the highest point once in one rotation, so the integral term will not accumulate indefinitely.
[0100] Furthermore, the compensation generation module generates structured compensation quantities based on the dynamic model. Its input is pos_rel, and the output velocity compensation quantity speed_com is defined by the following function:
[0101]
[0102] The amplitude parameter A is determined by the load eccentricity and moment of inertia, while the phase offset φ is used to calibrate the sensor installation deviation. It is important to understand that this sinusoidal function strictly matches the harmonic characteristics of the gravitational disturbance, and its frequency is automatically adapted by the rotational angular velocity.
[0103] The instruction synthesis module algebraically superimposes the externally input speed setpoint speed_set and speed_com to generate the compensated speed instruction:
[0104] speed_ref=speed_set+speed_com
[0105] This design allows the compensation amount to be injected independently as a feedforward signal into the preamplifier stage of the speed loop, avoiding the attenuation of high-frequency compensation components by the closed-loop regulation bandwidth. The control module receives `speed_ref` and performs standard PID calculations.
[0106] The advantages of this embodiment are as follows: the modular architecture achieves full-process decoupling of gravity disturbance compensation; the zero-point calibration module ensures the physical determinism of the reference; the phase calculation module provides accurate quantization of potential energy state; and feedforward instruction synthesis avoids closed-loop delay. The modules are coupled through standardized data interfaces, supporting deterministic real-time control in embedded systems. Here, potential energy state refers to the instantaneous value of gravitational potential energy generated by the eccentric load in the gravitational field due to changes in vertical height. This is achieved by converting a continuous physical quantity (potential energy) into a calculable discrete value for processing by the control algorithm.
[0107] Example 3: To achieve high-precision speed compensation at the hardware level, this example provides a dedicated electronic device. This device integrates a position sensing interface, a non-volatile storage unit, and a real-time control unit, ensuring the execution efficiency of the compensation algorithm through hardware resource optimization.
[0108] The core of the device is the control unit, which includes a multi-core processor and high-speed memory. The processor uses a hard real-time operating system and allocates dedicated core resources to process position signals. The position sensor interface supports differential signal input from incremental encoders and resolvers, and has a built-in programmable gain amplifier and anti-aliasing filter to convert the raw signal into a digital quantity, the current position pos_cur. The non-volatile memory uses EEPROM or FRAM to store the vertical zero position pos_zero calibrated by the tooling. This memory unit has a periodic verification function to prevent data bit flipping from causing reference failure.
[0109] The control unit performs the following serialization operation:
[0110] During the power-on initialization phase, pos_zero is read from non-volatile memory;
[0111] In the real-time interrupt service, pos_cur is collected and pos_rel is calculated. Modulus normalization is accelerated by a hardware divider.
[0112] The floating-point arithmetic unit is called to calculate the sine function and generate speed_com;
[0113] Combine speed_com with the externally given speed_set to form speed_ref;
[0114] Trigger the PID controller to output the PWM duty cycle.
[0115] The motor drive circuit includes three-phase IGBT bridge arms and gate drivers, which receive PWM signals and generate motor control voltage. It is important to note that the device incorporates a dead-time compensation circuit and a phase current sampling module to prevent current harmonic amplification during the compensation process. The control unit also integrates fault detection logic, switching to uncompensated mode to ensure system safety when the position signal is abnormal.
[0116] This embodiment achieves hard real-time algorithm execution through dedicated hardware resource allocation: position acquisition and normalization processing are completed within 5μs, sine wave calculation relies on a coprocessor to implement single-cycle instructions, and there is no software delay in the instruction synthesis stage. The electronic equipment adopts industrial-grade packaging, which is suitable for the high-temperature and vibration environment of the motor control cabinet.
[0117] Example 4: To address the portability issue of compensation algorithms in distributed systems, this example provides a computer-readable storage medium. When the computer instructions stored on this medium are executed by a processor, they enable fully digital control of the gravity disturbance compensation process, making it suitable for multi-platform deployment scenarios.
[0118] The media types include, but are not limited to, solid-state drives, embedded Flash memory, or optical discs, and the stored instructions include machine code and configuration parameters. The instruction sequence is functionally divided into an initialization module, an interrupt service module, and a control output module. The initialization module loads the vertical zero-point position pos_zero when the device is powered on and configures the sampling clock and filter parameters of the position sensor. The interrupt service module is triggered by a timer and includes a position acquisition subroutine, a phase calculation subroutine, and a compensation generation subroutine.
[0119] The storage medium also stores a calibration parameter database, containing optimized values for A and φ under different loads. When the processor is an ARM Cortex-M series, the instructions are compiled into the Thumb-2 instruction set; on the x86 platform, AVX vector instructions are adapted to accelerate sine wave calculations. Through this embodiment, the storage medium enables the compensation algorithm to be independent of dedicated hardware, supporting seamless migration across industrial PLCs, motion control cards, and cloud coprocessors.
[0120] Although the present invention has been specifically described above with reference to preferred embodiments, it should be understood that the present invention is not limited to the embodiments described above. Various modifications and variations can be made by those skilled in the art without departing from the spirit of the present invention, and such modifications and variations should fall within the scope defined by the appended claims and their equivalents.
Claims
1. A method for speed compensation of a motor driving an eccentric load to rotate vertically, characterized in that the steps include: include: The eccentric load is made to be vertically downward by mechanical tooling, and the vertical zero point position data pos_zero of the eccentric load is collected and stored in non-volatile memory to establish a gravity direction reference. The current position data pos_cur of the eccentric load is acquired in real time. The difference between the current position data pos_cur and the vertical zero point position data pos_zero is calculated, and the difference is converted into relative position data pos_rel in the range of [0, 2π] to determine the load phase angle. The speed compensation amount speed_com is calculated according to the formula speed_com=A·sin(pos_rel+φ), where A is the amplitude adjustment parameter and φ is the phase adjustment parameter, which is used to generate the sinusoidal compensation amount; The speed setpoint speed_set is superimposed with the speed compensation amount speed_com to generate the compensated speed command speed_ref: speed_ref=speed_set+speed_com, which is used to counteract speed disturbances; Motor speed control is performed based on the compensated speed command speed_ref.
2. The speed compensation method for vertical rotation of an eccentric load driven by a motor as described in claim 1, characterized in that, The zero-point position data pos_zero of the eccentric load perpendicularly downward is collected by the position sensor and stored in non-volatile memory.
3. The speed compensation method for vertical rotation of an eccentric load driven by a motor as described in claim 1, characterized in that, The difference conversion steps between the current position data pos_cur and the vertical zero point position data pos_zero include: When the difference is greater than or equal to 2π, perform the operation of subtracting 2π from the difference; When the difference is less than 0, perform the operation of adding 2π to the difference.
4. The speed compensation method for vertical rotation of an eccentric load driven by a motor as described in claim 1, characterized in that, The current position data pos_cur is acquired through a rotary encoder, and the amplitude adjustment parameters and phase adjustment parameters are calibrated experimentally based on the load eccentricity and rotational inertia.
5. The speed compensation method for vertical rotation of an eccentric load driven by a motor as described in claim 1, characterized in that, The motor speed control is implemented using a PID controller, and the control output is: ,in, To control the output, This is the proportionality coefficient. The integral coefficient is... These are the differential coefficients. This is a deviation signal. For integration, For differential terms; deviation signal The calculation formula is as follows: ,in This indicates the actual rotational speed.
6. The speed compensation method for vertical rotation of an eccentric load driven by a motor as described in claim 1, characterized in that, During system power-on initialization, pos_zero is read from the non-volatile memory.
7. A speed compensation system for a motor driving an eccentric load to rotate vertically, used to implement the speed compensation method for a motor driving an eccentric load to rotate vertically as described in any one of claims 1-6, characterized in that, include: The zero-point calibration module is configured to fix the eccentric load vertically downward through mechanical tooling and store the vertical zero-point position data pos_zero collected by the position sensor to non-volatile memory. The position acquisition module is used to obtain the current position pos_cur of the eccentric load in real time; The phase calculation module is used to calculate the difference between the current position pos_cur and the vertical zero point position data pos_zero and convert it into relative position data pos_rel in the range of [0, 2π]. The compensation generation module is used to generate the speed compensation amount speed_com according to the formula speed_com=A·sin(pos_rel+φ); The instruction synthesis module is used to superimpose the speed setpoint speed_set and the speed compensation amount speed_com to generate the compensated speed instruction speed_ref; The control module performs PID control of the motor speed based on the compensated speed command speed_ref.
8. An electronic device, characterized in that, include: Motor drive circuit, position sensor interface, non-volatile memory and control unit; The control unit includes a processor and a memory; The position sensor interface receives the real-time position signal of the eccentric load and converts it into the current position pos_cur; Read the pre-calibrated vertical zero position data pos_zero from the non-volatile memory; Calculate the difference between the current position pos_cur and the vertical zero point position data pos_zero, and convert it into relative position data pos_rel in the range [0, 2π]. The speed compensation amount speed_com is generated based on the formula speed_com=A·sin(pos_rel+φ); The synthesized speed setpoint speed_set and the speed compensation amount speed_com are used to obtain the compensated speed command speed_ref; The motor drive circuit generates a motor control signal based on the compensated speed command speed_ref.
9. A computer-readable storage medium storing computer instructions, characterized in that, When the computer instructions are executed by the processor, they implement the speed compensation method for vertical rotation of the motor-driven eccentric load as described in any one of claims 1-6.
Citation Information
Patent Citations
Bearing-free magnetic flux switching permanent magnet motor rotor eccentric displacement compensation controller
CN110380658A
High-precision servo control system and method for pitching motion of two-dimensional turntable under load eccentricity
CN111258337A