Notifications
Clear all

Brushless Motor Position Control using Hall sensors

Page 1 / 2
Forum 1
(@osman)
Eminent Member

Hey Milad, 

First of all, I would like to thank you for finding time for us.

I would like to ask you why I get the following graph (see attachment) in the position control. For example, I want to rotate my BLDC motor (stepper motor) only 1000 pulses. However, the motor turns with full power until I stop it myself. Do you have any idea how to solve this?

Kind regards
Osman

 

Quote
Topic starter Posted : 23/05/2021 9:51 pm
SOLO Team
(@milad)
Chief Member Moderator

Hi @osman,

Last night due to a problem in our server, we lost the question and our answers you asked in this thread, so I'm going to put them again here for your future reference and also people who might have the same issue in the next posts, sorry for the inconvenience.

Regards
Milad

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

ReplyQuote
Posted : 25/05/2021 5:53 pm
SOLO Team
(@milad)
Chief Member Moderator

Hi @osman, it's my pleasure ?

Posted by: @osman

I would like to ask you why I get the following graph (see attachment) in the position control. For example, I want to rotate my BLDC motor (stepper motor) only 1000 pulses. However, the motor turns with full power until I stop it myself. Do you have any idea how to solve this?

Ok, just before diving into the problems, I just want to know, wether you have checked the following two points:

Have you connected your Incremental Encoder and Motors' wires based on this article followed by the encoder calibration at the end? Have you seen this video in which we explain how to proceed with Servo driving using SOLO with an Incremental Encoder? there you can see the process and steps which are starting from the Torque loop verification followed by Speed and finally position loop tunings.

Also, it will be great if you share with me the following information:

What is your Motor model number? can you share its datasheet? What is the specification of your Encoder? eg. Number of pulse per revolution etc... Does your encoder have an Index pulse? Please also share a screenshot from your Motion terminal or other settings so we can have a look over them too.

I will remain available.

Regards
Milad

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

ReplyQuote
Posted : 25/05/2021 5:54 pm
SOLO Team
(@milad)
Chief Member Moderator

Osman said:
"

@milad

Hello Milad,

I read the page you recommended and tried to calibrate the encoder of my motor. I also watched the video. But unfortunately without success. I will send you the settings on the Solo Terminal homepage as a PDF file.

I also use the following motor:
https://www.ebay.de/itm/152561569374

Regards
Osman
"

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

ReplyQuote
Posted : 25/05/2021 5:55 pm
SOLO Team
(@milad)
Chief Member Moderator

Hi @osman,

This Motor by itself has only Hall sensors and it doesn't have any Incremental Encoders, so are you using any external encoders? if yes can you share the datasheet of that?

Please Note that SOLO with its latest firmware (0x0000B008) does not control the Position of a BLDC with Hall sensors, to do that you need to have Incremental Encoders mounted on the shaft of your Motor. By using Hall sensors, you can only control the Torque and Speed of your brushless Motor. ( in the future we might add the position controlling capability with Hall sensors, but since their resolution is very low, it might not be useful, the Hall sensors are not meant to be used for servo driving and accurate position controlling... ).

So for the moment if your Motor doesn't have Incremental Encoders and you don't want to put one on your Motor ( mechanical or economical reasons), you might be able to use one of the below modules which can replicate an encoder if it's placed in the vicinity of the moving shaft:

https://ams.com/as5047padapterboard/

We have some users using this module as their let says "Virtual Encoder", and they are controlling the Position of their Motors using SOLO, of course, if you can mount a real Incremental Encoder on the shaft of your Motor, that would be a more reliable option.

Please note that, if you use "AS5047", after calibration you need to make sure that the mechanical position of the module doesn't change during time with respect to the shaft, so the calibration value can remain reliable, so in general, whenever you move mechanically the position of such modules, you need to recalibrate the Encoder.

 

Let me know if this could be helpful, I will remain available.

Regards
Milad

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

ReplyQuote
Posted : 25/05/2021 5:56 pm
SOLO Team
(@milad)
Chief Member Moderator

Osman said: "

@milad

I am very pleased with the way you are helping me. Thank you.

Indeed, I did not have an encoder. I will buy the one you suggested and integrate it on the shaft.

Milad, thank you for your Help!

Regards

Osman

"

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

ReplyQuote
Posted : 25/05/2021 5:56 pm
SOLO Team
(@milad)
Chief Member Moderator

Thanks, @osman, keep us posted on your progress, we will remain available.

Regards
Milad

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

ReplyQuote
Posted : 25/05/2021 5:56 pm
SOLO Team
(@milad)
Chief Member Moderator

Osman said:

"

Hello Milad,

Me again. I have changed my mind and would like to buy the following motor.

High torque brushless dc motor with 2500ppr encoder 24v 200w bldc servo motor 0,63 N.m agv motor for AGV robot https://a.aliexpress.com/_mqULxGd

My question to you would be if it would be compatible with solo uno? If yes, solo uno has 6 pins output for encoder. And this motor has 15 pins in total. Which pins of the motor are relevant for Solo?

Regards

Osman

"

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

ReplyQuote
Posted : 25/05/2021 5:57 pm
SOLO Team
(@milad)
Chief Member Moderator

Hi @osman,

Posted by: @osman

High torque brushless dc motor with 2500ppr encoder 24v 200w bldc servo motor 0,63 N.m agv motor for AGV robot https://a.aliexpress.com/_mqULxGd

 

This motor looks well in range of control specs offered by SOLO UNO, so I think you wouldn't have any issue getting it going, also it will be a much better solution instead of your previous motor.

Posted by: @osman

If yes, solo uno has 6 pins output for encoder. And this motor has 15 pins in total. Which pins of the motor are relevant for Solo?

