Continue to Site

Welcome to

Welcome to our site! is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

Help With BLDC Sensorless motor control


Dec 6, 2022
Reaction score
Trophy points
Activity points
Hey there!

we tend to drive a specific bldc sensorless motor using two different algorithms.

both of them are based on zero crossing detection, a vey simple approach.

the algorithm one detects ZCs by analog comparators and of course their corresponsive interrupts to apply the next step of commutation.

the algorithm two detects ZCs using ADC and then comparing the BEMF to VBus/2.
Let me explain how the second algorithm works.

firstly, an arbitrary number of steps applies to the motor in order to drive it in open loop mode. After that the algorithm switches to the closed loop mode. then speed is estimated using a timer

the speed is estimated by measuring the time between the point of ZC detection and the instant of the previous commutation step.

here is my broblem. the max speed achieved by algo.1 differes from algo.2 while the applied duty cycle is the same(for both almost 100%)

how could it be possible? I know that the speed is related to duty cycle so I tought the max speed would be the same no matter which algo I used.

I would be grateful if you could help.

LaTeX Commands Quick-Menu:

Similar threads

Part and Inventory Search

Welcome to