A quick and easy way to design sensorless FOC motor controls
This article describes easy entry for designers into the complex world of sophisticated motor control systems through either of two flexible, scalable, easy-to-use and affordable platforms from Infineon, catering for companies with different levels of existing competence.
By Ivan Dobes and Frederic Zimmer, Infineon Technologies Download PDF version of this article
Motor control application designers are under pressure today from the markets, competitors and regulators to optimize the performance and efficiency of their systems, while keeping the costs of the electronics systems to the minimum. Applications ranging from pumps, fans and compressors in home appliances to drones and e-bikes require sophisticated control systems able to respond reliably to dynamic loads and rapid changes in motor speed while keeping the efficiency at the highest possible level, and at the same time meeting the other application requirements, such as low acoustic noise, for example. The ideal solution to this design challenge is the sensorless field-oriented control (FOC) of permanent magnet synchronous motors (PMSMs). However, designing such a system requires expertise in advanced motion-control algorithms, software optimization, and motor performance.
The XMC 1300 series with its dedicated peripherals is suited for cost-efficient, sensorless or sensor-assisted motor control
Infineon offers two types of controllers which are capable of running sensorless FOC control of PMSM motors: XMC MCUs, based on standard ARM-Cortex-M0 core, and iMOTION IRMCK099 motion controller IC. These two types of controllers serve different types of designers. XMC targets designers and companies with solid or extensive know-how in motor control and embedded programming, which can then use the motor control software that Infineon provides as a basis for their own motor control and system software. On the other hand, iMOTION IRMCK099 serves companies which do not have sufficient motor-control know-how, or their core competence is based at the system level. These companies can then use the IRMCK099 as a turnkey solution for motor control, while focusing on differentiation at the system level.
The XMC1302 supports efficient field-oriented control.
With four product series and more than 100 products, the XMC1000 family caters for a wide range of applications. The XMC1000 derivatives offer between 8 KB and 200 KB flash, efficient PWM timers, 12-bit A/D converters and flexible serial communication interfaces. For the simplest applications, the XMC1100 entry-level series offers a basic range of functions to facilitate entry into the XMC world. The XMC1200 series brings in additional application-specific features, such as a Brightness and Colour Control Unit (BCCU) for LED colour and brightness control as well as capacitive touch control and LED matrix control unit. One performance level higher, the XMC1300 microcontroller series adds interfaces and hardware blocks optimized for motor control. In addition to the high-performance Capture and Compare Unit (CCU8), it also incorporates a position interface (POSIF) for the precise detection of the motor position by external Hall sensors or encoders. A MATH coprocessor (XMC1302) accelerates key mathematical operations required for execution of complex motor control algorithms. These features of the XMC1300 series enable both sensor-assisted and sensorless field-oriented control of electric motors. The latest XMC1400 series offers a performance boost of up to 70% thanks to a faster CPU clock and built-in pre-fetch buffer. This series also features a CAN interface which is very often used as a communication protocol in the industrial environment. The entire XMC1000 family offers variants for the temperature range up to +105 °C.
For numerous industrial applications, and particularly for efficient motor controls, high-speed, precision A/D converters are required. The A/D converter of the XMC1000 family can be configured with resolutions of 8, 10 and 12 bit. This allows the conversion time and resolution to be optimised for the application. Beside high resolution and sampling rate, the precise setting of the time of a measurement is particularly important. The XMC1200, XMC1300 and XMC1400 series thus allow sampling times to be defined via programmable, hardware-controlled sequencer in accordance with the switching patterns.
Alternative motor control with the IRMCK099M controller board, where a motor control ASIC with hardware-based, sensorless FOC control is implemented
The MATH co-processor of the XMC1300 and XMC1400 series can be used for vector rotation (PARK transformation) with 24-bit resolution. It computes in parallel to the main CPU, which in turn allows powerful algorithms to be implemented more easily and precisely for the field-oriented motor control. Another motor control specific block is the programmable POSIF interface, which enables using Hall sensors as well as incremental encoder for position sensing. Using the POSIF allows the accuracy to be improved and the software simplified for various applications, since the relevant data can be recorded simultaneously. A low-pass filter suppresses the noise and interfering impulses from the Hall sensor and rotary encoder, which could lead to incorrect position and/or speed readings.
Using the μC/Probe XMC, it is possible to display critical control loops in the motor control in real-time with the aid of an 8-channel digital storage oscilloscope.
The CCU8 supports applications with more complex PWM signal generation by means of complementary switches in half-bridge configuration and multi-phase control. These functions in conjunction with a highly versatile and programmable scheme for signal conditioning mean that the CCU8 is especially suited for high-performance motor controls as well as multi-phase and multi-level systems. Typical applications that benefit from this include 3-phase inverters for drives, 3-level inverters for solar modules and half-bridge converters. Using the CCU8 timer unit and the additional compare channel also enables the option of defining different dead times for rising and falling edges and generating asymmetric PWM signals.
The IRMCK099 is a dedicated motion-control IC designed specifically to address the complex requirements associated with advanced sensorless motor control applications. Unlike other motor control ICs that require some programming, the IRMCK099 features a Motor Control Engine (MCE) with control algorithms (based on standard library blocks) included in firmware along with a hardware accelerator. This MCE implements sensorless FOC for both interior and surface PMSMs using single or leg shunt current feedback through a combination of hardware and firmware elements. The IRMCK099 incorporates all major system elements in a 5 mm x 5 mm, 32-pin QFN package that operates from a single 3.3V supply. A built-in A/D converter offers 12-bit resolution and a 2μs conversion time, making it suited for precision applications. Alongside the advanced A/D converter is a 100 MHz internal oscillator that removes the need for an external clock. A Sigma Delta DAC provides a two-channel analog output and all analogue inputs are factory calibrated. Along with 16 kB of on-board OTP memory with a CRC memory check, the device features advanced communication and interface subsystems including a 57.6kbps UART, 8 digital GPIO ports, 6 PWM outputs and an I2C interface. Four register-selectable control inputs enhance design flexibility by supporting motor speed and direction control via UART, analog voltage, frequency or duty cycle. This ensures simplified interfaces within a wide variety of applications. The single shunt reconstruction feature allows the accurate current measurement needed for FOC control to be achieved with a single external shunt, thus minimizing external analog and digital circuitry. Phase shift PWM eliminates the minimum pulse limitation, improving motor start at low speeds and reducing acoustic noise in operation. Built-in safety and protection features include rotor lock protection and catch spin to detect any rotation of the motor before a control input is applied.
GUI-based software permits simple parameterization and tuning.
As opposed to MCU or DSP-based FOC designs, the dedicated iMOTION IC approach makes it possible to realize a motion control design without any programming. Control parameter calculations are performed using a GUI-based drive configuration and design tool (MCE Wizzard). The tool features a simple form-based dialog GUI that captures all the motor parameters and application information such as speed and acceleration in an easy-to-understand, engineer-friendly format – also explaining where to find the necessary information. Once calculated, the parameters are automatically exported to the MCE Designer tool. This tool facilitates motor drive control and testing as well as parameter tuning. A powerful parametric trace tool allows the user to trace and plot internal control variables, thus rapidly debugging and improving the motor drive performance.
The iMOTION Modular Application Development Kit (MADK) is a compact and versatile evaluation system and a scalable development platform for 3-phase motor drives (115/230 V) currently covering the power range between 20W and 300W. It comprises controller and power boards for sensorless or optionally for sensor-assisted control. The kit can be used to implement a fully functioning motor system within less than an hour. All that is left for developers to do is to connect the boards to the PC, motor and power supply, download, install and parameterise the software – and the motor will already be running.
The iMOTION MADK kits offered address various motor control designs. Each kit comprises a control board with built-in or separate debug interface in addition to a complete power stage with a rectifier and EMI filter. Also included: motor control software (pre-installed or available for downloading) in addition to simple, GUI-based software (µC/Probe XMC or MCE Wizzard/MCE Designer) for the parameterization and tuning.
Complete design kits with two controller boards and four different power boards (250V and 500V)
The µC/Probe XMC is a derivative of the µC/Probe from Micrium specially designed for XMC microcontrollers. This Windows-based application software allows the XMC memory to be written and read during operation without disruptions in order to optimise the application. With µC/Probe XMC users can generate their own GUI interface. It is possible to position and view the graphic components easily using drag and drop functionality. The global variables and memory contents can be monitored in real-time, also with the aid of a 4-channel digital storage oscilloscope. The oscilloscope can be simply enabled with an object code, which also determines the configuration of the sampling rate or the size of the buffer storage.
For the various applications or power ranges, it is currently possible to combine two different controller boards with six different power boards. One of the controller boards is based on XMC1302 MCU while a further control option is available with the IRMCK099M-based controller board. The power stages optimised for motor drives are based on the compact integrated power modules and available in 250V and 500V variants respectively. The modules comprise 3-phase inverters including high-voltage gate drivers and MOSFETs with low on-resistances.
If the XMC1302 controller card is used, the FOC software is either already installed or it can be downloaded via the Internet. The control card hardware is designed for also supporting either Hall sensors or innovative 3D magnetic sensors. The XMC1302 control card features on-board debugger with Segger J-Link technology. Further application software can be implemented via the free DAVE Integrated Development Environment (IDE) from Infineon, or other ARM IDEs, such as from Keil, IAR or Atollic. The IRMCK099 control card is supplied along with a separate isolated debug interface card. The controller is delivered pre-programmed with sensorless FOC firmware. Both MADK controller boards and six different power boards can be purchased separately through Infineon or via distributors worldwide. There are also four different kits offered combining an XMC1302 control board with one of the four power boards of the μIPM IRSM836 or μIPM-DIP IRSM505 series (500V or 250V option). Infineon will be gradually extending its offering of controller and inverter boards, e.g. with up to 1kW.