FORUM

Notifications
Clear all

Position control problem with BLDC and Hall sensor

4 Posts
2 Users
0 Likes
20 Views
Forum 1
 MMJ
(@mmj)
Posts: 2
New Member
Topic starter
 

Hello everyone,

I am using a 4-pole, 24v BLDC motor with Hall sensors and trying to control its position. I used the Motion Terminal calibration wizard to calibrate the hall sensor offset and tune the PI coefficients. However, I am facing the following problems:

1- On Speed Control Mode, for all speed references above 250 RPM it works perfectly fine but below that number, it rotates discontinuously.

2- On Position Control Mode, it follows the reference position, however, it doesn't stop completely and it keeps fluctuating for 20~30 degrees.

3-Sometimes, before following the reference (both speed and position), it turns backward and then follows the command.

 

It's my first experience using SOLO and any help would be greatly appreciated.

 

Screenshot 2023 03 16 132707
Screenshot 2023 03 16 161358
Screenshot 2023 03 16 161330

 

 
Posted : 16/03/2023 8:19 pm
SOLO Team
(@milad)
Posts: 483
Illustrious Member Admin
 

Hello @mmj,

Using Hall sensors, you will usually need to put the Speed and Position controller gains much higher compared to other sensors with higher resolution ( like incremental Encoders ), please note that your motor has 4 poles with 3 hall sensors, which provide only 12 pulses per revolution per sensor, so achieving very low speeds is going to be challenging with this resolution.

To that end I recommend you test the following gains for Speed controlling tests and test them both at low speeds and high speeds.

Speed controller Kp = 0.5 , Speed controller Ki= 0.005

Speed controller Kp = 0.9 , Speed controller Ki= 0.001

Speed controller Kp = 1.2 , Speed controller Ki= 0.0

Speed controller Kp = 1.1 , Speed controller Ki= 0.0005

Once you have a reliable speed-controlling performance you can test the position controlling with some gains like:

Position controller Kp = 30.0 Position controller Ki = 0.0

Position controller Kp = 50.0 Position controller Ki = 0.0

Position controller Kp = 50.0 Position controller Ki = 0.001

 

With Hall sensors, you can even increase the position controller Kp gain all the way up to even 90 or 100 as the resolution of your sensors are very low.

you can also use our St-curve for smooth Speed and Position profile generation following the videos in the article below:

https://www.solomotorcontrollers.com/blog/embedded-motion-profile-engine/

let me know if these could help you with your problem.

 

Milad

 

If you found the answers helpful and you could solve your problems, please kindly verify here to help others in the future.

 
Posted : 21/03/2023 9:27 am
Forum 1
 MMJ
(@mmj)
Posts: 2
New Member
Topic starter
 

Thank you @milad

First of all, it works like a charm. But, I will add some more explanations for future reference. 
 
For the speed control loop, the best PID coefficient were those calculated by Motion Terminal. The lowest rpm that motor rotate smoothly is 250, considering the 1/10 reduction ratio of gearbox, the actual output is 25 RPM which is more than enough for my application. 

For the position control loop, I put P=1000 and I=0.001. No more vibration and works great. 

By the way, in motion terminal, when I was  monitoring the position, by changing the reference position, motor did not reach the reference. But, when I stoped the monitoring and the changed the reference position, motor  worked well. Maybe there is a bug or something wrong with my browser. 

Cheers.

 

 

 
Posted : 22/03/2023 4:05 am
SOLO Team
(@milad)
Posts: 483
Illustrious Member Admin
 

Hello @mmj,

Thanks for the updates.

Posted by: @mmj

By the way, in motion terminal, when I was  monitoring the position, by changing the reference position, motor did not reach the reference. But, when I stoped the monitoring and the changed the reference position, motor  worked well. Maybe there is a bug or something wrong with my browser. 

 

Thanks for sharing this, I'll forward it to the software team to have a look at it, will keep you posted.

Milad

 

If you found the answers helpful and you could solve your problems, please kindly verify here to help others in the future.

 
Posted : 22/03/2023 6:33 am
Share: