This application note describes the implementation of the 3-phase Brushless DC motor (BLDC) control with Hall sensor based on the NXP LPC55S36 processor. Please refer to AN13571 for complete instructions on how to use this software. https://www.nxp.com/docs/en/application-note/AN13571.pdf.
The LPC55S3x/LPC553x is an Arm Cortex-M33 based microcontroller for embedded applications. These devices include up to 256 KB on-chip flash, up to 128 KB of on-chip SRAM, one SCTimer/PWM, eight flexible serial communication peripherals (which can be configured as a USART, SPI, high speed SPI, I2C, or I2S interface), two 16-bit 2.0 Msamples/sec ADCs capable of four simultaneous conversions, four comparators, two temperature sensors, three 12-bit 1 Msample/sec DACs, three OpAmps, two FlexPWM timers. The Arm Cortex-M33 provides a security foundation, offering isolation to protect valuable IP and data with TrustZoneĀ® technology. It simplifies the design and software development of digital signal control systems with the integrated digital signal processing (DSP) instructions.
This application note mainly introduces the principle of BLDC six-step control with hall sensor, hardware and software implementation, including a detailed peripheral setup and driver description.
- Download and install MCUXpresso IDE V11.8.0 or later.
- Download and install the latest version of MCUXpresso Config Tool.
- Download and install the latest version of FreeMASTER.
- Download the attached software package of AN13571.(Based on SDK_2_14_0_LPCXpresso55S36)
- LPC5536/LPC55S36 Evaluation Board(REV.D).
- FRDM-MC-LVBLDC.
- LINIX 45ZWN24 BLDC motor.
- Personal Computer
- Micro-usb cable and 12V adaptor.
Open MCUXpresso IDE and choose File->import.
And select General->Existing Projects into Workspace.
Click "Browse.." to select the local path of the downloaded software compression package.
Connect the FRDM-MC-LVBLDC shield to the "MOTOR1" arduino connector of EVK board, which on the bottom side of the board. Connect the 3-phase wire of the motor to the J7 connector on FRDM-MC-LVBLDC accroding to phase sequence and hall signal wire to J8. Power the FRDM-MC-LVBLDC board with a 12V adaptor.
Compile the project and use a micro-USB cable to connect to the EVK board via LINK2 connector. Use MCU-link to download programme into MCU.
Press SW1 on EVK board to control the motor to run or stop. Or use FreeMASTER project "LPC5536_mc_bldc_wHall.pmpx" in the code package to control the motor, change rotor speed and obverse the speed or other value.
When the motor runs at a speed of 1000rpm, the signal of the Hall sensor changes alternately, and the voltage of the motor winding terminal is chopped according to the output of the Hall signal, and the opposite potential is a zero-crossing waveform without conduction.
For other rapid-development software bundles please visit the Application Software Packs page. For SDK examples please go to the MCUXpresso SDK and get the full delivery to be able to build and run examples that are based on other SDK components.
Questions regarding the content/correctness of this example can be entered as Issues within this GitHub repository.
Warning: For more general technical questions regarding NXP Microcontrollers and the difference in expected funcionality, enter your questions on the NXP Community Forum
Version | Description / Update | Date |
---|---|---|
1.0 | Initial release on Application Code HUb | July 10th 2023 |