I just came back from my shop and the first use of my newly designed iBOB.
When I first put together my CNC milling machine, I used EMC2 and BOB that I created that gave me manual control over the 3 axis motion. This ran good, but I could see some ideas I wanted to add - but just never got around to it, until a couple of months ago when the BOB died. So I got to work and here is what I have developed:
iBOB is a microprocessor controlled BOB that takes signals in from the PC printer port. The signals are buffered and then output to the stepper motor controllers for the 3 axis. As with the previous model, a simple switch allows me to move between manual control and computer control. But here is where it gets interesting. iBOB has a 4 line x 20 character LCD display that normally displays the position of the 3 axis - in manual or computer mode. This works by running a calibration routine where the computer moves an axis by 1.000 inch. The microprocessor uses this data to come up with a scaling factor to determing how many steps are needed for .001" move. Tracking between the LCD display and EMC2 is pretty dang close to each other.
Signals from the CNC machine (home and limit switches) are deglitched so a short pulse will no longer trip EMC2 into thinking that a switch has been triggered.
iBOB requires two 5vdc power supplies - one for the computer side and one for the CNC side. Opto isolation insures that electrical problems on the CNC side cannot get to the computer.
The hand controller has 6 switches (X+, X-, Y+, y-, Z+, Z-)and a pot for speed control of the axis in manual control. Each axis is calibrated to determine the maximum steps per second that will reliably work. So, 100% speed can be different for all three axis at the same time. Also, each axis ramps up to whatever speed is currently being used. So starting a motor with the speed controller at 100% will not cause the motor to stall.
I have a new PCB laid out that I plan on etching tomorrow and then give it a try. The current version is not production or cost friendly. If you are interested in a board (they will be full populated and tested) let me know. I do not have a price for them yet.