# Brushless DC Motors "slip" ... ???

Discussion in 'General Electronics Chat' started by mwalden824, Feb 27, 2013.

1. ### mwalden824 Thread Starter Member

Mar 6, 2011
51
2
OK, I just recently built a circuit to control a small BLDC motor in open loop. I am eventually going to add Back-EMF detection for closed loop control, but that is another day.

Anyway, this particular motor has 12 electromagnets around its stator. So I have a function in my code called commutate that switches to the next of 6 of the drive pattern and starts over. I am assuming every time I call the commutate function the rotor aligns with the next of the 12 electromagnets or in other words it advances by one to the next electromagnetic stator coil. Which means the commutate function has to be called 12 times for 1 mechanical rotation, correct?

I have a ramp up function that starts with a relatively long time between calls to commutate and reduces linearly to a much smaller time between these calls to commutate. The value it ends at stays in an infinite loop with this value. I have calculated like a thousand times the ending rotation speed and I am getting ~16.27 rps (mechanical rounds per second).

Now here's the problem. I setup a test rig with an optical sensor that drives the output low every time the blade of the propeller passes between it. I hooked up my oscilloscope to it and I measured the distance in time between two lows (because two blades) and I have calculated a ~4.55 rps mechanical rotation speed. That is almost a division of 4 of what it should be.

Now either I am calculating this wrong which is certainly possible, but could it be that the rotating magnetic field is rotating faster than the rotor and the rotor is just trying to keep up?

Now the measured ~4.55 rps is very stable and does not fluctuate at all.

My other question is, since it is rotating pretty stable no matter what I think the rotation speed should be, could I go ahead and switch over to a closed loop, back-emf detection routine? Or should I try to tune the ramp-up function so that I get my measured and calculated speeds correct?

Thanks

2. ### #12 Expert

Nov 30, 2010
18,076
9,678
1) I don't know.
2) You're trying to use this like a "stepper" motor.
3) 3.57:1???
4) 4.55 rpm isn't the kind of velocity that makes a fan use a lot of power.
5) We need to see how you've wired this. Post a drawing.

mwalden824 likes this.
3. ### shortbus AAC Fanatic!

Sep 30, 2009
6,280
3,641
BLDC motors without some form of rotor position feedback have no real set speed. No matter what the speed control is telling it to do. Even the resistance of a propeller will give enough resistance to throw off the stator to rotor relationship.

mwalden824 likes this.
4. ### mwalden824 Thread Starter Member

Mar 6, 2011
51
2
#12 - I have measured RPS not RPM, so multiply by 60. I am trying to use this like a BLDC motor. I have been reading application notes from microchip and atmel on the subject. I will post my schematic.

Also, if it helps there are 14 magnets in the rotor but only 12 electromagnetic coils in the stator. SO this may be the discrepancy in the calculations. So a full mechanical rotation may take more calls to my commutate function than I expected to make an actual full mechanical rotation. Could this be it?

#12 you gave me an idea with that ratio....
I just did this:
Calculated = 16.27 rps
Measured = 4.55 rps
Rotor magnets = 14
Stator coils = 12

Calculated/Measured = 3.57
Rotor-Magnets/Stator-coils = 1.1667

3.57 / 1.1667 = 2.98 which is ~3. The motor is wound as a 3-phase Y open neutral.

So the difference in rotor magnets and stator coils could definitely be the cause of why it would take more calls to the commutation function that I thought correct?

Thanks #12, and in the schematic below the only difference between it and mine now is that I have 11.1 V feeding the drivers instead of 20 V. Shortbus had told me to do that on another post, I don't know why I didn't have it that way to begin with.

Thanks

• ###### ESC_Circuit.jpg
File size:
158 KB
Views:
184
Last edited: Feb 27, 2013
5. ### BillB3857 AAC Fanatic!

Feb 28, 2009
2,477
382
If you pick a pair of the stator winding leads (doesn't matter which 2 of 3) and apply a low level DC to them, you should be able to feel distinct positions in which the rotor tends to lock up. Count how many of these you feel within one revolution and multiply by two. That will give you the number of poles, as defined by motor standards. The higher the number of poles, the slower the motor will run at any given commutation frequency. The number of poles is the factor that determines the synchronous speed of a synchronous machine, and the running speed of an induction motor. A 2-pole machine will run at or near a number of revs per second equal to the applied AC frequency - so on a 50 Hz system, the sychronous speed will be 50 revs per second or 3000 rpm. With a 4-pole machine, the rotor will move from 1 pole pair to the next in 1 AC supply cycle, so will do half a rev in one supply cycle - the synchronous speed is therefore 50/2 revs per second, or 1500 rpm. A 4-pole induction motor will have a nominal speed of 1450 rpm or thereabouts.

mwalden824 likes this.
6. ### mwalden824 Thread Starter Member

Mar 6, 2011
51
2
OK, I just did what you said and I got 7 x 2 = 14 poles. That makes sense since there are 14 magnets in the rotor. Thanks for that info.

Mechanical RPM is equal to Electrical frequency times 60 divided by poles correct?

I just need to do the math or measure the electrical frequency now. But is it possible that the rotating field is rotating faster than the rotor? I have read that BLDC motors have no slip, so I would expect that the rotating field and rotor would rotate in tandem with no lag.

Thanks

7. ### mwalden824 Thread Starter Member

Mar 6, 2011
51
2
Never mind, I figured out what I did wrong. My equation above is wrong. It's 120 * electrical frequency divided by pole count. When I worked out the math I am now getting the same RPM for measured and calculated.

Thanks for everyone's help. I studied induction and synchronous motors in a class last year, but forgot a lot since then. We didn't cover BLDC motors by they are very similar to synchronous motors it seems.

Thanks again. Later.

8. ### thatoneguy AAC Fanatic!

Feb 19, 2009
6,349
731
Is this a homemade motor or one from a hobby shop?

Feb 11, 2008
5,430
1,311