Ancient 386 robot

This page is a diary of progress on my robot. Entries are in chronological order with the most recent at the bottom of the page here.
Primary Design Specifications

  • Enough power and ground clearance to negotiate my garden
  • Platform strong enough to support extra weight as more things added
  • Built around 386 motherboard so I can program it in QBasic
  • Powered from 12v Gel Cells
  • Computer controls 2 motors, one for drive, one for steering
    Secondary Design Specifications
  • Recharge circuit for Gel Cells
  • Dual H-bridges and PWM speed control on motors
  • Two touch sensors on front
  • Axle speed counters on motors made from mouse guts
  • Light sensors on front
  • Simple onboard AI
    'I wish' Design Specifications
  • Up the proccessing power to a Pentium
  • Speech Synthesis, output through speakers
  • Speech Recognition, input through microphone
  • Video Camera for sight
  • Able to manipulate objects via arm or similar
  • Able to return to a set location when batteries are low


    December 2002 - Found some motors, started thinking
    Two motors and two 12v Gel Cells on a piece of wood I might use as the base board (December 2002)

    Early 2003 - Found a suitable computer to cannibalise

    First thing was to choose a suitable computer to get a motherboard from. I have several computers I could have used but the one I chose was more suitable because:

    I got the computer from a company that was throwing them out. It refused to recognize the hard drive no matter what I tried so I disconnected the hard drive and all its cabling. The case was a massive metal thing, but the motherboard was tiny for that age machine so I took the motherboard out and put it in a cardboard box. The next thing was to figure out how to power the motherboard without using its PSU. I used a digital multimeter to measure the output voltages on the motherboard and floppy dive power connectors. The results I got were as follows:

    Motherboard connector
     ____________________________________________________________
    |White|Orange|Blue|Black|Black|Black|Black|Yellow|Red|Red|Red|
    |  +5 |  +12 | -12|  0  |  0  |  0  |  0  |  -5  | +5| +5| +5|
     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    
    Large power connectors
     ______________________________
    | Yellow | Black | Black | Red |
    |  +12v  |   0v  |  0v   | +5v |
     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    Small power connectors
     ______________________________
    | Yellow | Black | Black | Red |
    |  +12v  |   0v  |  0v   | +5v |
     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    

    I was intending to make the robot primarily out of wood because I am better at making things out or it than I am at making things out of metal. I was thinking of a plywood base with blocks underneath to hold axles etc. So far I have some wheels and axles and 1 motor(12v wheelchair type). The motor has a reduction box fitted to it that brings it down to about the right speed (Have used it in a go-cart).


    September 2003 - Testing motherboard in new case
    Motherboard is now nice and snug and secure in wooden box. I've tried it and it boots from a floppy disk nicely. Wires are a bit of a mess though
    Housing for motherboard completed(September 2003)

    I'm trying to power the motherboard from batteries. I'm going to need something to drop the voltage from 12v to 5v for the motherboard logic. I'm a bit lacking in knowledge on that area so I might just do some of the programming side instead.


    Febuary 2004 - Started building again
    Rebuilt the drive system and tried a few things in place. Took some pics with my new digital camera:
    A view of the drive chain to the rear wheels (7th Feb 2004)
    Plan view of the back of the robot showing offset motor (7th Feb 2004)
    Cables connected to ports on motherboard (7th Feb 2004)
    A plan view of my robot(7th Febuary 2004)

    Got a sort of interface working, computer can turn on and off 8 LED's connected to parallel port. Can also sense 8 switches on the parallel port.

    Attached some mouse guts to COM1 (serial port). Made a qbasic program to control the parallel port and read speed of shafts in mouse guts at the same time.
    Software I've made works nicely, trouble is I need to control relays for my motor driver board, and they draw more current than LED's and also have back EMF that would damage the port. Could do with building a better interface.
    20th Feb 2004 - Started steering and motherboard power

    I've collected some 78xx series voltage regulators, they are from many different common electrical appliances and power supplies. I collect old broken electronic equipment so it was just a job of desoldering the components and making them work in my circuit. The above pics show the circuit that provides regulated +12v and +5v relative to GND. The outputs all come out to the strip of terminal block in the foreground.
    I've also started building the steering mechanism for the front of the robot. I've decided to have full 'ackerman' steering just like a cars front wheels have.
    21st Feb 2004 - Robot booted for the first time self powered 11:20pm
    I have made the robot run off a single 12v gel cell. The regulators are bolted to an angled piece of aluminium as a heat sink. During boot-up with floppy drive and sound card attached the maximum current drain on the battery was 2.2amps. From cold the heatsink reached about 50 degrees C in the 45 seconds it took to boot. The hottest heatsink was the +5v powering one third of the motherboard and the floppy drive. The coolest regulator was the +12v used for both motherboard and floppy drive.
    The current circuit only provides channels of +12v and +5v. The motherboard does not seem to mind not having -12v or -5v.
    With the computer idling(sitting at DOS prompt with no sound being played and floppy inactive) the current drain was a rock steady 1.86amps. The regulators were still pretty hot but didn't seem to be rising in temperature much anymore.
    This is the circuit I built done freeform with bits of terminal block. Unfortunatly when powered up like this the regulators shut down after about a minute from thermal overload and I have to wait for it to cool down before trying again.
    Plan view showing the regulators bolted to a piece of aluminium
    Another view showing the motherboard working from the 7Ah gel cell
    A picture showing the steering arm and stub axle assembly. Here you can see the poor quality of my welding but hey, nobody's perfect.
    A plan view of the chassis showing the position the front steering will go.

    I did some more tests and the unreliablity of the power supply has been fixed by putting two gel cells in series to create a 24 volt supply. I think the single battery didn't have enough voltage to allow the regulators to function properly. I then tested all the bits of the computer I could. The parallel port works fine without -ve voltages, so does the sound card both MIDI and 16bit Wave work fine. The serial port is currently unpredictable but I'm pretty certain that's a fault in my program not the hardware.

    Drawn a schematic of the powersupply for my robot.

    27th Feb 2004
    I assembled and soldered together the 8 bit relay interface kit I bought from Quasar Electronics for about 30 UK pounds.

    It works great and I have used the first 4 relays in an H-bridge circuit for the steering motor.

    Unfortunatly since the relays are only rated at 10amps and the pcb tracks to them at 5 amps, I will have to get 4 more relays and wire them in so the board switches these, which in turn send power to the main motor. I'm looking for relays\car solenoids in the range of 20-25amps.

    The power supply works now so I am leaving that for now until I get some bigger heat sinks. I have also got some car 'blade' type fuses that I intend to put in the battery connection so that in the case of any short circuits, they blow instead of something more expensive.
    28th Feb 2004
    I made a program in QBasic for testing the motor controller.
    The program controls two motors attached to H-Bridge control circuits that are attached to lpt1.
    Pin 1-4 is motor1, 5-8 is motor2
    Pin 1,2,5,6 are high side drivers
    Pin 3,4,7,8 are low side drivers