I was wondering if I could use something like microcontroller instead of an ESC. I tried finding tutorials on Google and YouTube and I couldn't find anything useful. Could you please help me?

P.S. I am planning to use this brushless motor: http://www.hobbypartz.com/88e-df40314-adf40-200-8600kv.html

  • 4
    \$\begingroup\$ I think that your premise is wrong. From what I've seen, microcontroller is almost always part of an ESC. You could make an ESC yourself using a microcontroller if that's what you want. Also that link keeps redirecting me to Google. \$\endgroup\$ – AndrejaKo Feb 22 '13 at 23:07
  • \$\begingroup\$ I am making a mini quadcopter, and want somthing smaller and lighter than an ESC \$\endgroup\$ – user151324 Feb 22 '13 at 23:08
  • \$\begingroup\$ user1832583 Look: Device used to drive a BLDC is commonly called ESC. Whatever you make, it will still be an ESC. You can of course deice to make a lighter ESC to suit your needs, but it's still going to be an ESC. If you really want you cold call it "BLDC driver" or something like that, but that won't mean that there's a functional difference. \$\endgroup\$ – AndrejaKo Feb 22 '13 at 23:09
  • \$\begingroup\$ I see, I always kinda've had that in the back of my mind... \$\endgroup\$ – user151324 Feb 22 '13 at 23:11
  • 1
    \$\begingroup\$ ...so you want to make your own "smaller and lighter" ESC. Not "instead of ESC." \$\endgroup\$ – DrFriedParts Feb 22 '13 at 23:43

It sounds like what you're wanting to do is to roll your own onboard ESC as part of your quadcopter design to save weight instead of using a prepackaged ESC on its own PCB. That's a perfectly reasonable thing to do, but there's a little more involved than just the microcontroller.

Most importantly, you need a power driver for each motor, either a dedicated BLDC driver IC or 6 discrete MOSFETs. If you use a microcontroller with enough PWM outputs, you won't need a separate BLDC controller IC in addition to the driver. Off the top of my head, there's STM32F0, PIC24, dsPIC, and LPC4350 chips that have dedicated precision motor control PWM timers.

I can't see a datasheet/wiring diagram for the motor you linked, but it has 3 wires (obnoxiously, all black) coming off of it, which means it's likely a standard 3-phase BLDC with no hall effect sensors built in.

The term you want to Google is "sensorless BLDC control", which will come up with a whole bunch of application note PDFs from various microcontroller vendors. This method of control requires use 3 channels (per motor) of your microcontroller's ADC to measure back EMF in the motor in order to tell when to energize the next phase of the motor.

  • \$\begingroup\$ Also googling 'open source esc' shows several groups trying to do the same, though usually for reasons other than size. You're unlikely to get significantly smaller than a commercial one for the same power handling - size is a competitive factor in the market. \$\endgroup\$ – Pete Kirkham Feb 24 '13 at 15:24

No, you can't use "something like a micro controller" to drive such a large load. A BLDC ESC basically outputs a 3-phase sine wave which has an electrical frequency proportional to the duty cycle of the input 50Hz PWM .

A BLDC (Brush-Less DC) motor is basically a synchronous AC motor with a DC driver (ie ESC driver). It must be driven with a frequency modulator (ie ESC).

Your best bet is to buy an ESC and hook up an microcontroller on the input of the ESC. Output a 50Hz PWM from the microcontroller. The duty cycle of the PWM will be directly proportional to the speed of the motor.


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.