Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com 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.

problem with speed control of motor

Status
Not open for further replies.

hayowazzup

Advanced Member level 4
Joined
Oct 9, 2010
Messages
117
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,296
Activity points
2,136
Hi all experts,

I wanted to control the speed of a bldc motor. I've thought of a way but am not sure if this is going to work...firstly, the speed of the motor is measured using hall sensors and the timer in the μC, then the program will compare the measured speed with the set speed, if the speed is too high/low, then it will goes into an IF statement which reduces/increases the pwm duty cycle by adding/subtracting it with the (error multiplying by a constant K).

So will this going to work if I set the constant K low? will it be stable and takes a long time to reach the zero error?
 
Last edited:

Yes. You'll need to adjust how quickly the PWN tries to converge on the desired frequency.

If you make the change too great, it will cause overshoots in the feedback loop, and will cause the motor speed to be herky-jerky.

As for how to increment the duty cycle, you can change it by a fixed amount through each IF loop, or you can change it by a fraction of the discrepancy.

I would use the latter method. As a starting value try using one half of the discrepancy, whatever it is. This should leave some space for the motor and load to adjust.

How often should you perform the IF loop? It depends on which method you find works better... whether to count revolutions per millisecond, or to count milliseconds per revolution.

Also as to what degree of speed accuracy you need. Say you need 1 percent accuracy. Then you'll need to obtain sufficient time resolution to get a consistent reading per 100 commutations (or revolutions, or whatever sensing method you implement).
 

HI,
Thats the control side of the project. Meanwhile you have to consider the Main Controlling element which actually control the motor speed by correcting the voltage across the motor and see what delay it is inserting.
 

Status
Not open for further replies.

Similar threads

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top