I’ve made some excellent progress over the last week! The Robot is now independant, and it moves freely. I’ve written a simple shell script to take the following characters as control:
a – left
s – stop
d – right
w – forward
x – back
q – hard stop
k – turn anticlockwise
l – turn clockwise
This sends a single byte to the serial port. I am using 2xUSB to TTL converters which show up as
/dev/ttyUSB0 and /dev/ttyUSB. Each serial port controls two motors through the sabertooth controller. As we control two motors with only a byte, each motor has a 7 bit resolution from full reverse to full forward. For motor 1, 0 is stop, 1 is full forward, 64 is stop, 127 is full reverse. Motor 2 starts at 128 for full forward, 192 for stop, and 255 as full reverse. Although 7 bits of accuracy, speed changes only seem to occur at roughly 4 intervals, so we technically have about 32 different speeds, 14 forward, 2 stop, 14 reverse. We’re only using 3 speeds though as I can’t see the benefit in programming for any more right now.
The movement now seems to be working well. Smooth, controlled and straight which is something of a miracle
The battery is a 12V/7.2Ah sealed lead acid battery. With USB devices active, the board running and the processor 100% active, as well as peripheral fancy LEDs, digital outputs high, wifi active, etc, it uses 12v/800mA.
With all four motors moving at full speed, it uses 12v/6A. Seeing as the motors will be in action for short periods only, I would expect 6h+ battery life.
I have tested the sensors, and they are all working and reporting data except for the top back one which I’m going to have to investigate. Here are some more pictures:
Tags: digital output, espeak, Linux, Linux robot, motors, sensors, serial port, the robot, usb devices, usb sound, usb to serial, usb to ttl
Thanks to some further thought and some great comments and suggestions, I’ve got a clearer idea of what I’d like to build, and I’ve devised a preliminary hardware list. I’ve divided this into various categories to help planning and ordering.
Discuss this in the forums here: http://www.adamsinfo.com/forum/linux-robot/the-robot-hardware-list-wheel-plan-more-ideas-steps-to-launch/
Hardware
My bad wheel plan mockup for 4 wheels and omnidirectional movement:
Please excuse the awful graphics
The base layout should be as follows. The diamond shape is a very thin metal plate which will have the motors and motor casing attached. The metal plate will be at the very bottom of the device. The square (overlayed) will be the acetate base of the unit, and build up to form the base “box”.
I’d like the motor’s to be simple 6-9v, 10W max. motors
Each motor will be held on it’s own bracket and will not be connected via an axle. Each motor will require independant control via a motor controller. The motor controller will be required to convert digital input to variable voltage (5v/7v/9v?) output. 4 speed (4.5v/6v/7.5v/9v>) would also be fine.
(more…)
Tags: alix, analog, camera, cf card, digital, electronics, i2c, io ports, LED, Linux, Linux robot, microphone, motors, Robot, sensor, speaker