Electronic Rotary Table Divider - V2.0

 

 

Contents

·        Description

 

 

 

Description.

 

This controller is intended to drive rotary table, lathe head indexer etc. Allowing easy, error free division without the use of division plates.

As well as division the controller allows movement by angles (0.01 to 360 degrees), continuous motion (for machining), positioning (jog mode) and a sophisticated program mode which allows complex sequences of movements and events to be executed.

 

Multiple controllers can be connected together to allow sophisticated machining operations – e.g. automatic gear cutting, one controller dividing whilst the other moves the cutter.

 

Input is via a 16 key keypad whilst a 4 line by 20 column LCD display provides information in a user friendly format.

 

 

Features.

 

 

 

General Usage

 

Keypad Layout.

 

            The keypad comprises 16 keys in a 4 x 4 arrangement as below.

 

1

-0.01

2

3

+0.01

Speed

4

-0.1

5

6

+0.1

S

7

-1.0

8

9

+1.0

G

<<

-10.0

0

>>

+10.0

C

 

 

Throughout the following document, a keypress is shown in square brackets i.e. [1] means the key 1 etc.

 

[S] – Stop.

 Stop key, if the table is moving pressing [S] will stop it immediately on the current step.

 

 [C] – Cancel.

            Cancels an edit, backs out of menus/modes. If the table is moving it will bring it to a stop.

            Press repeatedly to return to the main menu.

 

[G] – Go.

Enters a value, in some modes allows direct manipulation of position.

 

 [<<], [>>] – Prev, Next.

            Curser movement left / right or up / down.

            Advances table 1 division CCW or CW.

 

[Speed]  - Speed.

            Cycles through speed values of 1 to 5 then repeats. (Only effective if table is stationary)

 

Numeric (Jog) values.

            Some modes allow table to be jogged. Table is advanced by value shown under key.

 

Editing numbers.

 Numbers to be edited are surrounded by a pair of square brackets (e.g. [0060]) with the curser visible beneath the left most digit.

Pressing a numeric key will overwrite the digit at the curser and move the curser one place to the right.

If required the curser can be moved left and right with the [<<] and [>>] keys.

Press [G] at any time to enter the number displayed, or [C] to exit (resetting the number to its original value).

Note: It’s not possible to overwrite or move a decimal point.

 

 

Profile

 

            The software allows up to 5 machine profiles. Each profile allows different feed rates, worm ratios and hardware specific settings to be set. This allows the controller to be connected to up to five different devices, e.g. Rotary table, lathe head indexer, dividing head etc.

 

Enter Profile.

            When the software is first run the ‘Enter Profile?’ message appears on the screen. You choose your initial profile here. (The profile can also be changed from the setup options).

 

Enter Profile ?

 

(1 to 5)  [1]

 
 

 

 

 

 

 

 


            Enter the required profile and press [G]. (New profiles are automatically set to default values by the software.) You’ll now be taken to the main menu.

 

 

Main menu.

 

All options are available from here, you can return here from anywhere by repeatedly pressing the [C] (cancel) key. Display shows options and current machine profile.

 

Select:                  P:1

 1> Jog       2>Div

 3> Deg       4>Cont

 5> Prgrm    9>Setup

 

 
 

 

 

 

 

 

 

 


Press the number relating to the mode you wish to use. 1 = Jog, 2 = Division, 3 = Degree, 4 = Continuous, 5 = Program. 9 = Setup.

 

 

Jog Mode.

 

            Jog mode is primarily used to position the table. Note: Jog mode preserves the position, so when entering Jog mode position will reflect the angle the table was last at.

Display shows current speed of table and current position.

 

Jog:               Spd: 1

Position:   0.00

 

 
 

 

 

 

 

 

 


Available Keys:

[1],  [3]            Move the table CCW / CW by 0.01 degrees for each press.

[4],  [6]            Move the table by 0.1 degrees.

[7],  [9]            Move by 1.0 degree.

[<<], [>>]        Move by 10.0 degrees.

[G]                   To directly enter an angle to turn to.

[C]                   To return to the main menu.

[Speed]            Cycles through the five speed settings.

 

 

Division Mode.

 

