System for controlling multiple brushless motors by using FPGA and FOC
By combining FPGA and FOC algorithms, the control system solves the problem of poor performance in traditional brushless motor control systems, realizes the synchronous and stable operation of multiple brushless motors, and improves the real-time control capability of the system.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Utility models(China)
- Current Assignee / Owner
- Filing Date
- 2025-02-18
- Publication Date
- 2026-04-07
AI Technical Summary
Traditional multi-brushless motor control systems have poor performance, affecting the stability of motor operation.
The control system, which combines FPGA and FOC algorithm, utilizes FPGA module, motor driver and control module, including Clark transformation module, Park transformation module and inverse Park transformation module, to realize real-time control and synchronous operation of motor.
It improves the performance of the brushless motor system, ensures the stability and real-time performance of multiple brushless motors operating synchronously, and avoids operational lag.
Smart Images

Figure CN224097617U_ABST
Abstract
Description
Technical Field
[0001] This utility model relates to the technical field of systems for controlling multiple brushless motors, and more particularly to a system for controlling multiple brushless motors using FPGA and FOC. Background Technology
[0002] Parallel control of multiple motors is a complex and important technical field with wide applications in industry, aviation, aerospace, automotive, and other sectors. Parallel control of multiple motors refers to the simultaneous control of multiple motors within a single system to achieve specific movements or functions. The controller is the main device responsible for controlling the operation of multiple motors, typically composed of a programmable logic controller (PLC) and programmable logic circuits. Each motor requires a dedicated motor driver controller to ensure synchronous operation. The motor controller performs feedback control, reading feedback signals from two-dimensional motor sensors or other sensors, measuring the motor's current, speed, and angle to control the motor to operate at synchronous speeds.
[0003] Traditional systems that control multiple brushless motors have poor performance, affecting the stability of motor operation. Summary of the Invention
[0004] The main purpose of this invention is to provide a system that uses FPGA and FOC to control multiple brushless motors, so as to solve the problems of poor system performance and impact on motor operation stability in related technologies.
[0005] To achieve the above objectives, according to one aspect of the present invention, a system for controlling multiple brushless motors using an FPGA and a FOC is provided, comprising: an FPGA module, the FPGA module including several logic units, a digital signal processor, memory and I / O pins, for controlling the brushless motors;
[0006] The motor driver uses a domestically produced DC100V high-current MOSFET to drive the brushless motor.
[0007] A control module is used to control a brushless motor. The control module includes a motor control module, a PWM generation module, a sensor interface module, and a communication module. The PWM generation module is used to generate PWM signals to control the motor. The sensor interface module is used to process data from current and position sensors. The communication module is used to handle communication with the main controller.
[0008] Furthermore, the motor control module includes a Clark transformation module, a Park transformation module, and an inverse Park transformation module.
[0009] Furthermore, the motor control module also includes a controller, which is connected in parallel with several brushless motors and is used to control the brushless motors.
[0010] Furthermore, the controller includes a control unit and a power unit. The control unit includes a digital signal processor (DSP) and a field-programmable gate array (FPGA). The control unit has an input memory mapped to the DSP. The DSP is used to determine a brushless motor repositioning signal based on a received brushless motor position demand signal describing the desired brushless motor position and the encoded brushless motor position data, and loads the brushless motor repositioning signal into the input memory of the FPGA. The FPGA is used to execute a field-oriented control (FOC) current control algorithm by converting the motor repositioning signal generated by the DSP into information from which a motor drive current signal can be derived, and to generate a motor drive current signal for driving the motor to the required motor position based on the motor repositioning signal and motor phase current samples, and outputs the motor drive current signal to the power unit.
[0011] Furthermore, the power unit includes a motor phase current sampler and a brushless motor position encoder. The motor phase current sampler is operated to provide the control unit with samples of each motor phase current from the motors. The brushless motor position encoder is operated to provide the control unit with encoded brushless motor position data of the angular position of the brushless motor. Each driver is operated to generate a commutation signal based on its respective motor drive current signal.
[0012] Compared with the prior art, the present invention has the following advantages: the FPGA has real-time operation, which can control the brushless motor in a timely manner, avoid the lag in the operation of the brushless motor, and can control multiple brushless motors at the same time, so that multiple brushless motors can keep running synchronously; the motor driver can collect the real-time position of the motor in a timely manner, and can control the running position of the motor in real time, improve the performance of the system, and ensure the smooth operation of multiple brushless motors. Attached Figure Description
[0013] Figure 1 This is a diagram showing the connection relationship between the controller and the motor of this utility model;
[0014] Figure 2 This is a block diagram of the FPGA driver control logic of this utility model. Detailed Implementation
[0015] To further illustrate the technical means and effects adopted by this utility model in order to achieve the intended utility model purpose, the following detailed description of the specific implementation methods, structure, features and effects of this utility model is provided in conjunction with the accompanying drawings and preferred embodiments.
[0016] Please see Figures 1 to 2This embodiment provides a system for controlling multiple brushless motors using an FPGA and a FOC, including: an FPGA module, which includes several logic units, a digital signal processor, memory and I / O pins, for controlling the brushless motors to meet the requirements of real-time operation and the number of motors to be controlled;
[0017] The motor driver uses a domestically produced DC100V high-current MOSFET to drive the brushless motor. It employs a 16-bit high-speed AD converter with SPI to collect the bus voltage and the real-time current of the motor in real time for the application of the motor control algorithm. It also uses a 21-bit digital Hall sensor to collect the real-time position of the motor to meet the requirements of real-time control of the motor's operating position.
[0018] The control module employs a control program written in Verilog hardware description language for an FPGA to control a brushless motor. The control module includes a motor control module, a PWM generation module, a sensor interface module, and a communication module.
[0019] The motor control module includes a Clark transformation module, a Park transformation module, and an inverse Park transformation module. The motor control module is used to implement the FOC algorithm.
[0020] The PWM generation module is used to generate PWM signals for controlling the motor.
[0021] The sensor interface module is used to process data from current and position sensors.
[0022] The communication module is used to handle communication with the main controller.
[0023] The motor control module also includes a controller, which is connected in parallel with several brushless motors to control the brushless motors.
[0024] The controller includes a control unit and a power unit. The control unit includes a digital signal processor (DSP) and a field-programmable gate array (FPGA). The control unit has an input memory mapped to the DSP. The DSP is used to determine a brushless motor repositioning signal based on a received brushless motor position demand signal describing the desired brushless motor position and encoded brushless motor position data, and loads the brushless motor repositioning signal into the input memory of the FPGA. The FPGA is used to execute a field-oriented control (FOC) current control algorithm by converting the motor repositioning signal generated by the DSP into information from which a motor drive current signal can be derived, and to generate a motor drive current signal for driving the motor to the required motor position based on the motor repositioning signal and motor phase current samples, and outputs the motor drive current signal to the power unit.
[0025] The power unit includes a motor phase current sampler and a brushless motor position encoder. The motor phase current sampler is operated to provide the control unit with samples of the current of each motor phase in the motor. The brushless motor position encoder is operated to provide the control unit with coded brushless motor position data of the angular position of the brushless motor. Each driver is operated to generate a commutation signal based on its respective motor drive current signal.
[0026] The above description is merely a preferred embodiment of the present utility model and is not intended to limit the present utility model in any way. Although the present utility model has been disclosed above with reference to a preferred embodiment, it is not intended to limit the present utility model. Any person skilled in the art can make some modifications or alterations to the above-disclosed technical content to create equivalent embodiments without departing from the scope of the present utility model. Any simple modifications, equivalent changes and alterations made to the above embodiments based on the technical essence of the present utility model without departing from the scope of the present utility model shall still fall within the scope of the present utility model.
Claims
1. A system for controlling multiple brushless motors using an FPGA and a FOC, characterized in that, include: The controller and the brushless motors configured to control at least three commutated motors; The controller includes a control unit and a power unit; The control unit includes a digital signal processor and a field-programmable gate array; The power unit includes a motor phase current sampler and a motor position editor; The FPGA module includes several logic units, a digital signal processor, memory, and I / O pins, and is used to control a brushless motor. Motor driver, used to drive brushless motors; A control module is used to control a brushless motor. The control module includes a motor control module, a PWM generation module, a sensor interface module, and a communication module. The PWM generation module is used to generate PWM signals to control the motor. The sensor interface module is used to process data from current and position sensors. The communication module is used to handle communication with the main controller.
2. The system for controlling multiple brushless motors using FPGA and FOC according to claim 1, characterized in that, The motor control module includes a Clark transformation module, a Park transformation module, and an inverse Park transformation module.
3. The system for controlling multiple brushless motors using FPGA and FOC according to claim 1, characterized in that, The motor control module also includes a controller, which is connected in parallel with several brushless motors and is used to control the brushless motors.
4. The system for controlling multiple brushless motors using FPGA and FOC according to claim 3, characterized in that, The controller includes a control unit and a power unit. The control unit includes a digital signal processor (DSP) and a field-programmable gate array (FPGA). The control unit has an input memory mapped to the DSP. The DSP is used to determine a brushless motor repositioning signal from the brushless motor position demand signal and the encoded brushless motor position data, and loads the brushless motor repositioning signal into the input memory of the FPGA. Programmable gate arrays (FPGAs) are used to convert motor repositioning signals into motor drive current signals and output the motor drive current signals to the power unit.
5. The system for controlling multiple brushless motors using FPGA and FOC according to claim 4, characterized in that, The power unit includes a motor phase current sampler and a brushless motor position encoder. The motor phase current sampler provides the control unit with samples of the current from each motor phase in the motor, and the brushless motor position encoder provides the control unit with coded brushless motor position data of the angular position of the brushless motor.