Like many similar-minded hackers, I became interested in a hobby called 3D-printering. 3D Printering is like printing objects with a 3D printer, but instead of getting good results immediately, it involves a great deal of wrestling with the printing machine itself. This equipment-intensive sport of 2010’s is about building and tuning a self-made machine that eats plastic wire, melts it, emits nasty fumes in the process and spits hot plastic in a form of a half-molten, striped owl/cat figure. As all of this appeared so tempting, I had to try it myself.
Maybe I had no better things to do or something when I became interested in building my own 3D-printer, during my my summer vacation from my plane-flying school. Three years ago, I was making a decision to buy either a CNC milling machine or a MakerBot 3D printer kit. I ended up with the mill with an idea with my mind that I could later make a 3D printer with the milling machine itself. When I saw one modern and particularly well-built RepRap machine in action during Jämi Fly In event in summer, I was convinced that the capabilities of these open-sourced machines have evolved enough for me to want one.
I decided to build my machine to be compatible with the RepRap. The RepRap is a project that aims to create an open-source 3D printer capable of replicating itself by printing its own parts. Plenty of software and affordable hardware has been developed along the project by many people, which makes it a good starting point in experimenting with 3D printing. All the parts needed can be purchased from various vendors or from eBay.
Transforming a CNC mill into a 3D printer
To make the project little easier, I decided to use my small Sherline 2020 CNC mill as a base for my printer. The 2000-series milling machines of Sherline are their most versatile ones, with a possibility to rotate the spindle head to point in any direction. To achieve this, its spindle unit is held in place with one screw only which makes it also easy to remove. Instead of building the whole 3D printer from scratch, I decided to make a 3D printer head attachment for my mill that is mounted in place of the spindle when needed. As a lazy guy, I could use the rigid frame and precision mechanics of the milling machine this way in my printer, without a need to re-invent a wheel and a frame of a 3D-printer.
The print head
The RepRap printers have usually a print head that is an assembly consisting of two parts, known as the cold end and the hot end. The cold end is a feeder, or Extruder, that pushes the raw plastic filament to the hot end which melts to a thin, hot plastic wire that the printed objects are made of. The parts are usually separate designs.
At the time of making, the most popular design of the print head seemed to be a Wade’s Geared Extruder, combined with the J-Head heater-nozzle combination. As this combination, according to photos of printed objects, provided a good quality with a simple construction, I wanted my own print head involve a similar design.
The idea behind the RepRap project is to design every plastic part of the printer so that it can be printed using the self-replicating printer itself. This was also the case with the extruder desings available and the Wade’s Geared Extruder was not an exception.
The ability to print parts layer by layer, makes very clever part designs possible that can not be made with any other manufacturing method. The only problem with these 3D printable printer parts arises when you don’t have a 3D printer to print the printer parts you need to make your printer print some 3D printed prints. I think that it is not only a good thing that people do not have to think about the manufacturing aspect too much with their designs, which makes them end up with parts that can not be manufactured using anything other than the printer.
So I was facing two options: to buy the extruder or make one myself. As I currently have no lathe available which is needed to make the hot end, I had to buy the J-Head heater and nozzle ready from eBay. But as I had everything needed to design and build the extruder, I wanted to make one myself. As there is no way how the Wade’s Extruder could be made from the CAD files without a 3D printer, I ended up designing my own extruder. As I was making the parts using a milling machine, I wanted them to be as simple as possible to create, with as little attachments as possible. Like the Wade’s Extruder, I wanted to make my extruder out of plastics because they are easy to machine.
Construction of the print head
Construction of the extruder is rather simple. A stepper motor drives a toothed drive shaft via reduction gear for more torque. The plastic filament is then pressed against the drive shaft by a roller. Filament tension must be adjustable so that the filament moves without obstructions through the hot-end and nozzle.
The extruder is made of different plastics. Its transparent sides and the driving gears are made of 5 mm thick polycarbonate. Bright white parts, like the “core” and mounting brackets are made of polyacetal plastic, while the natural white part that houses that tensions the wire against the drive shaft, is made of Nylon. I chose nylon for this part because of its strength, although it is not among the easiest plastics to machine.
The filament tension is adjusted using the two screws in top of the device. The rubber bushings between the nuts and the tensioner enable the roller to slightly follow the filament contours if the thickness is not uniform through the whole spool.
The drive shaft
The drive shaft of the extruder is made of a M8 8.8 bolt. As suggested by the RepRap Wiki, there are two ways to make it without a lathe. The one that I made first was the easier of them to make. Take one M8 bolt and cut slots in its thread using a rotary tool, making sharp little teeth in the process. The only drawback with this easier method is that the toothed bolt is better in shredding the plastic filament, than transporting it through the device.
After testing the toothed bolt and ending up with shredded filament, I decided to try the another way, the hobbed bolt. As i did not have a lathe available, I had to improvise. Luckily the RepRap Wiki has good instructions how to make the hobbed bolt. I took a bolt that had only its tip threaded and attached it to a drill chuck of my milling machine. With the bolt spinning, I made a groove to the bolt using a rounded metal file. Then, with a M5 tapping tool attached to my hand drill, I made a thread that grips the filament by pressing the rotating tapping tool against the groove. The bolt was still attached to the drill chuck of my milling machine but I had to remove the drive belt of the machine to make the bolt rotate freely.
Unlike the filament shredding screw, the hobbed one works fine. It was eventually easier to make than the toothed one. The filament tension is easy to adjust and the bolt drives the filament through the print head with no problems like slipping or shredding the filament.
The software that the RepRap uses to print objects, creates G-Code which is a standardized way to control manufacturing machines. As the G-code is also used by the Sherline CNC mill, I was thinking to use the control electronics and EMC2 machine control software the mill uses, in printing too. Although the G-Code is standardized, it allows the use of customized machine control codes. In milling machines these M-codes are used for example turning the spindle or cooling pump on or off and they are often unique to one brand of a machine. This was also the case with the RepRap. The G-code that the RepRap uses, features some commands that are unique for it, such as setting the temperature of the hot-end or the heated bed the object is printed on. And naturally the control software of the milling machine does not understand these. As modifying the EMC2 software that controls the mill and making a custom circuit board to control the heaters, would have been to time consuming, I ended up purchasing a ready-made affordable kit of control electronics that are supported by the RepRap’s software.
Few different control electronics were developed for the RepRap by individuals involved with the project. At the time of building the printer, the most popular of them was probably the Ramps 1.4 control board. The Ramps 1.4 is a shield for Arduino Mega which uses A4988 stepper drivers, known as the StepSticks. The stepper driver IC’s are mounted on breakout boards, which are then attached to the Ramps board. It makes them easy to replace if (and when ;-)) one of the surface-mount driver chips gets damaged.
A standard ATX power supply, or PSU, is often used to power the RepRap printers. Why everyone uses them, is because they are affordable and easy to get, every computer shop has them. To make a clean installation easier, the power supply is usually stripped of unused connectors and wires.
The remaining ATX connector has need to be modified a little. The ATX power supply is started by connecting two wires of the ATX connector into each other. The Ramps control board is built with a connection point for these two wires, so that the control board can turn the PSU on when it needs to power the stepper motors. The Ramps itself is powered from the USB connection between it and a controlling computer. The ATX PSU only feeds the stepper motors.
While removing the unnecessary connectors from the PSU, please note that the big ATX power connector has two other wires too, that are connected into each other within the connector. If these are not connected, the PSU will not start. While tweaking the PSU, please take care not to electrocute yourself and/or burn your house down in the process. Negleting this may make printing of plastic cats slightly more difficult.
In my case the ATX power supply was enough to supply power to the stepper motors and the print head. But as printing of ABS plastic requires a heated printing bed, I ran into problems. I ordered a heated bed from eBay which refused to heat up to 110 degrees celcius which is required, when I powered it from the 12 volt line of the ATX PSU. After trying to squeeze few more degrees out of the heated bed to make my prints stick on it with no success, I bought a high-quality 24 volt power supply from a friend (Thanks, Viliz 😉 ) for the heated bed. As the Ramps supports using different power supplies for the print head and for the heated bed, connecting these two PSU’s to the system was not a problem.
After completing the printer head and wiring the electronics with two separate power supplies, my 3D printer setup was a huge mess of wires with some circuit boards, a computer and a small CNC mill added. As I prefer more professional-looking installations, I had to do something.
As all the equipment needed to run the printer ended up taking quite much space, finding a suitable enclosure was somewhat impossible. Boxes that were large enough and especially the ones that were not exceedingly ugly, were quite expensive on eBay. With shipping costs and taxes added, I was not amused. I needed to think outside the.. box. I recalled having a small cubic computer, a Shuttle Mini PC, that was outdated. I had already taken its power supply to drive my external graphics card. After few measurements, I decided to do a little hardware upgrade to the Shuttle and empty the perfectly sized case of all the outdated hardware.
After taking all the SiS-chipset-powered stuff where it belongs, I hacked the case to accommodate all the hardware and fired up my CNC mill. I machined mounts for the power supplies out of aluminum profile. A new back plane with connectors and mounts for the Ramps controller board and a fan cooling the stepper drivers, were machined out of 5 mm polycarbonate sheets. The parts were then installed with screws to the Shuttle case and wired up.
The finished product looks like a Shuttle PC which is OK for me. Except that some day I’ll revise the graphics of that customizable front face plate some day. Maybe then I’ll add also more photos of the device with the cover on and the face plate in its place! 😉
Printing and (endless) tuning
With all the hardware completed and programmed, it was time for printering! I replaced the spindle of my CNC milling machine with my printer head and prepared the heated bed with a layer of heat-resistant tape where the printed objects adhere to. The heat bed was then attached on a cross-feed table of the mill.
The printed objects adhere to the surface of a heat resistant Kapton tape, which helps keeping the object in place during printing and the heated bed clean. While the Kapton-branded heat resistant tape is rather expensive, the eBay has many funny Chinese sellers that sell a golden-colored heat resistant tape with similar properties called Koptan or Kaptan for a very low price. This cheaper alternative is also good for printing on.
The first print I made, was a simple plastic square consisting of few layers. As it was fast to make, it was good for adjusting the settings of the printer firmware and the Slic3r software. The first object has not enough of filament and it has been printed too cold. The last one is “almost there”, with enough filament and heat.
With the printer somewhat adjusted, it was time to search for something to print. The Thingiverse is a web site where many printable models can be found. I found two objects that were perfect for tuning and calibrating the machine; a cat and an owl. Both of these feature complex shapes and little details that are difficult to print. And when printed correctly, they look rather nice too. But despite of intensive tuning, I failed getting acceptable results out of the machine, and put the project to rest for few years. Three years later, in 2016, I decided to give the machine one last try and fired up (literally) the thing. First attempts with ABS filament ended up being far from perfect, but with updated software and a little fresh thinking, eventually yielded me rather good results with PLA plastic, although for some reason the hot-plate heater mosfet went up in smoke. Argh. The cross-feed table of the CNC mill outperforms any printer in mechanical construction, but it is painfully slow, which limits its usability a great deal. But however, if I need some items that I am not able to machine, I now have the tool for the job! 😉