So I have been working in Eagle for about 2 months now and have made a few designs here and there to support the Hydra-MMM project. I just made one in the past week that I thought might be useful to the community. The design is a snap on shield for the Arduino Mega that allows the Arduino to interface with diy CNC machines that are built upon a parallel port (DB25) interface. These machines use a printer parallel port along with computer software (Mach 3, EMC, etc) to control the movement of the axes. The processing is done on the computer CPU instead of being done on an Arduino or something of that nature. Here is a few pictures of the actual eagle PCB
2 sided PCB board layout with the big 25 pin parallel port interface in the middle
Schematic of the parallel port shield
The reason I wanted to make a parallel port interface is because we are hoping to use our machine for both CNC work and rapid prototyping. By using a common parallel port interface we can have a single electronics control box (ECB) that has all the stepper motor drivers, extruder controllers, spindle speed controllers, and everything of that nature inside. I'll have more information on our ECB over the next few weeks, but for now a screenshot of the setup is below. Note that most of the electronics have not been modeled in the CAD program yet, so they are not shown, but their placement should be obvious.
Electronics Control Box (ECB) with power supply, Arduino Mega, stepper motor outputs and endstop/encoder inputs
The ECB can than be connected by a parallel port cable to either a computer with a 25 pin printer port or to the Arduino Mega with the new parallel port shield. The Arduino Mega will be running the Hydra-MMM firmware, but any reprap firmware variation would work. The main concept is that once connected via the parallel port to the ECB, the Arduino would have access to all the stepper motor drivers and endstop sensors that it needs to print! The parallel port pinout is as follow:
14 Spindle/extruder on
15 Aux Input
16 Spindle/extruder speed control (pwm)
17 Coolant/Fan on
Some readers out there may notice the fact that there are no temperature sensors on the parallel port pinout. There are 2 AD595 thermocouple IC circuits built into the shield for measuring the temperature of the nozzle heater and also an optional heated build table. The main reason I did this is that I noticed that the analog wires for temperature measurements pickup a lot of noise if you run them over long distances. By having them mounted directly on the shield that attaches to the Arduino, that noise is minimized. I have tested a prototype pcb using this technique and the improvement in noise suppression over the same breadboarded circuit is amazing! The shield also has an onboard LM7805 5V regulator so that it can be run off the same power supply you are using to power the stepper motors (in our case 30V). This may also help reduce noise as the regulated 5V output is filtered and likely suppresses some noise in the process.
Another reason people may want this shield is that diy CNC machines have been around for much longer than the Reprap project. Many people already have the electronics for a cnc machine that is based around a parallel port interface, however, they are now wanting to try out rapid prototyping using the Reprap Arduino firmware. This shield would let them do that pretty easily.
As I said, I have only been using Eagle for about 2 months so I would love some feedback on the design. Let me know what you think!
Labels: arduino, arduino mega, CNC, DB25, hydra, hydra-mmm, shield