Go Down

Topic: Question on monitoring the rotation of continuous servos (Read 2 times) previous topic - next topic

Grumpy_Mike

The LEGO NXT motor is not like a normal servo motor, in that you can get feedback from it through a built in encoder. If you want to recreate this with a normal servo then you have to attach a rotary shaft encoder to your servo and monitor that through the arduino. This is not an easy thing to do but it is possible.
http://en.wikipedia.org/wiki/Rotary_encoder

http://playground.arduino.cc/Main/RotaryEncoders

brian305

#6
Jan 05, 2013, 09:57 pm Last Edit: Jan 05, 2013, 09:58 pm by brian305 Reason: 1
thank you all again for taking some time to respond.  I have been doing a bit more research and i think i have narrowed my choices down to 2:

Because my project is based on the BOE-BOT the easiest choice would appear to be: the digital encoder kit made by parallax http://www.parallax.com/Store/Robots/RoboticAccessories/tabid/145/ProductID/80/List/0/Default.aspx?SortField=ProductName,ProductName 
I have some reservations though that it will not be the most accurate system.  But I do believe it will be the most economical when considering time and other factors.

The other way I am thinking of going is with new gearmotors such as these: http://www.pololu.com/catalog/product/2286
They are slightly longer then my current servos so I think they will require some amount of modification to the BOE bot chassis, in addition if I am understanding correctly it seems i could not run them off the regulated 5v provided by my boe bot arduino shield because it provides up to 1A and each gearmotor is listed as using 40ma running and 2.2A stall.  Am I understanding correctly that I need to provide for 2.2 X 2 or 4.4A regulated 6V? (although the motors would run ok on 5V) Also with regards to the motor controller I would think I would need to have one to control the motor RPM?

Is it likely accurate then that to go the gearmotor route I would be looking at getting the motors, doing chassis modification (or replacement), would need some form of DC motor control board and possibly another batter pack depending on consumption and the input range on what ever is regulating the voltage to the gearmotors? 

I am leaning towards the parallax encoders and am curious if anyone here has tried them out and has any feedback about their error rate.  I am thinking i will start there and for the next project plan ahead for the gearmotor / encoder route.

Thanks again,

Brian


cr0sh

Have you thought about just using the Lego NXT motors?

http://www.robotc.net/wiki/Tutorials/Arduino_Projects/Mobile_Robotics/Lego/Connecting_A_Lego_Motor

That shows how you can get the motor turning; you'll have to figure out how to use the encoders in some other manner.

http://shop.lego.com/en-US/Interactive-Servo-Motor-9842?CMP=KAC-SAHGOOGLEUS&HQS=9842&adtype=pla

$20.00 USD from the Lego store; that's cheaper than some standard servos (although I doubt the Lego device is as robust?)...
I will not respond to Arduino help PM's from random forum users; if you have such a question, start a new topic thread.

zoomkat

Quote
In the NXT/Lejos project I was able to map the robot in 2d space by using the compass and counting the rotation of both servos in a differential setup.


I'm supprised that any reasonable amount of location accuracy was maintained over time by monitoring wheel rotation. Any wheel slippage will introduce error that will continue to accumulate over time.
Consider the daffodil. And while you're doing that, I'll be over here, looking through your stuff.   8)

Grumpy_Mike

Quote
Any wheel slippage will introduce error that will continue to accumulate over time.

True but the wheel is integrated in the lego motor so slippage does not occur.

Go Up