Motor + Encoder selection advice

Hey everyone, I have been looking for a <9V motor + encoder selection for precise differential drive turning, as well as striaght line movement. So far I am considering geared motors with encoders like these: https://www.dfrobot.com/product-1433.html, but I'm not sure if it is the best choice. I have been looking through various options like servo motors and stepper motors with encoders, as well as brushless vs brushed dc with encoders, but I'm having a hard time understanding which one is the best for my application where I need ~100rpm, without too much torque necessary (maybe 1-2 pounds total for the robot). If anybody has any selections for motors less than 9V with encoders which would be good for precision/accuracy, that would be much appreciated.

I can't advise you on the most suitable motor, but maybe I can guide you on what NOT to use. If under a 9 volt battery you have one of those small ones for a smoke detector, better give it up - they are for very small current and definitely not suitable for motors.

This is not a measure of torque.

This is why you purchase some possible motors and TEST them!!

How precise.
Anything with a gear reduction will have backlash

"How much precision?" is the obvious question. Generally measuring the motor shaft doesn't give a precise measure of where the output is due to backlash etc

Thanks for the response! I am using 6 1.5V AA alkaline batteries in series, which is part of the guidelines for the competition I'm taking a part in. Yes you're right about it not being a unit of torque, what i meant was ~.5kg, with a required acceleration of less than a ft/s.

I would like the turning to be within at least a degree of intended value(90 degrees)(Including encoder input), since the robot will have to make many turns so a margin of error higher than that will add up over time.

What would be the better option compared to, or in conjunction with, an encoder then?

That is actually quite difficult with wheel encoders, because the wheels slip while turning.

An external horizon reference, like an electronic compass, helps a lot with the accuracy.

Thanks for the response! Because of the absolute yaw measurements, magnetometers were the first option I looked into. The only issue I had with them was the prospect of all the small things that could go wrong with them, such as an unknown pipe in the ground that I couldn't have known about on the track during the competition, or a change in location (in my case, between multiple states), the problem of the constantly switching field of the motors going backwards and forwards, or the batteries, which will also slowly degrade over time, requiring me to figure out an effective way to keep the calibration precise while not being able to calibrate on the track itself.

Welcome to the navigation problem!

All sources of information are subject to errors, which is why, for best accuracy, multiple sources of position and orientation information are combined by fusion filters (Kalman, Mahony, Madgwick, etc.). The math is somewhat advanced, and if you are seriously interested in pursuing the topic, I recommend the text book Optimal State Estimation.

Driving in a straight line is easy with wheel encoders, as long as the wheels don't slip. Most people use the difference in accumulated encoder counts to adjust the speed of one motor, so that the counts are approximately equal.

Consider you are designing TWO feedback systems that must run in exact parallel. One for each wheel. Can you do that with an Arduino?

I was thinking about using either Photothreads or just alternate the checking of each of the encoders with a very very short delay in between so that they each alternate 1 pulse of whatever resolution it uses, which may decrease the practical resolution, but I can't think of anything better. Would a teensy or something of the sort be worth the money+time to set up vs just using the arduino mega?

How you accomplish it is not important, The results are because you also need to adjust the motor rotation speed based on what the two readings are and if they are the different the way your program requires, whether turning or going straight.

I'm glad to be a part of it, looking forward to learning! Also, for the motor selection, would you steer away from steppers or geared motors because of the possibility for skipping steps or backlash, respectively?

Oh ok, I think i understand your point, thanks for the insight. I may just end up letting the motors run with the encoders on and then correct the angle after a set interval, likely along with a magnetometer.

I would choose gearmotors. Steppers are very inefficient and a poor choice for battery powered robots. Backlash is insignificant compared to wheel slip.