Division mode is used to divide a circle into a set number of parts. The first screen will prompt you for the number of divisions.

 

Enter Number Divs:

 

Divisions = [0060]

 

 
 

 

 

 

 

 

 


Enter the number of divisions you want to divide the circle into as four digits. E.g. 0, 1, 3, 3 to divide into 133 parts.

Press [G] to continue or [C] to return to main menu.

 

Division.

 

            This is the main screen division takes place on, it shows mode (Division), speed, current position in degrees and current division out of total divisions.

When first entering the position is reset to 0.00 degrees.

 

Division:         Spd: 5

Pos:   0.000

Div:     0 of   60

 

 
 

 

 

 

 

 

 


Available Keys:

[<<]                 Indexes (moves) table CCW by one division.

[>>]                 Indexes (moves) table CW by one division.

[Speed]            Cycles through the five table speeds. (Table must be stopped).

[C]                   Returns to the main menu. (Or stops table if moving).

[S]                   Emergency stop – table stops immediately.

 

[1], [3]             Jogs table by 0.01 degrees CCW / CW.  Effect is temporary and is lost when table is indexed.

[4], [6]             Jogs table by 0.1 degrees CCW / CW. Effect is temporary and is lost when table is indexed.

[7], [9]             Jogs table by 1.0 degrees CCW / CW. Effect is temporary and is lost when table is indexed.

 

[G]                   Allows Div to be directly edited. Table will go directly to this division. Once entered you’ll be asked for the direction, use [<<] or [>>] to rotate CCW or CW. Or press [G] to automatically take the shortest route. [C] will cancel at any point.

 

 

Degrees Mode

 

Degree mode is used whenever you wish to move by an absolute angle each time. The first screen will prompt for the number of degrees to use for each move.

 

Enter Num Degrees:

 

Degrees = [060.00]

 

 
 

 

 

 

 

 

 

 


Enter the number of degrees as 5 digits (you can’t change the decimal point), e.g. for 75.50 degrees press 0, 7, 5, 5, 0.

Press [G] to continue or [C] to return to the main menu.

 

Degree Screen.

 

            This is the main screen for degree mode. The screen shows mode (Degree), speed, current position in degrees and the initial angle setting.

When first entering the position is reset to 0.00 degrees

           

Degree:         Spd: 5

Pos:   0.000

Deg: 60.00

 

 
 

 

 

 

 

 

 


Available keys:-

 

[<<]                 Indexes (moves) table CCW by Deg.

[>>]                 Indexes (moves) table CW by Deg.

[Speed]            Cycles through the five table speeds. (Table must be stopped).

[C]                   Returns to the main menu. (Or stops table if moving).

[S]                   Emergency stop – table stops immediately.

 

[1], [3]             Jogs table by 0.01 degrees CCW / CW.  Effect is temporary and is lost when table is indexed.

[4], [6]             Jogs table by 0.1 degrees CCW / CW. Effect is temporary and is lost when table is indexed.

[7], [9]             Jogs table by 1.0 degrees CCW / CW. Effect is temporary and is lost when table is indexed.

 

[G]                   Allows Pos to be directly edited. Table will go directly to this angle. Once entered you’ll be asked for the direction, use [<<] or [>>] to rotate CCW or CW. Or press [G] to automatically take the shortest route. [C] will cancel at any point.

 

 

Continuous Mode

 

            This is the main screen for continuous movement. The screen shows mode (Continuous), position in degrees and speed.

 

Continuous:    Spd: 5

Pos:   0.000

 

Press direction

 

 
 

 

 

 

 

 

 


Available keys:-

 

[<<]                 Begins rotation CCW. Press [C] or [S] to stop.

[>>]                 Begins rotation CW. Press [C] or [S] to stop.

[Speed]            Cycles through the five table speeds. (Table must be stopped).

 

 

Setup

 

            Entering setup will go directly to the first setup option. Any options changed in setup are automatically saved to the selected machine profile in NVRAM (non-volatile RAM).

 

Available keys (generic)

 

[G]                   To change values currently displayed.

[C]                   To return to main menu.

[>>]                 Next screen.

[<<]                 Previous Screen.

 

Set Min Speed

            This is the speed that is used when speed is set to1 in the various modes.

