I am trying to develop a BLDC motor ESC (electronic speed control) for motors in water. This means that the motors will be subject to more load (due to the water). I am going for the sensor less approach. I am initially giving it 35% duty cycle and looking for a specific '0' crossing in the floating phase. The waveform I get is shown below:

enter image description here

In the above image, the blue waveform denotes the float phase, whereas the yellow spikes denotes the areas/regions greater than Vcc/2 (in other words greater than '0' crossing). Now, I measure the time the '0' crossing happens and double it. This doubled value is my new commutation time for the motor (the duty cycle, I keep it constant,though). This is shown in the fig below. It has no slope value

enter image description here

But, the moment I go for new commutation, it fails and the floating phase becomes a constant level. In contrast, when commutation it was a gradation (it had a slope).

Why is it so? I have detected the correct '0' crossing and it is a '0' crossing for that particular duty cycle. Why then does the commutation fail?

The reason, outright, I feel is thus. At 35% duty cycle, the commutation is occurring properly. But, the current required to rotate the motor is insufficient for the motor to drive the motor. But then that defeats the purpose of a '0' cross detection.

  • \$\begingroup\$ How are you detecting the zero cross? What circuit? \$\endgroup\$
    – Andy aka
    Jun 30, 2014 at 8:56
  • \$\begingroup\$ I am using the ADC. \$\endgroup\$
    – Board-Man
    Jun 30, 2014 at 8:59
  • \$\begingroup\$ What are you using to measure the zero cross - I'm presuming you are measuring the zero cross of current rather than voltage because the motor is an inductive device and voltage zero cross isn't where current is zero. \$\endgroup\$
    – Andy aka
    Jun 30, 2014 at 9:11
  • \$\begingroup\$ hmm.I am actually looking at the voltage one. how can i look at the current crossing. Any tips sir. \$\endgroup\$
    – Board-Man
    Jun 30, 2014 at 9:29
  • 1
    \$\begingroup\$ You will need a small value resistor in series with the motor and a differential amp but without knowing your circuit it could be easier or harder. \$\endgroup\$
    – Andy aka
    Jun 30, 2014 at 9:46


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Browse other questions tagged or ask your own question.