2024-09-26 06:49 AM - edited 2024-09-26 09:50 AM
I should choose a microprocessorcontroller (to be implemented on a pcb in the future) to control a 3-phase brushless motor using field oriented control.
There are really a lot of MCU models, so I would like a guide/advice that shows how to choose it according to design criteria. By the way, I don't even know what design criteria to look at in order to choose the correct mpu ... maybe the technique used? The voltage of the inverter? The frequency at which the mosfets will switch?
Doing a little research, it seems to me that the "necessary" specifications are:
- Have a timer that can generate 3 PWM signals (one per channel) and, possibly, with dead time generation and emergency stop
- CAN bus, SPI or other communication protocols.
- "if you need a torque/speed algorithm, then you probably need a Cortex-M based uC that with the help of CMSIS performs Clark/Park transformations" ... but why?
Is there anything else?
Thanks so much
2024-09-26 06:53 AM
@luke514 wrote:I should choose a microprocessor (to be implemented on a pcb in the future) to control a 3-phase brushless motor using field oriented control.
Why would you choose a micro-processor - ie, MPU - to do that?
If you really want an MPU, why have you posted in the MCU section?
2024-09-26 08:08 AM - edited 2024-09-26 08:09 AM
You are right, I misspelled ... I meant MCU
(I edited the original post to avoid future inconvenience)
2024-09-26 09:09 AM
@luke514 wrote:- "if you need a torque/speed algorithm, then you probably need a Cortex-M based uC that with the help of CMSIS performs Clark/Park transformations" ... but why?
Please give a link for where that quote came from - so we can see it in context.
As the name suggests, micro-controllers are intended for control applications, and often have specific features to support things like motor control ...
2024-09-26 09:50 AM
link added in the main post
2024-09-26 10:01 AM
Right, so that's in the context of having previously said, "any microcontroller" and talked about AVRs (8/16 bit) and Arduino.
So he's saying you need something more "grunt" than that - something on the order of a Cortex-M.
Clarke and Park Transforms: https://uk.mathworks.com/discovery/clarke-and-park-transforms.html
ST have a whole ecosystem for motor control with STM32s:
https://www.st.com/content/st_com/en/ecosystems/stm32-motor-control-ecosystem.html