Building and improving a 3D printer (part 1)
During the last two months or so, I've been brooding on building a 3D printer. During this time, I have gathered a few friends to accompany me and the build plans have evolved from mere ideas to more or less a complete design. In this blog series I will go into great detail as to why anybody would want a 3D printer, how such a machine works, how to source and build it and possibly what lies ahead. For those of you who already know something about the RepRap scene: I'll be building a Prusa Mendel using Clonedel parts, a custom-desiged high-tech heated bed and custom electronics.
In the world of engineering, basically anything is possible. It is sometimes hard for non-engineering people to understand the vastness of possibilities an engineer has in the design space that is his head. If an engineer looks at the world, he looks at it with 'purpose vision': why is that item shaped the way it is? Why not make it like this, that would much better suit its purpose! And now that we're at it, why not redesign the whole damn item? Let's just start up my design software...
I could use exactly that piece of motherboard to make an aeroplane!
Really, anything is possible inside an engineer's mind, whether it be electronic design, mechanical design, designing algorithms or improving biology itself. There is only one problem: cost. Specifically the cost of items in small quantities: so-called prototypes.
The recent revolution in electronics prototypingAs you all know, cost scales with manufacturing volume. That is because in general, setup cost (getting the right tools, making molds, making patterns, all that fughoolimajilla) is a major obstacle. If you, as an individual, would want to for instance produce a small bolt that needs measurement-driven lathing, you would need to purchase a metal lathe and cutting tools, setting you back at least a good €800. Just to make one bolt. Even if you'd ask a workshop to lathe something for you, they will probably charge you a hundred bucks to get it done because they have to put the man-hours in and try to pay for their tools. Of course, if you want to make many thousands of these custom bolts the cost goes down but you rarely need that as an individual.
Now, just in the past 3-4 years or so there have been major improvements in prototyping cost in the world of electronic engineering. You have to know; if the design space of a mechanical or civil engineer would be a cubic kilometer, the design space of an electronic engineer is the vastness of the universe. These people are ridiculously creative; absolutely anything is possible in electronics. Consequently, there has always been a great need for cheap prototyping. With the advent of teh internets this has finally happened; whereas previously you would have to go through brokers or local dealers to get a very limited supply of parts, nowadays you can buy directly from wholesale dealers (e.g. Farnell/Element 14, Digikey and Mouser) or even get free samples from most of the big companies (Vishay, Maxim, etc.). But maybe even more importantly, sites like PCBCART, MakePCB and more recently iteadstudio/seeedstudio have made producing high-quality PCBs with all the necessary bells and whistles (plated through vias, colored solder mask, silkscreen) cheaper than you could ever imagine. For just $3 a piece you can get 100x100mm dual-layer PCBs. Ridiculous, especially if you know that just five years ago the cheapest option for us Dutch people was to go to Eurocircuits and pay more than $100 for the same thing!
Just a few years ago I ordered a prototype for the ridiculous price of €670. Look at that: over 300 euros startup cost, a minimum of one panel (6 PCBs in this case) to order at €20 each and 70 euros for an E-test. No, not the Scientology-kind...
It's just a matter of months before the first sub-$10/pc 4-layer PCB prototyping service will be launched, mark my words!
The ensuing revolution in rapid prototypingSo, we're in an era of truly democratized electronics design. How about mechanical design? Well, we are witnessing a revolution in prototyping for mechanical design as well. Not too long ago, you'd need a pretty decent sized workshop and either some form of formal training or a heatlhy interest in the subject to be able to really make a wide array of 3D objects for use in your design projects. I myself, a real young player in the field, have had to learn to use all the basic metalworking and composite-manufacturing tools (i.e. manual and CNC lathes/mills, thermoplastic molding, hand and vacuum fiber layup) at pretty specialized workshops to get my thirst for prototyping during my Bachelor's sufficiently quenched. I guess that for the $100 worth of actual materials I used in that time, I have probably used over $100,000 worth of machinery. Madness, and totally unavailable to the majority of the people that would be interested in making items from their own designs.
This is where 3D printers come in. They are devices that use thermoplastic material (a material that becomes gooey and malleable when heated, and cools down to become hard again) to print - much like an ink jet printer - arbitrary 3D objects. Right now it's only possible to print in plastics and resolution isn't quite up to par with for instance milling, but this is already revolutionary. Printing speed is quite okay, printing in the order of tens of cm3 per minute on the fastest machines, but what is most important is the printing price: you can build your own machine for less than €350 as a kit or €1000 assembled, with material cost at around €25/kg. That means that if you are going to need anything more than one small item, you will already have a cheaper machine than the cost of one-off prototyping in a commercial 3D printer or mill. And you won't have just that item, you will have the printer itself as well!
And this is one of infinite things you can do with it. Props to tc_fea for modeling and printing this!
But whereas for instance iteadstudio can deliver nearly perfect PCB quality for the absolute lowest of prices, these 3D printers aren't quite as mature. If you really want to hit the low 350 euro ($450-500) price point you need to buy a kit, meaning you have to put it together yourself. That is not a trivial task, although the Prusa Mendel is already a lot easier than the previous generation printers (i.e. Darwin and original Mendel). There is more immaturity; print quality and speed differs greatly between printers. Also, in order to be able to make large or flat objects without warping, you need to have a heated printing surface (the heated print bed or HPB) which prevents the printed object from cooling and contracting too quickly. This item is not standard issue in the kits and as of writing there is no standardized design available. Lastly, from my point of view the electronics (with very few exceptions) are hobbyist level, essentially unsafe and unreliable and absolutely not foolproof.
This is what many people are using as a basis for their RepRap electronics - the omnipresent Arduino Mega
This is an open source project, though, so there is a crazy amount of people and project groups continually improving everything. I'll be one of those people, and the tweakers known as wesleytjuh and Michielh will be joining me. Together we will build three instances of a RepRap Prusa Mendel with some of our own modifications. The five areas I will be attacking: price, power consumption, electronic compliance, electrical safety and electronic design in general.
What's in a Prusa MendelFirst things first: what's in a 3D printer? I've been talking gibberish about these things for a while now without properly introducing the specifics. 3D printers aren't new; they have been around for quite a while already in commercial implementations. There were even a few people dabbling with their own designs but you could not speak of a real 3D printing movement before Reprap was founded. 'Their' (being an open source initiative, the group of people behind the development is variable) first printer design was Darwin, their second was Mendel. The original Mendel design in itself has been improved for ease of assembly, number of parts and cost by a cool dude with the last name Prusa, making that revision the so-called Prusa Mendel (i.e. a sort of Mendel 1.1).
The Prusa Mendel, fully assembled. Picture shamelessly stolen from ikmaak.nl. Sorry, dude!
Now, the Prusa Mendel is actually just the design for the skeleton of the device. It takes care of moving the print head around and supporting everything. Stuff is still missing, so there is still a lot of variation possible if you want. Things to still add are:
- The extruder drive and filament heater (known as 'hot end'); the part that heats up the plastic filament so it can be printed
- The print bed, optionally with heating
- The motors
- The electronics
What's different about mineThe big difference will be electronics, then. Well, mux, what will you change? Wait a second, you never even told us what electronics everybody else uses. What is this reverse storytelling you do? Alright, alright, here we go.
Most people use what is known as RAMPS, or the RepRap Arduino Mega Pololu Shield. Obviously, if you have ever heard of Arduino you know it's a family of open-source development boards that can be extended (i.e. functionality added) with the use of so-called 'shields'. On the other side of the abbreviation we have Pololu, which is a family of stepper motor controller boards. RAMPS is the board that interfaces these two sides of the equation.
The RAMPS electronics. This is actually Ultimaker electronics, but it serves as an illustration
From the perspective of an electronic engineer, this is an awfully complex situation. Electronics are so succesful because of their degree of integration. RAMPS is a very pluginnable, extendable system but as such it is complex. Also, Arduino should really be seen as any other development board: it's mainly for development, not for finished products. There is nothing wrong with this approach from the point of view of RepRap development; upgrades and updates to both the mechanical and electronic side of things follow each other up at dizzying rates.
However, my thoughts on the project are that as a community, we should work towards a mature system. Purpose-built electronics, designed with automated manufacturing in mind and built to reasonable standards of safety and foolproofness. After all, the project strives not only to be a tool for the tech-savvy, but also for people who want nothing to do with the internal workings.
So, what should be improved?
Heated print bedMost RepRaps don't have a heated printing surface. Those that do have one, are either low-tech (candle lights, for instance, work very well) or work on the DC that comes out of (usually) the same power supply that powers the rest of the electronics. This is great for safety; you will not have the risk of putting high voltages on your print bed or mechanical construction. Unfortunately, though, this also means that all power that goes into heating the print bed first needs to be transformed from mains voltage to low voltage. Power supplies aren't quite 100% efficient, so in the process of heating your print bed, you are also throwing away some additional power.
This is one of Prusa's own heated print bed designs; this is the electric heater wire under the printing surface
The solution? Power the print bed heaters directly from mains power. That immediately causes an electrocution hazard. Therefore, this really needs to be designed with safety in mind. How do we do that? Well, that's what safety standards are for! The HPB will be electromechanically designed according to UL safety standards. For instance, it will be properly fused with both overtemperature and overcurrent protection. The materials chosen will be thermally compatible and the mechanical design will be such that the strain on mechanical components will stay within predefined bounds.
Also, on the Mendel design the print bed itself moves laterally. As the print bed is quite heavy this limits the maximum horizontal extrusion speed of the machine. The print bed will be designed within a weight budget of 0.35kg. As a last note, the maximum design power at 230VAC of the print bed will be 100W and power regulation will be done by means of phase control through an isolated solid-state mains switch (optical SSR).
The user 'wesleytjuh' will be doing the mechanical design and manufacturing of the print bed, as well as some other things that require the use of machinery that I don't have immediate access to. Solidworks screenshots and files are to follow in a next blog post.
Main electronicsThe main objective with the main electronics is to make things safe, foolproof and cheap. As I stated before, the power in electronics lies in integration. First off, making just the circuit board (without components) is associated with both startup and running cost; the startup cost being relatively high. The current state of reprap is that boards are made in batches of tens or maybe 25, not much more. This rules out quite a few types of designs; multilayer boards for instance will be very expensive compared to 2-layer boards. Also, obviously a single-board design will be much cheaper than many boards plugged together.
One of the only single-board designs around (well, except for the extruder board that is still external), the Generation 6 electronics are sold by Mendel-parts.com, a website devoted entirely to 3D printer parts and kits
Furthermore, the boards need to have a computer interface to receive printing commands, and the ideal interface for that right now is USB as it is so ubiquitous. Very little microcontrollers natively support USB. Most boards use a part called FT232RL for this purpose: it converts USB to a serial datastream that most if not all microcontrollers understand. It does its job quite well, but it is an expensive chip (about €4.50). For this project though, let's use a microcontroller that implements USB natively. Fortunately, both NXP and Atmel have relatively cheap choices (around €4) that suffice. For code compatability I'll stick to the Atmel part for now: Atmega32U4.
Then there's power delivery. This is also a game of reduction: the less different voltages you need, the easier and cheaper power delivery becomes. All microelectronics on the board will be chosen to run from 3.3V. Now, the input voltage for the board is somewhere between 12 and 24V - chosen because that means the motor drivers can run directly from the input. The cheapest way to power electronics is from a linear supply, but that is inefficient; at an input voltage of 24V and current consumption of 100mA, you'd be wasting a good 2W in conversion. Also, such a device will need heatsinking, adding to the cost. A more efficient way would be to use a buck-converter, but that is a relatively expensive option at roughly €4.50. What do I choose? Neither! Remember, there's the PC interface with USB. Accompanying the communication lines is a nice 5V supply from the host USB. Using a low-drop linear supply we get our 3.3V and that's that. Cheap and easy, that's how I like it.
So we've had our way with cheap components. Now everything needs to be safe. I won't go into it too deeply, but there are three cornerstones of safety: minimizing user error, preventing failure in operational conditions and preventing catastrophic failure in forseeable non-operational conditions. Minimizing user error is done by for instance avoiding the possibility of users plugging the wrong device in the wrong header; i.e. keyed, recognizable, dissimilar headers for the different peripherals. Preventing failure in operational conditions is for instance proper heatsinking and proper layout. Preventing catastrophic failure means for instance implementing proper input and output protection so that if somebody suddenly disconnects a connector or plugs something in backwards, the device will survive. The device will need to be put inside an enclosure to prevent people dumping filings or metal objects onto the electronics; a surprisingly common mistake. Last, the electronics will need to comply with applicable standards and regulations as much as possible. Actual certification will be out of budget, but we can at least design most of the way there.
This is what we're trying to avoid now!
Things still to comeThis is the first part in a series, I hope I got you excited! In future parts I will be doing budgetting (you'll see just how cheaply you can make a 3D printer nowadays!), explaining the design of the heated bed and electronics and documenting the build and operation of the printer. Until then, until then!
Anyway, will follow your updates, good luck!
That would be great, looking forward to it.mux schreef op woensdag 06 april 2011 @ 22:32:
That is correct. In order to hit a lower price point you'll have to source the components a bit more creatively. The next part in this series (due in probably more than a week) will explain how I and wesleytjuh have managed to get our parts extremely cheaply and how you could possibly do that as well.
I will follow your blog with great interest. Good to see these kind of projects happen.
It's what happens when your axes have difficulty to move due to friction. For example as shown in this video: http://www.youtube.com/watch?v=NZKg4jzA4fMWhat do you mean with 'binding issues'?
It for example happens when you try to 'rotate' the platform, i.e. try to move the right side forward and the left side backward. The friction can stall the movement. Using a long bushing instead of 2 short bushings on a rail makes that much harder to do.
This shows the idea: http://www.cnczone.com/forums/905943-post528.html
I'm always interested in people to bounce around ideas on specific areas of the design. Currently, for instance, I'm still having trouble settling on connectors. Compliance/safety and practicality are really getting in each others way, and i'm torn as to which side to choose. Also, if you're a professional design engineer I could use some knowledge of safety regulations. If you feel like you can help with this and if you can spare the time, drop me a line (you can find contact information in my gallery).Diederik schreef op zaterdag 16 april 2011 @ 23:06:
Hey Mux, Great job getting me excited about building a 3D printer. I design electronics myself so if you need any help let me know. In the mean time I'll follow the process and hope to learn from your experience.
[Reactie gewijzigd op dinsdag 19 april 2011 14:20]
The safety I have implemented (the design is almost in production as we speak) deals primarily with overtemperature and short-circuit protection, as well as transient protection. From my 'literature study' in the field I have gathered that sudden stepper motor disconnects, input and output short circuiting and overheating are the main causes for electronics failure and subsequently the main reason for keeping those expensive 'pololu' boards modular. When making a monolithic design like I'm doing, you need to eliminate those failure modes in order for the design to be acceptable.
I would really like to see your design, maybe it can inspire me.
Straight C firmwares like Tonokip or recently Klimentkip/Carukip fit within 32k and implement SD card functionality (like our board) as well as RS-485, RS-232 and I2C stacks.
In the early design stages I made quite sure it was possible to fit the firmware inside of 32k. You will read how I did budgetting exactly in an upcoming blog, suffice it to say that a USB-CDC stack, an SD card (read-only) stack and the basic goings-on of reprap end up easily fitting inside 32k codespace with some room to spare for a bootloader. Obviously, this doesn't allow for, for instance, mass storage device support or other fancier features, but it suffices.
I'm a professional design engineer but I mostly work on low power designs and have little to do with safety regulations. I'm pretty bounceable so shoot. I have seen and worked with different connectors, fischer, molex, phoenix, etc.mux schreef op zaterdag 16 april 2011 @ 23:14:
I'm always interested in people to bounce around ideas on specific areas of the design. Currently, for instance, I'm still having trouble settling on connectors. Compliance/safety and practicality are really getting in each others way, and i'm torn as to which side to choose. Also, if you're a professional design engineer I could use some knowledge of safety regulations. If you feel like you can help with this and if you can spare the time, drop me a line (you can find contact information in my gallery).
You say that the extruder board is external ... no it isn't!
In your picture it's the second Molex from the right, at the top.
On Gen6, *everything* is on the one board (I've built 5 printers using Gen6!)