Date: Mon, 28 Nov 2005 02:22:52 -0600 (CST) Subject: motor control board done X-UID: 108 Content-Type: IMAGE/JPEG; name="img2418.jpg" Content-Type: IMAGE/JPEG; name="img2419.jpg" Content-Type: IMAGE/JPEG; name="img2420.jpg" Content-Type: IMAGE/JPEG; name="img2422.jpg" The board hasn't been rigorously tested. But spot checks of different parts are working. I have good confidence it is o.k. Two accidents destroyed some hardware. 1. I made a mistake and plugged the logic power on the motor control board into the 18 volt connector instead of the 5 volt one. This fried the microcontroller which was replaced with a spare. However, all other components on the board are well within tolerances so are o.k. - Lesson: It would be best to have connectors at different voltages painted different colors or even better to be of completely different type. 2. A piece of metal brushed against some hot terminal block screws and shorted 18 volts to ground. This fried the two active GPIO (general purpose input output) pins in use at the time on the lower computer board. Now these pins are always slightly above ground. However, other GPIO pins as well as everything else seems to be o.k. I may have been very lucky. - Lesson: (part 1) Have to be more careful and respect electricity. A careless mistake can cost hundreds of dollars. (part 2) Powered circuits and devices are more likely to suffer damage in adverse conditions. If a machine expects trouble, powering down subsystems is prudent. I have to see if the boards survived the abuse o.k. I'll only know that with some confidence if they can run more complicated software. So in the next few days they'll have to be interfaced to the 900 MHz radio and GPS receiver and then stressed. Any crashes or resets will be taken as failure. In that case, I'll order replacements. One potential expected problem is the need for buffering the logical signals from the computer boards. The GPIO pins are limited to sourcing 3 milliamps at 3.3 volts. An emitter follower with a NPN transistor was necessary for serial communications between the computer and motor control boards. I don't know if the RXD/TXN TTL serial port pins will also require this. In hindsight, the Soekris 4801 embedded router boards are not ideal for (beginner) robotics applications. This is mostly due to very limited power. As a result, the standard PCI slot uses 3 volts signaling. That should be ok except many cards are still 5 volts. In practice, some hunting is required to find a compatible card (or a card must be modified to work - the USB card I'm using required hacking). The GPIO pins can not source enough current to drive the logic of a microcontroller. This means all pins must be buffered. I had conceptualized the robot hardware in the following two stacks of layers. Note that these stacks are from low level to high level as that's the order of fabrication. STACK ONE 1. vehicle platform 2. batteries, motors and analogue sensors 3. motor control board, the power side 4. motor control board, the logic side 5. single board computers STACK TWO 1. radio, GPS receiver and WiFi router 2. single board computers What I'm discovering is that both stacks are missing a layer. The single board computers may need some buffering to interface with the digital devices above them on the stack. The STK 500 microcontroller board buffers all logic to and from the microcontroller it hosts. This is a point I had completely missed earlier.