Display shows starting speed (Lo), final speed (Hi) and acceleration (Ramp).

 

Notes:

Lo is the starting step rate, Hi is the final step rate and Ramp is the amount added to Lo each step until it reaches Hi.

If Lo is too low stepper may be unable to start.

If Hi is too large stepper may stop stepping or become noisy and unpredictable.

If Ramp is too low stepper will take too long to reach Hi, too high and stepper may stop stepping or become noisy and unpredictable.

 

Set Min Speed ?

 

Lo:   200 Hi:   500

Ramp:   8

 

 
 

 

 

 

 

 

 

 


Set Max Speed

            This is the speed that is used when speed is set to 5 in the various modes.

Display shows starting speed (Lo), final speed (Hi) and acceleration (Ramp).

 

Notes:

 

Lo is the starting step rate, Hi is the final step rate and Ramp is the amount added to Lo each step until it reaches Hi.

If Lo is too low stepper may be unable to start.

If Hi is too large stepper may stop stepping or become noisy and unpredictable.

If Ramp is too low stepper will take too long to reach Hi, too high and stepper may stop stepping or become noisy and unpredictable.

 

Set Max Speed ?

 

Lo:   350 Hi:  1000

Ramp:   8

 

 
 

 

 

 

 

 

 


Set Worm Ratio

            Sets the number of turns of the worm for one full turn of the table. Press [G] to change.

 

Set Worm Ratio ?

 

Ratio:    90

 

 
 

 

 

 

 

 

 

 


Notes:

Assumes a 400 steps per revolution stepper (I.e. 200 step stepper in half step mode)

If your stepper is not using 400 steps per revolution you should calculate a worm ratio that compensates for this. I.e. a 1600 step per revolution stepper with a 90:1 worm is the same as a 400 step per rev stepper with a 360:1 worm.

 

 

Swap Rotation Direction

            Allows you to set the direction the table rotates to match the controller. Press [G] to change.

 

Swap Rotation Dir ?

 

Dir:   CW

 

 
 

 

 

 

 

 

 

 


Set Backlash

            Allows you to set the amount of movement required to compensate for backlash. Press [G] to change.

 

Set Backlash ?

 

Num Steps:   10

 

 
 

 

 

 

 

 

 

 


Notes:

Backlash is removed by always finishing rotations CW, to do this the table overshoots any CCW rotation by the number of steps set here, then rotates CW by that same number of steps – the same as you would do manually.

If the number is too small then the backlash won’t be taken up fully, too large and the table will move more than is required.

 

 

Set Clock Pulse

            Allows the user to set the polarity of the clock pulse to match that of the stepper controller hardware. Press [G] to change.

 

 

Swap Clock Pulse ?

 

Low    -_-

 

 
 

 

 

 

 

 

 

 


Notes:

 

If the polarity is incorrect the stepper controller may not step reliably or at all. Some controllers work fine regardless of polarity.

 

 

 

Change Profile.

            Allows the user to switch to one of the five machine profiles. Press [G] to change.

 

Change Profile ?

 

[G] to select new.

 

 
 

 

 

 

 

 

 

 


Enable Polarity

            Allows you to change the polarity of the enable (active) line. This line can be connected to a controller to drop the current when the table is inactive. Press [G] to change.

 

Enable ?

 

Low

 

 
 

 

 

 

 

 

 


Notes:

 

If your controller switches off when disabled with this line it may cause the stepper to mis-step by allowing removing the holding current from the stepper and allowing it to relax to a full step position. In this case do not connect this line, doing so will cause an incremental error to occur by allowing any half-steps to be lost each time the table stops.

Most modern controllers switch automatically to a low current holding mode when activity ceases and so wouldn’t require this line.

 

 

Factory Defaults

            Resets all values for current profile only. Press [G] to reset.

 

Factory Defaults ?

 

[G] resets.

 

 
 

 

 

 

 

 

 

 


Programming – overview.

 

            Programming mode allows a sophisticated sequence of events to take place. It also facilitates the communication with other equipment.

Programs are edited and run from RAM, they can be permanently saved and loaded into one of ten slots.

See example programs for more details.

 

 

