Author: Aldrin Abacan, Microchip Technology Inc.

The sinusoidal current drive has been the one of the most used methods in industrial applications for driving BLDC motors. Compared to the six-step commutation (trapezoidal drive), the sinusoidal current drive provides higher efficiency, lower torque ripple and lower acoustic noise. It is the preferred option by users for low-speed and low-noise motor control systems. For practical applications, both the maintenance and implementation cost are also a consideration in choosing the right motor type and motor controller.

This application note describes how to implement a sinusoidal current drive on a sensored 3-phase BLDC motor setting, using a low-cost 8-bit microcontroller. By using Microchip’s Core Independent Peripherals (CIPs), the sinusoidal current drive functions with less processing from the CPU, by reducing the complex firmware mathematical operations required. This application note also highlights the use of the Direct Memory Access (DMA) peripheral to move data from a Sine Look-up Table (LUT) to the PWM peripherals, using unused CPU cycles. By implementing these functions, the CPU gains additional bandwidth to handle other system processes. Figure 1 shows the basic block diagram of implementing sinusoidal current drive using PIC18-Q43 family devices.

Figure 1. 3-Phase BLDC Motor Control Block Diagram