Ask Hackaday: Material Databases

With more and more previously industrial processes coming online in the home shop, people are finding that getting the information that was previously provided by the manufacturer of a hundred thousand dollar machine for their three hundred dollar Shenzen special is not easy.

Some early work from UFID shows how even different Slic3rs can change the expected material properties of a filament.
Some early work from UFID shows how even different Slic3rs can change the expected material properties of a filament.

A common example is this, a hacker purchased themselves a brand new 3D printer off amazon for a price too good to be true. After a week of tinkering with it, a small fire, and a few replacement parts later, they get it to work. After they’ve burned through, perhaps literally, the few hundred grams of filament that came with the printer at the setting recommended by the manufacturer, they do a small blanket order of the different filaments out there. Now comes the trouble, each printer is a little different and each filament has different properties. Most people find that the second spool of filament they feed into their printer doesn’t work at all. What’s the quickest way to get the right temperature, cooling, and feed settings for your printer configuration?

This isn’t a problem for the expensive machines. Epilog, a manufacturer of laser cutters, provides a grid of settings for each material you’re likely to cut, tuned to the different properties of each model of laser cutter they sell. Same goes for the expensive industrial 3D printers, each (very expensive) spool of material has the setting sitting in a chip in the casing. When the spool is slotted in the machine, it reads the settings and adjusts accordingly. All the work of tuning was done in a lab somewhere and the print is, theoretically, guaranteed.

Your Oshpark order would get delayed, your lulzbot support case would be dropped, teensies would ship late, and the Amp Hour would just be the EEVBlog Podcast if this bar burnt down, but it was a great event!
Your Oshpark order would get delayed, your Lulzbot support case would be dropped, Teensies would ship late, and the Amp Hour would just be the EEVBlog Podcast if this bar burnt down, but it was a great event!

While we were at the Bay Area Makerfaire 2016, we had a chance to talk to [Gauthier de Valensart] and buy him a beer at the Hackaday Meet-up. [Gauthier] is from Belgium where he is the founder of a start-up with one of those fancy new TLDs: filaments.directory. The goal of filaments.directory is to create a database of 3D printer materials and link that up with a user’s 3D printer settings. The eventual goal being, much like the industrial printers, a user would be able to simply scan a barcode, or wave the spool over an RFID reader to input the needed settings into his slicing software or printer.

This sounded familiar to me, not the least because I had started work on it as an extension for repables.com when that was a larger focus in my life. In fact, I remember, while I was kicking the idea around to people at MRRF, that they kept telling me someone else was working on a similar project. I wanted to introduce [Gauthier] to the person who was working on the project back then. Since I was at a bar full of people in the industry, I sort of helplessly rotated in my spot trying to find someone who might remember. I spied [whosawhatsis], a common attendee of MRRF, and asked him. Okay, that was easy, [whosawhatsis] informed us that is was his project… introduction complete. Goes to show you what a good networking event buying a bunch of nerds beer can be.

They got a pretty okay logo while they were at it.
They got a pretty okay logo while they were at it.

The project was called, “Universal Filament Identification System,” and it proposed to, “… eliminate the guess-work,” by, “…developing a method for tagging, tracking, and identifying filament for 3d printing in machine-readable formats…” The project appears to be mostly dead now and its domain is a placeholder. I think it suffered from the standard open source feature creep, but the idea is sound.

Which gets us to the questions. There are a lot of difficulties with creating such a system. The first being the data collection. Who should be responsible for measuring the filaments, the materials for laser cutting, or any other process that needs tuned settings? The ideal track, of course, would be for the manufacturers to hold themselves accountable and report on the settings for their filaments. However, many filament manufacturers rely on the ignorance of users to sell dodgy products, it’s only in the interest of a few top-quality ones to do so. If the users do so, then how will the information provided be vetted? You definitely don’t want someone’s ignorance about a faulty thermistor to encourage you to run PLA at 280C.

More and more difficulties arise. How should the information be transferred, etc. What properties should even be recorded? UFID was going as far as to use a color sensor to keep track of colors between batches from 3D printer manufacturers. In the end it’s about creating standards in a standard-less industry by using crowdsourcing. Either way, take a look at what [Gauthier]’s doing (and send him some feedback), read the backlogs of UFID, think about how annoying it was to get the right settings for a laser cutter the last time you used one, and let us know your thoughts in the comments.

