At the forefront of Artificial Intelligence
  Home Articles Reviews Interviews JDK Glossary Features Discussion Search
Home » Articles » Robotics » Tutorials

Converting a Floppy Disk Drive into a Simple Robot (Part II)

By Chris Barron

Now that the drive system of your FloppyBot is complete its time to support the front of the robot. You need to decide wether or not you want to steer the robot. In which case you need to modify the front of the disk drive to make a simple steering wheel assembly , the end result being a three wheeler. If you dont want to go to the trouble of a steering unit, then a front axle is easier to make than the rear as there is no cotton bobbin to fit - the axle supports can be made from residual disk drive internals, shaped to hold the axle in place and then screwed or glued to the chassis, OR some of those hobby servo control arms have a hole in the centre which holds a 3mm axle just right, just gluing these to the front sides of the chassis will be enough. If you want to make the unit remote controlled you need to desolder pins 15 and 16 and fit a push button to two wires soldered to those pins, giving you a simple forwards/stop switch. If you are connecting FloppyBot to a PC or microcontroller then you need only to write your software to ground the wire to pin 16 to make it move forwards. Bear in mind that although the unit might not be moving forward when pin 16 isnt grounded, the drive electronics are still connected to the battery supply and will flatten your batteries fairly quickly if you dont remove them for the battery holder !

Assuming you want to build a steerable three wheeler take a look at your head stepper motor to see if it has a metal sensor interruptor which passes over the stepper leadscrew and lines up with the home position sensor, also the track 0 sensor. If you have a metal flag then you need to only bend this up to a 90 degree angle to complete the making of the steering servo:

If you have a plastic interruptor, its time to dig out your second last hobby servo control arm and glue it in place on the head carriage to make a servo arm that functions and lines up the same as the metal one in the photograph

So you need another hobby servo arm ! And it fits onto the chassis as below. Its going to act as a steering arm bearing. The other bearing needs to be drilled into the chassis, just above the edge connector as in the photo below. I dont have to tell you how important it is to not drill into the edge connector itself. ! Now take a piece of 3mm shaft about 80mm long and fit it into the chassis hole. Next fit the servo arm onto this shaft and position it on the edge of the drive chassis so that the shaft stands vertically out of the chassis when viewed from the end.

Once you are happy that your steering shaft is vertical fix the hobby servo arm in place on the edge of the chassis using some epoxy and leave it to set. Whilst that is going on you need your last hobby servo arm. This can be the ordinary single arm type or like me, you could opt for the type of steering arm used in model planes to control the tailwheel or model boats to control the rudder, I believe its simply called a 'steering arm' and is very cheap.

The last task which requires some strength is to make a 90 degree bend in your steering shaft, perhaps about 20mm from the end and fit your nosewheel. The fit of the nosewheel isnt as critical as it is for the rear wheels but it will help if you make it as straight and true as possible. If the glue for the hobby servo arm support bearing on the chassis has set you can slide the unwheeled end of the steering shaft first into the bearing arm and then into the chassis hole and check that everything is nice and straight. If it is fit a wheel collar to the shaft, between the shaft bearing and the chassis hole in such a way that once it is tightened up the steering shaft cannot be pulled back out of the chassis.

As you can see from the pictures above, the thing missing now is the control arm which links the - once head stepper motor - now steering servo to the steering arm/shaft assembly. The most common way to make these control arms is to use some thin piano wire, bent to suit with pliers. If you are wrapping it around the servo arm and not passing it through a hole in the arm, make sure it fits tightly in such a way that the steering arm is under the control of the steering servo at all times. The head home position sensor can be left in place, quite probably the drive wont work properly if it is removed. I'll do some research into the standard way of bypassing this sensor but in the meantime leave it where it is and unblocked. If it is disconnected then you will only be able to steer in one direction because the drive electronics will be convinced that the sensor is blocked and wont allow any more movement in that direction.

So now you can test if your particular steering linkage works and is free from obstruction. The way you do that is by presenting a pulse train to pin 20 of the drive. But briefly, you can touch pin 20 lightly with the end of a piece of wire which is connected to ground, which will create enough noise pulses to make the steering servo move. Once you reach the end of travel of the stepper motor you need to ground pin 18 and hold it grounded while you put your pulses onto pin 20 to make it move in the opposite direction.

Now you won't always want to have to rub a wire onto pin 20 whilst grounding pins 16 and 18 to get your robot to move around the room so its time to make a pulse generator. The circuit is very simple and uses a standard NE555 timer integrated circuit. This timer is configured in such a way that when it has completed a timing period of X mS it resets itelf and begins another timing period. In between timing periods its output is switching low-high-low-high etc. The frequency of the timing period is set by the ammount of time it takes to charge a capacitor through a resistor, the higher the value of the resistor or capacitor, the longer this time period is. This is a very commonly used device in various configurations because its versatility means it can generate pulses as short as 1mS and shorter, or as long as 1S and longer.

The switches on the prototype were made simply from some brass strips soldered to PCB pins. The beauty of using brass is that although it is fairly rigid it remains easy to cut and bend and can be joined in pieces by simply soldering.

I used a piece of ribbon cable to connect the four important wires to pin 18, pin 20, positive and negative, but any wire of 4 cores or more would obviously work. The 3 switches are for controlling forward, left and right. Any push-to-make switch would work. A good source might be from an old recovered keyboard where you have 125 or so to choose from. The diode between the left and right switches is a 1N4148. although almost any general purpose diode will work. Although 4AA batteries dont last very long, they do at least give you an idea of how this robot moves and if needed, larger batteries could be used. However its not recommended that you use more than 6Volts.

It may be that when used on a hard surface that the front steering wheel has little effect on direction. This is because of the very wide track, the distance between the rear wheels. To reduce this straight ahead tendancy there are three things you can do, both of which work, it just depends on the surface as to which works best.

  1. Move the rear wheels to the inside of the rear chassis rails and closer to the bobbin.
  2. Use a front wheel which has lots of grip. This increases the overall drag on the robot and should be a last resort.
  3. Remove the glue from one of the rear wheels so that only one wheel is driving the vehicle forward.

The finished product, with a new 4AA battery holder ready to be connected up

Back to Converting a Floppy Disk Drive into a Simple Robot (Part I)

Submitted: 19/04/2001

Article content copyright © Chris Barron, 2001.
 Article Toolbar
Print
BibTeX entry

Search

Latest News
- Generation5 10-year Anniversary (03/09/2008)
- New Generation5 Design! (09/04/2007)
- Happy New Year 2007 (02/01/2007)
- Where has Generation5 Gone?! (04/11/2005)
- NeuroEvolving Robotic Operatives (NERO) (25/06/2005)

What's New?
- Back-propagation using the Generation5 JDK (07/04/2008)
- Hough Transforms (02/01/2008)
- Kohonen-based Image Analysis using the Generation5 JDK (11/12/2007)
- Modelling Bacterium using the JDK (19/03/2007)
- Modelling Bacterium using the JDK (19/03/2007)


All content copyright © 1998-2007, Generation5 unless otherwise noted.
- Privacy Policy - Legal - Terms of Use -