The old power supply circuit, the drive motor speed control circuit, and the directional control circuit still work. They are now connected to my laptop via the Phidget 8/8/8 (see below) and I have written new speed control and direction control software in C. Rather than only 10 speeds, Mike now has 200 speeds (100 forward and 100 reverse), for finer control.
I had considered replacing the drive motor speed control with a new DC motor controller, which would have handled the drive signal pulsing in firmware and also provided valuable signal feedback, but I ultimately decided to keep the legacy boards in place where possible. This means that I wrote my own speed functions, delivering from 0 to 100 pulses to the drive motors every 100 microseconds. Fun to do and I’m glad that it works. Down the road, however, this circuit may have to be upgraded or replaced: The legacy speed control circuit delivers the same signal to all drive motors, which are wired in parallel. Separate speed control of each individual drive motor is not possible and Mike’s geometry calls for this feature.
The directional control appeared at first to not function, but it turned out that the drive current was being limited by too great a factor. Probably because my Microtron is powered by a motorcycle gell cell instead of the original old-style liquid acid car battery that Todd’s Mike used. The 4.7 Ohm 10 Watt resistor (limiting the drive current) will need to be replaced with one of smaller value. But like the speed control circuit, the “proper” step in this case would be to use a full-blown motor controller.
All that remains for Mike to be somewhat autonomous is the addition of sensors. Probably fixing the impact sensors (ie, bumpers) and/or adding the ultrasonic detector will be next. Then transferring Mike’s new “brain” from my laptop to some sort of on-board SBC.
The Phidget 8/8/8 arrived today. Looks good. Brainstorming/designing/experimenting now in progress.
Synertek’s SYM-1 microcomputer, programmable from the hex keypad, with 6-digit LED readout.
The SYM-1 appears to be dead. It does not give its customary “beep” when powered up, the display remains blank, and there is no response to any key presses. Further, some of the chips appear to have rotted. I have removed it from Microtron in preparation for the robot’s long-awaited system upgrade. Also gone are the original A/D converter circuitry, the bumper-hit detection circuitry (both circa 1982), and a slew of old wires.
My current thought regarding most of the legacy circuitry is to keep boards if they work; remove or replace them only when needed.
The Phidgets library compiles and installs on my Lemote YeeLoong. The netbook appears to need 20 volts while Microtron’s battery is 12 volts – so I’ll either add a boost-up circuit or use something else for Microtron’s on-board processor.
In the meantime, I’ll be ready for coding when the 8/8/8 arrives.
Microtron knows which direction it is turning because of a potentiometer that reports the current position of the turning wheel back to the central processor. The original potentiometer that was installed in 1981 had apparently disintegrated at some point while the robot was in storage.
As one of the steps needed to get Microtron working again, I replaced the pot’ and pressure-mounted dowel today.
Pictured above on the right is what is left of the old potentiometer, and on the left is the new replacement pot’ and dowel.
I ordered the Phidget Interface Kit 8/8/8 today. I read the description and it appears that the rat’s nest of sensor cables, miscellaneous wires, and assorted home-brewed circuit boards that are currently on board my Microton Robot can all be replaced by one off-the-shelf, miniature-sized component board. The field of robotics has apparently come a long way since the early ’80s.
The Phidget 8/8/8 boasts 8 analog inputs, 8 digital inputs, and 8 digital outputs. This will cover all of Microtron’s currently designed functionality, with plenty of room for expansion down the road. Phidget also supplies the library as GPL’d source code, which I hope means that I’ll be able to develop on a GNU/Linux system.
Another plus: I’ll be able to access the device via a single USB port. After programming Microtron in 6502 machine code (w/ 4K of RAM), I’m really looking forward to doing some higher-level, language based robot programming instead.
The phidget libraries are written in C and I plan to write the first stages of Microtron’s new code in C as well. Some of my AI theories are object-based, so I may play around with Objective-C once Microtron’s basic functionality is working.
The photo above shows Microtron in all his fully-functional glory in 1983. Sometime in 1998, as part of an earlier restoration and clean-up effort, I removed the outer panels and the upper frame – as is visible in this more recent photo from 2009:
I decided that the first step in restoring functionality was to get the robot’s frame back together. Here are the original pieces, laid out in their proper order, ready to be bolted back together. Each piece is individually numbered (the number labels are on the inside of the pieces as is visible in the photo) – I merely followed the diagram from Tod’s original book:
A few nuts and bolts were missing, but I picked up replacements at a local hardware store. The new screws are identical to their 25 year old counterparts, except shinier. There were no problems in reassembling the upper outer frame, and here is Microtron with his now complete frame:
Working with colleagues in 1956, Benjamin Bloom developed the idea of six levels of cognitive thinking, which he named Bloom’s Taxonomy. The levels, in order of lowest to highest thinking level, are knowledge; comprehension; application; analysis; evaluation; and synthesis. For information on Bloom’s Taxonomy, see