Electronic – arduino – Homemade Brushless ESC

arduinolipomosfetmotormotor controller

I am currently working on building a quadcopter with brushless motors. I decided to try to build the ESCs by myself with some MOSFETs. I am using an Uno as the main controller on the receiving end. Before I started building I want to verify that I will not destroy my motors.
What I am thinking on doing is sending a PWM signal to the MOSFETs which would turn each motor on and off in a fashion that would rotate the motor fully. Would this work without destroying the motors? I am using an 11.1v LiPo so there is a fair amount of current flowing. Also, would I need any current limiting resistors or can I just have a dead short through the windings?

Thanks

Best Answer

Yes, it is possible to do this and many people have done it. No current limiting is necessary, although it is good to use a current shunt to measure current through the windings (only one is enough).

Another thing that is essential is the BEMF sensing circuitry for rotor position estimation, commonly done with analog comparator of the MCU.

And the main and most important thing to implement is the control algorithm, which maintains constant load angle as the speed and load varies.

Edit: The MOSFETs need to be switched with two independent frequencies: The PWM which is something above 20 kHz and sets motor torque, and commutation frequency which is several hundred Hz and sets motor speed.

Edit: For development, 12V automotive bulb in series with battery provides reasonable short circuit protection.

Edit: Using just some MOSFETs is not enough. They have to be very good MOSFETs with \$R_{DSon}\$ in single-digit figures and low thermal resistance.