RecycleBot v2.3 Controls

by jpearce, published

RecycleBot v2.3 Controls by jpearce Feb 25, 2013


Liked By

View All

Give a Shout Out

If you print this Thing and display it in public proudly give attribution by printing and displaying this tag.

Print Thing Tag

Thing Statistics

44514Views 2955Downloads Found in 3D Printer Accessories


A RecycleBot is a waste plastic extruder that creates 3-D printer filament from waste plastic and natural polymers.
This is a fully automated version of Recyclebot v2.2 with many improved features. For more info see C. Baechler, M. DeVuono, and J. M. Pearce, “Distributed Recycling of Waste Polymer into RepRap Feedstock, Rapid Prototyping Journal, 19(2), pp. 118-125 (2013). open access

For similar see the Open-Source Lab How to Build Your Own Hardware and Reduce Research Costs


The mechanical design is equivalent to RecycleBot v.2.2 http://www.thingiverse.com/thing:12948 - I strongly recommend reading that first. This design is, of course, far from optimized particularly with respect to cost and DYI, it is primarily being used by the Michigan Tech in Open Sustainability Technology Research Group to make new fucntionalized 3-D printing materials (e.g. electrically conductive) to support a full range of products open-source disributed manufacturing...lots more to come.

Some of the improved features over RecycleBot v2.2 are:

  1. Type of plastic can be selected from the keypad interface and the controller automatically updates the extrusion temperature for the plastic.
  2. Extrusion temperature can also be feed by the keypad interface for any type of plastic which can be melted and extruded.
  3. LCD interface for better process monitoring.
  4. No extrusion until the extrusion temperature is achieved - automatically controlled by microcontroller, with (manual option).
  5. Low cost power control options using a Triac and MOSFET.

The energy performance of v2.2 can also be significantly improved with insulation.

Heating Zone
As the heater is the most important section it must be designed and fabricated precisely for better results as changes in temperature of few degrees can result in different mechanical properties of the extruded plastic. Another important criteria for the heating section is to create uniform heating environment so that the temperature remains nearly constant throughout the barrel such that the extruded plastic is uniform. To achieve this, high temperature ceramic beads were used to insulate the bare nichrome wire so as to achieve electrical isolation from the iron barrel, and an advantage of using this scheme is high-quality thermal insulation from the ambient environment and heat transfers efficiently to the iron barrel as the bottom side of the ceramic beads rest on the metal tightly and the top surface is insulated to the air, which is then insulated as well.

Steps to make the heater section

1. Clean the barrel and then make the top surface rough with a file.  
2. Again clean the surface and remove any residing metal debris and dust.  
3. Cut the required length of nichrome wire and straighten that up and hook the ends to a clamp.  
4. Carefully insert the ceramic beads onto the nichrome wire one by one till the whole wire is completely covered up with ceramic beads.  
5. Take the furnace cement and cover-up the iron barrel throughout the surface, it need to be made sure that whole surface is completely covered up with furnace cement as any exposed bare metal can posses the risk of short circuit with the bare nichrome and hence elevating the chances of electric shock (and destroying your power supply).  
6. Gently take the nichrome wire and place it over the barrel and slowly cover up the barrel as if making a coil out of nichrome wire.  
7. Fix the two free ends of the nichrome tightly to a clamp and apply furnace cement to cover up the whole surface of ceramic beads and it should look like the picture given in gallery. Again it is stressed that the furnace cement must be applied all over to cover the whole surface of ceramic beads so as to adhere strongly to the underlying metal and it should also make an electrical insulation layer such that bare nichrome shouldn't touch the metal anywhere.  
  1. Allow it to dry for at least 24 hours.
    1. Connect the two free ends with alligator clips to power up the heater.

Safety note use gloves while using furnace cement as its alkaline in nature and can injure you and damage the skin if exposed for a prolonged time, if by chance skin comes in contact with furnace cement, then wash it under running water immediately. It is recommended that you do this in a hood if you have access to one.

Temperature Monitoring and Process Control

Controlling the temperature and other related processes of plastic recycling and extrusion in an efficient manner and simultaneously decreasing the cost is the key challenge for RecycleBot development especially for home applications. In order to promote the RecycleBot for open sustainability, the whole control system is designed to work on Arduino, which is a very popular open source microcontroller based application development platform. Being easy to use and program with excellent user community support, Arduino is a low cost rapid prototyping platform ideal to implement control system for RecycleBot. Arduino Mega was used to design and implement the system, having enough input/ output pins for interfacing LCD, keypad, and other components.

The whole process is divided into two parts: Input mode and Control mode

Input mode

The process starts with user input of either plastic selection or extrusion temperature. With the option of 10 different types of plastic, user can select the desired type of plastic to recycle and the program automatically loads the optimum temperature range for operation/ extrusion for that particular type of plastic. Alternatively, user can also feed the temperature of extrusion for any type of plastic which can be operated below 350C. After the extrusion temperature is set, program ask the user to confirm the temperature and once the temperature is set, the program steps into the control mode.

Control mode

