RB5X Manual Drive Controller
This page details a quick project my grandson Logan and I worked on together for his high school engineering class. RB5X is very old and hadn't actually moved around for at least 10 years, so we decided to do a quick and dirty project to manually get it moving. Normally it would move around under program control but this method has proved almost fruitless as it's difficult to communicate with the robot using the old existing software methods. Plus we needed something fairly quick for a project so coming up with a more straightforward method of motion control was in order. Below are some details on how it was accomplished, after which we recorded a final video as proof for the teacher of his work. Click on each photo to see an enlaged version.
Here's RB5X just sitting, wanting to be able to move around like other robots do... try as he might, nothing happens. He either needs some software to tell him how to move or, in this case, we will provide him with an easy way to move as along as his human overlord is present to push the control buttons in the correct manner. We could carry him around but what fun would that be?
Let's get busy building a control box that will connect to his motor control board and enable RB5X to move forward, backward, in an arc, spin in place, or any combination of the above, all under human control of course.
This was a fun project, especially working with my grandson on it. I think this addition to RB5X will be useful, and even more so if we add a connector to the control panel on the robot so the control box can be plugged in only when it's needed to move the little 'bot manually. This will require a little thought and some looking at the schematics and a datasheet or two to be sure we can make connections in parallel with the existing drive connection without damaging the driver chip or whatever is driving the driver chip (from the microprocessor board). Implementing this should make a great one day project in the near future.
The drive components are on the floor so let's flip RB5X over and take a look at the drive board to see if there might be a convenient way to gain control. If you look to the right of the IC there is a ribbon cable plugged into the board, and there are a few other plug connections along the lower side also. These lower ones look like power connections so it appears that the ribbon cable should be the control inputs to the board. A look at the schematics confirms this. So here is our way to gain control of the motors... we just need to figure out which pin is which on the connector.
Schematics are like gold to anyone trying to analyze how something works or to troubleshoot a problem with some device. This schematic was from the RB5X manual which, in addition to providing detailed explanations of how everything works in the robot, also contains complete programming instructions and schematics and interconnections for everything inside the case, as well as the charger. This was enough information (along with a datasheet for the ULN2003A driver chip) for us to determine how to build the manual controller we will use to move RB5X around.
We used this info to determine that positive logic signals were needed to switch each driver chip output to ground to actuate relays K0 thru K3, which in turn provide power to the motors to drive them in one direction or the other.

We went through the bench supply and the bins and boxes of surplus stuff in the garage looking for an appripriate sized enclosure, some multi-conductor cable, four momentary pushbutton switches and an in-line female connector to mate with the motor control board connector pins. we drilled out the box with holes for the switches and one for the cable to enter. After Logan mounted the switches he got busy soldering some wire to connect the cable to the switches. The other side of each switch was connected together and to a single wire (the switch common) which will be battery positive.
We used an external battery plugged into the drive board and a probe connected to battery plus to test each input and see which direction it caused each motor (and wheel) to run. With this we were able to determine which pins would provide forward direction and reverse direction for each wheel. We now have enough information to construct a switching arrangement to simulate the control signals that would normally be coming from the microprocessor board. Let the construction begin......
The button functions were assigned logically and labels attached to the box to make it easy to see which ones to push to perform the various motions we needed.
The other end of the cable needs to plug into the motor control board so the buttons can actually control the motors and make the robot move.
Paying close attention to which color wire was connected to which switch, the wires were soldered to the appropriate pins of the inline connector and heat-shrink tubing was used to ensure electrical separation and to provide strain relief for the connections. After double checking all of the connections the time had come to do the "acid test"... plug the controller into the motor control board and test.
We decided, for the testing, that we would route the cable inside the robot via the ultrasonic sensor hole since there was just enough room for the cable to pass through, then routed it down through a cable port in the bottom chassis plate to the motor control board
There is no keying for the connector so care was taken to be sure it was plugged in with the correct orientation.
The last thing to do... test the new control panel! We moved RB5X into position and Logan took the controls...pushed both the left and right forward buttons, and........... IT WORKED!
The motors were a bit cranky and noisy since they are quite old and hadn't really been 'used' for many years, but he ran it out of the lab and down the hall, turned it around, and tried several maneuvers to test everything before we ran out of time for the day. We took lots of photos and a few videos for his engineering class teacher who was very pleased with his project.