Field-oriented control of brushless motors using an ARM7 processor

Publisher:学富五车Latest update time:2007-02-12 Source: 电子产品世界Keywords:Asynchronous Reading articles on mobile phones Scan QR code
Read articles on your mobile phone anytime, anywhere

Any improvement in motor drive energy efficiency will save a lot of electrical energy, which is part of the reason for the growing interest in advanced motor control algorithms. Three-phase brushless motors mainly refer to AC induction asynchronous motors and permanent magnet synchronous motors. These motors are known for high energy efficiency, high reliability, low maintenance cost, low product cost and silent operation. Induction motors are already widely used in industrial applications such as water pumps or fans, and are flooding markets such as home appliances, air conditioners, automobiles or servo drives together with permanent magnet synchronous motors. The main reasons for the development of three-phase brushless motors are: the price reduction of electronic components makes it possible to implement complex control strategies to overcome their poor dynamic performance.

Take an asynchronous motor as an example. A simple design requires applying three 120° phase-shifted sine wave voltages to the stator. These windings are arranged in a way to produce a rotating magnetic flux. Using the transformer effect, this magnetic flux induces a current in the rotor cage, which then produces rotor flux. It is the interaction of these two magnetic fluxes that generates electromagnetic torque, which causes the motor to rotate. The condition for inducing a current on the rotor is to ensure that the rotational speed of the rotor and the magnetic flux frequency of the stator are different; if they are the same, the rotor only experiences a constant magnetic flux and no induced current will be generated (Lenz's law). The small difference between the energized frequency and the mechanical frequency it produces is the reason for the asynchronous motor's name. The simplest way to achieve adjustable speed operation of a three-phase AC motor is to implement a so-called voltage/frequency control (or scalar control), which works by maintaining a constant ratio between frequency and the voltage energizing the motor. This method produces a constant stator flux, which then results in the rated motor torque on the rotor spindle. This is a popular control method for low-cost drives whose application load characteristics are well understood, and for drives whose control bandwidth requirements are not very high, such as a small number of HP pumps and fans, washing machines, etc. An 8-bit microcontroller such as ST7MC, which is not very MIPS and has reasonable peripheral interfaces, can meet the needs of this application, and the programming is also very simple.

This method cannot guarantee the best motor characteristics (torque, energy efficiency) during instantaneous operation. Moreover, in order to prevent temporary demagnetization of the motor, the time of the driver's reaction force must be limited. In order to overcome these constraints and take into account the dynamic characteristics of the motor, other control strategies have emerged on the market. Field-oriented control (also called vector control) is the most widely used control algorithm. Target applications include belt conveyors, high-power water pumps, automobile exhaust emissions, and factory automation. This method allows controlling an AC motor with two decoupled control variables (hereinafter referred to as Id and Iq), just like controlling a separately excited DC motor. The excitation current Id generates the DC main magnetic flux, while Iq controls the torque and has the same function as the armature current in the DC motor. Field-oriented control enables precise control of speed when the load changes, with very fast response, even during instantaneous operation, optimizing motor efficiency by keeping the stator and rotor magnetic fluxes orthogonal. This method enables a position control scheme (via instantaneous torque control) to release the full torque of the motor at low speeds.

The following briefly introduces the working principle of magnetic field oriented control. To change the reference coordinate system from the fixed stator coil to the moving rotor magnetic flux coordinate system, two famous transformation algorithms are used: Clarke transformation and Park transformation. Clarke transformation is to convert the 120° phase-shifted three-axis coordinate system (Ia, Ib, Ic) into a two-axis rectangular coordinate system (Ia, Ib); Park transformation is to convert the fixed (Ia, Ib) coordinate system into a rotor-related The two-axis rotation coordinate system (Id, Iq). The last two values ​​are DC or slowly changing values, which can be adjusted using a simple PI controller method. Finally, the inverse transformation (Park and Clarke inverse transformation) is used to restore it to the fixed AC three-phase coordinate system, as shown in Figure 1.

Figure 1 Working principle of field-oriented control

Among various vector control methods, we use an indirect field-oriented control method. The only motor model parameter measured and processed is the rotor time constant Lr/Rr (in the slip estimator module). If the motor is a permanent magnet synchronous motor, the block diagram and corresponding functions will be very similar, the slip estimator is no longer needed and the flux command can be set to zero (the magnet generates its own flux). Algorithms are only part of the job: Once the voltage level is calculated, it must be converted into volts and amps. Like in any modern power electronics system, this motor control system consists of muscles (the power converter) and brains (the microcontroller). The driving power converter (commonly known as an inverter) is driven by three PWM outputs. It is easy to see from Figure 2 that a powerful three-way buffer converts a 0-5V logic signal into a 0-300V square wave signal and applies it to the motor terminals. The winding inductance of the motor acts as a low-pass filter: it removes the carrier frequency, smoothes the current changes, and forms a sinusoidal current waveform, that is, the PWM modulated waveform.

Figure 2 Motor Control System

Let's look at the overall requirements of an advanced motor driver system one by one, starting with the CPU. The entire vector control algorithm must be continuously and repeatedly calculated, and the calculation speed is between 1~10 kHz (1ms to 100μs closed loop time, depending on the bandwidth of the final application). The system requires a lot of mathematical calculations (trigonometric functions, PID regulator, real-time flux and torque estimation based on motor parameters). In addition, allowance must be made for the calculation of the rest of the application (communication, user interface, etc.). In order not to limit dynamic performance, the main control variables require a minimum of 16 bits of precision, and intermediate results require 32 bits of computing power. All these factors explain why vector control must use high-speed, high-performance processors. Existing products on the market include 16-bit or 32-bit microcontrollers, hybrid controllers or digital signal processors, which are often directly related to advanced motor control. If you are not deliberately pursuing the fastest digital current control loop or the most accurate curve Control, a solution based on ARM7 processor just meets the requirements of magnetic flux directional control. In addition to core performance, if you want to minimize external components, you also need to be equipped with reasonable peripheral interfaces. This design greatly simplifies the design process, ensuring cost-effectiveness and reliability (because PCB design is simplified).

In terms of signal generation, general-purpose PWM channels are not suitable, and special PWM signals for motor control must be used. Therefore, three pairs of synchronous complementary PWM channels must be used, including dead-time insertion functions to prevent possible short-circuit faults in the half-bridge. For safety reasons, when a fault/error occurs in the power stage (overcurrent, high temperature), these 6 PWM channels must be closed at the same time. The safety function also features a dedicated emergency fault input. The clock frequency of the timer (typically >50MHz) and the triangular waveform of the PWM carrier frequency are the two factors that ensure the high accuracy and optimal noise-switching loss ratio of the sine waveform, not the sawtooth waveform.

Analog signal acquisition is another main load of the MCU. Motor monitoring must control two types of signals: slowly changing signals such as DC bus voltage (containing 100Hz ripple voltage components) or potentiometer voltage; highly dynamic frequency ranges from a few Hz to hundreds of Hz. motor current, which contains ripple current at PWM rates (typically above 10 kHz). Therefore, the speed of the analog-to-digital converter must be very fast (less than 5 μs) to reduce the measurement of unsteady currents when sequentially sampling the motor phases and save the time spent on the PWM interrupt service routine waiting for the analog-to-digital conversion results. time. In terms of converter accuracy, 10-bit is becoming the standard for converters. While an 8-bit converter is sufficient for most applications, applications with extended current ranges require more than 10-bit ADCs to maintain adequate resolution under various load conditions. In addition, the control accuracy is directly related to the quality of the analog-to-digital converter.

Finally, we also have to deal with speed and/or position sensors. Incremental encoder position sensors require dedicated signal conditioning functionality as an external clock with up and down counting capabilities to process the two quadrature signal outputs. Handling this function is a timer with a dedicated encoder mode.

We successfully implemented a sensor-based magnetic field oriented control (based on rotational speed generator) algorithm on the STR730 microcontroller, which is based on the ARM7TDMI processor, operates at 32MHz, and has embedded flash memory. This algorithm is completely developed in C language without any deliberate code optimization. In the actual algorithm, it takes 55μs to complete the entire control loop, and the CPU load is 17% at a 3kHz sampling rate. When the core is running at 60MHz, the expected execution time is under 20μs. Algorithms implemented using ARM7 processors have many advantages. First of all, ARM has now become the standard core, and its platform approach and large number of development tools are the key to saving costs; secondly, if the next generation product design requires higher processing speed (MIPS), you can directly upgrade to ARM9-based products. The barrel shifter is interesting from an architectural perspective, allowing variable resolution to be optimized throughout the processing flow. You can change the format in one clock cycle to limit processing time, in addition it allows to save certain multiplication operations with constants, for example r0=(r1<<4) - r1 is equivalent to r0=15xr1, or even faster . Low-cost DSPs have 16-bit fixed-point cores. The ARM7's 32-bit data path is able to avoid multiple 16-bit loads when the integral term of the PI regulator must be processed or when the required accuracy range must be extended. When doing motor control signal processing, other important features of the DSP are not of much use, such as hardware closed loop and dual addressing modes. These explain to some extent why people describe the ARM7 processor as such an optimized architecture.

Figure 3 shows a new STR7 product developed for ST's ARM7 processor-based product line that meets the system requirements outlined above. Main features include:
* SPTimer synchronizes the PWM timer to perform high-end PWM signal generation functions. Based on a 16-bit timer, the time resolution can be reduced to 16.6ns to achieve optimal voltage reconstruction;
* Ability to generate centered or edge-aligned PWM graphics ;
* Internal programmable dead time signal generator and emergency fault protection required for inverter fault handling;
* Multiple interrupt sources, a programmable reload rate and "no smoking" protection to simplify software processing tasks , to prevent software from modifying the configuration registers of important peripherals of the system due to loss of control.

Figure 3 New STR7 Product

This SPTimer also functions as a general-purpose timer with two input capture pins, two output compare pins, and an encoder-specific mode that minimizes software overhead. This mode has x2 or x4 resolution, automatic direction management, and can program the number of lines of the selected encoder, so the rotor angle signal can be read directly from the counting register. For the current measurement function, the new product has a built-in 3μs 10-bit analog-to-digital converter with automatic scanning function. The main peripheral interfaces include multiple timers, communication interfaces, etc. Considering the non-motor control tasks handled by the microcontroller, we designed intelligent peripherals on the circuit board, such as connection terminals, power factor correction, energy-consuming braking, etc.

STMicroelectronics is focused on developing the motor control market and is one of the only suppliers in the world capable of offering a complete motor control product portfolio, ranging from fast diodes to processors, including high-voltage gate drivers and switches. In order to meet the demand for more energy-saving "green" motors and high-performance drives, we have created a complete product line with ARM as the core to help designers uncover the mystery of vector control algorithms. This control method will soon eliminate today's mainstream DSP-style control. Promote the application of a new control method: Since advanced motor control needs can be met using a standard microcontroller with ARM as the core, who is willing to spend time on a proprietary architecture to implement advanced motor control?

Keywords:Asynchronous Reference address:Field-oriented control of brushless motors using an ARM7 processor

Previous article:Field-oriented control of brushless motors using an ARM7 processor
Next article:Design of three-phase hybrid multi-subdivision stepper motor driver

Latest Industrial Control Articles
Change More Related Popular Components

EEWorld
subscription
account

EEWorld
service
account

Automotive
development
circle

About Us Customer Service Contact Information Datasheet Sitemap LatestNews


Room 1530, 15th Floor, Building B, No.18 Zhongguancun Street, Haidian District, Beijing, Postal Code: 100190 China Telephone: 008610 8235 0740

Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号