Continue to Site

Welcome to our site!

Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

  • Welcome to our site! Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

Zero-crossing BEMF in a BLDC motor

Status
Not open for further replies.

Rusttree

Member
I've created a BLDC ESC that has been working fairly well. One thing that has been bothering me, though, is the theory behind the BEMF zero-crossing for triggering commutations.

I understand BEMF is a function of how fast the magnetic and electromagnetic field lines are crossing each other as the motor spins. But why does the zero-crossing correspond to the "best" time to commutate the motor? If the BEMF is a function of angular rate, how does it predict a positional relationship?

Thanks,
Dan
 
I understand BEMF is a function of how fast the magnetic and electromagnetic field lines are crossing each other as the motor spins. But why does the zero-crossing correspond to the "best" time to commutate the motor? If the BEMF is a function of angular rate, how does it predict a positional relationship?

Actually in the case of your brush less motor the back EMF does both. The amplitude is a function of velocity and the zero crossing is a function of position of the winding vs magnets.

[/QUOTE]
 
Hmm... is there a resource you could point me to that details that concept? So far, I haven't found anything on google that explains the positional relationship.
 
I actually came across that app note earlier, but didn't have any lightbulb moments when I read through it. Maybe I just need to stare at it a little longer...
 
If the BEMF is a function of angular rate, how does it predict a positional relationship?
no matter what the rate, no matter what the amplitude, it will cross zero in only one position, where the winding is directly aligned to the magnet.

But why does the zero-crossing correspond to the "best" time to commutate the motor?
It's like in a car engine; the spark needs to fire when the piston reaches top dead center, or slightly after, or else it could send the piston back down the same direction it was coming from, reversing the direction of the crankshaft. If the BLDC fired the windings before zero crossing, I predict the motor would just oscillate. If it fired the windings after zero crossing, I think you would lose a lot of efficiency
 
It's like in a car engine; the spark needs to fire when the piston reaches top dead center, or slightly after, or else it could send the piston back down the same direction it was coming from, reversing the direction of the crankshaft. If the BLDC fired the windings before zero crossing, I predict the motor would just oscillate. If it fired the windings after zero crossing, I think you would lose a lot of efficiency

Hey Strantor, welcome to ETO!!! In your analogy of the car engine your a little off:) The spark fires before top dead center. To give the flame time to propagate.
 
Hey Strantor, welcome to ETO!!! In your analogy of the car engine your a little off:) The spark fires before top dead center. To give the flame time to propagate.

Thanks!

Ok, so my engine mechanics knowledge is a little off. But there's no flame propogation in a BLDC so would you say the logic is still right (or close)?
 
I think the analogy of firing before TDC still holds, to give the current time to build up in the stator winding.
 
Thanks for everyone's replies so far.

So let me describe something very specific I'm seeing regarding BEMF that I don't understand. When I probe one of the phases while the motor is spinning using regular zero-crossing detection for commutation, I see the BEMF signal that I expect. When the phase is connected to ground, the signal is near zero. When it's floating, the signal rises or falls, which facilitates the zero-crossing detection. And when the phase is connected to power, it pegs up at the main voltage.

However, when I go open-loop and spin up the motor using a timer only (no zero-crossing detection), the BEMF is slightly different. When the phase is floating, it instantly jumps to exactly DC/2 and holds there until the timer initiates the next commutation. There's no rise or fall. But since I'm struggling to understand the physics behind the BEMF signal, I'm not sure how to interpret that.

Any thoughts to help me understand this?

EDIT: Forgot to mention, the motor is spinning at about 2000rpm using timers only. So I think that's fast enough to produce a reasonable BEMF response.
 
Last edited:
Status
Not open for further replies.

Latest threads

New Articles From Microcontroller Tips

Back
Top