Hard to believe its been close to 2 years since I started this thread. I finally got my act together and got some code written for this project. Every time I made another start, I'd get busy and forget about it again or hit a big snag. I've used an open source form library for the interface (menus and data entry) which is quite nice but I had to add a couple more field types to the class.
Anyway, spurred on by a couple of guys keen on the Arduino over at HMEM (one of whom is building a dedicated Arduino based Rotary Table controller board), I dusted out my code and in the last couple of days have finally got something running using a Gecko controller, Arduino UNO and a Freetronics Display and keyboard. The code is also compatible with the Sainsmart board but you might have to watch the stepper ports. The Freetronics board has 5 buttons (up, down, left, right, select).
Features included are:
1. High performance interrupt driven stepper driver using the Arduino Timer1 library (500 kHz in theory)
2. Dividing mode where you enter the number of steps
3. Move an arbitrary angle defined in degrees minutes and seconds
4. Jog mode, turns continuously left or right while button is held down, jogs a defined number of steps on up/down buttons.
5. Set speed up or down in 5% increments of a designated frequency range
6. Internally, angles are stored as a long data type containing the number of seconds (to avoid floating point maths)
7. Nice simple menu driveninterface on a 2x16 char LCD display.
8. Quick data entry by cursoring left and right long a field and changing the value under the cursoe using the up and down buttons.
7. Definitions of the maximum and minimum frequency in Hz for your stepper so you can look at a data sheet to set it up. Used for speed control.
8. Set/goto home position.
I hope to eventually store setup data in the Arduino EEPROM but right now, I want to complete fitting it to my 9:1 6" Vertex rotary table over the weekend so I can check for final bugs.
The Arduino was crying out for a good rotary table controller as you don't need to be an electronics expert to put something together as you can do it with no soldering at all these days!
Code and supporting libraries are able to be downloaded from here
http://www.homemodelenginemachinist.com/showthread.php?t=24118Enjoy!