Palm Microbot Controller
The Microbot is a fairly old "arm"-type robot with 5 degrees of
freedom. (Picture 1, Picture 2.) We have a few of them in the
robotics lab at NJIT. The cool thing about these robots is that they have
standard 25-pin serial ports on the back (one in, one as a pass-thru) that
can accept text commands.
The Palm Microbot Controller that I wrote with PocketC works by sending these text
commands through the Palm's serial port.
The Microbot accepts commands (in all CAPS) that start with the "@"
sign. There are 7 commands that it accepts:
- @STEP SPEED, BASE, SHOULDER, ELBOW, LEFT-WRIST, RIGHT-WRIST, GRIPPER
(example:
@STEP 88500, 100, 0, 0, 0, 0, 50
will move the base 100 to the left and open the gripper 50 half-steps
at a speed of 88500)
- @RUN (runs a program stored in the Microbot's 1k of RAM - yes, it's very old.)
- @CLOSE (closes the gripper)
- @READ (reads the current positions of the stepper motors - @RESET resets them to 0.)
- @RESET
- @QDUMP (downloads the contents of the Microbots memory)
- @QWRITE (uploads a sequence of steps to the Microbot)
Download
There are several options for download:
- Palm Microbot Controller
- Standalone 57kb
This version requires no other software and will work on its own.
- Palm Microbot Controller -
PocketC PRC 18kb
This version requires PocketC or PocketC Runtime. Download this one if you want an icon on the Palm and you already have PocketC.
- Palm Microbot Controller -
PocketC PDB 17kb
This version requires PocketC or PocketC Runtime, but must be run from within PocketC - there is no icon.
- Palm Microbot Controller -
Source 10kb
Here is all the source code for this project with some icons. Make all
the changes you want... drop me an email if you do!
Notes
- You can change the Step Size and the Speed by clicking
on them.
- The Serial button lets you change the serial port settings.
The program starts up as 2400 baud, 8 data bits, No parity, and 1 Stop bit
as the default because this is how all the Microbots in my school were
configured. Feel free to change the default in the source and recompile -
it can be found in the Microbot_Controller_messageloop file.
- The Upload and Download buttons don't work. There's
something to do with intercepting a carriage return and then getting the
next line. Their intent was to Upload and Download Microbot programs
between the Microbot and the Palm's Memos. Wanna fix it?
- The Read button reads the current positions of the Microbot's
stepper motors. The last number is irrelevant - it is some code that can
be used to figure out the last button pushed on the Teach-Pendant using
some formula given in the Microbot manual.
- The M-Run sends the @RUN command to the Microbot to run the
current sequence of steps stored in the Microbot's internal memory. This
button was intended to be used with the Upload & Download buttons, but
since those don't work, this is pretty useless.
- The Set Point button will append a step to a Memo on the Palm
entitled "MicrobotProg".
- The Run button will send each line of "MicrobotProg" as an
@STEP command to the Microbot, essentially running a sequence from the
Palm.
- Clear will delete the "MicrobotProg" Memo.
- Reset will send the @RESET command to the Microbot. Turning
the Microbot off and waiting 5 seconds seems to be more effective.
Suggestion
Connect the Palm to a computer and run a Terminal program (like
Hyperterminal in Windows) and tap the buttons to see what commands they
send out. Make sure to set the baud rate, etc., correctly!