Member-only story

An Arduino Nano Electronic Speed Controller (ESC) — Part 4

David Such
7 min readNov 24, 2022

--

In order to keep your BLDC motor spinning, you need to know the position of the rotor, to time the activation sequence of the coils. If you have a hall effect sensor, then this is a trivial exercise. If you don’t, then we need another method. Zero-crossing Detection is the most common approach for sensorless control.

8.0 Zero-Crossing Detection

The commutation pattern for a 3-phase BLDC motors consists of six stages (Figure 1). During each stage, two phases are being driven, and one phase is floating. In sensorless commutation we measure the BEMF voltage in the floating phase to determine rotor position. We established earlier that we can determine the rotor electrical position by detecting when the floating phase terminal voltage equals half the applied voltage. This method of determining phase drive timing is called zero-crossing detection.

Figure 1. 3-Phase BLDC Motor Commutation Pattern[1]

The six drive stages are referred to as the “120° Six Step Drive”. This forces zero current twice in each phase during a six-step period (Figure 2). For each step, one phase (aka winding) of the motor is not energised.

During one electrical cycle, there is always one winding biased in one direction and another in the other direction. In the first stage, the transistors T1 and T4 are ON (all the rest are OFF), the current flows through windings A and B, and the rotor moves to 60 °. In the next stage the transistors T1 and T6 are ON. The current flows through windings A and C and the rotor moves to more than 60 °. The sequence continues as shown in Figure 2.

Figure 2. Current in Windings A, B and C [2]

Maximum motor efficiency is achieved if the commutation between two consecutive steps is performed only when the rotor is in the right spatial position, which occurs when the BEMF signal and the phase current are synchronized (Figure 3). If current and BEMF are not in phase, then the BLDC…

--

--

David Such
David Such

Written by David Such

Reefwing Software · Embedded Systems Engineer · iOS & AI Development · Robotics · Drones · Arduino · Raspberry Pi · Flight Control

No responses yet

Write a response