Converting a 3D Printer Into an Automatic Spray Coater

By Remi_Rafael

Introduction

This instructable provides guidance on converting a 3D printer into an automatic spray coater. The project aims to enable reliable and repeatable spraying of materials, such as conductive inks, using a modified airbrush controlled by a 3D printer's electronics and an Arduino.

The main components of this tutorial include:

Optional steps are also introduced:

Review these additional steps to decide if they fit your project needs before beginning construction.

Instructables logo.

Supplies

Tools

Supplies You Will Need

Optional for the Mechanical Stirring System

3D models for printing: Thingiverse - Spray_pen_holder_part_1

Arduino routines for control and Python program for G-code generation: GitHub Repository

Diagram showing the components of the spray coater setup: an airbrush, a 3D printer frame, and various 3D printed parts for mounting.

Step 1: Understand and Adapt the General Strategy

The core idea is to replace a 3D printer's extrusion head with a spray head built from an airbrush and control it via the original motherboard. The optimal strategy depends on your printer's frame and motherboard programmability. If your printer has a controllable cooling fan (12V DC signal), this can be repurposed to control the spray head via an Arduino UNO, converting the signal to PWM for the servomotor.

If your mainboard supports PWM and can be reprogrammed, direct control is more efficient but not covered here. If no cooling fan is connected, consult your mainboard documentation or use the command M106 S255 (cooling fan ON) to identify the correct pins.

The provided Python routine generates G-code using G1 commands for movement and M106 commands for spray control. Test your setup's reaction to these commands or develop your own control strategy.

Step 2: Principles of the Spray Head

Double-action airbrushes operate via a trigger with two functions: activating the air valve and pushing the needle back to allow ink flow. The trigger's horizontal movement controls air, while vertical movement controls ink. This dual action is complex to pilot with a single servomotor. The method described uses a servomotor to push the trigger back and a fixed "wall" to force it sideways, ensuring simultaneous activation. This system controls ink delivery based on the servomotor's programmed angle but introduces friction, requiring sufficient servomotor torque.

Diagrams illustrating the airbrush nozzle and trigger mechanism, showing ink flow and air flow. Also, a diagram showing the airbrush with a servo arm attached to the trigger.

Step 3: Choose a Spray Head Model

Select how to attach the spray head to your printer using the 3D printable holder models named "Spray_pen_holder_part_1" on Thingiverse. Options include:

Four 3D models for spray head holders: 'Vertical holes', 'No holes', 'M4 holes', and '7mm holes for inserts'.

Step 4: Building the Spray Head

Print the required parts from Thingiverse and assemble them using M3 screws, following the provided images. If friction is high and the trigger doesn't return properly, use graphite powder as a lubricant or add a rubber band. Graphite may stain, and the rubber band adds effort for the servomotor.

Exploded view of the spray head assembly components: an airbrush, a servo motor (King Max KM2607MD), 3D printed base and cage parts, and screws. Multiple images show different stages of assembly and close-ups of the components.

Step 5: Pre-Connecting the Spray Head

This step covers the electrical interconnection. The described circuit is valid for a 12V main alimentation and when using the printer's cooling fan control signal (>5V DC) to control the spray head.

ATTENTION: Before assembly, identify the cooling fan control pin on your printer's mainboard and check the main alimentation voltage (12V or 24V). The Arduino UNO accepts 6-20V on its VIN pin.

The servomotor requires 5V. While the Arduino can produce 5V, its current capacity is insufficient. A DC-DC step-down converter (e.g., LM2596) is required. Connect its input to the main alimentation, set the output to 5V, and connect it to the servomotor's VCC and GND pins. For optimal performance, verify the servomotor's ideal voltage.

If your main alimentation is 24V, do not connect it directly to the Arduino. Use the step-down converter to provide the correct voltage (at least 6V) for both the Arduino and the servo.

Diagram illustrating the electrical circuit for connecting the spray head, Arduino, and printer mainboard, including a DC-DC step-down converter.

Step 6: Testing the Correct Servo Angles

Load a control program onto the Arduino to test servomotor angles. Use the Test_angle.ino routine from the GitHub repository. This routine allows programming the servomotor position by changing the Target_angle variable.

First, set the servomotor to position 0 and attach its arm to the trigger shaft. Then, fix the spray head to your printer frame.

You need to determine and record three key angles:

A fourth angle, A_spray, is used for spraying and is set between A_valve and A_max to control spray intensity.

Diagram showing the spray head mechanism with labels indicating different servo positions: Position at Angle = 0, Position at Angle = A_min, Position at Angle = A_spray, Position at Angle = A_max. These represent the trigger's movement and spray intensity.

Step 7: Connecting the Arduino to the Motherboard

Connect the Arduino to the printer's motherboard to automatically detect and convert the cooling fan control signal for servomotor control. The implemented method uses Arduino's digitalRead() to detect the HIGH/LOW state of the cooling fan pin and sends a target angle to the servomotor.

Printer mainboard signals are typically 0/12V or 0/24V, exceeding the Arduino UNO's 5V input limit. The Arduino interprets inputs between 0-1.5V as LOW and 3-5V as HIGH. Therefore, a signal voltage transformation is necessary.

