Controller Electronics


I'm making the layout and schematic files for all of the boards I've made available to download.  The schematic and layout files are available in jpg image, pdf and OrCad file formats.  To print the "trace only" version of the board (for making the PCB) from the OrCad layout files, the "Global" and "SSTOP" layers need to be made invisible.   The pdf format layout files are "to scale"  and ready to printed for use in a toner-transfer PCB process, but you need to follow these instructions for printing.  If you want use the jpg layout files, may need to scale them appropriately (I included the overall board dimensions) before printing. The part list for each board is also available in both MS Excel and pdf format.  

This page has designs for all of the boards that are currently used in my controller.  The bottom of this page has info on other boards that were made and replaced along the way for various reasons.

 

Project Component Overview  - (Click on a component to view details)

 

 

Controller Box
The current version of my controller box includes the PC/Hardware Interface and the Stepper Driver boards.  I have left room to include the Limit/Home Switch board once I add the switches to the machine.  
Controller Box - Front View Controller Box - Side View

 


Stepper Drivers

Stepper Drivers - 3 axis 

5804B 3_Axis Stepper Driver w/ IRL540s
The stepper driver board currently used in this project was created based on the application notes from  the UN5804B stepper driver from Allegro Microsystems.  Each board is controlled by a step and direction signal. The UN5804B chip has been hard wired to run in half stepping mode with output constantly enabled.  The UN5804 chips are only capable of driving 1.25A max current, but all of the motors that are used have current ratings above this value.  In order to solve this problem, I added IRC's IRL540 power HEXFETs to drive the motors.  

I have made a total of three (one for each axis) of these driver boards using two different designs.  The first design includes a +5V voltage regulator for the logic level 5804 signals and while the second design does not.  Since the logic on each board only draws around 100mA, I can use the same +5V reg for all three boards.  These boards use a single sided design.

w/ Vreg
Board Type \ File Type
JPEG Image  File

OrCad File

Adobe pdf File

MS Excel 
Schematic  N/A
Component Layout IRL540_V_comp   IRL540_V_comp   IRL540_V_comp N/A
Bottom Side Layout   IRL540_V_trace  N/A   IRL540_V_trace N/A
Parts List N/A     N/A   IRL540_V_Parts  IRL540_V_Parts
Component Side (Top) Solder Side (Bottom)

 

w/o Vreg
Board Type \ File Type
JPEG Image  File

OrCad File

Adobe pdf File

MS Excel 
Schematic        N/A
Component Layout IRL540_No_comp   IRL540_No_comp   IRL540_No_comp N/A
Bottom Side Layout   IRL540_No_trace  N/A   IRL540_No_trace N/A
Parts List N/A     N/A   IRL540_No_Parts  IRL540_No_Parts
Component Side (Top) Solder Side (Bottom)

 

12V Relay Driver 2_Output - Active High
The machine is currently configured to use a Dremel rotary tool as the milling tool.  In order to control the power-on/power-off of the Dremel, I built a 12V coil relay board to switch 120VAC.  The circuit schematic for this board is based on the design from Bill Bowden's circuit website.  The board has two individual relay circuits, each are active high.  This design uses a single sided board layout.
Board Type \ File Type
JPEG Image  File

OrCad File

Adobe pdf File

MS Excel 
Schematic  N/A
Component Layout rly_high_comp 12V_RELAY_HI rly_high_comp N/A
Bottom Side Layout  rly_high_trace N/A rly_high_trace N/A
Parts List N/A     N/A  Rly_high_parts Relay_High

Component Side (Top) Solder Side (Bottom)

 

Parallel Port Break-out Board
The parallel port breakout board allows for 12 output signals (8 from DATA port and 4 from CONTROL port) and 3 input signals all (from the STATUS port).  The EMC pinouts from the NIST websote are shown below.   Ian Harries' website provides a decent tutorial on general interfacing to the parallel port. 

In this  board, pull-up resistors (4.7k) are used to pull all signal levels to +5V.  The lack of an isolation layer between the parallel port and the driver electronics in this design means that large voltage spikes could potentially fry the port board.  Using the port connected to the mother board isn't the safest idea, so it's very important that a separate I/O card ( bought for $9.95) is used in the PC.  This design uses a double-sided PC board. 

