With a further growing population, the global demand for electrical energy is continuously increasing. In terms of the generation of electrical energy, the trend is clearly towards the use of renewable energies, while on the other side there is a strong push for the increasingly efficient use of electrical energy. This is driven by more stringent regulations in all regions as well as by growing customer awareness.
“Electric motors and the systems they drive are the single largest electrical end‐use, consuming more than twice as much as lighting, the next largest end‐use. It is estimated that EMDS account for between 43% and 46% of all global electricity consumption…”
Derived from these figures there is a significant push towards the utilization of drive inverters, variable speed drives (VSD), for all motors in both the industrial arena as well as in home appliances.
Balancing cost, ease of use and flexibility
While it is a clear requirement to put an inverter to any motor, system manufacturers more and more value actual motor control as a basic functional building block and not as a differentiating feature. This is particularly true for auxiliary systems like wastewater pumps or fans in home appliances. As a global leader in power semiconductors, Infineon Technologies not only offers a wide portfolio of discrete components, but also provides integration solutions making it easy to add an inverter with a minimum effort in terms of R&D as well as bill of material.
Offered under the brand iMOTION these products integrate a production-grade control algorithm for the motor, and an optional power-factor correction (PFC) along with all required hardware functions. However, in order for the inverter to be applied as a functional building block, it has to provide flexibility and adaptability to the customer’s target application, which often goes beyond the configuration to the respective motor.
The previous generation of iMOTION products like the IRMCF100 series solved that by integrating an additional microcontroller along with the actual motor control. The upcoming IMC300 series will also adopt this dual-core concept for the next generation of motor controllers. This solution clearly results in the maximum flexibility for the customer, however, on the other side adds costs, and requires the customer to go through the full software development and release cycle. For most applications in home appliances, this full flexibility is not required, and a solution offering some flexibility on top of the actual motor control would be enough.
The new generation of iMOTION products like the IMC100 controller series takes advantage of a new hardware platform further integrating required analog and digital peripherals. With the focus on cost-sensitive applications, the IMC100 series has been designed around a single-core motion controller that limits the capability for customers to implement their adaptations.
Click image to enlarge
Figure 2: iMOTION products providing integrated solutions for motor control
The latest release of the iMOTION Motion Control Engine (MCE) now incorporates a scripting engine, giving the user the possibility to easily implement this desired level of customization. The script language can be applied for reacting to sensor inputs and switching outputs. It can also modify motor behavior during run time, e.g. to implement a speed profile or a special startup procedure. With the script engine running as a background task of the MCE, similar to a small virtual machine, this is achieved without any additional costs on hardware, and without interfering with the motor and PFC control algorithm.
Click image to enlarge
Figure 3: Script engine implementation and interfaces
Scripts provide flexibility but do not add costs
Algorithms or sub systems in embedded applications, like motor control, follow a typical life cycle. As a first step, a new implementation is done only in software to give maximum flexibility for improvements. As soon as the implementation reaches maturity, it is transferred partially or fully to hardware in order to improve performance and efficiency.
A motor-control algorithm moving more and more ‘intelligence’ into the peripherals like ADCs or timers reduces the load on the CPU core itself. With today’s smallest controllers embedding modern 32-bit architectures, this offers the possibility to make this CPU capacity available to the application designer.
iMOTION controllers implement a production-grade algorithm, and support the functional safety requirements for home appliances according to IEC 60335, commonly called Class B. Hence maintaining the safe operation of the motor (and PFC) is the first priority. The new release of the MCE therefore executes the customer script in the confined environment of a scripting engine, following the concept of a virtual machine.
This implementation exhibits multiple advantages:
· no interference of script to motor (and PFC) algorithm
· well-defined interface between script and control algorithm
· easily understood scripting language with all necessary operators
· scripts can be protected from being read out from the device-safeguarding customer IP
The iMOTION script engine gives the user the possibility to run two distinct tasks in parallel:
· task0 - running in a 1 ms cycle and
· task1 - running with a minimum cycle of 10 ms.
Both tasks are configured via initialization functions upon startup and then proceed in an endless loop. The script engine provides a high degree of freedom in configuring the execution timing and repetition rate for both tasks. Additionally a free running timer supports actions at a dedicated point in time. The interface to the MCEDesigner grants access to the global script variables for debugging, tuning and visualization.
Writing and managing iMOTION scripts
iMOTION script code uses C-style syntax and supports arithmetic and logical operators as well as decision (if…else) and loop (for…) statements. Variables can be used globally within the script or locally to one task. Access is granted to the control interface registers of the motor and PFC control.
The C-style source-code representation is translated into a compact byte code with syntax checking applied along the way. The resulting byte code is stored on the iMOTION device, and executed by the script engine. Scripts stored in the device can be protected from read-out granting protection of customer IPs. The integration of a check-sum mechanism assures the identification and verification of the respective script on the device.
The support for script generation and handling is integrated into the same tools that are applied for the configuration of the iMOTION device to the respective drive. Analog or digital IO pins, which are to be used from a script, are configured with the MCEWizard. Scripts are written in an integrated editor, and transferred into byte code.
MCEDesigner treats the scripts as configuration parameters:
· download to and delete from device flash
· read, write and visualize the global script variables.
Click image to enlarge
Figure 4: Script generation and download
In volume manufacturing, the scripts can be programmed in one single step together with the Motion Control Engine and the configuration parameter sets.
Application example: hair dryer
The features of the script engine are described in detail in the MCE Reference Manual. An application note is available to help customers to get familiar with the scripting capabilities. This application note describes the specific case of an IMC100 iMOTION controller in a BLDC-driven hair dryer, and provides the complete script-code example.
Here the MCE is used to run the motor, and scripting is applied to implement several support functions:
· speed selection interface
· dynamic motor current limit
· low-pass filtering of DC bus voltage
· target speed shaping based on DC bus.
The use of the IMC100 combining the ready-to-use Motion Control Engine with the flexibility of the scripting engine offers a solution that results in the lowest bill of material costs and a highly efficient drive.
The integration of a script engine into the MCE allows the optimal use of hardware resources and adds that bit of extra flexibility that is quite often enough for the application use case. The chosen implementation, which is similar to a small virtual machine, ensures that there is no interference with the motor and PFC algorithm especially in applications requiring functional safety. While the Infineon MCE runs the motor and PFC, and cares for the functional safety of the drive, the system designer can focus on higher-level functionality and optimize the interface to the appliance.