Description:
For my Senior Capstone project at SIUE I am working with three other M.R.E. students to create a desktop filament extruder. This machine will be capable of melting down raw plastic pellets and making it into 3D printable filament. The main goal of the project is to create a more affordable filament extruder for all makers to use.
Our design consists of a plastic extrusion barrel/screw assembly that is heated using three 110V AC mica heat bands. The plastic is extruded using a DC motor and gear box assembly to turn the extrusion screw. The material is extruded from a 4mm diameter nozzle and pulled down to 1.75mm diameter filament. The diameter of filament is monitored using a costume made optical micrometer. The optical micrometer consists of a raspberry pi camera and lcd display backlight. The filament passes between the camera lens and lcd backlight and using OpenCV we are able to detect the top and bottom edge of the filament and calculate the diameter of the filament by counting the number of pixels between the top and bottom edge. The diameter feedback is used in a PID controller that we increase or decrease the pulling rate of the filament to dial in the filaments diameter.
Our system has 3 separately PID controlled heating zones. The graph on the left shows the temperature response (degrees C) vs. time (mins) . We can see that all 3 heat bands have a risetime of around 2.5mins to the set temperature of 200 C. At about the 20 min mark our system is stable within plus or minus 0.4 C and remains within the 0.4 C tolerance throughout the extrusion process. The lower "gold" line on the graph monitors our hopper temperature.
This is a rendering of the mica heat bands and extrusion barrel.
This spooling guide moves back and forth using a lead screw and stepper to guide the filament on to the spool as the material is produced.
Allows for even cooling around the filament as its produced.
3D printed motor control housing. Our motor controller came with a rotary encoder for RPM control, a seven segment display and a toggle switch but no way to mount the electronics. This housing allows the user easy access to control the motor.
Used to drive extrusion screw. Sized to run our system at 60 RPM with 8 Nm of torque.
Consists of two Nema 17 stepper motors. One stepper controls the linear filament guide and the other turns the spool, for tangle free spooling.
Although not much to look at, our first plastic extrusion was very promising. The first extrusion was produced during our extrusion motor sizing test. The extrusion screw was connected to an RPM sensor, torque sensor, and cordless drill. The 3 separate heating zones were heated to 200 C and cordless drill was used to turn the extrusion screw while pellets were fed into the hopper. The torque sensor was set to save the maximum torque reading and the extrusion screw RPMs were recorded using Arduspreadsheets. We were only able to extrude this small amount of material before the 3D printed drill adapter broke. From this test we were able to accurately size a DC motor for our extrusion system.
The dark color grey-like color of the material is due to left over oil and metal particles from the extrusion barrel manufacturing. In future tests the raw material became a cleaner white color as the system cleaned out.
We used ABS virgin plastic pellets purchased from supplier. We chose ABS as our first material to test incase of a barrel jam, acetone could be used to clean the extrusion system out. Also ABS has a higher heat tolerance and is less likely to burn if system over heats.
The natural ABS is colored with a red plastic dye. Only ~20g of plastic dye is needed per 1 kg of ABS pellets to produce a vibrant red color.
For our first spool of filament we produced about 250g of ABS filament. The accuracy of our filament is still only within plus or minus 0.15 mm in tolerance which from our testing, can be printed without jamming the hot end but prints lack dimension accuracy and surface quality is not on par with bought filaments. This inaccuracy is mainly due to the fact that the filament diameter is controlled with an open feedback loop where the user changes pulling speed and extrusion screw RPM until the filament is close to the desired diameter. Once the closed-loop PID system is integrated into the system we should see a substantial improvement in diameter accuracy.
First Prints With Our Filament:
Break out board to plug NTC thermistors. This board is supplied with 5V DC and then each thermistor is connected to an analog pin on the Arduino to read changes in the voltage across the thermistor. The voltage changes are related to temperature. Since we were using proto board we had some issues with the system shorting out and getting false reading hence the multiple versions.
These stepper control boards shown above were made on protoboard and were meant to be used a shield for the Arduino mega that controls the spooling process. The stepper control board allowed us to easily swap stepper drivers if one were to burn out or if better drivers were purchased. For the stepper for spooling and material pulling we used TMC 2208 stepper drivers that are extremely quiet and can be controlled though UART.
Heating System
Mica Band Heaters (110V, 380W, need 3)
Thermistor (x4)(1 for each heat zone, 1 to make sure the hopper doesn't heat up too much)
Relay for each heating element
LCD display for user interface
Stepper motor for driving filament puller
Filament Winding System
1 Stepper for filament guide
1 Stepper for spooling
Cooling fans for filament cooling zone
Filament Diameter Detection
Raspberry Pi
Pi Camera
Extrusion Barrel (16mm ID, flange for mounting motor, polished contact surface)
Extrusion Screw (Chrome-plated, Nitride Coated, Polished, 3 compression zones)
Custom 180 Degree Nozzle
Hopper
Filament Puller
Spring Loaded Pully W/ Adjustable Tension
Stepper Driven Stationary Wheel
Filament Spooling System
Stepper Rotates Spool
Linear Filament Guide