Pwdr - Open source powder-based rapid prototyping machine
The printer consists of two bins (#1 for storing powder, near electronics and #2 for building the part), which move up and down respectfully during the printing process. The powder is bonded using a standard inkjet printer head.
The steppers that accommodate the movements are controlled via stepper boards that send the correct voltage and current. When a stepper ‘misses steps’, the maximum current must be adjusted. Turn the white pot-meter of the corresponding stepper board clockwise to increase the maximum current.
Note: when the maximum current is set too high, the stepper is bound to overheat. When this happens, disconnect power and let the stepper cool.
The drive belts transmit the movements from the steppers to the carriages. To tighten them up, just turn the adjustment screws. When the belts are extended completely, adjust the belts length at the belt clamps.
The printer head that deposits the binder is a standard Hewlett Packard C6602A cartridge. It’s connected to the Arduino micro-controller via a custom protoshield board that supplies the correct voltages to the nozzles.
The nozzles are prone to breaking when a wrong voltage is applied. Therefore, the power supply to the protoshield should only be connected when printing.
To avoid powder to stick to the nozzles, please put a small sellotape strip in the front of the cartridge. To enable refilling of the cartridge, remove the label on top of the cartridge; it covers the vents. A syringe with a custom binder can be mounted in the front vent, as described later.
Two pieces of software are used for the printer control; the firmware running on the Arduino micro-controller and control software running on a computer. The control software handles the conversion of the CAD-model to a print file as well as the communication with the printer.
The firmware running on the Arduino micro-controller controls all actuators. The print file is stored on it’s internal memory. This means that every new print file must be uploaded to the micro-controller using the Arduino IDE. The print files are made by the preprocessor.
Preprocessor / Pwdr_GUI_V3.0
The client software is written in Processing. To run the program, you need the Processing environment. Use version 1.5.1, as newer version don’t work for the Pwdr. When the client software is run, it opens in the preprocessor mode. Here, you can choose the model you want to print and convert it to a print file. The print files are saved in the folder called PWDR, copy the folder to your SD card and insert it in the machine.
Note: the client software needs a serial line for communication with the micro-controller. Fill in the correct serial port number on line 87 of ‘Pwdr_GUI_V3.0.pde’, the available ports are shown in the verbose output of the Processing IDE when the file is run. When the correct port number is edited, it’s possible to compile the program to a standalone version which doesn’t need the Processing IDE to run.
Control software / Pwdr_GUI_V3.0
When the button ‘print’ is clicked in the preprocessor, the client software switches to control mode. Here, you can jog the various actuators and control the machine. To start a print job, simply click ‘print’.
Make sure that the power supply is disconnected
To prevent the ink cartridge from burning, the power supply for the cartridge (and preferably the power supply for the stepper too) must be disconnected when data is sent to the Arduino micro-controller.
Convert model to printable data
Open the Pwdr_GUI Processing program. Make sure the Arduino micro-controller is connected. Run the program. Fill the correct serial port number (listed in the Processing verbose window) in on line 86 of Pwdr_GUI_V3.0.pde. Stop the program and run again.
Open up the file that is due to be printed. Click ‘convert model’. Copy the folder PWDR, which is filled with .dat files, containing information for each slice, to the SD card. The config file holds various print parameters.
Sent printable data to micro-controller
Open the machine’s firmware (‘PwdrFirmware.ino’). When opening, the two print files should be displayed as tabs. Click ‘compile and upload’. The firmware is now compiled and sent to the Arduino micro-controller.
Note: Currently, the only way to change the parameters is by hardcoding them in the Arduino parameter declarations (step-sizes, margins, etc.).
Clean machine and reset position
Thoroughly clean the machine using a vacuum cleaner, brushes, etc. Degrease the roller using cloth soaked with alcohol or thinner. Makes sure the guidance rods are lubed and the belt drives are tensioned correctly. Move the XY-carriage , by hand, to the far end (opposite of the motors) of the machine. The X-carriage should touch the axis of the roller stepper.
Filling up with powder and binder
Adjust the position of the pistons using the control software. Fill the bins with powder and make sure to tap it quite firmly so a very solid base arises. Press extra hard on the powder near the edges. Scrape the excess amount of powder off. You can move (when the power is disconnected) the XY-carriage across the bins to check whether enough powder has been applied. Make sure to move it to it’s initial position afterwards.
When the binder has run out, premix a solution of 20% alcohol and 80% (demi) water. Put the mixture in a syringe and fit a 22G needle. Stick the needle in the vent op top of the cartridge and remove the syringe’s piston so the binder can flow freely in the cartridge. Make sure no binder leaks out of the cartridge.
Now the program is uploaded to the micro-controller, it’s safe to connect the power to both the stepper and cartridge supplies. But first, run the ‘Pwdr_GUI_V3.0’ program, click ‘print’ and wait for the verbose message ‘Safe to connect power’.
Note; Each time software connects with the Arduino micro-controller, it’s rebooted. During reboot, random voltages are applied to random ports, possibly hurting the ink cartridges.
Deposit a number of layers fresh powder
Because the hand-filled power has another porosity and density than the machine-laid powder, deposited a number of layers (±5) by the machine. Click the button ‘make new layer’.
Initialize XY-carriage position
Initialize the position of the XY-carriage by clicking the ‘initial position’ button. The XY-carriage moves to the starting point. When for whatever reason this position should be changed, use the jog controls. When the position has been adjusted, click ‘reset positions’.
Start print job
Now, the machine is completely ready to start printing. Click ‘print’ to start the print job. The verbose messages show the printing progress.
Note: When something is wrong and the printing process should be canceled immediately, press the emergency button on the prototype board (the button with a black cross). After this, disconnect power and close the control software.
Finish print job
When the print process has finished, deposit a few layers on top of the printed product, this helps binding the last printed layers. Leave the printed part to rest a couple of hours to let the binder fully penetrate and bind the powder.
Remove printed part
When the part has hardened a couple of hours, it’s safe to remove it from the build platform. Use a brush to carefully remove powder from the edges. When the parts outline has been fully revealed, use a scoop or spatula to carefully take out the part. Make sure not the apply load or torque on the part. When the part is eviscerated, remove excess powder with a brush. The part is now ready for post-processing (e.g. sintering or fixating using cyanoacrylate).