Whenever we have a system with a microcontroller acting on motors, we'll definitely have voltage and current problems as ELECTRONOOBS explains in his tutorial about ESCs. The micro processors typically work at a voltage of 3.3 or 5 volts and use very low power. Instead motors are beasts whose main food is current. Therefore we need to separate the high amp 12V part of our circuit from the low 5V part. When i say motors I refer to triple phased brushless motors. By having three-phase motors things get complicated compared with a simple DC motor. We have to power 3 inputs to the motor in a very precise sequence. To generate that sequence of high or low state of the motor inputs an ESC is used(electronic speed control).
Brushless 3-phase motors need a special sequence delivered at their inputs and that must be precisely switched in a certain moment. To do that, ELECTRONOOBS implemented the BEMF detection and zero cross technique.
The board is simple and CNC milled. The design was made in DESIGN SPARK and then sent to a CNC mill to be engraved. This kind of PCBs are good for prototype but could result into a lot of errors due to noise. The cirrcuit EN uses is simple, a microcontroller controls verything, 3 drivers to control the gate of 6 transistors in a 3-phase bridge structure. If you want nice PCB services and get your own boards for 5$, check PCBWay.com and quoye now. Thank you very much.
The BEMF or back electromotive force technique goes like this. The magnets inside the motor will induce a voltage drop on the coils. The ADC of the microcontroller will read that voltage. Depending of the voltage value, a zero point between all 3 inputs is set. Whenever one of the coils voltage passes taht zero line the sequence switches to next part. A total of 6 parts are needed to complete the sequence.
So the microcontroller activates two transistors in each part of the sequence and waits the BEMF to react and when the zero cross is made, it switches to enxt step in the sequence and by taht spins the motor. Without the BEMF the motor couldn't syncronise itself and would loose power. If external force tries to stop the motor, the zero cross will be slower, so the motor will automatically syncronize its electronic speed with the real speed. That is a BEMF feedback control.
The PCB has 8mm tracks for the main output and those tracks are filled with solder. Why? well ESCs could deliver huge amounts of current, over 20A. So with such a thin copper layer, solder was needed so the track won't burn out.
The drivers are duals, meanning each driver could control a pair of transistors. Driver are needed since the Arduino works at 5V and the MOSFETs at a voltage higher than 12V. Also, the design has back voltage diodes since the motor has coils and that could induce voltage spikes. The speed is controlled with a potentiometer. Next version, says EN that will have a PWM control just as any other commercial ESC.