In the control mode, the microcontroller is taking the temperature as input and adjusting the output power of heater accordingly such that temperature remains within the set bound range which is 15C above and below the set extrusion temperature. The system is designed in such a way that if by any means the system temperature exceeds the set extrusion temperature, the power of the heater is cut off completely until the system temperature gets within the set bound range. Also, when the temperature is within the set range, the extrusion process starts, i.e. the motor starts feeding the shredded plastic from the hopper to the heater, also the spooler stepper motor starts which wind up the filament and coil over a spool. If the temperature drops 15C below the extrusion temperature, the program stops the feeder motor as well as the spooler motor to ensure that the quality of filament remains the same, and as soon as the system temperature reach the set range of operation, both the feeder and spooler motor resumes working.

Program Code

The code for RecycleBot was written by Michigan Tech graduate student Ankit Vora at in C on Arduino IDE, using the keypad, LCD and stepper motor libraries. In order to replicate the RecycleBot code on an Arduino Mega, first, all the libraries must be copied into the correct destination of Arduino folder such that Arduino compiler can compiler them along with the program code. On Arduino development platform LCD library is already included, however keypad and stepper motor library need to be registered before compiling the code.

Steps to replicate, compile and upload the program code on Arduino Mega

Download the libraries,unzip and copy every folder exactly into the folder: arduino-1.0\libraries\   

