0
\$\begingroup\$

I just made a BLDC motor controller, but I'd like it to be able to go to higher frequencies (have less dead time, faster firmware, etc). In particular, I'm aiming for 20kHz-to-50kHz range, but am having trouble getting beyond 10kHz without seeing my top speed drop off significantly.

I realize this depends on both circuit design as well as the firmware, and to some extent the layout, but am interested in a better microcontroller choice right now, maybe one that is more optimized for BLDC motor control. I like developing with PICs right now and was wondering if anyone had any suggestions on how to pick a better PIC or if there was a family you've used before that you think would be good to sample.

I've recently discovered that some offer programmable dead time, although I'm fine with offsetting that manually. Are there any other features I should consider?

Thank you,

\$\endgroup\$
  • \$\begingroup\$ Which one are you using right now? \$\endgroup\$ – Gustavo Litovsky Jan 7 '13 at 19:41
1
\$\begingroup\$

There are various PICs that have various level of motor control hardware built in. At the lowest level you can use just basic PWM generators. At the high end there are some intended for driving 3 half-bridges with programmable dead time and other logic.

Go to the Microchip site and look for the product selector. You can easily get a list of all PICs with various combinations of features, like motor control PWM, some minimum amount of program space, certain size package, etc.

| improve this answer | |
\$\endgroup\$
1
\$\begingroup\$

The 18f4331 and others in that family are optimized for motor control, mostly by including a fancy PWM module and quad encoder handling right on the chip.

| improve this answer | |
\$\endgroup\$
  • \$\begingroup\$ I have tested with the PIC18F4550 and with the PIC16F887. With both I have found myself in the same situation, I have only been able to generate one or two PWM signals. I have seen examples where they use these PICs for this purpose. But I think they do not do it with the PWM of the microcontroller but with the TIMER. Is this true? To control the BLDC I need 6 PWM signals, since it has 6 transistors and you want to be able to control the dead time between them. Would the PIC18F4331 go well for me or others? \$\endgroup\$ – Geo May 26 at 6:21
1
\$\begingroup\$

You can to read Application Notes 885 of Microchip or Application Notes 889 for Brushless DC Motor Control Using PIC18FXX31 MCUs http://ww1.microchip.com/downloads/cn/AppNotes/cn012037.pdf or http://ww1.microchip.com/downloads/en/AppNotes/00899a.pdf

| improve this answer | |
\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.