Patrick Heath, Microchip
Microcontrollers (MCUs), Motors & Motion Control
@MicrochipTech #mcu #microcontroller #motordesign #psd
Motors come in many forms. They range from stepper motors that are often used in precision positioning applications to the large Alternating Current Induction (ACI) motors often employed to deliver high torque for industrial mixing and processing.
Very often, the choice of motor is not just determined by the application but its environment. In the automotive environment, for example, the ability to operate from a low-voltage battery rather than AC is important. This favors the use of Brushed DC (BDC), Brushless DC (BLDC) and Permanent Magnet Synchronous (PMS) motors. Mains-powered consumer equipment such as washing machines and industrial machinery involve a design based on an ACI motor as that can run directly from a 110V, 220V, or higher-voltage source. However, even with access to higher-voltage three-phase supplies, industrial users may favor high-voltage BLDC or PMS motors for their systems because they natively offer higher torque at lower speeds than ACI motors.
As a result, the choice of motor design and application objectives strongly influences the control strategy and, in turn, the electronics platform that is used to implement it. The most straightforward motor control is no more than a switch or voltage regulator. In ACI motors, a common strategy for simple designs is volts-per-hertz. However, this method leads to low torque when the motor is rotating slowly, which is unacceptable in many applications.
By moving to more complex control strategies, designers can overcome many of the deficiencies of a particular motor type. Even though the stepper motor is designed to move in fixed steps, advanced control techniques known as micro-stepping can achieve high-resolution positioning and fluid motion.
High-performance Field-Oriented Control (FOC) strategies use mathematical models of the flux inside the motor to determine precisely when to supply power to any of the motor phases. FOC overcomes many of the problems of motor control that plague less sophisticated strategies, such as volts-per-hertz. FOC can guarantee high torque over a wide speed range and has the advantage of supporting positioning accuracy without expensive sensors – measured current returning from the motor winding provides the mathematical model with the information it needs to determine rotor position relative to the stator windings.
Multi-axis robots and Computer-Numerically Controlled (CNC) machines represent the high end of accuracy and precision requirements and will often use a combination of different motor types. Due to the high-performance requirements, designers often use high-speed DSPs or even FPGAs. These controllers are able to coordinate the activity of several motors at a time to move robot arms and machine tools through precise paths using servo encoders for position information feedback.
Among the many factors that influence motor-control designs, there is one long-term trend: a drive for energy efficiency, especially for systems that need to run continuously or for long periods. As well as employing FOC-based methods to improve the internal motor efficiency, advanced algorithms ensure higher efficiency by adjusting output power levels in real-time rather than just running the motor at a constant speed. In addition, reliability and cost are important criteria that help determine which type of motor. These considerations influence both the selection of Microcontroller Units (MCUs) and the motors themselves.
Design teams are now beginning to adopt Permanent Magnet-Assisted Synchronous Reluctance (PMASR) and Interior-Permanent Magnet (IPM) motors in home appliance and automotive systems, particularly for air-conditioner and refrigerator compressors. Although these motors are more expensive than conventional PMS designs, they offer greater energy efficiency. The move to IPM-based motors also calls for additional control software to improve the operation of the core FOC algorithms. Key additions are Maximum Torque Per Ampere (MTPA) algorithm and the use of an Angle-Track Phase-Locked Loop (AT-PLL) estimator.
Although motor designs come in many forms, with each needing a different set of control algorithms, often the same hardware peripherals are used to interface to the motor windings. MCUs and Digital Signal Controllers (DSCs) optimized for motor control will often include a combination of intelligent peripherals that are consistent across a variety of processor architectures. Motor-control MCUs should provide hardware support for Pulse Width Modulation (PWM) and dead-time insertion. This function handles the many switching events needed to deliver precise power control to each of the motor windings without direct intervention from software. That reduces the number of interrupts the core needs to take per rotation.
Click image to enlarge
Figure 2: Block diagram for the dsPIC33CH family of Digital Signal Controllers (DSCs)
A further requirement in many systems is an accurate 10- or 12-bit A/D converter. The Analog-to-Digital (A/D) converter is used to measure motor-phase voltage feedback and to detect over- and under-voltage situations. Some designs call for the use of op amps to condition the motor phase current feedback before feeding it to the A/D converter. MCUs with integrated op amps as well as comparators to detect analog thresholds will keep the component count low on the Printed Circuit Board (PCB). Integrations that combine the power-MOSFET gate drivers with the MCU/DSC into a single package reduce the PCB area, which can be particularly important for automotive and power-tool manufacturers.
An 8-bit armed with PWM controllers will be able to satisfy many low-end motor-control applications. But if greater arithmetic capability is required, a move to a similar product based on a 16-bit architecture will often be advised. For example, if the closed-loop control code needs to process voltage feedback and other signals sampled by the A/D converter, the need to split arithmetic operations into 8-bit segments can hinder performance. For these situations, a move to a 16-bit MCU or DSC is advantageous, with the DSC providing higher-performance for sophisticated control algorithms.
For innovative motor-control strategies that make use of mathematical models to calculate trajectories and motion profiles, a move to 32-bit architectures based on architectures such as the Arm Cortex-M provide another option. Cores such as the Cortex-M4 support floating-point arithmetic, which allows easy conversion of code developed in high-level tools such as Matlab.
Microchip has introduced software to ease its adoption of complex FOC algorithms. Microchip's motorBench Development Suite (mB) provides tools to extract the electrical and mechanical parameters of a BLDC or PMS motor and applies them to an FOC algorithm where the user can proceed to tune the three control loops used to manage the motor. Once the control loops and other algorithm parameters have been defined, the tool outputs a software project file ready for compilation using the MPLAB X Integrated Development Environment. The recent introduction of mB 2.0 added support for high-voltage motors up to 600 volts to the existing low-voltage motor tuning capabilities.
Although the peripherals required for motor control tend to remain consistent across a wide range of applications, multiple variants of MCUs and DSCs are needed to handle the growing complexity of system designs. Networking support is now a key requirement for automotive, home-automation, and industrial-control systems. The ability not just to send usage and error data to management systems, but to allow remote control of systems, is now a major selling point for many systems.
Each sector has its own networking protocols that, in turn, influence peripheral choices. Typically, automotive subsystems need interfaces such as LIN or CAN-FD. Industrial systems may use Ethernet or EtherCAT, with wireless becoming a common choice for integration into IoT environments. Networking support can often significantly increase the amount of program code that needs to be stored, boosting on-chip Flash to the 256KB or 512KB range. RAM requirements are also higher to support the communication stacks. Standalone motor-control applications have traditionally needed 32KB or less of program Flash.
Markets such as industrial control and automotive also have stringent requirements for functional safety. System designers need to conform to standards such as IEC 60137 Class B and ISO 26262. The inclusion of memory controllers with error detection and correction abilities as well as watchdogs, dead-man timers, and power and clock monitors ensure that MCUs can support these standards. Designers can leverage advances in DSC architecture to further improve reliability and safety. If the system uses two processor cores, software running on each core can check the behavior of the other and warn of problems or trigger a reset if execution stalls for an unknown reason.
Dual-core capability can be leveraged in other ways. By splitting the workload across two independent processors, design teams can simplify the integration of real-time motor-control software with other functions such as networking in IoT-oriented designs. Such uses are supported by the dual-core dsPIC33CH family of motor-control DSCs.
Click image to enlarge
Figure 3: dsPICDEM MCLV-2 Development Board
These devices have two dsPIC cores on the same die. One is a master core and the other a slave core. By itself, the slave core has enough processor bandwidth to control two three-phase motors. The master core can independently control a further three-phase motor and handle management, networking and other functions such as handling power factor correction (PFC) in high-power applications.
As motor technology continues to evolve and application demands change, you can expect to see further innovations in MCU and DSC design and improvements in performance to cater not just for increasingly complex control strategies but system-management and communications functions.