A voltage divider bridge, composed of resistors R1 and R2, lowers the signal voltage. The equation V10 = R1/(R1+R2) x Vmb relates the voltage at Arduino pin 10 (V10) to the mainboard voltage (Vmb). For a 12V control signal, R1=47kΩ and R2=100kΩ yield approximately 3.8V, compatible with the Arduino.

Diagram illustrating the electrical connection between the Arduino, DC-DC step-down converter, and the printer's mainboard, showing the voltage divider.

Step 8: Loading the Control Program and Test

After connecting the mainboard control pin and determining the correct servo angles, download the Control_spray_head.ino routine. Adjust the angle variables to your preferences and load the program onto the Arduino.

Connect your computer to the printer's mainboard and send the command M106 S255 to activate the cooling fan. The spray head should move to the A_spray position. If it doesn't, troubleshoot by reviewing the previous steps.

Step 9: Generating a Control File

Once the system is connected and responds correctly, you can generate control files. For drawing applications, consider using laser cutter G-code generation software and adjusting the distance between the spray head and the surface to control line thickness.

The author developed a Python routine to generate G-codes for uniform coatings. This routine and its associated wiki are available at: Gcode generation routine wiki.

To use this code, you need to measure:

Record the sprayed area diameter. Ink type, nozzle/needle diameter, and air pressure influence this value.

Step 10: Spray and Enjoy

With the spray coater built and functional, you can now use it. Enjoy your creation!

Step 11: Optional: Extend the Ink Tank

Airbrush ink tanks can be small, especially for diluted inks. To extend the capacity, use a 10ml syringe body attached to the tank opening. A 3D printed part is available to hold the syringe securely, printable in TPU or PLA (using a glove finger for water-tightness).

3D model: Thingiverse - Extension Part

Images showing a 10ml syringe, a ruler, a 3D printed adapter, and the assembled spray head. Another image shows the syringe attached to the spray head via the adapter.

Step 12: Optional: Add a Stirring System

For inks containing particles that can aggregate and clog the nozzle, a stirring system is beneficial. The author designed a system using a syringe linked to a tube and nozzle placed inside the reservoir. The syringe is driven by a stepper motor controlled by an Arduino and a Pololu stepper driver. This system is for niche applications, but CAD files and the Arduino control routine (Control_Strirrer_Stepper.ino) are available.

Image showing the assembled spray head with a syringe-based ink tank extension and an optional stirring system setup.

File Info : application/pdf, 22 Pages, 1.10MB

PDF preview unavailable. Download the PDF instead.

Converting-a-3D-Printer-Into-an-Automatic-Spray-Co

References

wkhtmltopdf 0.12.6 Qt 4.8.7

Related Documents

Preview DIY RGB Bike POV: Build Your Own LED Wheel Display
A comprehensive guide to building a custom RGB LED Persistence of Vision (POV) display for your bicycle wheel using Arduino and TLC5940 driver. Learn step-by-step how to design, assemble, program, and install this exciting DIY electronics project.
Preview Upgrade Your CNC: A Comprehensive Guide to Enhancing Your CNC Machine
This guide provides detailed instructions and steps to upgrade a standard CNC 3018 machine, enhancing its capabilities for cutting aluminum, milling PCBs, and improving overall performance and safety. Learn about adding homing switches, a new spindle, speed controller, emergency stop button, manual control, and a protective case.
Preview Build a PC Mouse Robot (MouseBot) - DIY Project Guide
Learn how to transform an old computer mouse into a functional robotic pet, the MouseBot. This step-by-step guide covers parts, tools, assembly, wiring, and testing for this fun electronics project.
Preview DIY High-Tech Spy Stethoscope: Build Your Own Listening Device
Create your own high-tech spy stethoscope for under $25 with this detailed DIY guide from Instructables. Learn to modify a standard stethoscope with microphones to hear through walls and record audio, step-by-step.
Preview DIY Automatic Pill Dispenser: Build Your Own Smart Medication Reminder
Detailed guide on building a DIY Automatic Pill Dispenser for medication reminders. This project uses ESP, Microchip components, and PCBWay, featuring WiFi control via BLYNK, 18650 battery power, and USB-C charging. Learn step-by-step through soldering, programming, and 3D printing.
Preview Build The Ultimate FM Transmitter: Long Range Spybug DIY Guide
Learn how to build a long-range FM transmitter (spybug) with this step-by-step DIY electronics tutorial. Includes parts list, schematics, and assembly instructions for a compact transmitter with up to a 1/4 mile range.
Preview DIY Bluetooth Speaker Project Guide
A step-by-step guide to building a functional Bluetooth speaker using readily available electronic components. This project is suitable for hobbyists and DIY enthusiasts.
Preview DIY Banana Candles with 3D Printing and Plaster: A Step-by-Step Guide
Create unique banana-shaped candles and holders with this comprehensive DIY guide. Learn to use 3D printing for molds, plaster casting, and candle making for a creative home decor project.