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.
Between the January 1982 entries and this one, I attached the SYM-1 computer, modified; typed in; and debugged the self-direction program, and attached the outer frame; impact sensors; and impact sensor circuitry. I was unable to get Tod’s impact sensor program (written for the KIM) modified to work on the SYM, but I entered the 1983 state science fair anyway. My entry was one of two robots in the fair, we both won Second Award.
Microtron remained in this state until the late 1990s, when I decided to restore and refit the robot – and to at least get the impact bumpers and ultrasonic functionality working. This effort is currently underway.
The joystick has been assembled and wired to the A/D converter, using a 16-pin IC connector and ribbon cable. It was originally used on our Apple II.
Completed the Analog-to-Digital Converter and associated Inverter Circuit. The A/D Converter is so that Mike’s on-board microcomputer can detect the position of the directional detector potentiometer, as well as read the joystick. The Inverter Circuit is needed because all output lines on the KIM-1 go high (ie, to 1) when ‘reset’ is pressed-so the programs will output 0 for high, 1 for low and the TTL lines will be inverted.