13 thoughts on “Ask Hackaday: Material Databases

  1. This is not a new problem, nor is it restricted to newer types of materials, or the DIY sector. Determining material equivalencies was a huge part of my duties for almost forty years in aviation and is the bread and butter for the bulk of material scientists working in the bowels of industry. While it should be a simple task, few suppliers are as open with characteristics as you would like them to be, and when you are trying to compare several acting like this it can be a challenge.

  2. There is a fundamental problem that’s impossible to solve: User expectation. I was extremely unsatisfied with my print results with lots of different materials until I learned that many users use their printer for purposes differing from my application. I want fast prints with comparatively large layer heights (usually .4mm with a .5mm nozzle) in order to create mechanical parts. I regularly print perimeters at 80mm/s, even at 100mm/s when I’m in a hurry. Infill can be printed a bit more quickly, of course. I realize that you need to have a mechanically sound printer to do this. I think by now I do. However, I always have to run the filament 15K-20K hotter than “usual” to achieve the feedrate without problems. For slow prints with lots of detail, that’s completely wrong, everything will become a big blob of deformed plastic. But who decides what kind of usage the material entry is optimized for? If there’s no authoritative set of parameters for a material, such a database will merely become a collection of what works for different people. It’s a good starting point, but hardly of much use, since you’ll have to experiment by yourself anyway.

    So, nice idea, but impractical. What might be extremely helpful, however, would be to catalogue interactions between materials, feed systems and extruder designs. For a rather obvious example, what aspects cause TPE to be almost impossible to print with bowden-based systems? If there was a catalogue of these interactions and material properties, I could search for a filament that had certain properties and would still be printable on my machine.

    1. Your main problem is not impossible to fix. What you need, is a “flow temperature graph”. To get a certain amount of cubic mm per second, you need a certain temperature.

      However, this IS machine depended.

    2. This is an example of running your hot end faster than it is capable. I’m actually surprised that I have never seen an article on this (maybe one exists but I never found it), but Hot-ends work like a heat exchanger that undergoes a phase change in the working material. The expectation is that you feed solid plastic in at room temperature, and get a liquid plastic out the other end at a specific temperature, which is very close to the hot end temperature.

      A phase change absorbs heat energy, and heat transfer is proportional to temperature differential. In your slow feed rates, the plastic has enough time in contact with the hot end to come to a steady state temperature before it exits the nozzle. When you speed up your feed rate, you are finding one of two limits: 1 your hot end can’t supply enough heat and the temperature drops too much (filament cools the hot end), or 2, the filament doesn’t have a large enough cavity to heat it from room temperature to the nozzle temp in the time you are trying to push it out (hot end maintains temp).

      You are solving the extruder size problem by increasing your temperature, which increases the heat transfer rate enough to melt the plastic so that the exit temperature of the plastic is likely close to the ideal temperature, but if you stop or slow extruding the plastic over-heats.

      A hot end needs to have enough power to be able to supply all the heat energy required to change the phase of the plastic at the rate at which the plastic is fed, as well as a cavity large enough to allow heat transfer to take place.

      Cataloging all extruder hot end styles is impractical. What is needed is the “recommended extrusion temperature” and the equivelant “heat of fusion” specified in a watts per mm/sec extruded. This value would let you know that if you have a 40W hot end, you can only extrude x mm/sec of the given plastic at the recommended temperature.

      This is the only way to get it independant of extruder type.

      1. Providing physical parameters such as heat of fusion sounds like a very good idea. When you specify your machine in your slicer, it should take such parameters into account; I think that would be the right direction.
        Slicers (or alternatively the firmware) still have a lot of potential for getting smarter.

        As a side note I also think another thermistor monitoring air temperature would be helpful (everyone who has ever compared summer/ winter prints knows what I mean).

      1. According to the material scientists that I’ve spoken to. No. There is much more to material properties. And even if you could measure a whole lot more properties, it’s still not possible to get to the actual print parameters from that.

        Maybe in 5 to 10 years, when we actually know what we’re doing in 3D printing from a chemical perspective. Right now, it’s “guess work”.

        -Ultimaker

  3. Maybe using just one specific machine with well defined mechanical and printing parameters (feedrate, speeds,…) to get at least some reference that can be reproduced around the globe would be more helpful? I would guess that you could figure out with some experiments how your specific printer is different from the reference and then apply that as a correction to the reference data. It’s not a perfect solution, but i don’t see how else you get thru the jungle of all the printers and filaments and still have a chance to be useful for most end users.

  4. You can never have a database for every filament you can possibly get. Especially not if you are going to make your own filament from recycled plastics (which would be a good thing, ecologically and economically). Proper solution would be a self-calibration method and/or addition for 3D printer, to analyse properties of small sample of material and extract the needed parameters for the machine.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s