Go Down

Topic: Device for measuring angle of rotation of stepper motor (Read 4446 times) previous topic - next topic

jaimishra9

Can anyone of you suggest me an economical method for measuring the angle of rotation of a stepper motor with a high precision (<0.1 degree) ? I am using two stepper motor in a pan-tilt mechanism i.e. both the motors are perpendicular to each other and one motor is mounted over the other and I have to measure the angle for both the direction

I am aware that I can use encoders or resolvers but again these two are expensive. Moreover I have to use two of them; one for each motor.

I thought of using an MPU6050 (3-axis gyro and 3-axis accelerometer) along with a Kalman filter for high precision. But the problem I am facing is that the stepper motor rotate in steps and the gyro wouldn't be able to find out the speed of rotation for calculating the angle.

It would be of great help for me if you can suggest me any method to measure this angle or how to use MPU6050 to do so as I might not be aware of the method of using it to measure the angle of rotation of the stepper motors.

Thank you very much.

jremington

#1
May 31, 2017, 05:34 pm Last Edit: May 31, 2017, 05:37 pm by jremington
Quote
I am aware that I can use encoders or resolvers but again these two are expensive.
Anything that can accurately measure angles to a precision of 0.1 degree will be expensive.

It is utterly impossible to achieve that with a cheap sensor like the MPU6050. The best most people can do is around 1 degree precision, and that requires extremely careful calibration and sophisticated software.

sdturner

How cheap do you need? Industrial encoders are expensive, but you can find 1000 pulses per revolution encoders on eBay for $20 and under.

Gear down the steppers so it takes 3600 steps per revolution? Then one step equals 0.1 degree.

Hack a cheap digital protractor.

Opto-Interrupters and Photo-Reflective sensors are very cheap so create your own high resolution encoder wheel.

jaimishra9

Anything that can accurately measure angles to a precision of 0.1 degree will be expensive.

It is utterly impossible to achieve that with a cheap sensor like the MPU6050. The best most people can do is around 1 degree precision, and that requires extremely careful calibration and sophisticated software.
I have come across certain examples in which people have used the readings from both the gyro and accelerometer (the one by TKJ Electronicis) along with a Kalman filter to get very precise readings.
Problem in my case is that I don't know any method to measure the speed of rotation of a stepper motor.

jaimishra9

Gear down the steppers so it takes 3600 steps per revolution? Then one step equals 0.1 degree.

Hack a cheap digital protractor.

Opto-Interrupters and Photo-Reflective sensors are very cheap so create your own high resolution encoder wheel.

Thank you so much. It can surely help me to meet my requirements. 

jremington

Quote
(the one by TKJ Electronicis)
That one isn't even a Kalman filter, and doesn't work very well.

MarkT

Can anyone of you suggest me an economical method for measuring the angle of rotation of a stepper motor with a high precision (<0.1 degree) ? I am using two stepper motor in a pan-tilt mechanism i.e. both the motors are perpendicular to each other and one motor is mounted over the other and I have to measure the angle for both the direction

I am aware that I can use encoders or resolvers but again these two are expensive. Moreover I have to use two of them; one for each motor.
You are asking for a cheap 400+ count incremental encoder, commonly available on eBay these days.
Anything under $100 is _dirt cheap_ for an encoder by industry standards.

http://www.ebay.co.uk/itm/Encoder-400P-R-Incremental-Rotary-Encoder-AB-Two-phase-encoder-6mm-Shaft-/361451721312?hash=item5428339260:g:yTMAAOxyepRRvuJH
[ I will NOT respond to personal messages, I WILL delete them, use the forum please ]

Southpark

It would be of great help for me if you can suggest me any method to measure this angle or how to use MPU6050 to do so as I might not be aware of the method of using it to measure the angle of rotation of the stepper motors.
The MPU6050 can provide angles, based on physics relationships, forces etc, translated to an angle. But it's not going to give some super accurate angle unless under some special conditions.... like relative low noise, and taking lots of measurements etc.

Incremental encoders and/or absolute encoders will give you the accurate results you need - if a suitable one is used. They can be relatively expensive, but then there are always second-hand ones, which are not as expensive as brand-new. Sometimes, there are situations where it's impossible, or difficult to have an inexpensive solution. But then again, everything is relative.....  'eg. relatively inexpensive' or 'relatively expensive'.

MarkT

Thank you so much. It can surely help me to meet my requirements. 
Creating your own incremental encoder to a precision of 0.1 degree is a real test of workmanship and
mechanical engineering skills.  For a 3cm diameter wheel, 0.1 degree translates to 0.026 mm.  I suggest
buying an encoder if you need that precision.
[ I will NOT respond to personal messages, I WILL delete them, use the forum please ]


sdturner

Creating your own incremental encoder to a precision of 0.1 degree is a real test of workmanship and
mechanical engineering skills.  For a 3cm diameter wheel, 0.1 degree translates to 0.026 mm.  I suggest
buying an encoder if you need that precision.
I would think 0.1 deg accuracy from a home made target wheel would need to be bigger than 3cm. Off the top of my head I would assume a home printer could do no better than about 0.5 to 1 mm detectable lines, so 3600 mm circumference would be about 6 cm in diam. I would err on the conservative side and make the first prototype bigger, maybe 10 cm or so.

ardbtg

I also needed to measure the step angle, in order to trouble shoot a regular wobble in the step size. My device is  belt driven stage with a pushbutton control.  Pushing the button repeatedly gives a number of small steps, then a number of large steps, repeating over and over.

I tried isolating all the mechanical and electrical components one by one to find the cause of the irregularity.  Finally, I got down to just the stepper motor itself and had the same question as above as to how to easily observe the step size.

After looking at many encoder options, I decided to try a different tack.  I needed to measure a 1.8º motor at 1/16 microstepping.  That is 200*16 = 3200 step/rev resolution.

My solution was to make a clock hand on my 3d printer to attach to the motor.  At 7in (178mm) radius, a ⅛ µstep is about 1mm of motion, and a 1/16 µstep is about 1/2mm.  This is quite easily seen.  I could have printed a 14in dia circle (section) with tick marks, but really didn't need to to see the error was all in the motor/driver/programming (somewhere).  Now I have to figure that out, but the test rig works wellfor diagnosis.

Go Up