Forum 3

Based on what I see from the Encoder Socket, you should connect:

SOLO UNO Encoder input <=====> Your Motor Encoder output

+5V to +5V

A to A+

B to B+

C to Z+

GND to 0V

however, I don't know what are those WVU signals ( I can imagine they are for Hall sensors), so the best way is either you monitor these signals using Oscope and see if they match with Incremental Encoder or not, and then connect them to SOLO.

I will remain available.

Regards
Milad

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

ReplyQuote
Posted : 25/05/2021 5:58 pm
SOLO Team
(@milad)
Chief Member Moderator

Osman said:

"

Thank you Milad!

"

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

ReplyQuote
Posted : 25/05/2021 5:58 pm
Forum 1
(@osman)
Eminent Member

@milad

Hello Milan,

I have been trying for days to calibrate my encoder integrated in the motor (bought via Aliexpress: https://de.aliexpress.com/item/4000769680342.html?spm=a2g0s.9042311.0.0.25b04c4dcTb3vx   (see also above, its the same motor)). But unfortunately without success. I would therefore like to ask for your help. I am sending you the settings for the calibration as an attachment. And i have connected my encoder to the Solo as follows:

SOLO <=> encoder (with 15 pin outputs)
+5V <=> pin 2 (+5V)
CH A <=> pin 9 (+A)
CH B <=> pin 4 (+B)
CH C <=> pin 7 (+Z)
Ground <=> pin 3 (0V)

My main problem is that the position number does not change when turning the motor shaft by hand. I have already read the encoder page from your homepage and gone through the instructions. And I have also watched the videos on this subject.

Do you know where I am making mistakes?

If you can help me, I will be very happy.

Kind regards Osman

ReplyQuote
Topic starter Posted : 10/07/2021 10:24 pm
SOLO Team
(@milad)
Chief Member Moderator

Hi @osman,

Ok

Posted by: @osman

My main problem is that the position number does not change when turning the motor shaft by hand.

if the position count is not changing it means SOLO is not seeing the pulses coming off your Encoder, especially A+ and B+, the only way to make sure the pulses are coming out is doing the two tests below:

Test 1: Monitor the A+, B+, and Z+ with an oscilloscope while they are not connected to SOLO but the +5V and ground supply is applied to the encoder, and see if you can see any pulse coming out of the Encoder for all of its terminals ( A+,A-,B+,B-,Z+,Z-)

Test2: if Test 1 worked, this time connect also A+,B+, Z+ to SOLO but while they are connected probe them and see their signals are again being generated and going to SOLO.

pls also share here the result of Test1 especially for A+, B+, and Z+.

unfortunately without an oscilloscope, it's very hard to guess what's the issue as encoder signals switching very fastly, but there is a good chance that probably there is an issue somewhere with the outputs of these signals.

Regards
Milad

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

ReplyQuote
Posted : 11/07/2021 6:30 am
Forum 1
(@osman)
Eminent Member

@milad

Hello Milad,

Thank you very much for finding time for us even on Sundays.

So, unfortunately I have an Oscope with only two channels, so I can only check the signals in pairs. I have noticed that I am actually not getting a signal from my encoder. (I then contacted the manufacturer of the motor and complained about the situation).

I also had a motor with only Hall sensors at home, but with this motor I get signals when I rotate the shaft by hand. Below as an attachment I send the picture of the encoder signal taken with Oscope. It is continuous as in the picture and does not change, even if I rotate the shaft.

Regards Osman.

ReplyQuote
Topic starter Posted : 11/07/2021 1:37 pm
SOLO Team
(@milad)
Chief Member Moderator

Hi @osman,

Posted by: @osman

So, unfortunately I have an Oscope with only two channels, so I can only check the signals in pairs. I have noticed that I am actually not getting a signal from my encoder. (I then contacted the manufacturer of the motor and complained about the situation).

sorry to hear that, but at least this will save a lot of time, let's see what the manufacturer says.

Posted by: @osman

I also had a motor with only Hall sensors at home, but with this motor I get signals when I rotate the shaft by hand. Below as an attachment I send the picture of the encoder signal taken with Oscope. It is continuous as in the picture and does not change, even if I rotate

Hall sensors are normally coming with Open collector/drain circuits, this means you need to add a pull-up resistor of like 1K to +5V at their output to make them operational, SOLO has those pull-up resistors as you can see here in this article.

so if you want to monitor their output, first you need to pull them up separately, and then see them on scope, you can also use only SOLO, and observe the Angle shape as shown in the previous article and video within it to make sure they have an output ( if you can see that Saw tooth-shaped signal it means your Hall sensors are OK).

I'll remain available.

Regards

Milad

 

 

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

ReplyQuote
Posted : 11/07/2021 2:11 pm
Forum 1
(@osman)
Eminent Member

@milad Hello Milad,

me again.

The picture above should actually demonstrate that I'm not getting a signal. Sorry that I had not expressed myself sufficiently.

The manufacturer of the motor has contacted me back. And the manufacturer sent me the following last picture below. This picture shows the correct pin assignment. It was a mistake from the manufacturer.

I checked my encoder signals afterwards. I got the following results. I get signals from channel A and channel B. But I get no signals from channel Z (see below). Is it normal? I measure only channel B and channel Z or channel A and channel Z in pairs because I have two channel scopes. I took the pictures when the motor was active in sensorless mode.

I tried to calibrate the motor in spite of the above-mentioned deficiency and got the pictures below.

 

This post was modified 2 months ago 7 times by Osman
ReplyQuote
Topic starter Posted : 19/07/2021 9:19 pm
Page 1 / 2
Share: