I would like to design a dual axis DC brushless motor controller. (rated voltage 12V, 1.5A max current)
The motors will have hall sensors and quadrature encoders.
I would like to have a simple trapezoidal motion manager with speed and position loop control.
Is there a reference design and coding project for this?
What is the recommended controller for this application?
Hi, Rot,
I suppose that you want to use ONE micro controller to control TWO BLDC motors based on Hall or encoder sensor with position/speed loop. for the application, the micro controller has to have the peripherals:
two PWM modules, multiple Timer modules so that the 3 Hall sensor and Encoder signal can be handled to get rotor position and speed. Multiple ADC module to sample Bus voltage and bus current.
I suppose that you use KV5x or MC56F847xx to develop the application:
This is the KV58 modules:
The FlexPWM0 and FlexPWM1 can be used to generate PWM signal to control TWO BLDC.
The Quadrature Encoder/Decoder (ENC) can be used to interface with encoder to get position and speed.
The FTM1/FTM2 can be used to connect with 3 Hall sensor. If you use DSC, you can use QTimer module.
The SAR ADC and Cyclic ADC can be used to sample bus voltage and current independently.
This is KV5x link:
This is DSC MC56F84xxx link:
MC56F84xxx|Digital Signal Controllers | NXP
This is BLDC link:
Brushless DC (BLDC) Motor Parts Solutions | NXP
This is servo control based on encoder:
Simple Servo Motor Control Solution|NXP | NXP
dual motor control:
Dual Sensorless PMSM FOC Reference Design | NXP
Hope it can help you
BR
XiangJun rong
Hi,
Thank you.
Will the KV5x or MC56F847xx be able to handle two encoders, 2 PWMs and 2 hall sensor signals?
I also need to process the Uart and GPIO at the same time.
Will the i.mx 1050 suite it too?
I saw this document:
https://www.nxp.com/docs/en/nxp/application-notes/AN12200.pdf
thanks
Hi, Rot,
Of course, you can use i.mxrt1050, it meets your requirement:
It has 4 FlexPWM modules, each FlexPWM module can generate 8 channels PWM signal to control ONE BLDC.
it has 4 quadTimer module, each quadTimer module can interface with ONE encoder or 3 Hall signals.
It has GPIO and uarts modules.
We have library for the i.mxrt, for example PID,
Hope it can help you
BR
XiangJun Rong