Multi-loop control method for electric spindles, frequency converters, control systems, equipment, and media.
Patent Information
- Application Number
- CN202610333348.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2026-03-18
- Publication Date
- 2026-09-01
- Estimated Expiration
- 2046-03-18
AI Technical Summary
三环之间耦合性强,参数整定复杂,在复杂切削力扰动下易失稳;
[0061] Compared with the prior art, the multi-loop control method, frequency converter, control system, equipment and medium of the present invention are applicable to the position-speed-current three-loop control architecture of the electric spindle frequency converter, improve dynamic response and anti-disturbance capability, dynamically calculate the field weakening switching point according to real-time voltage, current, temperature and load status, and achieve smooth switching and optimal voltage utilization; embed the electric spindle thermal model into the field weakening control strategy to suppress temperature rise while ensuring speed performance.
Smart Images

Figure CN122203898B_ABST
Abstract
Description
Technical Field
[0001] This invention belongs to the field of motor drive and control technology, specifically relating to a multi-loop control method, frequency converter, control system, equipment, and medium for high-end electric spindles of CNC machine tools, and particularly to multi-loop coordinated control of position loop, speed loop, and current loop, as well as a field weakening control strategy based on dynamic calculation of the voltage outer loop switching point. Background Technology
[0002] Existing electric spindle frequency converter control schemes typically employ:
[0003] 1. A three-loop control structure is used. The position loop output serves as the reference for the speed loop, the speed loop output serves as the reference for the current loop, and the current loop implements torque control. The position loop typically employs a PID control with feedforward (speed feedforward, acceleration feedforward) structure, while the speed and current loops use PI regulation. The three loops are strongly coupled, parameter tuning is complex, and the system is prone to instability under complex cutting force disturbances.
[0004] 2. When the motor speed increases and the back electromotive force approaches the inverter output voltage limit, the air gap magnetic field is weakened by adjusting the d-axis current to maintain voltage balance, so that the motor can continue to increase speed.
[0005] 3. Generally, the field weakening mode is switched when the DC bus voltage utilization rate reaches 85%~90%, and the switching point is based on a fixed voltage threshold. This method cannot adapt to operating conditions such as sudden load changes, grid fluctuations, and changes in motor parameters, and is prone to switching oscillations or insufficient voltage utilization.
[0006] 4. Thermal management of electric spindles often relies on external cooling or simple temperature protection, without deep integration with field weakening switching strategies. However, in practical applications, the heating of the electric spindle is closely related to the field weakening condition. Traditional field weakening strategies do not consider thermal constraints, and long-term high-speed operation may lead to overheating of the electric spindle, affecting machining accuracy and spindle life.
[0007] The information disclosed in this background section is intended only to enhance the understanding of the overall background of the invention and should not be construed as an admission or in any way implying that the information constitutes prior art known to those skilled in the art. Summary of the Invention
[0008] The purpose of this invention is to provide a multi-loop control method, frequency converter, control system, equipment, and medium for electric spindles, which can improve dynamic response and anti-disturbance capability, achieve smooth switching and optimal voltage utilization, and suppress temperature rise while ensuring speed performance.
[0009] To achieve the above objectives, a specific embodiment of the present invention provides the following technical solution: a multi-loop control method for an electric spindle, comprising:
[0010] The position loop module is constructed based on the first algorithm to output a speed command signal based on the command position signal and the position signal fed back by the motor encoder;
[0011] The speed loop module is constructed based on the second algorithm, and the first axis command current signal is output based on the actual speed signal generated by differential calculation of the speed command signal and the position signal.
[0012] The field weakening controller module is constructed based on the third algorithm, and outputs the first axis current signal and the second axis current signal based on the first axis command current signal, the actual speed signal, and the temperature characterization signal characterizing the motor winding temperature.
[0013] The current loop module outputs the first axis command voltage signal and the second axis command voltage signal based on the first axis current signal, the second axis current signal, and the phase current signal characterizing the current of each phase of the motor.
[0014] The Space Vector Pulse Width Modulation (SVPWM) module is used to output switching signals based on the first axis command voltage signal and the second axis command voltage signal to control the inverter, and the inverter controls the motor operation.
[0015] In one or more embodiments of the present invention, the first algorithm includes:
[0016] fe = cmd_pos - act_pos, where fe is the position tracking error signal, cmd_pos is the command position signal, and act_pos is the position signal fed back by the motor encoder;
[0017] cmd_vel_ref=cmd_pos-cmd_pos_last_period, where cmd_vel_ref is the instruction speed reference signal and cmd_pos_last_period is the instruction position signal of the previous cycle;
[0018] cmd_acc_ref = cmd_vel_ref - cmd_vel_ref_last_period, where cmd_acc_ref is the instruction acceleration reference signal and cmd_vel_ref_last_period is the instruction velocity reference signal of the previous cycle;
[0019] act_vel = act_pos - act_pos_last_period, where act_vel is the actual speed signal of the motor, and act_pos_last_period is the position signal fed back by the motor encoder in the previous cycle;
[0020] cmd_acc = fe × Kp × Kp + cmd_vel_ref × Kvff × Kd + cmd_acc_ref × Kaff – act_vel × Kd, where cmd_acc is the command acceleration, and Kp, Kvff, Kd, and Kaff are system parameters;
[0021] cmd_acc += Ti × fe, where Ti is a system parameter;
[0022] cmd_vel += Ts × cmd_acc, where cmd_vel is the command speed signal and Ts is the control cycle of the position loop module.
[0023] In one or more embodiments of the present invention, the second algorithm includes:
[0024] fe_vel = cmd_vel - act_vel, where fe_vel is the speed error signal, cmd_vel is the command speed signal, and act_vel is the actual speed signal of the motor;
[0025] cmd_iq_pre=Kp_v×fe_vel, where cmd_iq_pre is the first axis command current signal and Kp_v is the system parameter;
[0026] cmd_iq_pre+=Ki_v×fe_vel, where Ki_v is a system parameter.
[0027] In one or more embodiments of the present invention, Kp_v = 2 × π × BW_v × J_total / Kt, where BW_v is the expected bandwidth of the position loop module, J_total is the total inertia of the motor, and Kt is the torque constant of the motor.
[0028] In one or more embodiments of the present invention, the third algorithm includes:
[0029] U_max = act_udc / 1.732 × k_mod, where U_max is the maximum output phase voltage amplitude, act_udc is the actual DC bus voltage, and k_mod is the modulation coefficient of the space vector modulation (SVPWM) module.
[0030] U_act=sqrt(cmd_ud_last_period^2+cmd_uq_last_period^2), where U_act is the current actual output voltage amplitude, cmd_ud_last_period is the second axis command voltage signal of the previous cycle, and cmd_uq_last_period is the first axis command voltage signal of the previous cycle;
[0031] U_util = U_act / U_max, where U_util is the current voltage utilization rate;
[0032] F_th=max(0,min(1,(T_safe-act_temp) / (T_safe-T_ambient))), where F_th is the heat load factor, T_safe is the set winding safety temperature threshold, act_temp is the actual measured temperature, and T_ambient is the ambient temperature;
[0033] F_load = |T_est – T_avg| / T_rated, where F_load is the load fluctuation rate, T_est is the current observed load torque, T_avg is the average load torque, and T_rated is the rated torque;
[0034] U_next=We×sqrt((Ld×cmd_id_last_period+φ)^2+(Lq×cmd_iq_last_period)^2), where U_next is the voltage required for the next control cycle, We is the electric angular velocity, Ld is the second-axis inductance, cmd_id_last_period is the second-axis command current signal of the previous cycle, φ is the permanent magnet flux linkage, Lq is the first-axis inductance, and cmd_iq_last_period is the first-axis command current signal of the previous cycle;
[0035] F_Umargin=max(0,min(1,(U_max-U_next) / U_max)), where F_Umargin is the voltage margin;
[0036] △U_adapt=α×(1-F_th)+β×F_load-γ×(1-F_Umargin), where △U_adapt is the adaptive adjustment amount of the magnetic weakening voltage threshold, and α, β, and γ are system parameters;
[0037] U_th = U_th_base + △U_adapt, where U_th is the actual field weakening initiation voltage threshold and U_th_base is the base field weakening voltage threshold;
[0038] When any one of conditions a, b, or c is met, the field weakening calculation is initiated; otherwise, the second-axis current signal remains 0, the first-axis current signal is equal to the first-axis command current signal, and the current loop module is entered. Condition a is a voltage condition: U_util ≥ U_th; condition b is a speed condition: We ≥ W_base × 0.9, where W_base is the motor reference speed; and condition c is a thermal protection condition: act_temp ≥ T_warning, where act_temp is the temperature characterization signal, and T_warning is the stability warning value.
[0039] If it is determined that a weak magnetic field calculation is required, then:
[0040] i_d_voltage_limit=[-φ+sqrt((U_max / We)^2)–(Lq×cmd_iq_pre)^2)] / Ld, where i_d_voltage_limit is the voltage limit second axis current, and cmd_iq_pre is the first axis command current signal;
[0041] I_thermal=I_rated×sqrt((T_max–act_temp) / (act_temp-T_ambient)), where I_thermal is the thermal limit current, T_max is the maximum allowable insulation temperature, I_rated is the rated current of the motor, and T_ambient is the ambient temperature;
[0042] I_lim=min(I_hw_max,I_thermal), where I_lim is the maximum allowable current and I_hw_max is the maximum inverter current;
[0043] i_d_current_limit=-sqrt(I_lim^2–cmd_iq_pre^2), where i_d_current_limit is the second-axis current limit;
[0044] cmd_id = max(i_d_voltage_limit, i_d_current_limit), where cmd_id is the second-axis current signal;
[0045] i_q_voltage_limit=sqrt((U_max / We)^2-(Ld×cmd_id+φ)^2) / Lq, where i_q_voltage_limit is the voltage limit first axis current;
[0046] i_q_current_limit=sqrt(I_lim^2–cmd_id^2), where i_q_current_limit is the first axis current limit;
[0047] i_q_max=min(i_q_voltage_limit,i_q_current_limit), where i_q_max is the limit first axis current;
[0048] cmd_iq=sign(cmd_iq_pre)×min(abs(cmd_iq_pre),i_q_max), where cmd_iq is the first axis current signal.
[0049] The present invention also discloses a frequency converter for electric spindle drive, which, based on the aforementioned multi-loop control method, comprises:
[0050] The position loop module outputs a speed command signal based on the command position signal and the position signal fed back by the motor encoder;
[0051] The speed loop module outputs the first axis command current signal based on the speed command signal and the actual speed signal generated by differentiating the position signal.
[0052] The field weakening controller module outputs a first-axis current signal and a second-axis current signal based on the first-axis command current signal, the actual speed signal, and the temperature characterization signal characterizing the motor winding temperature.
[0053] The current loop module outputs the first axis command voltage signal and the second axis command voltage signal based on the first axis current signal, the second axis current signal, and the phase current signal that characterizes the current supplied by the three-phase inverter to each phase winding of the motor.
[0054] The Space Vector Modulation (SVPWM) module outputs switching signals based on the first axis command voltage signal and the second axis command voltage signal to control the inverter and control the motor operation through the inverter.
[0055] The present invention also discloses a control system for an electric spindle, including the aforementioned frequency converter.
[0056] The present invention also discloses a control system for an electric spindle, the control system comprising a processor and a memory, wherein the memory stores a computer program executable by the processor, wherein when the computer program is executed by the processor, the suppression method is implemented.
[0057] The present invention also discloses an electronic device, comprising:
[0058] At least one processor; and
[0059] A memory that stores instructions, which, when executed by the at least one processor, cause the at least one processor to perform the control method.
[0060] The present invention also discloses a storage medium for computer-readable storage, wherein the storage medium stores one or more programs that can be executed by one or more processors to implement the control method described herein.
[0061] Compared with the prior art, the multi-loop control method, frequency converter, control system, equipment and medium of the present invention are applicable to the position-speed-current three-loop control architecture of the electric spindle frequency converter, improve dynamic response and anti-disturbance capability, dynamically calculate the field weakening switching point according to real-time voltage, current, temperature and load status, and achieve smooth switching and optimal voltage utilization; embed the electric spindle thermal model into the field weakening control strategy to suppress temperature rise while ensuring speed performance. Attached Figure Description
[0062] To more clearly illustrate the technical solutions in the embodiments of the present invention or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments recorded in the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0063] Figure 1 This is a flowchart of a multi-loop control method for an electric spindle in one embodiment of the present invention.
[0064] Figure 2 This is a flowchart illustrating the first algorithm in one embodiment of the present invention.
[0065] Figure 3 This is a flowchart illustrating the second algorithm in one embodiment of the present invention.
[0066] Figure 4 This is a schematic diagram illustrating the calculation process of the current voltage utilization rate in one embodiment of the present invention.
[0067] Figure 5 This is a schematic diagram of the calculation process for the heat load factor in one embodiment of the present invention.
[0068] Figure 6 This is a schematic diagram illustrating the calculation process of load volatility in one embodiment of the present invention.
[0069] Figure 7 This is a schematic diagram illustrating the calculation process of the voltage required for the next control cycle in one embodiment of the present invention.
[0070] Figure 8This is a schematic diagram illustrating the calculation process of the predicted voltage margin in one embodiment of the present invention.
[0071] Figure 9 This is a schematic diagram illustrating the calculation process of the adaptive adjustment amount of the weak magnetic voltage threshold in one embodiment of the present invention.
[0072] Figure 10 This is a schematic diagram illustrating the calculation process of the voltage limit second axis current in one embodiment of the present invention.
[0073] Figure 11 This is a schematic diagram illustrating the calculation process of thermal limit current, maximum allowable current, and current limit second axis current in one embodiment of the present invention.
[0074] Figure 12 This is a schematic diagram of the calculation process for the second-axis current signal in one embodiment of the present invention.
[0075] Figure 13 This is a schematic diagram illustrating the calculation process of the voltage limit first axis current, the current limit first axis current, and the limit first axis current in one embodiment of the present invention.
[0076] Figure 14 This is a schematic diagram of the calculation process for the first axis current signal in one embodiment of the present invention.
[0077] Figure 15 This is a schematic diagram of the control device for a frequency converter used for driving the electric spindle of a CNC machine tool, according to an embodiment of the present invention. Detailed Implementation
[0078] To enable those skilled in the art to better understand the technical solutions in this disclosure, the technical solutions in the embodiments of this disclosure will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this disclosure, and not all embodiments. Based on the embodiments in this disclosure, all other embodiments obtained by those skilled in the art without creative effort should fall within the scope of protection of this disclosure.
[0079] like Figure 1 As shown, one embodiment of the present invention discloses a multi-loop control method for an electric spindle, comprising:
[0080] The position loop module is constructed based on the first algorithm to output the speed command signal cmd_vel based on the command position signal cmd_pos and the position signal act_pos fed back from the motor encoder. The command position signal cmd_pos is generated by the CNC numerical control system.
[0081] Among them, combined Figure 2 As shown, the first algorithm includes:
[0082] Obtain the position tracking error signal fe = cmd_pos - act_pos, where cmd_pos is the command position signal and act_pos is the position signal fed back by the motor encoder.
[0083] Obtain the instruction speed reference signal cmd_vel_ref=cmd_pos-cmd_pos_last_period, where cmd_pos_last_period is the instruction position signal of the previous cycle.
[0084] Obtain the command acceleration reference signal cmd_acc_ref = cmd_vel_ref - cmd_vel_ref_last_period, where cmd_vel_ref_last_period is the command velocity reference signal of the previous cycle.
[0085] Obtain the actual speed signal of the motor: act_vel = act_pos - act_pos_last_period, where act_pos_last_period is the position signal fed back by the motor encoder in the previous cycle.
[0086] Get command acceleration cmd_acc = fe × Kp × Kp + cmd_vel_ref × Kvff × Kd + cmd_acc_ref
[0087] ×Kaff–act_vel×Kd, where Kp, Kvff, Kd, and Kaff are system parameters that need to be set externally or self-tuned. This instruction introduces proportional, differential, velocity feedforward, and acceleration feedforward components in the acceleration calculation.
[0088] The command acceleration cmd_acc is calculated by introducing an integral term. The initial cmd_acc of the integral term is set to 0, and cmd_acc += Ti × fe, where Ti is a system parameter that needs to be externally set or self-tuned.
[0089] The command speed signal cmd_vel is calculated, and an integral element is introduced. The initial command speed signal cmd_vel of the integral element is set to 0 or the actual speed signal act_vel. cmd_vel += Ts × cmd_acc, where Ts is the control period of the position loop module.
[0090] All of the above integration stages require amplitude limiting to prevent integrator saturation. Figure 2 The amplitude limit has been omitted.
[0091] The velocity loop module is constructed based on the second algorithm, and the first axis (q-axis) command current signal cmd_iq_pre is output based on the actual velocity signal act_vel generated by differentiating the velocity command signal cmd_vel and the position signal act_pos.
[0092] Among them, combined Figure 3 As shown, the second algorithm includes:
[0093] Obtain the speed error signal fe_vel = cmd_vel - act_vel, where cmd_vel is the command speed signal and act_vel is the actual speed signal of the motor.
[0094] A proportional circuit is introduced to obtain the first axis command current signal cmd_iq_pre=Kp_v×fe_vel, where Kp_v is a system parameter; in one embodiment, the self-tuning method of Kp_v can be: Kp_v=2×π×BW_v×J_total / Kt, where BW_v is the expected bandwidth of the position loop module, J_total is the total inertia of the motor, and Kt is the torque constant of the motor.
[0095] The first axis command current signal cmd_iq_pre is calculated by introducing an integral term: cmd_iq_pre += Ki_v × fe_vel, where Ki_v is a system parameter.
[0096] The field weakening controller module is constructed based on the third algorithm, and outputs the first axis (q-axis) current signal cmd_iq and the second axis (d-axis) current signal cmd_id based on the first axis command current signal cmd_iq_pre, the actual speed signal act_vel, and the temperature characterization signal act_temp that characterizes the motor winding temperature.
[0097] The third algorithm includes:
[0098] like Figure 4 As shown, the maximum output phase voltage amplitude U_max is obtained based on the real-time bus voltage. U_max = act_udc / 1.732 × k_mod, where act_udc is the actual DC bus voltage and k_mod is the modulation coefficient of the space vector modulation (SVPWM) module, which is usually taken as 1.0 (linear modulation region) and can reach 1.1547 when over-modulated.
[0099] like Figure 4As shown, the current actual output voltage amplitude U_act is calculated based on the voltage command signal calculated by the current loop module in the previous control cycle. U_act = sqrt(cmd_ud_last_period^2 + cmd_uq_last_period^2), where cmd_ud_last_period is the second axis command voltage signal of the previous cycle, and cmd_uq_last_period is the first axis command voltage signal of the previous cycle.
[0100] like Figure 4 As shown, the current voltage utilization rate is obtained as U_util = U_act / U_max.
[0101] like Figure 5 As shown, the heat load factor F_th is obtained as max(0,min(1,(T_safe-act_temp) / (T_safe-T_ambient))), where T_safe is the externally set safe temperature threshold for the motor winding (e.g., 130℃), act_temp is the actual measured temperature, T_ambient is the ambient temperature (room temperature), F_th=0 represents that the safe threshold has been reached, and F_th=1 represents that the temperature is low.
[0102] like Figure 6 As shown, the load volatility (load disturbance level) F_load = |T_est – T_avg| / T_rated is obtained, where T_est is the current load torque observation (obtained through the Luneburg observer), T_avg is the average load torque (within the previous 100ms), and T_rated is the rated torque.
[0103] like Figure 7 As shown, the voltage required for the next control cycle is obtained as U_next = We × sqrt((Ld × cmd_id_last_period + φ)^2 + (Lq × cmd_iq_last_period)^2), where We is the electric angular velocity, Ld is the inductance of the second axis (d-axis), cmd_id_last_period is the second axis command current signal of the previous cycle, φ is the permanent magnet flux linkage, Lq is the inductance of the first axis (q-axis), and cmd_iq_last_period is the first axis command current signal of the previous cycle.
[0104] like Figure 8 As shown, the predicted voltage margin is obtained as F_Umargin=max(0,min(1,(U_max-U_next) / U_max)).
[0105] like Figure 9As shown, the adaptive adjustment amount △U_adapt for the field weakening voltage threshold is obtained, △U_adapt=α×(1-F_th)+β×F_load-γ×(1-F_Umargin), where the floating part of the field weakening voltage condition △U_adapt is calculated based on the three factors F_th, F_load and F_Umargin mentioned above, and α, β and γ are system parameters, which are parameters that need to be set externally or self-tuned.
[0106] like Figure 9 As shown, the actual field weakening initiation voltage threshold U_th = U_th_base + △U_adapt is obtained, where U_th_base is the base field weakening voltage threshold and U_th_base is a fixed value that can be set externally.
[0107] When any one of conditions a, b, or c is met, the field weakening calculation is initiated; otherwise, the second-axis current signal cmd_id remains 0, the first-axis current signal is equal to the first-axis command current signal, and the current loop module is entered. Condition a is a voltage condition: U_util ≥ U_th; condition b is a speed condition: We ≥ W_base × 0.9, where We is the electric angular velocity, W_base is the motor reference speed, and We = W_base × 0.9 indicates that the back EMF is close to the rated voltage; condition c is a thermal protection condition: act_temp ≥ T_warning, where act_temp is the temperature characterization signal, and T_warning is the stable warning value, i.e., when the motor winding temperature reaches the warning value, active field weakening is initiated to reduce heat generation.
[0108] If it is determined that a weak magnetic field calculation is required, then:
[0109] like Figure 10 As shown, the voltage limit second axis current i_d_voltage_limit is obtained as follows: i_d_voltage_limit = [-φ + sqrt((U_max / We)^2) – (Lq × cmd_iq_pre)^2)] / Ld, where cmd_iq_pre is the first axis command current signal. In one embodiment, the maximum negative voltage limit second axis current i_d_voltage_limit is calculated according to the voltage limit circle equation under the conditions of the current speed and the first axis command current signal cmd_iq_pre.
[0110] like Figure 11As shown, the thermal limit current I_thermal is obtained by calculating I_rated × sqrt((T_max–act_temp) / (act_temp-T_ambient)), where T_max is the maximum allowable temperature of the insulation, I_rated is the rated current of the motor, and T_ambient is the ambient temperature. The thermal limit current I_thermal is obtained based on the life model of the insulation material.
[0111] like Figure 11 As shown, the maximum allowable current I_lim=min(I_hw_max,I_thermal) is obtained, where I_hw_max is the maximum inverter current, that is, the minimum value of the maximum inverter current I_hw_max and the thermal limit current I_thermal is taken.
[0112] like Figure 11 As shown, the second-axis current limit i_d_current_limit = -sqrt(I_lim^2–cmd_iq_pre^2) is obtained, where i_d_current_limit is the maximum second-axis current limit calculated according to the current limit circle equation.
[0113] like Figure 12 As shown, the second-axis current signal cmd_id is obtained by maxing (i_d_voltage_limit, i_d_current_limit), which means taking the algebraic maximum value of the two constraints mentioned above. Since the second-axis current signal cmd_id is always negative, the value that is less negative is actually selected.
[0114] like Figure 13 As shown, the voltage limit first axis current i_q_voltage_limit is obtained by sqrt((U_max / We)^2-(Ld×cmd_id+φ)^2) / Lq, which is to calculate the maximum voltage limit first axis current i_q_voltage_limit under the current speed and the second axis current signal cmd_id according to the voltage limit circle equation.
[0115] like Figure 13 As shown, the first-axis current limit i_q_current_limit = sqrt(I_lim^2–cmd_id^2) is obtained, that is, the first-axis current limit i_q_current_limit is calculated according to the current limit circle equation.
[0116] like Figure 13As shown, the limit first-axis current i_q_max = min(i_q_voltage_limit, i_q_current_limit) is obtained, that is, the minimum of the voltage limit first-axis current i_q_voltage_limit and the current limit first-axis current i_q_current_limit is taken.
[0117] like Figure 14 As shown, the first axis current signal cmd_iq is obtained by signing (cmd_iq_pre) × min (abs(cmd_iq_pre), i_q_max).
[0118] The current loop module outputs the first axis command voltage signal cmd_uq and the second axis command voltage signal cmd_ud based on the first axis current signal cmd_iq, the second axis current signal cmd_id, and the phase current signal representing the current of each phase of the motor.
[0119] In one embodiment, the current loop module receives the first axis (q-axis) current signal cmd_iq and the second axis (d-axis) current signal cmd_id from the field weakening controller module, as well as the actual phase current signals act_ia / act_ib / act_ic fed back by the current detection loop through detecting the phase current sent to the electric spindle motor by the three-phase inverter. act_ia represents the phase current of phase A, act_ib represents the phase current of phase B, and act_ic represents the phase current of phase C. Then, the current loop module outputs the first axis command voltage signal cmd_uq and the second axis command voltage signal cmd_ud.
[0120] The Space Vector Pulse Width Modulation (SVPWM) module is used to output switching signals based on the first axis command voltage signal cmd_uq and the second axis command voltage signal cmd_ud to control the inverter, and the inverter controls the motor operation.
[0121] In one embodiment, the space vector modulation (SVPWM) module receives the first axis command voltage signal cmd_uq and the second axis command voltage signal cmd_ud from the current loop module, outputs the switching signals for controlling the six bridges (six transistors) of the three-phase inverter, and finally controls the electric spindle motor to work.
[0122] like Figure 15 As shown, the present invention also discloses a control device for a frequency converter for driving an electric spindle of a CNC machine tool. Based on the above-mentioned multi-loop control method for electric spindles, the control device includes: a position loop module, a speed loop module, a field weakening controller module, a current loop module, and a space vector modulation (SVPWM) module.
[0123] The position loop module outputs a speed command signal cmd_vel based on the command position signal cmd_pos and the position signal act_pos fed back from the motor encoder. The command position signal cmd_pos is generated by the CNC system, and the motor encoder detects the rotational angle position of the motor shaft of the electric spindle motor to generate the corresponding position signal act_pos.
[0124] The speed loop module outputs the first axis (q-axis) command current signal cmd_iq_pre based on the speed command signal cmd_vel and the actual speed signal act_vel generated by differential calculation of the position signal act_pos. Figure 15 The "S" symbol within the Chinese box represents the difference between the preceding and following periods, i.e., the derivative. Figure 2 The same applies to China.
[0125] The field weakening controller module outputs the first axis (q-axis) current signal cmd_iq and the second axis (d-axis) current signal cmd_id based on the first axis command current signal cmd_iq_pre, the actual speed signal act_vel, and the temperature characterization signal act_temp that characterizes the motor winding temperature; the temperature characterization signal act_temp is obtained by measuring the temperature sensor.
[0126] The current loop module outputs the first axis command voltage signal cmd_uq and the second axis command voltage signal cmd_ud based on the first axis current signal cmd_iq, the second axis current signal cmd_id, and the phase current signals act_ia / act_ib / act_ic that characterize the current supplied by the three-phase inverter to each phase winding of the motor.
[0127] The Space Vector Modulation (SVPWM) module outputs switching signals based on the first axis command voltage signal cmd_uq and the second axis command voltage signal cmd_ud to control the three-phase inverter, and outputs current through the three-phase inverter to control the operation of the electric spindle motor.
[0128] In this embodiment, the position ring module can, according to Figure 2 The circuit structure is constructed based on the signal processing flowchart shown. The speed loop module can be based on... Figure 3 The circuit structure is constructed based on the signal processing flowchart shown. The field weakening controller module can be constructed according to... Figures 4-14 The circuit structure is constructed based on the schematic diagram of the signal processing flow shown.
[0129] The present invention also discloses a control system for an electric spindle of a CNC machine tool, including the above-mentioned multi-loop control method for an electric spindle.
[0130] The present invention also discloses a control system for an electric spindle of a CNC machine tool. The control system includes a processor and a memory. The memory stores a computer program that can be executed by the processor. When the computer program is executed by the processor, the above-mentioned multi-loop control method for the electric spindle is implemented.
[0131] The present invention also discloses an electronic device, comprising:
[0132] At least one processor; and.
[0133] The memory stores instructions that, when executed by the at least one processor, cause the at least one processor to perform the above-described electric spindle multi-loop control method.
[0134] The present invention also discloses a storage medium for computer-readable storage, wherein the storage medium stores one or more programs, which can be executed by one or more processors to implement the above-described multi-loop control method for electric spindles.
[0135] Those skilled in the art will understand that embodiments of the present invention can be provided as methods, systems, or computer program products. Therefore, the present invention can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, the present invention can take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.
[0136] This invention is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, generate instructions for implementing the flowchart illustrations and / or block diagrams. Figure 1 One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.
[0137] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to function in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means, which are implemented in a process Figure 1 One or more processes and / or boxes Figure 1The function specified in one or more boxes.
[0138] These computer program instructions may also be loaded onto a computer or other programmable data processing equipment to cause a series of operational steps to be performed on the computer or other programmable equipment to produce a computer-implemented process, thereby providing instructions that execute on the computer or other programmable equipment for implementing the process. Figure 1 One or more processes and / or boxes Figure 1 The steps of the function specified in one or more boxes.
[0139] It will be apparent to those skilled in the art that this disclosure is not limited to the details of the exemplary embodiments described above, and that this disclosure can be implemented in other specific forms without departing from its spirit or essential characteristics. Therefore, the embodiments should be considered in all respects as exemplary and non-limiting, and the scope of this disclosure is defined by the appended claims rather than the foregoing description. Thus, all variations falling within the meaning and scope of equivalents of the claims are intended to be included within this disclosure. No reference numerals in the claims should be construed as limiting the scope of the claims.
[0140] Furthermore, it should be understood that although this specification describes embodiments, not every embodiment contains only one independent technical solution. This narrative style is merely for clarity. Those skilled in the art should consider the specification as a whole, and the technical solutions in each embodiment can also be appropriately combined to form other embodiments that can be understood by those skilled in the art.
Claims
1. A multi-loop control method for an electric spindle, characterized in that, include: A position loop module is constructed to output a speed command signal based on the command position signal and the position signal fed back by the motor encoder; A speed loop module is constructed to output the first axis command current signal based on the actual speed signal generated by differential calculation of the speed command signal and the position signal; The field weakening controller module is constructed based on a third algorithm, which outputs a first-axis current signal and a second-axis current signal based on the first-axis command current signal, the actual speed signal, and the temperature characterization signal representing the motor winding temperature. The third algorithm includes: i_d_voltage_limit=[-φ+sqrt((U_max / We)^2)–(Lq×cmd_iq_pre)^2)] / Ld, where i_d_voltage_limit is the voltage limit second-axis current, φ is the permanent magnet flux linkage, U_max is the maximum output phase voltage amplitude, We is the electric angular velocity, Lq is the first-axis inductance, Ld is the second-axis inductance, and cmd_iq_pre is the first-axis command current signal; I_thermal=I_rated×sqrt((T_max–act_temp) / (act_temp-T_ambient)), where I_thermal is the thermal limit current, T_max is the maximum allowable insulation temperature, I_rated is the rated current of the motor, T_ambient is the ambient temperature, and act_temp is the temperature characterization signal; I_lim=min(I_hw_max,I_thermal), where I_lim is the maximum allowable current and I_hw_max is the maximum inverter current; i_d_current_limit=-sqrt(I_lim^2–cmd_iq_pre^2), where i_d_current_limit is the second-axis current limit; cmd_id = max(i_d_voltage_limit, i_d_current_limit), where cmd_id is the second-axis current signal; i_q_voltage_limit=sqrt((U_max / We)^2-(Ld×cmd_id+φ)^2) / Lq, where i_q_voltage_limit is the voltage limit first axis current; i_q_current_limit=sqrt(I_lim^2–cmd_id^2), where i_q_current_limit is the first axis current limit; i_q_max=min(i_q_voltage_limit,i_q_current_limit), where i_q_max is the limit first axis current; cmd_iq=sign(cmd_iq_pre)×min(abs(cmd_iq_pre),i_q_max), where cmd_iq is the first axis current signal; The current loop module outputs the first axis command voltage signal and the second axis command voltage signal based on the first axis current signal, the second axis current signal, and the phase current signal characterizing the current of each phase of the motor. The Space Vector Pulse Width Modulation (SVPWM) module is used to output switching signals based on the first axis command voltage signal and the second axis command voltage signal to control the inverter, and the inverter controls the motor operation.
2. The multi-loop control method for electric spindles according to claim 1, characterized in that, The location loop module is constructed based on the first algorithm, specifically including: fe = cmd_pos - act_pos, where fe is the position tracking error signal, cmd_pos is the command position signal, and act_pos is the position signal fed back by the motor encoder; cmd_vel_ref=cmd_pos-cmd_pos_last_period, where cmd_vel_ref is the instruction speed reference signal and cmd_pos_last_period is the instruction position signal of the previous cycle; cmd_acc_ref = cmd_vel_ref - cmd_vel_ref_last_period, where cmd_acc_ref is the instruction acceleration reference signal and cmd_vel_ref_last_period is the instruction velocity reference signal of the previous cycle; act_vel = act_pos - act_pos_last_period, where act_vel is the actual speed signal of the motor, and act_pos_last_period is the position signal fed back by the motor encoder in the previous cycle; cmd_acc = fe × Kp × Kp + cmd_vel_ref × Kvff × Kd + cmd_acc_ref × Kaff – act_vel × Kd, where cmd_acc is the command acceleration, and Kp, Kvff, Kd, and Kaff are system parameters; cmd_acc += Ti × fe, where Ti is a system parameter; cmd_vel += Ts × cmd_acc, where cmd_vel is the command speed signal and Ts is the control cycle of the position loop module.
3. The multi-loop control method for electric spindles according to claim 1, characterized in that, The velocity loop module is constructed based on the second algorithm, specifically including: fe_vel = cmd_vel - act_vel, where fe_vel is the speed error signal, cmd_vel is the command speed signal, and act_vel is the actual speed signal of the motor; cmd_iq_pre=Kp_v×fe_vel, where cmd_iq_pre is the first axis command current signal and Kp_v is the system parameter; cmd_iq_pre+=Ki_v×fe_vel, where Ki_v is a system parameter.
4. The multi-loop control method for electric spindles according to claim 3, characterized in that, The value Kp_v = 2 × π × BW_v × J_total / Kt is given by BW_v, which is the expected bandwidth of the position loop module, J_total, which is the total inertia of the motor, and Kt, which is the torque constant of the motor.
5. The multi-loop control method for electric spindles according to claim 1, characterized in that, The third algorithm also includes: U_max = act_udc / 1.732 × k_mod, where U_max is the maximum output phase voltage amplitude, act_udc is the actual DC bus voltage, and k_mod is the modulation coefficient of the space vector modulation (SVPWM) module. U_act=sqrt(cmd_ud_last_period^2+cmd_uq_last_period^2), where U_act is the current actual output voltage amplitude, cmd_ud_last_period is the second axis command voltage signal of the previous cycle, and cmd_uq_last_period is the first axis command voltage signal of the previous cycle; U_util = U_act / U_max, where U_util is the current voltage utilization rate; F_th=max(0,min(1,(T_safe-act_temp) / (T_safe-T_ambient))), where F_th is the heat load factor, T_safe is the set winding safety temperature threshold, act_temp is the temperature characterization signal, and T_ambient is the ambient temperature; F_load = |T_est – T_avg| / T_rated, where F_load is the load fluctuation rate, T_est is the current observed load torque, T_avg is the average load torque, and T_rated is the rated torque; U_next=We×sqrt((Ld×cmd_id_last_period+φ)^2+(Lq×cmd_iq_last_period)^2), where U_next is the voltage required for the next control cycle, We is the electric angular velocity, Ld is the second-axis inductance, cmd_id_last_period is the second-axis command current signal of the previous cycle, φ is the permanent magnet flux linkage, Lq is the first-axis inductance, and cmd_iq_last_period is the first-axis command current signal of the previous cycle; F_Umargin=max(0,min(1,(U_max-U_next) / U_max)), where F_Umargin is the voltage margin; △U_adapt=α×(1-F_th)+β×F_load-γ×(1-F_Umargin), where △U_adapt is the adaptive adjustment amount of the magnetic weakening voltage threshold, and α, β, and γ are system parameters; U_th = U_th_base + △U_adapt, where U_th is the actual field weakening initiation voltage threshold and U_th_base is the base field weakening voltage threshold; When any one of conditions a, b, or c is met, the field weakening calculation is initiated; otherwise, the second-axis current signal remains 0, the first-axis current signal is equal to the first-axis command current signal, and the current loop module is entered. Condition a is the voltage condition: U_util ≥ U_th; condition b is the speed condition: We ≥ W_base × 0.9, where W_base is the motor reference speed; and condition c is the thermal protection condition: act_temp ≥ T_warning, where act_temp is the temperature characterization signal, and T_warning is the stability warning value.
6. A frequency converter for electric spindle drive, characterized in that, Based on the multi-loop control method according to any one of claims 1 to 5, the frequency converter includes: The position loop module outputs a speed command signal based on the command position signal and the position signal fed back by the motor encoder; The speed loop module outputs the first axis command current signal based on the speed command signal and the actual speed signal generated by differentiating the position signal. The field weakening controller module outputs a first-axis current signal and a second-axis current signal based on the first-axis command current signal, the actual speed signal, and the temperature characterization signal characterizing the motor winding temperature. The current loop module outputs the first axis command voltage signal and the second axis command voltage signal based on the first axis current signal, the second axis current signal, and the phase current signal that characterizes the current supplied by the three-phase inverter to each phase winding of the motor. The Space Vector Modulation (SVPWM) module outputs switching signals based on the first axis command voltage signal and the second axis command voltage signal to control the inverter and control the motor operation through the inverter.
7. A control system for an electric spindle, characterized in that, Including the frequency converter as described in claim 6.
8. A control system for an electric spindle, characterized in that, The control system includes a processor and a memory, wherein the memory stores a computer program that can be executed by the processor, wherein when the computer program is executed by the processor, it implements the control method as described in any one of claims 1 to 5.
9. An electronic device, characterized in that, include: At least one processor; as well as A memory that stores instructions, which, when executed by the at least one processor, cause the at least one processor to perform the control method as described in any one of claims 1 to 5.
10. A storage medium for computer-readable storage, characterized in that, The storage medium stores one or more programs, which can be executed by one or more processors to implement the control method as described in any one of claims 1 to 5.
Citation Information
Patent Citations
Field weakening control method based on self-adaptive parameter identification of permanent magnet synchronous motor
CN121664038A
Motor control device
JP2023051323A