I am trying to make a sensorless control system for a BLDC, using "Trapezoidal control", see here:
The schematic looks like this,
PWM is applied on the top transistors during a commutation, while lower transistors are ON during the whole commutation.
Anyways, I need to measure the back-emf of the BLDC. In this document on page 2,
one can read that the back-emf can be measured by measuring the non-energized phase. 3Ec = 2Vc. But when I measure this on the oscilloscope it doesn't really look like anything I can use.
I am measuring directly on one of the phases. During time period 1, the lower transistor is ON, and the voltage is zero. In time period 2, I suspect I see the back emf. In time period 3 the upper transistor is switching. And in time period 4 I think it is the back EMF again, but this time negative. Due to the mosfet diode the back emf is clamped to -0.7V during time period (I think).
has anyone here done anything like this? I need some guidance on how to properly measure the BEMF.
Edit: Another method is comparing with Vbus (mentioned in one comment below):
I measured now between Vbus/2 and one of the phases, and it looks like below. I set the "ground" of the oscilloscope probe to Vbus/2. The red circle marks where the phase equals half of Vbus. So that's what I need to trigger on in the MCU?
Edit2: It seems starting the BLDC sensorless control is more complex than I thought. What I am doing now is simply switching between commutations to get speed. But I have read now somewhere that I need to accelerate the motor at a certain rate because "The angle between the stator and rotor magnetic fields must be in 90deg±30deg.". Otherwise I won't get a correct measurement of the BEMF. Page 25,
Is this really the case? Seems to make things substantially more difficult.