Thursday, March 25, 2010
Cognition on Wheels
Last, but absolutely not the least, is adding intelligence to the beast. Considering the budget constraints and simplicity of integration I decided by using a Fonera 2100 router as the workhorse for processing data. Equipped with a single chip Atheros solution, the integrated 32-bit MIPS R4000-class processor runs at 183.5 MHz, and is tipically enough for most network processing that is required. Additionally the IEEE 802.11b / 802.11g WiFi interface provides the means for remote communication with the vehicle. For local communication it features both an Ethernet interface, and a 3.3 V serial port.
On the other hand I also needed a way of controlling the servos (other than manually through the RC radio) from the Fonera itself. So I considered several serial and I2C servo control solutions, and found a board called "Droid MuIn" which provides other than the 8 servo outputs, it also features 5 analog inputs (10 bits), I2C bus, 2 PWM outputs for controlling motors, and a TTL serial port. This is all thanks to the PIC18F2520 in which it is based. This is essentially all the I/O I need for getting the robot car doing something useful.
Here is a picture of the car already with the fonera (just the bare PCB), and the Droid MuIn board (the multi I/O card I was talking about):
I also had to get a solution for powering the control systems (the Fonera and the MuIn) from the salvaged 10 V lead acid battery (at least for now). So I added the following switching power regulator from a car lighter cell phone charger:
The Fonera communicates via serial port with the MuIn. I had to make a small cable connecting both modules with each other:
The Fonera GPIO pins could be useful. Made a small circuit to buffer and translate levels from 3.3 V to 5 V for these GPIO lines. It might be useful in the future: