Share this

Design of a Novel Brushless DC Motor Servo System

2026-04-06 06:00:42 · · #1
Abstract : This paper introduces the design of a digital control system for a brushless DC motor (BLDCM) based on a DSP and a CPLD. The high-speed computing power of the DSP and the powerful logic function of the CPLD are utilized to achieve real-time control of the system and simplify the peripheral circuitry. A control strategy combining PID and adaptive fuzzy PID is adopted based on the operating characteristics of the brushless DC motor. System simulation shows that the system has excellent dynamic and static characteristics. Keywords : Digital signal processor; brushless DC motor; adaptive fuzzy PID; simulation New Design of Brushless DC Motor Servo System ZHOU Bao, ZHANG An-nian, DING Zhe, YU Cheng-lin (Henan University of Science & Technology, Lnoyang 471003, China) According to the characteristics of BLDCM, this paper uses a control strategy of adopting PID and self-adaptive fuzzy PID. The simulation results show that the system has good dynamic and static characteristics. Key words : DSP; BLDCM; Self-adaptive fuzzy PID; Simulation 1 Introduction Brushless DC motors have advantages such as light weight, long life, wide speed range, large starting torque, and low electromagnetic torque and flux coupling, and are increasingly widely used in control systems. However, they also have disadvantages such as electromagnetic torque disturbance during commutation, load disturbance, and parameter changes. Therefore, advanced control strategies are needed to improve the system's control performance. The biggest feature of fuzzy control algorithms based on intelligent control is that they do not rely on object models, but instead use the established fuzzy control rules to reason and obtain appropriate control quantities, which is suitable for the requirements of brushless DC motor drive control strategies. The system adopts a control strategy combining PID and fuzzy adaptive PID. Using ALTERA's MAX7000 series CPLD devices and TI's TMS320LF2407A dedicated DSP chip for motor control as the core of the controller, the hardware design of the brushless DC motor controller was completed. This not only greatly simplified the peripheral circuit, but also improved the timeliness and reliability of the system. 2 Hardware Design 2.1 Composition of Brushless DC Motor Servo System The brushless DC motor control system is mainly composed of DSP module unit, CPLD logic control unit, drive circuit unit, position detection unit, current detection unit, etc. The block diagram is shown in Figure 1. The CPLD is mainly used to complete the corresponding current chopping, peripheral circuit implementation, PWM signal generation, overcurrent protection, undervoltage protection, A/D sampling and other functions [5]. The principle of generating PWM signal is to use the DSP pin T1PWM to output one pulse width modulation signal PWM and three rotor magnetic pole position signals fed back by the brushless DC motor and the motor forward and reverse rotation signals and send them to the CPLD for logic processing, output six PWM modulation signals PWM1-PWM6, which are connected to six switching transistors through a reverse drive circuit to realize the rated PWM and commutation control. The CPLD is also responsible for A/D sampling and writing the conversion results into a FIFO. When the conversion is complete, it notifies the DSP. When the DSP receives the end signal, it can read the A/D converted data from the FIFO, thus avoiding frequent DSP intervention during the A/D conversion process, simplifying sampling control, and minimizing the DSP's burden. When implementing functions in the CPLD chip using VHDL, parallel processing is used between processes, resulting in good real-time performance. The DSP is mainly used to respond to control commands sent by the CPLD, process the acquired data, and implement control strategies. 2.2 Position Detection and Speed ​​Calculation The position signal is obtained through three Hall sensors. Each Hall sensor generates a 180° pulse width with a 120° phase difference. These signals have six rising or falling edges in each mechanical rotation, and each rising or falling edge corresponds to a commutation moment. By setting the DSP's capture ports CAP1-CAP3 as I/O ports and detecting the level status of these ports, it is possible to determine which Hall sensor's edge triggered the capture interrupt. In the capture interrupt handling subroutine, the commutation information can be obtained by looking up the commutation control word table to achieve correct commutation. The position signal can also be used to generate speed control quantity. Each mechanical rotation has 6 commutations, and the rotor has one commutation every 60° mechanical angle. As long as the time interval Δt between two commutations is measured, the average angular velocity during the interval between two commutations can be calculated by t0=60°/Δt. Δt can be obtained by reading the value of the T2CNT register when the capture interrupt occurs. The calculated speed value is used as the speed feedback quantity to participate in the speed regulation calculation. The three-phase brushless DC motor also needs a position signal when starting. The output of the three Hall sensors determines which two phases should be energized first, and a constant supply current is given until the first speed regulation[2]. 2.3 Design of system protection circuit In the brushless DC motor control system, the protection circuit occupies a very important position. The key to using power operational amplifiers is to keep the junction temperature as low as possible. There are two ways to reduce the junction temperature: one is to reduce power consumption, and the other is to reduce thermal resistance. Since the power output is determined by the system's own requirements, only a suitable heatsink can be selected to reduce the junction temperature. To ensure reliable system operation, current and heat generation must also be limited to keep power components operating within a safe operating range. The current limiting mechanism works by detecting the low-side current of the full-bridge circuit using a sampling resistor, and then sending the detected current to the logic control unit of the CPLD. If the current exceeds the set threshold, an overcurrent signal is generated. The system uses the CPLD to receive overcurrent and undervoltage signals from the power drive circuit, and feeds back the combined fault signal generated by the logical OR of the overcurrent and undervoltage signals to the DSP (active high). When an overcurrent or undervoltage occurs in the drive circuit, the DSP will shut down timer T1, and no PWM control signal will be generated until power is restored, thus protecting the drive circuit and the motor. [b]3 System Software Design 3.1 System Software Design Flow and Overview[/b] The system software mainly implements the position adjustment and speed adjustment of the brushless DC motor. Speed ​​regulation employs PID control, which overcomes the steady-state error problem inherent in fuzzy control and improves the system's steady-state performance. Position regulation uses adaptive fuzzy PID control, characterized by its independence from specific object models. Instead, it uses linguistic variables to describe system characteristics and infers appropriate control quantities based on the system's dynamic information and fuzzy control rules. Figure 2 shows the main program's software flowchart. First, interrupts are disabled for system initialization, and ADC interrupts are enabled (controlled by the CPLD). Then, the position value at startup is read, and a PWM control signal is generated based on this value. After startup, the main program enters a waiting loop, waiting for an interrupt to occur. When the interrupt flag is true, the system's three-loop regulation is performed. The given position value and position feedback value are read for adaptive fuzzy inference, completing the position regulator function. The output value is sent to the speed regulator for PID control, and the current regulator's control signal is output, thus generating the PWM control signal. 3.2 Control Strategy of System Software In actual control systems, the self-inductance, mutual inductance, damping coefficient, and moment of inertia of the motor windings are uncertain as the load changes. Therefore, the PID strategy alone cannot provide good control performance. Fuzzy control organically integrates some mature experience and rules with fuzziness into the control strategy, which has strong robustness and can overcome the uncertainties in the system [4]. The system design adopts a fully digital three-loop (current loop, speed loop, and position loop) control. The design of the current loop should consider the following performance to make the current adjustment speed fast; the speed loop is mainly used to enhance the system's ability to resist load disturbances and suppress speed fluctuations; the position loop, as the outer loop, determines the speed and stability of the system response. Based on the above considerations, in order to obtain excellent performance, the current loop and speed loop adopt PID control, and the position loop adopts adaptive fuzzy PID control technology. Combining fuzzy control and PID control can improve control accuracy and adjust parameters according to the changes in the object output, thus achieving good control effect. The structure of the adaptive fuzzy PID controller is shown in Figure 3. The error e and the error change ee are used as inputs. Based on the PID algorithm, the current system error e and the error change rate ec are calculated, and fuzzy inference is performed using fuzzy rules. The fuzzy matrix table is queried to adjust Kp, Ki and Kd online [3]. It can be seen from the above formula that the magnitude of the change of |e| and |ec| has different effects on the system output u. In order to make the controlled object have good dynamic and static performance, the online fuzzy self-tuning of parameters Kp, Ki and Kd should follow the following rules: (1) When |e| is large, that is, the error is large, in order to speed up the system response speed, K should be larger; in order to prevent |ec| from being too large instantaneously, Kd should be smaller; in order to avoid large overshoot, the integral action should be restricted and the integral link should be canceled, that is, Ki=0. (2) When |e| is medium, in order to reduce the overshoot of the system, Kp, Ki and Kd should not be large, and K should be smaller. The magnitudes of Ki and Kd should be moderate to ensure the system response speed. (3) When |e| is small, in order to make the system have good steady-state performance, the values ​​of Kp and Ki should be increased. At the same time, in order to improve the anti-interference ability of the system and avoid the oscillation phenomenon of the system near the set value, an appropriate value of Kd should be selected. The principle is: when |ec| is small, Kd should be larger; when |ec| is large, Kd should be smaller. 4 Experimental Results and Analysis The position controller was simulated using MATLAB simulation software. The given position voltage was U=1.2V. The parameters of the traditional PID were selected as K<sub>0</sub>=2, Ki=0.04, and K<sub>1</sub>=0.1. The simulation results are shown in Figure 4. The fuzzy adaptive PID algorithm is significantly better than the traditional PID control algorithm. The adaptive fuzzy PID control based on fuzzy inference is significantly better than the traditional PID control in terms of reducing overshoot, speeding up the adjustment, and reducing steady-state error. The use of adaptive fuzzy PID control in the position controller makes the system still have a fast response capability and strong robustness when the parameters change. Figure 4 Comparison of PID regulation and adaptive fuzzy PID regulation for position loop 5 Conclusion The brushless DC motor control system with DSP as the main processor and CPLD as the coprocessor has greatly reduced the workload of DSP by utilizing the powerful logic function and current chopping function of CPLD compared with the previous system with DSP as the control core. This allows DSP to complete more complex control algorithms and ensures the real-time performance of control. The control strategy of fuzzy adaptive PID is adopted for position loop. Simulation results show that compared with the traditional PID control method, the system's response capability, control accuracy, and steady-state performance are significantly improved. References: [1] Wang Xiaoming, Wang Ling. DSP control of electric motors [M]. Beijing: Beijing University of Aeronautics and Astronautics Press, 2004. [2] Liu Heping. TMS320LF240X DSP structure, principle and application [M]. Beijing: Beijing University of Aeronautics and Astronautics Press, 2002. [3] Liu Jinkun. Advanced PID control MATLAB simulation [M]. Beijing: Electronic Industry Press, 2004. [4] HZLI, ZGONG. Dsp-based motion control of a non-commutated DC linear motor module[J]. International Journal of Software Engineering, 2005. [5] Cong J, Romesis M. Performance—driven multi—level clustering with application to hierarchical FPGA mapping[C]. Design Automation Conference[S. 1. ], 2002.
Read next

CATDOLL Cici Hard Silicone Head

The head made from hard silicone does not have a usable oral cavity. You can choose the skin tone, eye color, and wig, ...

Articles 2026-02-22
CATDOLL 115CM Momoko TPE

CATDOLL 115CM Momoko TPE

Articles
2026-02-22
CATDOLL 133CM Kiki Shota Doll

CATDOLL 133CM Kiki Shota Doll

Articles
2026-02-22