Thursday, August 21, 2008

Basic Architecture

Another retro-active post, this one describes the overall system architecture I'm going with for the initial version of cncFDM:

Existing 3-axis mill, home-built.

machine controller, EMC2
--> stepper control for x,y,z axes
--> axis GUI, with pyVCP plugin for extruder monitoring and control
--> python hal user space driver to monitor and communicate with extruder

cncFDM toolhead
--> step/direction input so that motor motion is controlled like an axis (A) instead of spindle
--> serial interface for setting temperature,gains, and other parameters
--> PID control for temperature and motor position/speed/acceleration
--> extruder enable/fault bits for hardware communication with EMC
--> off-the-shelf cartridge heater for improved reliability
--> thermocouple for temperature feedback
--> Single board design ( if possible ) to keep things simple.

Toolhead firmware:

The toolhead firmware will be based on the following chips/solutions:
  • PIC 18F4331 . This version includes motor encoder feedback and PWM for driving the extruder head motor
  • MOC3031. Triac driver to control heater duty cycle
  • AS5040. Magnetic encoder for motor encoder board
  • MAX 6675. SPI-enabled thermocouple reading chip
  • LMD18200. 3A H-bridge driver. Bi-direcitonal control is important to allow the motor to reverse.
  • MAX3232. Serial Line Driver
  • 7805 and other supporting passives and misc.

No comments: