This is the firmware for my CNC motion controller board and it is currently an work in progress.

CNC Controller Motion Board Firmware (Rev. D)

There are currently three pieces of firmware. They are written in my own programming language called µCL.

debug
This is a trivial piece of firmaware for the PIC16F876A that allows me to increment and decrement the A/X/Y/Z axes from a terminal emulator running at 19200 baud. Upper case letters increment and lower case letter decrement. The following files are available:
debug.ucl
The debug source file.
debug.asm
The assembly file generated by the µCl compiler.
debug.lst
The listing file generated by the µCl compiler.
debug.hex
The Intel® hexadecimal file generated by the µCL compiler for programming into the PIC16F876A.
micro_step
This firmware implements the chopper algorithm that implements a step and direction interface for the stepper motor. Ultimately this this version will implement a full micro-step wave table.
micro_step.ucl
The micro_step source file.
micro_step.asm
The assembly file generated by the µCl compiler.
micro_step.lst
The listing file generated by the µCl compiler.
micro_step.hex
The Intel® hexadecimal file generated by the µCL compiler for programming into the PIC16F676.
full_step
This firmware implements the chopper algorithm for full stepping for the stepper motor. Both coils are on full time; just the direction of current through the coils changes.
full_step.ucl
The full_step source file.
full_step.asm
The assembly file generated by the µCl compiler.
full_step.lst
The listing file generated by the µCl compiler.
full_step.hex
The Intel® hexadecimal file generated by the µCL compiler for programming into the PIC16F676.
ripple_step
This firmware implements the chopper algorithm that implements a step and direction interface for the stepper motor. The coils are fired one at a time in a "ripple" fashion.
ripple_step.ucl
The ripple_step source file.
ripple_step.asm
The assembly file generated by the µCl compiler.
ripple_step.lst
The listing file generated by the µCl compiler.
ripple_step.hex
The Intel® hexadecimal file generated by the µCL compiler for programming into the PIC16F676.
debug_step
This firmware implements the chopper algorithm that implements a step and direction interface for the stepper motor. The coils are fired one at a time in a "ripple" fashion with no attempt to regulate current. Thus, this firmware needs to be used in conjunction with current limiting resistors.
debug_step.ucl
The debug_step source file.
debug_step.asm
The assembly file generated by the µCl compiler.
debug_step.lst
The listing file generated by the µCl compiler.
debug_step.hex
The Intel® hexadecimal file generated by the µCL compiler for programming into the PIC16F676.


Copyright (c) 2001-2005 by Wayne C. Gramlich. All rights reserved.