Thursday, February 5, 2009
Nudgebot front and rear
With the circuit complete the only item left to complete was the front shield/scoop. This would both protect the front circuits and sensors and be the scoop to push opponents. With the rest off the robot down I had under 1cm before I hit the 10cm length limit. This meant the scoop would be very steep. The angle end up being approx 80 degrees. So the scoop wouldn't be scooping under over robots but more of a battering shield.
Since I had weight to spare (nudgebot was under 300gm) I went for a heavier metal than what I used for the rear shield. I couldn't go to heavy otherwise I wouldn't be able to work it with the hand tools I have (no sheet metal bender I'm afraid). My standard way of bending sheet metal was to clamp it in a vice and using a small engineers hammer to work it over the bend.
My bottom attachment points were on the front sensor board. The top attachment points were one the front screw holes on the main board. I also wanted the shield to wrap around the front sides and curve over the top of the main board to protect the battery and sensor plugs.
This front sensor board was 7mm above the ground so I curved the bottom of the shield (rather than end in a straight edge) to reduce friction/potential for small bumps to be grabbed. While this seemed to work well I found I kept having scratch marks on the sumo ring. This was because a small part of the bottom of the shield was touching, not the entire bottom of the shield. This resulted in nudgebot bouncing as this one point would catch, scratch and then bounce up and repeat. Much bending and rebending of the bottom attachment points were attempted to fix this. In the end one of them broke off. Sheet metal can only be worked so much. So with only three attachment points the shield was still very rigid. I had learnt from the rear shield that having the metal under a slight amount of tension added a great deal of rigidity. Strangely enough after the bottom attachment point broke off the issue of the scratching from the bottom shield on the sumo ring went away and nudgebot was running with ease across the sumo ring. I cut my losses and stopped fiddling.
All that is left to do is maybe paint the front and rear shields black (to reduce IR detection) and add in some lead weights to get nudgebot up to the 500gm class weight limit.
The brain board
The brain board was connected to the main board by a custom built six pin connector. On the main board I cut up a standard 8 pin DIL socket so I had two 3 pin connectors. These then went next to each other on the main board. The six connectors were power/ground/left sensor/right sensor/right motor/left motor. On the brain board I used an extended 6 pin connector (cut down from a 12 pin connector) that was approx 1.5cm long. This was then soldered into the main board.
Bottom of the brain board
However the first one I used turned out to be too short once the AA batteries were installed (always measure with everything in place!). This caused a problem as when I unsoldered it a number of the copper tracks came off too. Thus the second header was not as securely connected. Over time this weakened quite a bit and in the end I had to reinforce the entire lot with a big glob of epoxy glue to stop it from falling apart. Given the choice again I would just use a standard molex connector or like.
The brain board consisted of the 556 and 393 chips and associated variable resistors/resistors/etc. I used a small board (approx a third the size of the main board) and even that gave me plenty of room. I changed the circuit slightly from the original breadboard design by adding variable resistors to the time circuit in case it needed to make a few adjustments (in case my timings were off on the breadboard). After a few hours of careful soldering I was all done and ready for the first test.
Nudgebot read to go
Things started to look promising. Nudgebot drove well, detected the white line and turned, sometimes. Also there was a humming coming from the relays. Basically the relays were getting stuck (ie latching). The voltage would be at 3.5V approx and the relay wouldn't unlatch. This never happened on the breadboard design. After much trial and failure I did the obvious and used the 555 timer chip from the breadboard instead of the one I purchased for the brain board. Total success. Why were my two 556 timer chips so different? Well the issue was the design. When using a 555 to drive a relay you need a diode in series to prevent latch up. The book I had got the 555 design from specifically mentions it. I had just missed it and the breadboard 556 timer chip obviously handled this better than the other one. So I went with the breadboard 556 timer chip with a todo note for adding in the diodes in series when I get time.
With the bread board done the circuit was finished. Nudgebot worked great. It travelled well, detected the white line without issue, turned, etc. Only quibbles were the values I used for the variable resistors in the timing circuit were too high. At the lowest setting they triggered for approx 1 sec which with the motors resulted in a 100-160 degree turn. Fine but would be nice to have better control. Also as usual the motors performed differently with one motor slightly faster than the other and the turn being impacted by this. Again for a dumbbot this was fine. In fact the uneven turn meant that Nudgebot was unlikely to get stuck in a forward/reverse loop so it was kind of a blessing in disguise.