PDA

View Full Version : WiFi rover questions



AJ14
06-05-2012, 01:03 PM
I am building a differential drive WiFi robot, and here is the idea I have. A cart made of plywood, with two back wheels, and two front caster wheels. I want to control it from an on-board computer, using a USB to TTL serial cable. I know how to connect the serial cable to the motor controller and connect the motors and the battery pack, but I'm not sure how to write a program to send instructions to the motor controller. I'm also not sure which battery pack I should use, but I have an idea.

So, my questions are:
1. Is my battery pack ok?
2. How would I go about writing a program to send information through a serial port? I have programming experience and would prefer Java, but I could use C, C++ or C#.
3. Are my motors powerful enough to push 10-15 pounds?

Motors:
http://www.robotshop.com/banebots-12v-15500rpm-16-65oz-in-stall-rs-395-brush-dc-motor.html

Motor controller:
http://www.lynxmotion.com/p-562-sabertooth-2x12-regenerative-dual-channel-motor-controller.aspx

Battery pack:
http://www.lynxmotion.com/p-727-120-volt-ni-mh-2800mah-battery-pack.aspx

USB to Serial TTL Cable:
http://www.superdroidrobots.com/shop/item.aspx?itemid=1233
(http://www.superdroidrobots.com/shop/item.aspx?itemid=1233)
Thanks,

AJ

jwatte
06-05-2012, 10:26 PM
The stall of your motors is 16 oz-in of torque. If you have two of these, and the diameter of your wheels is 4 inches, let's do some math:
Radius == 2 inches. 16 ozin / 2 inches == 8 oz of force per motor. Multiply by 2 (driving wheels) means 16 oz of force, or about one pound. Rolling resistance is usually very low, so your robot can probably still get going, but it will accelerate AND BRAKE very slowly. This may be a challenge for controlling, as well as a safety problem.
Now, at 15,500 RPM, once accelerated to top speed, your motor will make your bot travel 4 * pi * 15,500 inches per minute, or about 81 meters per second, which is very fast. You have to worry about wind drag, bearing losses, and all kinds of issues at those speeds -- you won't actually get anywhere near that in practice.
(This is a roundabout way of saying: you need a gearbox! Or, better, just buy a motor that comes with a gearbox, and maybe an integrated encoder)

The motor controller is great, although you may want to add a cooling fan for the full stall current.

The battery pack isn't a good match. I use a 7.4V 2800 mAh pack for my rover that has about a 5A total stall current (2 motors) and it doesn't last as long as I want and I think of putting two in parallel. With a 15A stall current, you'll run for only a few minutes on that pack. Also, I don't think NiMH is that great at providing large currents -- to pull 30 A (2xstall) out of a 2800 mAh pack, is probably not going to happen, or if it does, your pack will die. Perhaps a better option at the same price would be: http://www.all-battery.com/4cellsli-pobatteries.aspx
(Note: lipo batteries need special chargers, if you don't have one)

The serial cable is probably fine. To talk to a serial device from Java, you need to use the Java Communications API: http://www.oracle.com/technetwork/java/index-jsp-141752.html
F (http://www.oracle.com/technetwork/java/index-jsp-141752.html)or examples, look at http://stackoverflow.com/questions/900950/how-to-send-data-to-com-port-using-java

F (http://stackoverflow.com/questions/900950/how-to-send-data-to-com-port-using-java)inally -- what do your mounts and wheels look like? Do you need sensors? Encoders?

I'd recommend motors perhaps like these: http://www.pololu.com/catalog/product/1445
A (http://www.pololu.com/catalog/product/1445) lot more torque, and built-in encoders and gear box.
Trossen has a slightly cheaper alternative, without encoder: http://www.trossenrobotics.com/store/p/4259-Gear-Head-Motor-12vdc-50-1-120rpm-6mm-shaft-.aspx

AJ14
06-06-2012, 10:25 AM
motor mounts:http://www.trossenrobotics.com/store/p/4922-Aluminum-Motor-Mount-for-GHM-1-4-12-13-pair-.aspx
(http://www.trossenrobotics.com/store/p/4259-Gear-Head-Motor-12vdc-50-1-120rpm-6mm-shaft-.aspx)wheel mounts:http://www.pololu.com/catalog/product/1083
(http://www.pololu.com/catalog/product/1083)wheels:http://www.pololu.com/catalog/product/1435
(http://www.pololu.com/catalog/product/1435)motors:http://www.trossenrobotics.com/store/p/4259-Gear-Head-Motor-12vdc-50-1-120rpm-6mm-shaft-.aspx
(http://www.trossenrobotics.com/store/p/4259-Gear-Head-Motor-12vdc-50-1-120rpm-6mm-shaft-.aspx)casters:http://www.trossenrobotics.com/store/p/5721-Pololu-Ball-Caster-with-1-Inch-Plastic-Ball.aspx
(http://www.trossenrobotics.com/store/p/5721-Pololu-Ball-Caster-with-1-Inch-Plastic-Ball.aspx)jumper wires to connect serial and controller:http://www.trossenrobotics.com/store/p/6381-2-Pin-Dual-Female-Jumper-Wire-300mm-10pcs-pack.aspx
(http://www.trossenrobotics.com/store/p/6381-2-Pin-Dual-Female-Jumper-Wire-300mm-10pcs-pack.aspx)
Sound good?