Programming Menu

 

            All programming functionality is available from here.

 

Program:

1> Run        2> Step

3> Edit        4> New

5> Load       6> Save

 
 

 

 

 

 

 

 

 


Press the number relating to the mode you wish to use. 1 = Run, 2 = Step, 3 = Edit, 4 = New, 5 = Load. 6 = Save.

 

 

Run

            Starts the current program in RAM running.

            Whilst running the following screen is shown, information shown is mode (Run), speed and current position.

 

Run:               Spd: 5

Pos:   0.000

 
 

 

 

 

 

 

 


Available keys:

 

[S]                   Terminates the program immediately.

[C]                   Switches to Single Step mode on the next instruction.

 

Notes:

 

Whilst running the program can pause – waiting on an event. The following events are described by their associated command:-

 

Wait Sense.                Displays “Waiting for SENSE” on the bottom line and the program will wait for the SENSE line to cycle high then low.

Wait Operator.           Displays “Press [G] When Ready” and wait for the operator to press the [G] key.

Wait Time.                  Displays “Wait Time: nn” (where nn is the number of remaining seconds) when time reaches 00 controller will continue automatically.

 

Terminating.

The program finishes normally when the End command is reached and displays “Program finished” and “--- Press [G] ---“ along with final table position.

If the user terminates the program with the [S] key the messages “User Terminated” and “--- Press [G] ---“ are displayed.

 

 

 

Single Step

 

            Allows you to run the program in RAM one step at a time, mainly used for debugging.

Whilst running the following screen is shown, displaying mode (Step), speed, current position and the command that will be executed.

 

Step:              Spd: 5

Pos:   0.000

> current command

 
 

 

 

 

 

 

 


Available keys.

 

[>>]                 Executes current command, screen updates to reflect next command.

[G]                   Enters Run mode and continues full speed program execution from current point.

[S]                   Terminate program.

 

 

Editing the Program

 

            Allows the user to enter a program or edit an existing one.

The screen shows a window of 4 lines on the program along with a curser (>). Lines begin with the current line number followed by the command.

With an empty program the screen looks like this.

 

> 1 End

   2 - - -

   3 - - -

   4 - - -

 
 

 

 

 

 

 

 


Available keys.

 

[>>]                 Moves the cursor down towards the end of the program. (Curser can’t move past the End command.)

[<<]                 Moves the cursor up.

[C]                   Returns to the program menu.

[G]                   Edit the line the cursor is at.

 

[C]                   Press and hold for 1 second to delete the line at the curser (lines above are moved up to close the gap).

[G]                   Press and hold for 1 second to insert a new line at the cursor (lines beneath are moved down to make space).

 

 

Editing a line.

            Allows the user to add a new line (by editing the End command) or change an existing line.

 

Enter Command:

 

> current command

 
 

 

 

 

 

 

 


Available keys.

 

[<<]                 Cycles backwards through list of commands.

[>>]                 Cycles forward through the list of commands.

[G]                   Accepts current command (if command has parameters then it will prompt for them to be edited)

[C]                   Cancels changes and returns to program listing.

 

 

New.

 

            Erases current program in RAM and goes into Edit mode.

 

 

Load.

 

            Allows user to load a previously saved program into RAM from one of the ten slots.