(if you are using a new version of Arduino, then copy all the libraries to that folder, in any case the folder of Arduino development platform will be having folder 'libraries' and each and every library used must be copied to this folder.

Run the Arduino development platform, go to the 'sketch' tab, then go to the section 'import library...' one should find the Keypad and AFMotor in the list. If they appear, it means we are all set and ready to use the code.  
Download the code for RecycleBot and spooler. Copy the RecycleBot code into Arduino IDE or just open the file with Arduino, and then select Arduino Mega from the list of board and upload. The RecycleBot code is now ready to be executed. For spooler, copy the code from the file or open the file for spooler code with Arduino, select the Arduino Uno as board and upload, the spooler is all set to work.   

If you have trouble with the files send me an thingiverse mail or email Ankit at avora#mtu.edu (replace # with @, anti-spam)

RecycleBot Circuit

Download the circuit diagram and fabricate on two separate PCBs in order to get better reliability. One can use a breadboard, but using breadboards sometimes creates reliability issues due to hanging wires, and especially when we are using high power control elements with low power DC control and monitoring components, its better and recommended to make the circuit on general purpose PCB for rapid prototyping. It is recommended to make the temperature sensor and measurement circuit on one PCB and DC motor and heater controller on another PCB. The circuit for temperature sensor is small and works on low voltage of +5 V and needs a good isolation for the AC components and must be fabricated on a separate PCB as shown in the picture gallery. And the circuit for DC motor control and heater controller uses both +5V, +12V and 110V AC, so it must be well isolated from the low voltage DC components like Arduino etc., so that the transients, spikes won't affect the working of temperature and process control, hence it must be also fabricated on a separate PCB. Use good quality copper wire for heater power controller such that it can withstand both high power and temperature.

For a more indepth description including how the circuit works, and how to assemble everything, and costs see this

There are also lots of other cool RecycleBot-like devices - see for example:
Filabot http://www.thingiverse.com/thing:24583
Lyman http://www.thingiverse.com/thing:34653

Lyman also has a spool winder -- which you will likely need depending on what type of plastic you are using:

More from 3D Printer Accessories

view more

All Apps

Upgrade this Thing with Thingiverse Apps

Tools and Utilities

Repair, slice, or enhance this Thing

Auto-magically prepare your 3D models for 3D printing. A cloud based 3D models Preparing and Healing solution for 3D Printing, MakePrintable provides features for model repairing, wall thickness...

App Info Launch App

It is possible to use the LCD KEYPAD SHIELD to replace the keypad ?

I'm working with a beta of Tim Elmore's Filastruder, and working on a spooler for that as well so I have a few questions. The fire cement seems like a lot of trouble. Is there a reason not to wrap the barrel in polyamide tape to insulate the nichrome, add another layer of tape on top of the nichrome and then wrap the whole thing in fiberglass cloth?

The spooler has to either pull the plastic directly from the die, drawing it down to the desired dimension, or gather it up in such a way that does not influence the plastic as it exits the die. If it is going to draw down the plastic, the tension has to be absolutely consistent to maintain tolerances. I think that would be difficult to maintain with the changing circumference of the spool, and would require a separate puller. For mine, I started out with Lyman's spooler and have replaced the rollers with a Wade's Reloaded extruder driven by an Uno and an easy driver. I'm interested in your spooler code, since it has to do mostly the same thing as mine. My spool is driven by a DC motor that I will eventually also control with the Uno. I'm having trouble with the fact that slight changes in the feed rate coming out of the extruder are running into the rock steady draw rate of the puller. Rather than being able to extrude extra plastic faster, that extra plastic turns into a wider cross section.

If the spooler is not drawing down the plastic, then the plastic will extrude with only the pressure from the auger. Any pulling from the spooler will reduce the diameter, and any backward pressure of the filament toward the die will increase it. It is difficult to guide the filament because it is somewhat flexible rod, not string. It is stiff enough that if it is going to flow along a path that is not straight, it has to take very wide bends. If the end of the filament is slowed or stopped, it doesn't droop in the middle like a string, it backs up at the die.

My challenge right now is finding a way to constrain the filament until it has cooled, with a close enough tolerance that handling down the further down the line doesn't created inconsistency at the die. At the same time there can't be any friction that might impede the flow and cause the filament to get backed up.

I was wondering if you have run into any of those challenges, or found a way around them. Currently with the spooler I'm getting a range of about .15mm in diameter in 1.75mm filament. I need it to be closer to .5mm to be equivalent to "store bought" filament. The extruder will achieve that running filament unobstructed to the ground, but I want it to work with the spooler as well.

It sounds like you need constant torque on the spooler. I know this can be done with some servos but since I am not familiar with the machine you are working with I am not sure if this is practical.

I suggest extruding vertically so that your filament can hang down and then come back up to the spooler. A pair of opto-interruptors would give you a "high" and "low" signal that would drive faster and slower on the take up reel. Each time the filament hits low, the take up reel speeds up. Alternatively, you could use bang-bang control, but smooth feedback control would give you better control of diameter. In the fiber/wire world these variable loops are called "accumulators", and usually have pulleys on them; they let you have variable speed in and out with constant tension on one side or the other.

Thank you -- this is really useful information - there are a lot of good designs for dancers and accumulators - now to design up some printable ones and we are off to the races.

Ian thanks for all the great points and questions.

First the fire cement is over kill - you could probably get away with tape particularly if you went with a larger diameter nichrome wire. We went through several generations of recyclebot hot end - starting with tape and experimenting with different power supplies and nichrome diameters. At the time a relatively inexperienced student had a lot of shorting issues -- and as we are testing all different kinds of composites - many of which gum up the works and demand a tear down/clean/rebuild I wanted something that was going to be robust and prevent any more lost power supplies. If you are doing something quasi-normal like PLA pellets then life gets a lot easier...that said there are a lot of recyclable plastics yet to look at and if your feedstock is the garbage can a little robustness will not hurt.

This same line of thinking goes for the spooler/roller/pincher/extruder issues you point out -- we had/have those same problems - but it is extremely dependent on the polymer at the time. We have been working in 3mm filament so I think the issue is a little bit easier for us - also we have been focusing on relatively small batch runs so we don't get into much of the spooler diameter issue. Eventually I think your solution is the right one with a pincer and a spooler for completely unattended filament fabrication. We babysit ours now to ensure quality. If you are only working in one polymer you can let it hit the floor and meet spec - I would be tempted to just do that and have the spooler just go at a slower rate with a little time lag behind the extruder. It would be pretty easy to program a step down function in the speed to account for the spooler diameter. Then the extruder turns off after x hours and the spooler after x + 1 min.

Another, perhaps, more flexible and elegant solution is to increase your cooling rate -- bigger, more, and more directed fans. From your picture it looks like you are using a computer fan - ducting might be enough. We have even considered a water bath for some plastics.

It sounds like you are using hard PLA pellets? I am not sure on this (because it is sad trade secret), but I am pretty confident that the PLA suppliers are mixing PLA blends to get the best results. It is on my list of things to do - to make a careful study of the volume fraction of PLA using 4043D and 4060 and the properties of the filament, printed products, etc. -- but the list of projects in the OS 3-d printing arena is long!...and I am juggling the challenge of trying to keep up with the enormous churn in the maker community while also trying to legitimize research into it as an academic endeavor (e.g. answer the questions that are more difficult or demand access to equipment that the standard fablab doesn't have -- e.g. SEMs). This is trickier than it seems - the Rapid Prototyping article was written years ago and in press for more than a year before coming out the other day - Filabot, Lyman et al. didn't exist when we did the initial work. I need to get 2 years out ahead of the community to be relevant/useful while still earning my keep in the academic world - and that is hard. This wouldn't be that important if it were just me - but if we can pull in more of the academic community, I think we could accelerate things along a lot more. If you have any recommendations please let me know.

I've been trying to read some professional texts on plastic extrusion to get a better handle on the theory. There is a lot going on that can have a big effect on the quality of the extrusion, and the added challenge that filament for printing needs tighter tolerances than is typically required of extruded products. Screw extruders have been used and understood for decades. The innovation is finding ways to address the problems that have been solved in industry, with solutions that can done cheaply and DIY. A big difference is that the screw characteristics change from feeding to melting to delivery of the melted plastic to the die. We just get an auger because custom machined screws are out of the question. With that limitation, are there other ways to insure a consistent feed? Temperature control is one, I wonder if there is something to be gained from multiple controlled heating zones. If the output is going to vary no matter what, then how can we work around it and spool it in a way that works reliably, unattended for hours?

If we could get one of these in front of someone who has years of experience working with plastic extrusion in industry, we could learn a lot. Home 3D printers have reached a point where they can out perform the pro machines in quality with far fewer parts and less money. I'm sure we could get there with extruders as well (though maybe not at 5 ft per minute).