A chip control system for multi-motor drive
By integrating the main control module, data processing module, and FOC control module onto an ASIC chip, and combining per-unit processing and vector PWM modulation, the problems of high system cost and insufficient computing power in multi-motor synchronous control are solved, achieving highly integrated and efficient motor control.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- ZHEJIANG UNIV OF TECH
- Filing Date
- 2023-08-29
- Publication Date
- 2026-07-24
AI Technical Summary
Existing technologies for multi-axis servo motor control suffer from problems such as high system cost, insufficient computing power, difficulty in synchronous control, low integration, and low operating efficiency. In particular, it is difficult to achieve high precision and high efficiency in the synchronous control of multiple motors.
An ASIC chip is used to integrate the main control module, data processing module and FOC control module. High-efficiency control of multiple motors is achieved through per-unit processing and vector PWM modulation. Motor control is optimized by using a single-pole double-throw switch and CORDIC algorithm. Sensorless motor angle estimation is performed by combining the MRAS-OBSERVER module.
It achieves high integration, low hardware resource consumption, simple control algorithm and high operating efficiency of multi-motor system, supports synchronous and independent control of multiple motors, and improves the flexibility and accuracy of motor control.
Smart Images

Figure CN116974232B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of motor control, and more specifically, to the design of a multi-motor drive control algorithm. Background Technology
[0002] In recent years, with industrial development, many related fields, such as multi-axis robots, automated machine tools, military missile servo motors, and phased array antennas, require high-precision position and speed control of multi-axis servo motors within limited space. Currently, most conventional motor control solutions use microcontrollers (MCUs), and most MCUs can only control 1-2 AC servo motors simultaneously. A typical 32-bit MCU with a 48MHz main frequency may take more than 30µs to perform a single servo synchronous motor vector control and rotor position estimation. To achieve high-precision control of more than two motors, due to insufficient MCU resources and processor computing power, multiple MCUs often need to be connected in parallel, resulting in high system costs and limitations on multi-motor synchronous and high-precision control.
[0003] Patent application CN202122072489.1 discloses a dedicated ASIC chip system for motor operation control and a motor operation system. The dedicated ASIC chip system for motor operation control provided in this application utilizes the ASIC chip to obtain motor control parameter information, combined with professional PID closed-loop regulation, duty cycle conversion, and a three-phase inverter circuit to directly regulate the motor's operating current. This method is more professional and reliable than the traditional method of directly controlling motor operation using an MCU. It can also be applied to the control of multiple motors; only the corresponding modules and circuits need to be added.
[0004] However, while increasing the number of modules and circuits can achieve multi-axis motor control, it also prolongs the system's processing time, increases power consumption, and occupies a larger area, failing to meet the requirements of high integration, fast operation, and low power consumption. Summary of the Invention
[0005] The purpose of this invention is to provide a chip control system for multi-motor drive, which can reduce chip area, improve integration and operating efficiency while enabling multi-axis motor control.
[0006] This invention is achieved through the following technical solution:
[0007] A chip control system for multi-motor drive, characterized in that it includes a main control module, a data processing module, and a FOC control module;
[0008] The FOC (Field-Oriented Control) module is a technology for controlling AC motors. It is also known as vector control or field-oriented control. The main goal of the FOC control module is to achieve precise control of the AC motor, enabling it to operate with high efficiency and performance. The main control module sends control signals to the data processing module and the input terminals of the FOC control module. The main control module contains a cycle counter for timing control of the FOC control module and the data processing module.
[0009] The data processing module receives the initial parameter information of the motor set by the user and the control signal issued by the main control module, performs per-unit processing on the initial parameter information, and outputs the per-unit parameter information to the FOC control module.
[0010] The input terminal of the FOC control module is connected to the output terminals of the main control module and the data processing module. The per-unit parameter information sent by the data processing module is used to generate multiple PWM signal outputs through vector PWM modulation to control the angular velocity and torque of multiple motors.
[0011] The main control module receives external start and stop signals to control the motor's start and stop. Upon receiving the external start signal, the main control module sends control signals to the data processing module and the FOC control module. These control signals include an enable signal, a reset signal, and a clock signal. The main control module contains a cycle counter, whose clock signal increments on the rising edge, enabling timing control of the data processing module and the FOC control module at the same or different points in time.
[0012] The receiving end of the data processing module receives control signals from the main control module and initial motor parameter information set by the user. The initial motor parameter information includes rated voltage, rated current, rated angular velocity, etc. The data processing module performs per-unit processing on the initial motor parameter information. Per-unit processing is a data processing method in the prior art. In per-unit processing, the initial motor parameter information is divided by a reference value, thereby converting it into per-unit parameter information and outputting it to the FOC control module. The reference value can be specified by the user according to the actual situation or calculated by a formula. The per-unit parameter information includes the d-axis current value ld1, the q-axis current value lq1, and the angular velocity value ω. Per-unit processing can eliminate the influence of dimensions and units in the parameter information, allowing direct comparison between different parameter information to achieve good motor control.
[0013] The FOC control module receives control signals from the main control module and per-unit parameter information from the data processing module at its input. Simultaneously, the FOC control module contains an ADC sampling module to acquire the actual current signal during motor operation. The FOC control module uses vector pulse width modulation (PWM) to generate multiple modulated PWM signals to control the motor's angular velocity and torque. The PWM signal is a signal modulation technique that controls the average power of the output signal by changing the pulse width.
[0014] The main control module, the data processing module, and the FOC control module are all integrated on an ASIC chip. An ASIC chip, or Application-Specific Integrated Circuit chip, offers higher integration and performance compared to general-purpose processors like MCUs. This chip-based control system for multi-motor drives achieves parallel operation between multiple motors through timing control. Compared to multi-motor control by adding additional modules and circuits, this control system occupies less space, requires fewer hardware resources, has a simpler control algorithm, and operates more efficiently.
[0015] As a preferred embodiment of the present invention, the FOC control module includes a d-axis current loop PI controller, a q-axis current loop PI controller, a speed loop PI controller, and a single-pole double-throw switch connected to the output terminal of the speed loop PI controller.
[0016] The d-axis current loop PI controller receives the d-axis current value ld1 sent by the data processing module and outputs the d-axis voltage control signal.
[0017] When the single-pole double-throw switch is at the first closed point, the q-axis current loop PI controller receives the q-axis current value lq1 sent by the data processing module and outputs the q-axis voltage control signal.
[0018] When the single-pole double-throw switch is at the second closed point, the angular velocity value ω sent by the data processing module is converted by the velocity loop PI controller and outputs the q-axis current value lq1, which is received by the input terminal of the q-axis current loop PI controller.
[0019] The per-unit parameter information issued by the data processing module includes the d-axis current value ld1, the q-axis current value lq1, and the angular velocity value ω. In motor control, the d-axis and q-axis are coordinate axes used to describe the relative position between the motor rotor magnetic field and the stator magnetic field.
[0020] The d-axis current loop PI controller receives the d-axis current value ld1 and the actual d-axis current feedback signal of the motor, and outputs a d-axis control voltage signal to control the motor torque. The actual d-axis current feedback signal of the motor is acquired by the ADC acquisition module in the FOC control module and then converted by the coordinate transformation module. Those skilled in the art can implement this based on the textual explanation of this embodiment, and it will not be described in detail here.
[0021] The input terminal of the q-axis current loop PI controller is connected to the single-pole double-throw switch, used to receive the q-axis current value lq1 and the actual q-axis current feedback signal of the motor, and output the q-axis control voltage signal to control the angular velocity of the motor. The actual q-axis current feedback signal of the motor is also acquired by the ADC acquisition module in the FOC control module and then converted by the coordinate transformation module. Those skilled in the art can implement this based on the textual explanation of this embodiment, and will not be elaborated upon further herein.
[0022] The d-axis current value ld1 is set by the user and then output by the data processing module. The q-axis current value lq1 has two output options: when the single-pole double-throw switch is at the first closed point, the q-axis current value lq1 is directly output by the data processing module; when the single-pole double-throw switch is at the second closed point, the data processing module outputs the angular velocity value ω, which is then output as the q-axis current value lq1 after passing through the velocity loop PI controller and provided to the input terminal of the q-axis current loop PI controller.
[0023] By switching the closing point of the single-pole double-throw switch, users can configure the corresponding rated angular velocity or rated q-axis current to achieve closed-loop control of the motor's angular velocity, increasing the diversity and flexibility of configuration. Furthermore, selecting one path for calculation by switching the switch speeds up the running time and improves operating efficiency.
[0024] As a preferred embodiment of the present invention, the input terminal of the speed loop PI controller is connected to a speed command module for controlling the change of angular velocity.
[0025] The speed command module, also known as the SPEED RAMP module, receives the per-unit rated current and per-unit rated angular velocity commands issued by the data processing module. The user can set the slope and time for increasing the motor angular velocity in the SPEED RAMP. The SPEED RAMP outputs the change curves of the motor angular velocity and current, which are then sent to the speed loop PI controller. The SPEED RAMP allows control over the rate of change of the motor angular velocity, achieving more precise and stable motor operation control. The SPEED RAMP module is a mature computing module in the prior art, and its specific details will not be elaborated upon here.
[0026] As a preferred embodiment of the present invention, the velocity ring PI formula is as follows:
[0027]
[0028] Among them, i q The q-axis current value lq1,e output by the speed loop PI controller speed (k) represents the error value of the angular velocity in the k-th step, e speed (i) represents the integral error of the angular velocity, K p_speed ,K i_speed To adjust the parameters, K p_speed ,K i_speed The calculation formula is as follows:
[0029]
[0030] Among them, f sb T is the bandwidth of the angular velocity loop. speedloop The integral time of the angular velocity loop.
[0031] intermediate variable k i and angular velocity ring phase velocity The expression is as follows:
[0032]
[0033]
[0034] Where J represents the motor's moment of inertia, PM represents the angular velocity loop phase margin, P represents the number of motor pole pairs, and ψ f For motor flux linkage.
[0035] As a preferred embodiment of the present invention, the formulas for the d-axis current loop PI controller and the q-axis current loop PI controller are as follows:
[0036]
[0037]
[0038] Among them, u d u q These are the d-axis voltage control signal and the q-axis voltage control signal, respectively. id (k), e iq (k) represents the k-th cycle error value of the d-axis and q-axis currents, e id (i), e iq (i) represents the integral error of the d-axis and q-axis currents, K p_id K i_id K p_iq K i_iq To adjust the parameters, the formula is as follows:
[0039]
[0040]
[0041] Among them, V BASE I represents the bus reference voltage. BASE f represents the motor's reference current. cb T represents the current loop bandwidth. PWM L represents the PWM cycle time. d L q These are the d-axis and q-axis inductances of the motor, respectively, r s This is the stator resistance of the motor.
[0042] As a preferred embodiment of the present invention, the FOC control module includes a coordinate transformation module, which includes a CLARKE transformation module, a PARK transformation module, and an IPARK transformation module; the main control module enables the coordinate transformation module in a time-division manner.
[0043] The CLARKE conversion module converts the motor's voltage and current values into α and β axis current and voltage signals, which are then converted by the PARK conversion module to output the q-axis actual current feedback signal and the d-axis actual current feedback signal, respectively, which are fed back to the input terminals of the q-axis current loop PI controller and the d-axis current loop PI controller. The d-axis current loop PI controller and the q-axis current loop PI controller output d-axis control voltage signals and q-axis control voltage signals, respectively, which are then converted into α and β axis voltage signals by the INV_PARK conversion module to control the motor's angular velocity and torque.
[0044] The CLARKE transformation module, PARK transformation module, and IPARK transformation module in the coordinate transformation module all utilize multipliers. An excessive number of multipliers negatively impacts the system's area, power consumption, latency, and complexity. Therefore, this technical solution merges them into a single module, where the three operation modules share one multiplier. The overall control module enables the three operation modules in a time-sharing manner, saving multiplier resources to one-third of the original amount and improving system operating efficiency.
[0045] As a preferred embodiment of the present invention, the FOC control module includes a CORDIC module, which converts the actual angle of the motor into sinθ and cosθ values and sends them to the coordinate transformation module for calculation.
[0046] The core idea of the CORDIC algorithm is to transform complex mathematical operations into rotation operations in a coordinate system. By iteratively performing these rotation operations, the value of the objective function can be approximated. Since the CORDIC algorithm only involves shifting, addition, and subtraction, these operations are easily implemented in digital logic circuits. Therefore, the CORDIC algorithm is widely used in digital signal processors (DSPs) and other embedded systems.
[0047] As a preferred embodiment of the present invention, the FOC control module includes a decoding module for decoding the sensing signal, and the main control module enables the decoding module in a time-division manner.
[0048] Information from common decoding modules requires multiple I / O interfaces for data transmission. While parallel operation of multiple decoding modules improves system speed, it is not cost-effective in terms of I / O resource utilization. The decoding module described in this technical solution utilizes the central control module for timing control, enabling multiplexing of sampled data and time-division multiplexing for chip selection decoding, significantly saving chip I / O resources. Furthermore, to address the issue of long serial execution time caused by multiplexing, this technical solution combines serial and parallel methods; that is, while decoding the previous motor is complete, configuration output for the decoding module of the next motor is performed, greatly reducing system runtime.
[0049] As a preferred embodiment of the present invention, the FOC control module includes a function for estimating the motor angular velocity. and electrical angle The derivation formula for the observer is as follows:
[0050]
[0051]
[0052] Where k1 and k2 are the adjustment parameters of the observer, and k1,k2≥0. To estimate the d-axis and q-axis currents, i d i q This refers to the actual feedback current of the motor's d and q axes. To estimate the initial state of the motor's angular velocity.
[0053] The observer, or MRAS-OBSERVER, takes the actual α and β axis current feedback signals of the motor as input. It converts these signals into d and q axis current signals by estimating the angle, performs MRAS-OBSERVER calculations, and achieves convergence. This module can accurately estimate the motor's actual electrical angles and angular velocities, as well as other motor position and speed information. When no sensors are installed on the motor, MRAS-OBSERVER can be used to estimate the motor's actual electrical angles and angular velocities.
[0054] A control method for a chip control system for multi-motor drive, characterized by comprising the following steps:
[0055] S01. Initialization steps: Initialize each module and reset and clear the registers;
[0056] S02. Sampling bias step: Collect actual current and voltage bias information and the initial position information of the motor, perform calculation and processing. The number of cycles in the sampling bias step can be adjusted, and multiple sets of data can be collected for comparison.
[0057] S03, Motor operation control steps: Output the modulated PWM signal to the motor to achieve precise control of the motor's angular velocity and torque;
[0058] S04. Fault protection steps: Monitor each motor for faults. If a fault occurs, reset the fault module to zero.
[0059] The specific procedures for each step are as follows:
[0060] S01. Initialization Step: After receiving the external start signal, the main control module enters the initialization step, sends control enable signals to each lower-level module, and resets and clears the registers of each module.
[0061] S02. Sampling and Bias Step: After the initialization step is completed, the sampling and bias step begins. The FOC control module receives the enable signal from the main control module, obtains the actual current and voltage bias information and the initial position information of the motor, and performs calculations on the bias information. This sampling and bias step can adjust the number of cycles and collect multiple sets of data for comparison to ensure that the collected data is correct and complete.
[0062] S03, Motor Operation Control Steps: After the bias sampling step is completed, the motor operation control step is entered. The FOC control module receives the enable signal sent by the main control module and outputs the modulated PWM signal to the motor to achieve precise control of the motor's angular velocity and torque.
[0063] S04, Fault Protection Step: After the motor operation control step is completed, the fault protection step is entered, and fault detection is performed on each motor. If there is no fault, the main control module can make the FOC control module send a given period signal in sequence for cyclic control. If a fault occurs during the control process, the fault step is entered directly, and the main control module performs a reset operation on all subordinate modules.
[0064] Each step can adjust the control execution frequency by adjusting the corresponding periodic linear sequence machine counter. Similarly, the periodic counter increments on the rising edge of the system clock, enabling multiple FOC control module signals simultaneously at the same time. Furthermore, if multiple motors are controlled in a time-sharing manner, the FOC control modules can be enabled at different times. The FOC control modules can be triggered in a time-sharing manner based on the system clock and the periodic counter. The main control module schedules the start times of the motor operation modules, controlling the motors to start at the required times. Therefore, the enable signals of various modules among different motors can be arranged in a reasonable order, and the input values of the modules can be customized by the user to achieve diversified control of multiple motors, such as synchronous control at different speeds or independent control of multiple motors.
[0065] In summary, the present invention has the following beneficial effects:
[0066] 1. All three functional modules are integrated on an ASIC chip. ASIC chips can provide higher integration and higher performance, thus accelerating the operation efficiency of the control system.
[0067] 2. The main control module performs timing control on other modules, thereby realizing the control of multiple motors. This type of control system occupies less space, requires less hardware resources, has a simpler control algorithm, and operates more efficiently.
[0068] 3. By switching the closing point of the single-pole double-throw switch, users can configure the corresponding rated angular velocity or rated q-axis current to achieve closed-loop control of the motor's angular velocity, increasing the diversity and flexibility of configuration.
[0069] 4. The CLARKE transformation module, PARK transformation module, and IPARK transformation module are merged into one module, that is, the three operation modules share a single multiplier. The three operation modules are enabled in a time-sharing manner through the main control module, saving multiplier resources to one-third of the original amount and improving the system's operating efficiency.
[0070] 5. The timing control of the decoding module is achieved by using the main control module, which enables the sampling data to be multiplexed and decoded in a time-division multiplexing manner, greatly saving chip I / O resources. Attached Figure Description
[0071] Figure 1 This is a framework diagram of the chip control system;
[0072] Figure 2 This is a framework diagram of the FOC control module;
[0073] Figure 3 This is a flowchart of the working steps of the chip control system;
[0074] Figure 4It is a multi-motor drive control external frame;
[0075] Figure 5 This is a waveform diagram of the actual electrical angle of the dual motors operating synchronously;
[0076] Figure 6 This is the actual electrical angle waveform diagram of the two motors operating independently. Detailed Implementation
[0077] The present invention will be further described in detail below with reference to the accompanying drawings.
[0078] This specific embodiment is merely an explanation of the present invention and is not intended to limit the invention. After reading this specification, those skilled in the art can make modifications to this embodiment without contributing any inventive step, but such modifications are protected by patent law as long as they are within the scope of the claims of the present invention.
[0079] like Figure 1 As shown, the main control module receives external start and stop signals to control the motor's start and stop. Upon receiving the external start signal, the main control module sends control signals to the data processing module and the FOC control module. These control signals include an enable signal, a reset signal, and a clock signal. The main control module contains a cycle counter, whose clock signal increments on the rising edge, enabling timing control of the data processing module and the FOC control module at the same or different points in time.
[0080] The data processing module receives control signals from the main control module and user-defined initial motor parameters, including rated voltage, rated current, and rated angular velocity. The data processing module performs per-unit normalization on these initial parameters. In this normalization process, the initial parameters are divided by a base value, converting them into per-unit parameters, which are then output to the FOC control module. These per-unit parameters include the normalized rated voltage, rated current, and rated angular velocity. Normalization eliminates the influence of dimensions and units in the parameter information, allowing for direct comparison between different parameters and achieving better motor control.
[0081] The input terminal of the FOC control module receives control signals from the main control module and per-unit parameter information from the data processing module. Sensors installed on the motor send sensing signals to the FOC control module; these signals include the motor's actual angular velocity and electrical angle information. Simultaneously, the FOC control module contains an ADC sampling module to acquire the actual DC bus voltage signal (udc) and current signal during motor operation. The FOC control module uses vector pulse width modulation (PWM) to generate multiple modulated PWM signals to control the motor's angular velocity and torque. The PWM signal is a signal modulation technique that controls the average power of the output signal by changing the pulse width.
[0082] like Figure 2 The diagram shows the framework of the FOC control module. The d-axis current loop PI controller and the q-axis current loop PI controller receive the d-axis current value ld1, the q-axis current value lq1, and the actual obtained negative feedback signals of the motor's d-axis and q-axis currents. They output d-axis and q-axis voltage control signals, which are then converted into α-axis and β-axis voltage control signals by the INV_PARK conversion module and input to the SVPWM module.
[0083] The SVPWM module outputs a PWM signal to provide the comparison value required by the comparison point counter to the PWM generation module. The PWM generation module outputs a PWM switching signal to control the motor's angular velocity and torque. The SVPWM modulation module can select appropriate modulation strategies, such as five-segment, seven-segment, overmodulation, and phase-shift modulation.
[0084] The formulas for the d-axis current loop PI controller and the q-axis current loop PI controller are as follows:
[0085]
[0086]
[0087] Among them, u d u q These are the d-axis voltage control signal and the q-axis voltage control signal, respectively. id (k), e iq (k) represents the k-th cycle error value of the d-axis and q-axis currents, e id (i), e iq (i) represents the integral error of the d-axis and q-axis currents, K p_id K i_id K p_iq K i_iq To adjust the parameters, the formula is as follows:
[0088]
[0089]
[0090] Among them, V BASE I represents the bus reference voltage. BASE f represents the motor's reference current. cb T represents the current loop bandwidth. PWM L represents the PWM cycle time. d L q These are the d-axis and q-axis inductances of the motor, respectively, r s This is the stator resistance of the motor.
[0091] The q-axis current value lq1 received by the q-axis current loop PI controller is obtained through two paths: 1. The user sets the q-axis rated current directly, which is then processed by the data processing module and output; 2. The user sets the motor's rated angular velocity, which is then output by the data processing module and the SPEED RAMP module. In addition, the speed loop PI controller also receives the actual angular velocity feedback signal from the motor and outputs the q-axis rated current signal.
[0092] The formula for the speed loop PI controller is as follows:
[0093]
[0094] Among them, i q The q-axis current value lq1,e output by the speed loop PI controller speed (k) Speed error value for the kth beat, e speed (i) represents the integral error of the angular velocity, K p_speed ,K i_speed To adjust the parameters, K p_speed ,K i_speed The calculation formula is as follows:
[0095]
[0096] Among them, f sb T is the bandwidth of the angular velocity loop. speedloop The integral time of the angular velocity loop.
[0097] intermediate variable k i and angular velocity ring phase velocity The expression is as follows:
[0098]
[0099]
[0100] Where J represents the motor's moment of inertia, PM represents the angular velocity loop phase margin, P represents the number of motor pole pairs, and ψ f For motor flux linkage.
[0101] The actual motor d-axis and q-axis current feedback signals received by the d-axis and q-axis current loop PI controllers are obtained by the ADC sampling module from the motor's bus voltage udc and current. Then, udc, ta, tb, and tc are used to reconstruct the ualpha and ubeta required by the observer, which are then converted by the CLARKE and PARK transformation modules. ta, tb, and tc are intermediate calculation variables in SVPWM – vector switching point time. The actual angular velocity feedback signal received by the speed loop PI controller is obtained directly from the sensor or encoder, or estimated by the MRAS-OBSERVER module.
[0102] When the dedicated integrated chip control system for this type of motor drive is in the sensing phase, the motor rotor angular velocity and position detection sensors installed on the motor, such as optical encoders and resolvers, process the sensing signals into actual encoder signals for the motor and send them to the DECODER module. The DECODER module outputs the actual angular velocity and electrical angle of the motor.
[0103] When the dedicated integrated chip control system for this type of motor drive is in a sensorless mode, i.e., when there is no encoder or sensor monitoring the actual angular velocity of the motor, the actual current and voltage feedback signals of the α and β axes output by the CLARKE conversion module can be used as input signals for the MRAS-OBSERVER module. The MRAS-OBSERVER module then performs calculations and outputs the estimated actual angular velocity of the motor. and electrical angle The angular velocity obtained by the sensor encoder or the actual angular velocity of the motor estimated by the MRAS-OBSERVER can both be used as the feedback signal at the input of the speed loop PI controller.
[0104] The derivation formula for the MRAS-OBSERVER module is as follows:
[0105]
[0106]
[0107] Where k1 and k2 are MRAS-OBSERVER adjustment parameters, k1,k2≥0 To estimate the d-axis and q-axis currents, i d i q This refers to the actual feedback current of the motor's d and q axes. To estimate the initial state of the motor's angular velocity.
[0108] The electrical angle values output by the MRAS-OBSERVER module and the encoder are converted into the true angle sin by the CORDIC module. n and cos n The values are respectively given to the PARK transformation module and the IPARK transformation module for conversion.
[0109] The CLARKE transformation module, PARK transformation module, and IPARK transformation module in the coordinate transformation module all utilize multipliers. An excessive number of multipliers negatively impacts the system's area, power consumption, latency, and complexity. Therefore, this design merges them into a single module, where the three computational modules share one multiplier. The overall control module enables the three computational modules in a time-sharing manner, saving multiplier resources to one-third of the original amount and improving system efficiency.
[0110] The main control module, the data processing module, and the FOC control module are all integrated on an ASIC chip. An ASIC chip, or Application-Specific Integrated Circuit chip, offers higher integration and performance compared to general-purpose processors like MCUs. This chip-based control system for multi-motor drives achieves parallel operation among multiple motors through timing control. Compared to multi-motor control by adding additional modules and circuits, this control system occupies less space, requires fewer hardware resources, has a simpler control algorithm, and operates more efficiently.
[0111] The resource consumption and execution time of each functional module in the FOC control module are shown in Table 1 below.
[0112] Table 1 Resource consumption and execution schedule for each functional module
[0113]
[0114]
[0115] Table 1 shows the resource consumption and execution time of each functional module in the FOC control module. Under sensored operation, the FOC control module can complete execution within 2.8µs. Under sensorless operation, the FOC control module can complete execution within 4µs. Furthermore, resource consumption is low when performing multiple functions. In addition, if multiple motor controls are added in parallel, the system execution time will not increase significantly, and the program design remains simple.
[0116] like Figure 3The diagram shown is a flowchart illustrating the working steps of this chip control system for multi-motor drive.
[0117] STEP 1: Start and stop signals are input to the main control module to control the start and stop of the motor. Upon receiving an external start signal, the main control module enters the power-on initialization step, sending control enable signals to each lower-level module, and resetting the registers of each module to zero. Users can set the motor's actual parameters such as rated voltage, rated current, and rated angular velocity. The data processing module receives these user-set parameters, standardizes them, and outputs the standardized parameter information, achieving effective motor control.
[0118] STEP 2: After the initialization step is completed, the sampling and biasing step begins. The main control module sends an enable signal to the ADC sampling module to obtain the actual current and voltage bias information and the initial position information of the motor, and performs calculations on the bias information. This sampling and biasing step can adjust the number of loops and collect multiple sets of data for comparison to ensure that the collected data is correct and complete.
[0119] STEP 3: After bias sampling is completed, the motor operation control step begins. The main control module enables the FOC control module, which then outputs a modulated PWM signal to the motor to achieve precise control of the motor's angular velocity and torque.
[0120] STEP4: After the motor operation control step is completed, the fault protection step is entered. Fault detection is performed on each motor. If there is no fault, the main control module can make the FOC control module send a given period signal in sequence for cyclic control. If a fault occurs during the control process, the fault step is entered directly and the main control module resets all subordinate modules.
[0121] To control multiple motors simultaneously, a period counter in the main control module can be used to increment on the rising edge of the system clock, simultaneously emitting multiple modulated PWM signals to control the motor's angular velocity and torque. For time-sharing control of multiple motors, triggering can be performed at different times.
[0122] like Figure 4As shown, this invention uses a multi-motor drive chip control system to drive and control external motor hardware drive modules, achieving final control of the motors. The chip can simultaneously send PWM control signals to multiple external drive circuits, achieving synchronous control of multiple motors. Specifically, the PWM level conversion module adapts to different motor drive hardware circuits; the ADC sampling circuit returns the actual current signal of the motor, used for control by the chip's internal FOC control module and calculations by the MRAS angle and speed observer; the encoder signal returned by the motor is used to obtain the motor's true angle and speed signal using the chip's decoding module.
[0123] like Figure 5 The image shows the actual angle waveforms of the two motors when the chip control system used for multi-motor drive performs synchronous control. It can be seen that the electrical angle magnitudes and phases of the two motors remain highly consistent; as shown... Figure 6 The image shows the actual angle waveforms of the two motors when this chip control system for multi-motor drives independently controls two motors. It can be seen that controlling motor 1 to rotate forward and controlling motor 2 to rotate in the opposite direction allows for independent control of different motors.
[0124] The above are merely preferred embodiments of the present invention and are not intended to limit the present invention. Any modifications, equivalent substitutions, and improvements made within the spirit and principles of the present invention should be included within the scope of protection of the present invention.
Claims
1. A chip control system for multi-motor drive, characterized in that, It includes a main control module, a data processing module, and an FOC control module; The main control module sends control signals to the input terminals of the data processing module and the FOC control module. The main control module contains a cycle counter for timing control of the FOC control module and the data processing module. The data processing module receives the initial parameter information of the motor set by the user and the control signal issued by the main control module, performs per-unit processing on the initial parameter information, and outputs the per-unit parameter information to the FOC control module. The input terminal of the FOC control module is connected to the output terminals of the main control module and the data processing module. The per-unit parameter information sent by the data processing module is used to generate multiple PWM signal outputs through vector PWM modulation to control the angular velocity and torque of multiple motors. The FOC control module includes a d-axis current loop PI controller, a q-axis current loop PI controller, a velocity loop PI controller, and a single-pole double-throw switch connected to the output of the velocity loop PI controller; the per-unit parameter information includes the d-axis current value ld1, the q-axis current value lq1, and the angular velocity value ω. The d-axis current loop PI controller receives the d-axis current value ld1 sent by the data processing module and outputs the d-axis voltage control signal to control the torque of the motor. When the single-pole double-throw switch is at the first closed point, the q-axis current loop PI controller receives the q-axis current value lq1 sent by the data processing module and outputs a q-axis voltage control signal to control the angular velocity of the motor. When the single-pole double-throw switch is at the second closed point, the speed loop PI controller receives the angular velocity value ω sent by the data processing module, converts it into the q-axis current value lq2, and outputs it to the input terminal of the q-axis current loop PI controller. The formulas for the d-axis current loop PI controller and the q-axis current loop PI controller are as follows: in, , These are the d-axis voltage control signal and the q-axis voltage control signal, respectively. , The error values for the d-axis and q-axis currents on the k-th beat are... , The error is the integral of the d-axis and q-axis currents. , , , To adjust the parameters, the formula is as follows: in, Indicates the bus reference voltage. Indicates the motor's reference current. Indicates the current loop bandwidth. Indicates the PWM cycle time. , These are the d-axis and q-axis inductances of the motor, respectively. This is the stator resistance of the motor.
2. A chip control system for multi-motor drive according to claim 1, characterized in that, The input terminal of the speed loop PI controller is connected to a speed command module for controlling the change of angular velocity.
3. A chip control system for multi-motor drive according to claim 1, characterized in that, The velocity ring PI formula is as follows: in, The per-unit rated q-axis current signal output by the speed loop PI controller. This represents the error value of the angular velocity in the k-th step. For the integral error of angular velocity, To adjust the parameters, The calculation formula is as follows: in, For the angular velocity loop bandwidth, The integral time of the angular velocity loop. intermediate variables and angular velocity ring phase velocity The expression is as follows: in, Indicates the moment of inertia of the motor. Indicates the phase margin of the angular velocity loop. Indicates the number of pole pairs of the motor. For motor flux linkage.
4. A chip control system for multi-motor drive according to claim 1, characterized in that, The FOC control module includes a coordinate transformation module, which includes a CLARKE transformation module, a PARK transformation module, and an IPARK transformation module; the main control module enables the coordinate transformation module in a time-division manner.
5. A chip control system for multi-motor drive according to claim 4, characterized in that, The FOC control module includes a CORDIC module, which converts the actual motor angle into... , The value is sent to the coordinate transformation module for calculation.
6. A chip control system for multi-motor drive according to claim 1, characterized in that, The FOC control module includes a decoding module for decoding the sensor signals, and the main control module enables the decoding module in a time-division multiplexing manner.
7. A chip control system for multi-motor drive according to claim 1, characterized in that, The FOC control module contains an observer for estimating the motor angular velocity and electrical angle, the derivation of which is as follows: in This is an estimated value for the motor's angular velocity. This is an estimated value for the electrical angle of the motor. , Adjust parameters for MRAS-OBSERVER. , , To estimate the d-axis and q-axis currents, , This refers to the actual feedback current of the motor's d and q axes. To estimate the initial state of the motor's angular velocity.
8. A control method for a chip control system for multi-motor drive as described in any one of claims 1-7, characterized in that, It includes the following steps: S01. Initialization steps: Initialize each module and reset and clear the registers; S02. Sampling bias step: Collect actual current and voltage bias information and the initial position information of the motor, perform calculation and processing. The number of cycles in the sampling bias step can be adjusted, and multiple sets of data can be collected for comparison. S03, Motor operation control steps: Output the modulated PWM signal to the motor to achieve precise control of the motor's angular velocity and torque; S04. Fault protection steps: Monitor each motor for faults. If a fault occurs, reset the fault module to zero.