This is one of my CNC motion control revisions and it is currently an abandoned project.

CNC Controller Motion Board (Rev. A)

Table of Contents

Introduction

This is the Revision A version of my motion control board. I took this design pretty much to the completion of the printed circuit board layout. Unfortunately, I ultimately decided that I had partitioned things incorrectly and have wound up designing a significantly different board called Revision B (original name!) You should only be digging around in this design if you enjoy seeing circuit board evolution.

Design

There is an additional connector that is only used when the motion board is connected to the buffer board. This connector is used to collect the linear/shaft encoder signals, the individual limit/home switch signals, control the wave tables, and control the Digital to Analog converters (discussed a litte further below.) The buffer connector is a standard ribbon cable with the following pinouts:

Pin
Number Label Direction
1 WENC1+ Out
2 WENC1- Out
3 WENC2+ Out
4 WENC2- Out
5 WLIM+ Out
6 WLIM- Out
7 WHOME Out
8 WDAC In
9 XENC+ Out
10 XENC1- Out
11 XENC2+ Out
12 XENC2- Out
13 XLIM+ Out
14 XLIM- Out
15 XHOME Out
16 XDAC In
17 YENC1+ Out
18 YENC1- Out
19 YENC2+ Out
20 YENC2- Out
21 YLIM+ Out
22 YLIM- Out
23 YHOME Out
24 YDAC In
25 ZENC1+ Out
26 ZENC1- Out
27 ZENC2+ Out
28 ZPhase2- Out
29 ZLIM+ Out
30 ZLIM- Out
31 ZHOME Out
32 ZDAC Out
33 Bus0 In
34 Bus1 In

My preference is to use a less expensive Microchip PIC16C505 [PIC16C505] instead of a L297. This 14-pin chip in conjunction with a simple comparator chip can perform basically the same functions as the L297.

The PIC16505 has a drawback in that it needs to be programmed. This is solved by providing a very simple serial programming circuit as part of the motion board electronics. (I never actually got around to putting this on the board.)

There are 12 I/O pins on PIC16C505:

Pin Function
Number Label
13 RB0 STEP
12 RB1 DIR
11 RB2 MODE
4 RB3 BUS0
3 RB4 BUS1
2 RB5 ENABLEAB
10 RC0 COILA+
9 RC1 COILA-
8 RC2 COILB+
7 RC3 COILB-
6 RC4 SENSEA
5 RC5 SENSEB
The STEP, DIR, MODE, BUS0, and BUS1 lines are used to control the PIC16C505. When MODE=0, the PIC16C505 is in stand-alone mode and the wave tables are selected by applying a 1 or 0 to BUS0 and BUS1 respectively. When MODE=1, the BUS0 and BUS1 lines of all othe PIC16C505's are tied together. By setting the DIR, BUS0, and BUS1 lines, the buffer board can remotely configure the PIC16C505.
p
MODE STEP BUS0 BUS1 DIR Description
0 0->1 x x 0 Step Clockwise
0 0->1 x x 1 Step Counter Clockwise
0 x 0 0 x Wave Table 0
0 x 0 1 x Wave Table 1
0 x 1 0 x Wave Table 2
0 x 1 1 x (Reserved)
1 0->1 0 0 0 Step Clockwise
1 0->1 0 0 1 Step Counter Clockwise
1 0->1 0 1 0 Disable
1 0->1 0 1 1 Enable
1 0->1 1 0 0 Increment Delay
1 0->1 1 0 1Decrement Delay
1 0->1 1 1 0 Increment Wave Table
1 0->1 1 1 1 Reset

Schematics

The schematics are broken into 1 connectors schematic and 4 relatively identical axis schematics.

The parts list is kept in a separate file.

The connectors schematic is shown below:

Connectors Schematic

The W Axis schematic is shown below:

W Axis Schematic

The X Axis schematic is shown below:

X Axis Schematic

The Y Axis schematic is shown below:

Y Axis Schematic

The Z Axis schematic is shown below:

Z Axis Schematic

Printed Circuit Board

The printed circuit board files are listed below:

Issues

There are a number of problems with the Revision A board:

It is time to rethink the design:
Copyright (c) 2001-2002 by Wayne C. Gramlich. All rights reserved.