Indexing/Dividing Head Controller


This page describes a prototype of a device for controlling a machine tool accessory called an indexing head or dividing head. The dividing head is used to hold a workpiece and rotate it to various angular positions for machining operations. An example use of a dividing head would be to cut four or six flats on a piece of round stock yielding a square or hexagonal shape, respectively. A picture of an Ellis dividing head appears below.
The picture above shows a dividing head without a work holding chuck attached to its threaded spindle. By rotating the crank, the spindle of the dividing head is also rotated; usually through a reduction gear. This particular dividing head has a 40:1 reduction meaning that 40 complete turns of the crank are required to rotate the spindle one complete turn. The disk with multiple concentric rings of holes is used for manual dividing operations. Depending on the number of divisions that is needed, the operator selects a ring with a suitable number of holes so that a calculated number of whole turns plus fractional turns of the crank yields the desired spindle motion.

This project replaces the crank with a stepper motor driven by a BX-24 microcontroller. (As an aside, if I were to embark on the project today, I would use a ZX-24 microcontroller because it is much more powerful and it's pin compatible.) The photo below shows the dividing head fitted with a stepper motor. This particular stepper motor has 128 in-oz of torque and draws about 1.5A per phase at 6 volts. It seems to operate the dividing head well enough as long as you don't have the worm gear tension too high. Click the image for a larger, annotated image.

The microcontroller's software presents a menu interface through which the user navigates using a set of four keys that are positioned directly below the display. Data entry is performed using a keypad seen in the prototype photo at the top of the page. A larger, annotated image of the prototype may be seen here.

The photo above shows the top level menu. Note the navigation cues along the left and right sides and the bottom of the display. The bottom line of the display is divided conceptually into four zones corresponding to the four navigation keys located just below the display. In the photo the second zone is blank signifying that the corresponding key has no current function.

During menu navigation, the leftmost and rightmost navigation keys are used to move a menu cursor (displayed in the leftmost column) up or down, respectively. When the upper and lower limits of navigation are reached, the navigation cues change to so indicate.

Each menu item has cues associated with it similar to those used in other windowing environments, e.g. Microsoft Windows.

- A menu item that leads to a sub-menu has a right arrow cue in the rightmost column.
- A menu item that leads to a data display or dialog has an elipsis following it.
- A menu item that, when selected, causes an immediate operation has as exclamation mark following it.
- A menu item that represents a data element is followed by a colon and then the data element value.

When a menu item representing a data element is selected, one of two things happens depending on the data element type. If the data element has a discrete set of enumerated values, the values are cycled through, one per keystroke. Otherwise, an editing dialog for that data element is presented allowing the user to modify the element value. During data element editing, the leftmost and rightmost navigation keys perform "clear" and "backspace" functions, respectively. The second and third navigation keys are used to cancel the editing operation and to accept the modified value, respectively. An example data editing screen can be seen here.

The images below represent the sub-menu screen corresponding to each of the five items on the top level menu (the first item's sub-menu is on the left, etc.). Click on any of them to see a larger version of the image together with commentary about the screen. A similar paradigm is employed on the subordinate pages so that most of the hierarchy is presented (some data editing screens were omitted for brevity).

The schematics for the circuitry used for the controller are available as images (Page 1, Page 2, Page 3 and Page 4) or as an ExpressSCH schematic here (right click, Save As to your disk). The full schematic can be most conveniently viewed and printed using the ExpressSCH schematic drawing program that can be downloaded free here.

If you wish, you may email me with questions or comments.