Electronic – arduino – Controlling a brushless DC motor with an Arduino–*without ESC*

arduinoatmegabrushless-dc-motormotor controller

I want to build an ESC using an ATmega328 (used in Arduino Uno). This is the Brushless DC Motor I've chosen and this is the MOSFET I've chosen to gate the power supply. It will be used to drive a variable speed propeller in one direction.

I understand the concept of "rotating" the power but I can't seem to complete the puzzle.

  1. At what frequency do I have to gate the MOSFET for maximum speed? The motor is a 700kv at maximum 14.4 volts. Does that mean I have to gate the MOSFET at 10.08MHz (700KHz * 14.4)?
  2. Do I have have to sense the rotor position? (Using Hall Effect or sensor) If so, why?
  3. Is a square wave (PWM) or sinusoidal wave better for this application?

Edit:

  1. I mistook 1kV for 1000rpm-per-volt instead of the correct 1rpm-per-volt. I also was thinking revolutions-per-second instead of the correct revolutions-per-minute. It is much more plausable now.

Best Answer

Atmel have a few application notes about brushless motor control without sensors, e.g. http://www.atmel.com/Images/doc8192.pdf or http://www.atmel.com/images/doc8306.pdf

2/ You need to sense the rotor position somehow. The magnetic field in the motor coils needs to rotate slightly in advance of the magnetic field in the rotor in order to pull it around, so you need to know where the rotor is to switch the next set of coils on at the right time. If the motor does not have hall effect sensors then you do this by sensing the emf in the coils. This only works once the motor is rotating, so there is a slower fixed sequence to start the motor.

1/ The kv number is the rpm per volt at no load, so at 14.4V the motor might be expected to be going at 10,000 rpm which is 167Hz. 10MHz would be very fast for a motor - the tips of a 10cm propeller would be at 2% of the speed of light.

3/ As the app notes will tell you, the wave form of the field required for these motors is 'trapezoidal' which is essentially a square wave.