The load screen shows mode (Load), prompts for the slot to load and the bottom line (Used) shows a list of slots that have a program stored in them. (So from the example shown below, slots 3 and 7 have programs in them and the rest are empty.

Load:

  Slot [0-9] ?  [0]

 

Used: [   3    7  ]

 
 

 

 

 

 

 

 

 

 


Available keys.

 

[0] … [9]         The number keys [0] through to [9] change the number of the slot you wish to load.

[G]                   Loads slot shown in brackets.

[C]                   Cancels and returns to programming menu.

 

Note:

Loading an empty slot simply clears the program memory.

 

 

Save.

 

            Allows user to save the current program in RAM into one of the ten available slots.

The save screen shows mode (Save), prompts for the slot to save into and the bottom line (Free) shows a list of slots that are empty. (So the example shown below all the slots are empty with the exception of 3 and 7 which have a program stored in them).

 

 

Save:

  Slot [0-9] ?  [0]

 

Free: [012 456 89]

 
 

 

 

 

 

 

 


Available keys.

 

[0] … [9]         The number keys [0] through to [9] change the number of the slot you wish to save to.

[G]                   Saves into slot shown in brackets.

[C]                   Cancels and returns to programming menu.

 

Note.

            If RAM is empty then saving it will clear the slot.

 

Command Set.

 

            This is a list of all available commands; these are broken down into groups.

 

Table Move Commands.

            Direction CW               All movements after this are CW.

 

            Direction CCW            All movements are now CCW

 

            Direction Flip                Flips the direction. E.g. If the table was CW it will be CCW after this command.

 

            Speed (speed)              Sets a new speed value.

 

            Go To (angle)               Moves the table to an absolute value (angle).

                                                E.g. Go To 100.00       - moves the table to 100 degrees.

 

            Move By (angle)           Moves the table relative to it’s current position.

                                                E.g. Move By 35.00     – turns the table through 35 degrees

 

            Set Pos (angle)             Sets the current position of the table to be angle (table doesn’t move).

                                                E.g. Set Pos 75.00       - table is now assumed to be at position 75 degrees.

 

Wait Event

            Wait Operator              Shows message ‘--- Press [G] to Continue ---‘ and waits until operator presses [G].

 

            Wait Time (secs)          Waits for secs time before continuing. Shows message ‘Wait Time: nn’.

 

            Wait Sense                   Waits for the sense line to trigger. Shows message ‘Wait Sense’. (See also Acknowledge.)

 

            Acknowledge               Sends an acknowledge to another machine. (Ack line connected to sense line – see Wait Sense)

 

Program flow.

            Loop Forever               Loops back here when End Loop command reached. (Loops can be nested)

 

            Loop For (count)          Loops back count times when End Loop reached then continues. (Loops can be nested)

 

            Loop End                     Goes back to matching loop command (unless count is reached on Loop For in which case continues)

 

            End                              Program terminates and displays appropriate message.

 

Miscellaneous

            Jog                               Enters Jog mode and allows user to position table. Note: Table position is altered by this – probably use a Set Pos after it to set the current position.

 

            Nop                             No operation. Does nothing, can be used to temporarily remove an instruction. Inserting a line adds a NOP.

 

 

Example Programs

 

            Some sample programs. Note I’ve spaced out and added comments for readability.

 

Program 1

We want the table to rotate 180 degrees, wait for the operator, then rotate back in the opposite direction and repeat.

 

1                  Speed 5                        ; set speed to 5

2                  Loop Forever                ; loop forever

3                  Go to 0.00                    ; go to 0.00

4                  Wait Operator               ; wait for the operator to press [G]

5                  Go To 180.00               ; go to 180.00

6                  Wait Operator               ; wait for the operator to press [G]

7                  End Loop                      ; back to line 2

8                  End                               ; end of program

 

Program 2

We want to carry out two sets of five machining operations, such that all 10 operations are equally spaced and every other is the same operation.

 

1                    Speed 3                       ; set speed to 3

2                    Direction CW               ; Direction is CW

 

3                    Loop 2                         ; two sets of 5

 

4                    Loop 5                         ; loop for first set of 5

5                    Wait Operator              ; wait for operator to press [G]

6                    Move By 72.00            ; 1/5th of a circle

7                    End Loop                     ; back to line 4

 

8                    Move By 36.00            ; move 1/10th in readiness for next set

9                    End Loop                     ; back to line 3

 

10                End

 

Program 3

We want to move the table to five positions in turn and repeat, waiting for the operator after each one.

 

1                    Speed 3

2                    Loop Forever

 

3                    Direction CW               ; set direction to CW

4                    Go To 38.00                ;  go to 38.00

5                    Wait Operator              ; and wait for the operator to press [G]

 

6                    Go To 77.00                ; go to 77.00 and wait

7                    Wait Operator

 

8                    Go To 148.00              ; 148 and wait

9                    Wait Operator

 

10                Go To 240.00              ; 240 and wait

11                Wait Operator

 

12                Direction CCW            ; move back to 170.00

13                Go To 170.00

14                Wait Operator

 

15                End Loop

16                End