Categories

Build log part one: DLP 3d printer electronics

You want to build your own DLP 3d printer? You have come to the right place! Welcome to the start of a series of posts describing the steps towards building your own DLP 3d printer. We’ll start with the part that’s probably most intimidating to many people: the electronics.

What do you get here?

This post will provide information on the electronics set-up that I use in my future DLP 3d printer. It will concentrate on the schematics and components needed for your own DLP print controller board. The main aspect of the design is simplicity. I will only use widely available, relatively cheap parts like an Arduino Pro Micro and Pololu stepper drivers that are well established in FDM printers.

What needs to be done?

OK, what do we need for the print process to work? In essence, there are four devices that have to work together:

A projector to illuminate the resin with a given exposure time,

an actuator for closing a mechanical shutter between exposures to block excess light from the projector,

another actuator that drives the build platform and

a third actuator for the vat tilting mechanism.

The inside of the previous printer. You can see some of the actuators as well as the projector. It does not feature a projector shutter which will be implemented in the new printer.

All these devices have to be controlled in a precise fashion during the print process. To do all this, we use a micro controller and a PC connected to it.

General electronics set-up

The following picture shows the general set-up of all the components. It may look a bit complicated, but fret not! I will walk you through the whole thing.

Overview of the DLP 3d printer electronics. On the left hand side, we have our PC, which is in charge of controlling the whole process via the Monkeyprint software. It can send data to two devices: the DLP projector will receive the slice images via HDMI and the micro controller (an Arduino Pro Micro board) takes commands via USB. These commands are simple strings like ’tilt’ or ‘layer up’. The micro controller then does all the low level hardware control. We can see two stepper motor drivers connected to it which drive the stepper motors for the build platform and the tilt mechanism. It also has the end switches for these mechanisms connected to it and will stop the motors before hitting their mechanical limits. The projector shutter will be driven by a small servo. All electronics as well as the stepper motors are powered by a 36 V 200 W DC supply. For logic level devices an LM2596 step down converter provides a 5 V supply voltage.

The micro controller, stepper drivers, step down converter and a 60 mm cooling fan will be contained in an electronics box to keep the whole thing clean and tidy.

Detailed circuit description

In the following section I will show the main parts of the DLP 3d printer electronics: the micro controller, the stepper controllers and the end switches.

Micro controller: The main part of the circuit is an Atmel AVR AtMega32U4 8-bit micro controller. The special feature of this controller is the integrated USB interface which makes it very easy to hook it up to a PC for sending commands or updating the firmware. To keep things simple I use an Arduino Pro Micro board that comes with this controller and also has a 16 MHz quartz and all the necessary peripherals and a USB connector. The USB connection also serves as a low current 5 V power supply. You can get the controller board for less than 5 € on eBay.

The Arduino Pro Micro features an Atmel AVR AtMega32U4 and comes with all the necessary peripherals as well as a native USB connection. Image by instructables.com.

Stepper motor control: The stepper motors are driven by Pololu DRV8825 drivers. You can get them for about 5 € per piece, for example on amazon.

The Pololu DRV8825 stepper driver board features the Texas Instruments DRV8825 driver chip which uses input voltages of up to 45 V and provides phase currents of 2.5 A max. It comes with 1/32th micro stepping, adjustable current limiting and several other protection features. Check out the data sheet for more info. Image by pololu.com.

They are very easy to control via 3 pins of the micro controller: One for the direction, one for the step signal and the last one for activating the stepper. While the direction and enable signals can be connected to any generic pin of the controller, the step signal is connected to one of the micro controller’s timer output pins. This way, we can use the hardware timers to create the step signal.

Circuit diagram for hooking up one of the Pololu DRV8825 drivers to our micro controller. The Pololu DRV8825 stepper driver is very easy to control. The step signals are connected to the timer output pins of the micro controller (OC1A and OC3A), the others use generic pins. The micro stepping configuration can be selected by three jumpers. On the input side there has to be at least a 100 µF capacitor to filter out voltage ripples which could destroy the driver. Note that I have left out the GND and VCC connections on the controller.

End switches: We will use optical end switches as they are wear-free and very precise. I have chosen some Everlight ITR8102 photo interrupters, but most types will work. The signals from the photo interrupters are low pass filtered before being fed into the micro controllers hardware interrupt pins (INT0, INT1 and INT6). Maybe the filtering is not necessary, but this will be evaluated during testing.

Circuit diagram for the optical end switches. The photo interrupter’s emitter diode is powered via the 220R resistor to set the current to about 17 mA. The 10k pull-up resistor on the photo transistors collector will pull the end switch signal to 5 V if the transistor is not illuminated, i.e. if the light from the diode is blocked. If, on the other hand, the photo transistor is illuminated and therefore conductive, it will connect the output signal to ground. The signal is fed through the low pass filter and into the hardware interrupt pin INT0. The controller can now be configured to fire an interrupt on the transition from 0 V to 5 V, i.e. if something is inserted into the slit of the photo interrupter. Make this something a small sheet of plastic attached to the build platform and you have your end switch.

OK, that much about the circuit details. For the whole picture see the circuit diagram of the complete electronics below.

Detailed schematics of the DLP 3d printer electronics that I will use. It has some extras that have not been described before, for example it uses the UART (TXD, RXD) to send commands to the projector. This way, the projector can be switched on and off by the micro controller. The shutter servo is simply connected with its signal line to one of the micro controllers timer output pins, which will generate the PWM signal needed to control the servo position. There also is a 40 V 5 A rectifier diode between the board an the power supply to serve as a reverse voltage protection. Last but not least: a reset switch for the controller doesn’t hurt…

What do you do with all this information?

Well, build it of course! I have done so using a prototyping board. The result combines the main controller and the stepper drivers on one board. There is still some room for the step down converter which did not arrive yet. The stepper motors, end switches, projector shutter servo and power supply will be connected through a set of headers on one side of the board. There will probably be a nice custom PCB for this once the circuit has been tested.

Prototype of the DLP 3d printer electronics. Note that the heat sinks are missing on the stepper drivers. Never run those without proper cooling!

How much does it cost?

As I said before, I tried to keep the costs low by choosing common and inexpensive components. You should expect the following costs:

thanks for your nice comment! I’m currently working on a documentation including the installation procedure and set-up and also on a PCB to make it a little easier for anyone to use. Once you try it out I’ll be happy to read your comments and suggestions, so please post them here!