The pinout for the EMC stepper motor interface is as follows:

Output    		 Parallel Port
------        		-------------
X direction  	D0, pin 2
X clock       		D1, pin 3
Y direction  	D2, pin 4
Y clock       		D3, pin 5
Z direction   	D4, pin 6
Z clock       		D5, pin 7

Input	         	Parallel Port
-----         		-------------
X/Y/Z lim +   	S3, pin 15
X/Y/Z lim -  	S4, pin 13
X/Y/Z home   	S5, pin 12
Board Type \ File Type
JPEG Image  File

OrCad File

Adobe pdf File

MS Excel 
Schematic        N/A
Component Layout EMC_comp EMC_BREAKOUT EMC_break_comp N/A
Bottom Side Layout  EMC_bot N/A EMC_break_botside N/A
Top Side Layout  EMC_top N/A EMC_break_topside N/A
Parts List N/A     N/A  EMC_Break_parts EMC_Breakout
Component Side (Top) Solder Side (Bottom)

Limit/Home Switch Breakout Board
Since EMC only allows for 3 input signals for limit and home switches, the signals from all three axes need to be wired in series.  All switches are N.C (Normally Closed) and are attached +5V signal.  When any of the axes switches are tripped, line is brought to signal ground. This design uses a single sided board layout.
Board Type \ File Type
JPEG Image  File

OrCad File

Adobe pdf File

MS Excel 
Schematic  Limit_schem N/A Limit_schem  N/A
Component Layout  Limit_comp  Limit_Home_Break Limit_comp  N/A
Bottom Side Layout   Limit_trace  N/A Limit_trace  N/A
Parts List N/A     N/A  Limits _parts  Limits _parts
Component Side (Top) Solder Side (Bottom)

 

Other Miscellaneous Boards


5804B 3_Axis Stepper Driver
The first stepper driver board used in this project was created based on the application notes from  the UN5804B stepper driver from Allegro Microsystems This board can drive three axes independently, each with a separate motor supply voltage.  Each axis is controlled by a step and direction signal.  The UN5804B chip has been hard wired to run in half stepping mode with output constantly enabled.  This two signal control system allows all three motors to be controlled from the output port.  This design may be revised (as time permits) to include an output enable signal for each axis allowing the motor temperature to stay relatively low.  EMC does not allow for enable signals for each motor, so some other solution (PIC?) may be needed. This design uses a single sided board layout.
Board Type \ File Type
JPEG Image  File

OrCad File

Adobe pdf File

MS Excel 
Schematic        N/A
Component Layout 5804_comp.jpg 5804_STEP_DRV_3AXIS 5804_3axis_comp N/A
Bottom Side Layout  5804_trace.jpg N/A 5804_3axis_trace N/A
Parts List N/A  N/A  5804_parts 5804_parts
Component Side (Top) Solder Side (Bottom)

PWM Microstepping Driver
After browsing a little on Allegro's website, I stumbled across a set of chips that can be used to build a microstepping driver.  The SLA7044 and PG001M chips from Allegro can be used together to provide microstepping (1/8th step really) control for up to 3A max current.    I built one prototype board using these chips, but had only limited success.  The motor I attached made a very high pitched humming, but did not step.   I'll be doing more work on these boards once I get the 5804 driver working.    The problems with this driver is most likely due to my messy layout and build. I'm going to attempt this design again once the project is up and running. 
Board Type \ File Type
JPEG Image  File

OrCad File

Adobe pdf File

MS Excel 
Schematic        N/A
Component Layout       N/A
Bottom Side Layout        N/A
Top Side Layout        N/A
Parts List N/A     N/A     

 

12V Relay Driver 2_Output - Active Low
The circuit schematic for this board is based on the design from Bill Bowden's circuit website.  The board has two individual relay circuits, each are active low. The current design requires that the control signal is low before I turn on the power to the control module.  This design uses a single sided board layout.
Board Type \ File Type
JPEG Image  File

OrCad File

Adobe pdf File

MS Excel 
Schematic         N/A
Component Layout rly_low_comp 12V_RELAY_LOW Rly_low_comp N/A
Bottom Side Layout  rly_low_trace N/A Rly_low_trace N/A
Parts List N/A     N/A  Rly_low_parts Relay_Low

Component Side (Top) Solder Side (Bottom)