Controlling System for 3D Printer

The project objective is to implement of a low cost controller for a 3D-printer.
The printing process of a 3D-object is quite complicated and involves many phases:
first, creation of a 3D-object Sketch and printing-commands file using a CAD & CAM programs.
Next, sending the above commands-file to the controller, the focus of this project,
which translates these printing-commands to electrical signal.
These signals will eventually activate the printer according to plan.

hardware

The goal in this project was to implement a low cost 3D-printer controller.
The controller processes G-code commands and transforms them into electrical signals.
The commands interpretation process is the center of our project.
The necessity to implement this process comes from the disability of the controller to read G-code commands.
Naturally, the controller, based on “Arduino-mega” micro-controller, understands C and Cpp languages.
Hence, the main challenge was to write a readable code for the Arduino, which will transmit these commands to the printer as electrical signals.
Material wise, this project is using the most low cost components, in order to create a product that will be financially accessible to private consumers.
For that purpose, we chose low cost but reliable hardware & software components: the controller, based on Arduino-mega micro-controller (15$ on ebay),
has a UART entry, microprocessor, flash-memory and 54 input-output pins.
Furthermore, this project is using a low cost drivers and stepper-motors, and free programs.
This project is the first part of two or more.
the first part ended when the controller successfully managed a printing plan for simple two-dimensional objects – square and circle.
As for now, the printing is done by drawing with a pen.
The students who will continue this project will need to achieve support in a real printer head (extruder or cnc) as well as in the third dimension (Z) of the printer.
Interesting challenging work is guaranteed to the successors.

software