msgbartop
Adam Palmer MBCS CITP, Linux, PHP Programmer, MySQL Developer, Embedded Hardware, Security Consultant
Did my blog help you? Please link to me!
  dns test
 
RSS Feed
msgbarbottom

22 Nov 08 The Robot: Independant, moving, talking, and controlled via WiFi

Robot

Robot

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

Robot

Robot

/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 ;-)

Robot

Robot

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:

(more…)

Tags: , , , , , , , , , , ,

20 Nov 08 Linux: AVIT Research USB to TTL Cable

I ordered a USB to TTL Cable to control two Sabertooth 2×25 motor controllers as part of the Robot project.

I plugged it into a Windows PC, and used ‘RoboRealm’ to control the motors via the COM port that appeared. Worked perfectly. Motors, controller, USB to TTL and virtual COM port – excellent.

I then plug the cable into my Linux board and guess what, no driver claims it and I have every standard USB Serial module compiled. AVIT Research’s website also gives no help on Linux support.

The device shows up under lsusb as:
Bus 002 Device 002: ID 10c4:818b Cygnal Integrated Products, Inc.

The solution was luckily simple. After prising open the cable and doing some research, the ‘cp2101′ driver is the one that we want. I’m using 2.6.27.6 but this should work for any cp2101 version.

(more…)

Tags: , , , , , , , , , , , , , , , ,