If you are reading this post, chances are you know what a 3D Printer is. It is also quite possible you have been talking about this exciting project when somebody comes up and asks, with curious eyes, “what is a 3D printer?” You may feel an impulse of surprise as to the astonishing question which has just been posted as your brain bounces back with “what is a 3D printer? How on Earth can you not know what that is?”, but before you open up your mouth you realize that some time ago, you too were oblivious to what a 3D printer was.
In essence the 3D printer is a very confusing name. Lets face it! Every printer on this planet has three dimensions. Is there such thing as a printer that only occupies space in the X and Y cartesian plane? I haven’t seen it… But that is of course not what we mean by 3D Printer, because what it truly implies is a gadget capable of printing in three dimensions. Then again, unless we give it a more descriptive name, how can we visualize it? If I have an ink jet spewing ink in three dimensions, how is the ink holding its spatial information? What if it is a laser? How is the toner being fused into three dimensions so that I have a tri dimentional printout? 3D Printer is just too vague a name!
To make matters worst, the actual names for the three most popular 3D Printing technologies are not that easy to grasp either. Molten Polymer Deposition (MPD), Granular Material Binding (GMB) and Photopolimerization are terms 99.9% of humans walking this planet will not even dare to understand. MPD, by the way, is the typical rep rap printer we see most DIYers building today, while a slowly growing number of people are starting to adopt the photopolimerization technique. GMB is still in the realm of “fractions of a million dollar” machines so I do not see a lot of action on that front by DIYers, but if you want to see what it is, check this video.
The truth is that whenever you hear your local geek talking or showcasing his own 3D printer, he will be talking about an MPD printer. About a decade ago, wanting to buy a professional Molten Deposition printer, would set you back anywhere in between 17K and 25K (and some extra more for hidden costs) for a starter unit. Then somebody in Europe, namely Adrian Bowyer, decided this was an atrocious price to pay for pushing molten plastic in an organized fashion. He created the RepRap organization and possibly inadvertently set the planet in its next big Geek revolution. Today, it is basically impossible to visit any geek strata and not hear (or actually see!) about 3D printing, it being some sort of machine capable of melting plastic (ABS or PLA) and depositing it into a moving platform such that a 3D object results.
OK, that is basically what a 3D printer is, but in reality I have still not answered the question. The real answer is (and this is my very own personal definition):
A 3D printer is a CNC (Computer Numeric Control) machine consisting of three axis of motion (X, Y and Z), and an extrusion mechanism revolving around a hot element capable of melting ans pushing plastic through a nozzle with the smallest possible hole. The printer is actually a 2D printer with the capability of shifting information into a third dimension. That is, information is printed into a two dimensional layer in the X and Y Cartesian plane and then this layer is shifted down so a new layer can be deposited on top. The process is repeated numerous times, until a predetermined number of layers in the Z axis have been printed in the X and Y axis.
Words may still not be able to do all the justice we require, so how about a picture?
A 3D Printer without a computer is really not much, although some units will have an SD Card reader you can use to get a job processed from the memory module. You can download output files ready to run on your 3D printer from database places such as the ThingieVerse created by the Makerbot guys. Brilliant idea by the way! If this is the case, you can ignore the computer side completely. However, personally I am not interested in the SD card implementation, so I will ignore this venue completely. Plus chances are at some point in time you will want to design your own parts, in which case you will need the computer.
There is tons of information on what this means, so let me just give you a supremely brief run down.
First you will need to draw your 3D part in a software better known as CAD, for Computer Aided Design. There is a gazillion of them, and chances are the great majority will be too expensive. If you are a student, you may be able to get freebies or cost down versions of the really good ones like Autodesk Inventor. Or you can go with the freebie package most people are getting their hands dirty with, Blender. Any of these packages will allow you to draw what is called a solid, or a 3D model.
A quick example would be something like this:
Yes, that’s a boring part and nobody would even waste time doing like this, but I needed to illustrate that this drawing of a solid is 100% useless to a 3D printer. There is nothing you can do with the output from this SW, other than having it processed by a second piece of SW which is in charge of extracting the 3D information and generating a sequence of 2D packets the printer can process. This is what is known as Computer Aided Manufacturing (CAM) as the computer will generate a series of commands which will let you fabricate (manufacture) the part in question.
In a CNC milling machine, the CAM SW would need to know what blade (mill) would be used. You would need to tell it a speed of rotation and traverse (or feed rate), as you cannot just cut every single material with the same parameters. The program can then look at the part and the cutter, and generate what is known as a tool path. This tool path is then encoded in a series of very simple commands better known as G Codes. A G Code could be something like “move in a line at this rate” (G1) or “move in a circle, counterclockwise, with this radius” (G2). There is a fair number of G Codes an I am already confusing you to the smithereens, so let me just put a link to the wiki in case you want to push your brain further.
So why would I mention a CNC mill when we are talking about 3D printing? Because the process is still the same. The truth is the 3D printer will run in the exact same G Code any CNC machine will run (plasma cutter, lathe, router, laser, etc). It will move in lines and in circles to deposit the molten plastic. Notice you need to know how thick is the molten plastic stream as the CAM SW will need to take this into account. I haven’t gone through this yet, but I expect it will take some time before I am able to perfectly tune output according to how thick is my molten plastic stream, which should be directly proportional to nozzle hole diameter.
The CAM software for a 3D printer is better known as a slicer. In essence, the 3D model is segmented in a bunch of slices that must be a function of how much (or how little) can you move the Z axis table up and down and the plastic stream diameter. The output of the slicer, then, is a text file containing the combination of G Code commands that can draw the part on a slice by slice manner.
To show you how the slices work will be way easier once I have my 3D printer up and running, so I promise to get back to this point some time in the future. In the mean time, if you have seen a 3D printer in action, then you already know what I am talking about. And if you haven’t, keep your eyes open to next geek gathering as once you see the printer in action you will get to be like: “Ah! That’s what he meant by slices!”
With the G Code file, we can now start printing. There are different ways in which machines run G Code. For example, in my CNC mill, the computer is reading the G Code and generating a series of pulses that move the stepper motors in the right sequence. This is all taken care by a software called MACH3. On most 3D printers, however, the computer takes the G Code and sends it to a controller board which then decodes the command and generates the pulses to move the steppers.
Let me get a little bit deeper on this one:
After you have sliced your model, you will open the G Code output on a SW that is your G Code controller. The SW I plan on using is called Replicator G. Replicator G then sends command to a controller board, which as of today is most likely an Arduino Mega running a firmware version of Sprinter. Sprinter is not to be confused with Arduino code. It may use a few of the Arduino calls, but it does not rely on Arduino functions to control the steppers or deal with serial commands. Most of it is writen in C, although you can still follow the Arduino conventions to download the firmware into your Arduino board. Do note that at this point we have already walked out of the computer and are now on the 3D printer side.
The Arduino board has no power capabilities to drive a stepper. It can send the pulses and direction information but that’s it! Instead, Arduino users must connect to their board an actual power stage capable of taking the pulse and direction information and transform it into actual voltages and currents the stepper can use to move accordingly. Drivers of these nature are often called internal indexer microstepping drivers, and there is a bunch out there. Since I have been designing my own drivers around the DRV88xx family of drivers, I have chosen the DRV8825. It has 32 degrees of microstepping, so I think I will obtain better results than the typical 16 degrees of microstepping most users out there have been using.
The stepper driver will then control the steppers on a step (or microstep) basis. It is important to tell the system how much each one of these steps mean in terms of distance. This is because the G Code is not based on steps, but on points along the coordinate system. For example, G1 X5 Y7 means to the point where X is equal to 5 inches and Y is 7 inches (it could be in millimeters too, but since I am in the US I prefer the English system; shame on me!!!). The printer knows where (0,0) is, but it needs to know how many steps it will need to issue to get to (5,7). Have in mind the resolution on the driver is not all. How many steps per revolution your stepper has and the belt resolution will also play a role. I am no mechanical genius so I plan on measuring this with calipers and write it down during the setup stage.
This is a supremely brief explanation of what it all is. I doubt you will find a single place with the entire answer, unless you buy one of those “Build Yourself CNC” books, and even then chances are you will end up with more questions than answers. You will need to scour the web until you find that answer and eventually you will understand most of it that you need to be dangerous.
More to come as I get my project up and running!