Welcome! Log In Create A New Profile


Automatically clearing the bed and starting the next print (Videos+Instructions) - Fully automated production! cool smiley

Posted by SanjayM 
So when visiting the huge CNC shop where they build my hotends I saw an awesome auto-feed lathe that you load up with bar stock, it turns a workpiece, parts it off whereupon it falls into a little chute, and it then pops out the back of the lathe into a little basket for collection. The guy running the machine shop says he just fills the machine, presses "go" and goes home for the night! Well, I had massive engineering jealously right there. If he could do it, then why not me on my little RepRap?!

Another motivation was that as well as running E3D with David I am also a full time teacher of Engineering at a high school. I want to teach the kids about gearing and so on, so I want to print literally hundreds of these gears: [www.thingiverse.com] But unloading and resetting prints is a real chore.

In simple summary here is how I did it:

Use PLA on hot glass - the parts come completely loose from the bed once it cools.
Print an item
Cool the bed (parts come loose once cool)
Use a little ram attached to the X-Carriage to push the part off the bed into a chute
Print next item
Repeat forever.

Here are some video detailing the process:

(Warning - I talk a lot...)

Hardware overview

End of print procedure

Ejection of print and starting of next print

Another print ejection

I have left the GCODE files used and the associated slicer config on my work PC and can't retrieve them. However it really is very - using slic3r I have a normal start GCODE that homes the machine and sets the machine to printing temps and waits for those temps to be reached.

I set my custom end gcode to something like:

M104 S0 ; Set extruder temp to 0C
M140 S0 ; Set bed temp to 0C
G1 Y195 ; Brings the bed all the way forward - so the ram is behind the part
G1 Z0 ; Homes Z axis, which touches nozzle to glass stopping any leaking and brings the ram down behind the part
G4 P360000 ;Do nothing for 360,000milliseconds (6 minutes) in order to allow the bed to cool so the parts come loose
G1 Z0.2 ; Lift the nozzle slightly so it doesn't scrape along the bed during the ramming movement
G1 Y0 F6000 ; Sends the bed moving backwards, print impacts ram and is pushed off front of bed onto paper chute

You then just copypaste as many GCODEs as you want items into one file, you can obviously combine different objects so you can produce a varied run of parts.

I have a test run of 10 or so parts printing right now, which hopefully will be waiting for me in that little tray on Monday. No way to know till then... eye popping smiley

This kind of approach combined with octoprint with webcam monitoring is a absolute winner in my eyes. I really would love to get this set up at my school in a sort of vending machine that kids can feed STLS and recieve parts out. The little rotters are always bugging me to print me stuff and I never have time. They are so enthusiastic about 3D printing that it's a shame they can't use it directly.


Edited 1 time(s). Last edit at 06/08/2013 02:43PM by SanjayM.

I Design/Sell all-metal hotends. My company is called e3d-online - you can buy at [www.e3d-online.com]
So elegant and simple. The only worry I would have is that sometimes my first layer doesn't stick properly, causing the print to fail. But if that isn't an issue with your printer then this solution seems perfect.

Help improve the RepRap wiki!
Just click "Edit" in the top-right corner of the page and start typing.
Anyone can edit the wiki!
Clever and needs no sophisticated system. When reading about MBI patent for moving build surface (btw that patent cannot be valid, it does not pass the hurddle of obviousness and such solutions are used in plenty of places), I thought about doing that sort of thing CNC mill fashion (entering pallet moves out the finished one) :

use glass plate secured by electromagnet, when part finish push out loaded plate with a blank one and a belt on each side.
This way, no need to wait it cools, and you can make complex plates with supports.

the only difficulty is that you either need to make recesses in the glass to glue metallic targets for the magnets, or deal with the fact that you have forbiden zones in your extruder travels, and there is quite a bit more mechanic, although the latter can be quite simple.
It's just a matter of having a good rigid machine, that is properly levelled. The thing with hairspray and hot-glass really does stick brilliantly, I also think that a lot of the reason for prints unsticking from glass is that people touch the beds with their hands when removing parts, transferring natural skin greases (eww) to the bed. With auto-ejection this goes away.

I really want to get octoprint running now, so I can monitor and queue jobs for full auto remote production.
This type of thing has been done before by Joaz/jglauche. They used a DC motor driven bulldozer instead of attaching it to the x carriage.

Only documentation I could dig up was this: [github.com]
Very cool. I see your machine has no aluminium plate under the glass. Thinking about it, the aluminium is ~half of the heat capacity there. What are the disadvantages of omitting it, less even temperature? That only really matters with prints that reach to the edge?
Great job but is this faster than printing multiple pieces on the same print? It looks like you could print a huge number of those gears on one print bed at the same time, why print serially?
In terms of speed, there will be some printing speed up from the fact that the printer doesn't have to move around the bed as much as it is printing. However there is the long step of cooling and reheating between parts that probably cancels that out and then some.

The part shown is just a tiny spacer for the gear set in question. The actual gears range from 25-100mm in diameter, so not quite as easy to pack onto the bed.

However the advantage isn't about speed per-se, it's about eliminating human interaction between print-loads. I need way more parts than will fit into one bed, this needs many unload/restart cycles. Which requires my time and me to be present at the machine. That's lame.

This way I can queue a few hundred gears over the weekend, let it rip, go home and there should be a bucket of parts for me on Monday. This also allows for jobs to be sent to a printer over the network, the printer can then start the job unattended, clear the job from the machine unattended, and be ready to start the next print that is sent to it. I think that's a pretty powerful idea.

BZRatFink on reddit points out that having a large long ram attached between the X-Ends and not to the carriage makes a lot of sense. I will try and do this next time around, and use clear acrylic/polycarbonate for the ram so that printing is still visible with the ram on.
You can also just set up 16 parts in a grid, or however many will fit, and do that many per night. Take that to the next level and do them 10 layers high with support in between. You could do over 100 at a time.

The machine looks a bit sloppy, broken glass printbed, the bearing that your belt runs on on the far X-end looks worn down? And having your bed cool down takes a lot of time, not to mention that when I print, my prints are just stuck completely to my bed, so a machine can't remove them.

It is a 'fun' idea, and indeed a needed feature, but I think there is a much better way to do this, with for example a printbed that has pins in it that push up the print and a small scoop moves across the bed and pushes all the things off.
The machine is one of my "beater" machines - it's one I keep at school with kids about I have about 5 machines in total. Kid dropped a screwdriver of the bed a few days ago. The bearing isn't worn, it's just the fender washer wiggling about a bit. It's giving the belt a bit of tilt during reciprocation, but all my prints are coming out to within 0.1mm or better with sharp corners.

The matter of the parts being stuck and then unsticking during cooling is particular to PLA and glass (with a spritz of hairspray). When hot and freshly printed the parts are stuck so hard that I cannot remove them by hand, even with a lot of force. It's only upon cooling that the parts detach entirely. I consistently experience good adhesion with no warp on this setup at 60C with PLA and a light dusting of wilkinsons value hairspray. spinning smiley sticking its tongue out

I think using pins would present some issues, particularly as nophead has shown that part of the reason for adhesion is atmospheric pressure/suction, pin holes would kill this. Not to mention mechanical complexity.
I reckon for a reprap human time is usually more important than machine time. Figuring out a configuration to stack them in one print might take a bit of time to, and support sometimes affects the part negatively. I think this is a really good approach; I expect that any non-iterative improvement of this is a step up in complexity. Besides, if the part is loose, it still has to be taken off the bed.(if pins worked, the printer might still need a shovel)

Probably cooling can be avoided, longer y-movement and two beds in the y-direction, one hot, one cold when running, and use the x direction to push parts off? Initially i thought you'd need to go push off the first part halfway the second, so you can start heating up that bed again, but AFAIK a part wont stick back on if the bed heated up and cooled against. For each area you just keep it hot when in use, cool down and heat up back on time can just start each print by pushing off whatever is in that area.

But not as easily said as done; you'd have to get a way to manage a second heated bed? My melzi has an unused 'fan' thing, and a bunch of pins, can that be used?(not directly of course, via an electroswitch able to do the current) More problematically, the above paragraph overlooks that the x-smooth rods are in the way. Perhaps use a stick on low-x part of the x-carriage and go high/low Y and use that stick? (or completely mechanical; have the y direction go over a switch, seems too tricky though)

Edit: note not sure what fraction of time is taken by cooling/heating the bed, it might 'only' shave a factor of two or less off depending on the size of the print. (As opposed to the ability to even run it without automatic clearing) Edit: yeah much less than that, even.

Edited 2 time(s). Last edit at 06/10/2013 11:00AM by Jasper1984.
Very cool and Very simple!

I wonder if you could use Thermoelectric cooling also known as a peltier cooler to immediately start cooling the bed? In G-Code Just turn off the heated bed then turn on the peltier cooler.

Just an idea, I saw it on another reprap forum thread.

With regards to cooling times, my current time-to-detach is about 4 minutes, in a warm room with no fan.

I expect with a good fan, and some ducting you could get this timing down to 90 seconds or so. I really don't think that going much faster than this is of any real tangible benefit when prints take multiple hours.

I think people are getting bogged down in this timing discussion because they see me printing a tiny object in the demo videos, which is obviously the least efficient use of this method (Most cool/heat cycles, packing the bed instead would give high yield). It was just convenient for the video to print fast/small parts.

I totally agree with Jasper1984 in that human time is vastly more valuable than machine time, this coupled with the inconvenience of the need for a human to physically present at the location of the machine makes full automation VERY valuable to me. It also opens the door to things like remote starting of prints, and things like enclosed printers for vending machines where the user can't be trusted.

I'm quite taken by the idea of having a machine loaded with an SD card full of objects that are useful for general school engineering projects - I would have it in my classroom with an LCD panel click-wheel interface so the kids could get useful parts on demand. Things like gears, fixing blocks, spacers. Even novelty reward items like phone cases and toys.

Edited 1 time(s). Last edit at 06/09/2013 09:09PM by SanjayM.
The main problem I see is getting it to stick and release consistently. Everybody seems to get different results. For example I don't use hairspray, tried it once for ABS, didn't work as the heat softened it. PLA sticks to bare glass so hard sometimes I have broken the glass getting it off. For some people it doesn't stick at all.

@SanjayM looks like you are using Wilko's no frills hairspray? I'll have to get some to go with my (admittedly as-yet unheated) Wiko's photo frame print bed smiling smiley


Yup, wilkos eveyday value hairspray, yellow can, very cheap.

Interesting. I have 3 printers running PLA+Glass - all using picture frame glass (from different shops/sources but all intended for framing) and a bit of wilkos hairspray. I get the perfect combination of sticking fast while hot and releasing entirely once cooled below about 40-35C by my bed thermistor (somewhat inaccurately placed).

I've never tried ABS on hairspray/glass so can't comment. But I have never had the "stuck fast" problem with PLA. I wonder what the variable here is.
Do you use the hairspray to make it stick more or less? PLA sticks to clean glass very well for me.

More. I found I got decent adhesion in most cases, but you could occasionally not get the first track to stick, or the skirt would unstick as the nozzle primed up and started to flow. With the hairspray it sticks so well it almost seems to pull the PLA fromt the nozzle. It also eliminated any issues with warp prone parts getting slight corner-curl etc. I stress that I really do just use a dusting, the bed is not evenly coated in the stuff, just slightly frosty.

If it coat the glass in an even layer of spray the parts don't detach readily for ejection.
How do you put multiple Gcodes into one file to insure automatic printing?
I open the GCODE file in a text editor - notepad++ works well for this, and copy and paste one gcode after another. Nothing more to it.

I am writing some little printrun based python scripts so I can have a mutable queue that I can add/remove items to on the fly. Doing this over network with octoprint or similar would be the ultimate goal.

I really like your fully automated production system. It seems simple enough to implement on virtually any RepRap printer. It seems like you have successfully automated PLA prints, but have you tried automating ABS prints yet?

I understand that the biggest obstacle to achieving this is getting ABS prints to reliably lift off the bed when the part is compete. I recently started using UHU glue stick on glass and I think this may be the key to achieving fully automated ABS production. For a detailed explanation of my set up/process, see this thread. The disadvantage when compared to PLA using hairspray is that the print cannot be rapidly cooled as you risk damaging the glass. However, the parts seem to pop off quite consistently and can usually be easily removed by the time the bed reaches 60C (though I would wait until the temp drops to 45C to be sure). The glue stick method does seem like it could be repeatable as I do not have to reapply coatings between prints.

I think using UHU glue stick for automated ABS production could work, though I have not had a chance to try this out yet. What do you think? Let me know if I am missing something in my reasoning.

Also, I am not sure what experiences other people have had with using UHU glue stick on glass, so it may not give consistent results for everyone. (This also seems to be the case with hairspray on glass for PLA as Nophead reports different results.) I guess it isn't really possible to have a set up that is 100% repeatable for everyone given the variations between printer set ups.

As a reference, Ultimaker does this with its fan duct eg. [www.youtube.com] and [www.youtube.com]
Works even if its just stock PLA on blue tape
Automating ABS is something that would be very valuable to me. I print a hell of a lot of those little fan-ducts that go on the E3D hotend, and having to manually clear the bed, re-wipe with ABS juice etc is killing production.

What I have done now, is to use exceedingly clean glass. (Wash down with dish-soap/water & rinse well), a 110C heated platform and a 3mm brim around the part.

The ducts are a very un-challenging print, and this approach would almost certainly fail if attempted with more warp prone parts. But these little 30mm square objects are quite happy to print with a brim on hot glass in ABS. I have only tried one spool of filament from one supplier thus far, but it is promising. Parts stick just enough during printing, but completely detach upon cooling, and can be swept off the bed.

I will certainly give your UHU idea a go - I have tried nylon on glue-stick before without much success.

Yep, I have seen the UM implementation and I talk about it a bit in the videos I posted. The issue with their implementation is that using blue-tape means that you can't eject parts that have a large bed-contact surface area. The total adhesion force is too great for the ram to dislodge. The second video is interesting, and seems to use heated glass.

Exploiting thermal contraction in glass is really nice as it results in total part detachment and means there is no removal force.
Hey SanJay,

I like your implementation the automated print remove system. The only issue I have is with the print bed cooling / heating up time. Seems like a pain. Have you thought about using something like this guy used: [www.youtube.com] (near the end of the video). He uses one of thoose air spray anti dust cans that basically cool off the printed items even on bluetape so I think it would work on a heatd glass platform too. I think this maybe could work so you could eliminate the cooling / heating of the bed if you could figure out how to tell your RepRap to spray some cool air on the printed parts.

Let me know what you think, I'm currently working on a similar system so congratulations on getting yours working! smiling smiley
A bit of a follow up!

I now have ABS working, auto-printing fan ducts for the E3Dv5 hotend. I need a LOT of these ducts literally thousands, so auto-printing is really valuable to me in this case.

Here's the video with explanation:
[www.youtube.com] (Part 1)
[www.youtube.com] (Part 2)

In essence I'm using firm hold hairspray with a very hot bed. The hairspray has acrylic-co-polymer listed as an ingredient. Acrylic is a polymer in ABS - which makes sense as to why it sticks to the spray.

I'm having to run these in a very warm room - about 30C, but the printers produce all the heat needed and the room is well insulated. I'm going to build a box to contain the heat and the smell of the ABS with a temp controller and carbon/HEPA filter fan for peace of mind.

I'm running these machines 24/7 now with 24 hour long GCODE prints. I check on them every day, and spend 6 hours or so a day around them, but most of the time they are by themselves. I've had a single skipped-step on the Y axis of one print so far, but no other failures.

Very pleased!
Another point of note here is that I am not waiting for the bed to cool on these prints. The Mendel90 is rigid enough and has enough torque to just ram the parts right off the bed. This greatly increases printing rates as heating up and down does take a fair bit of time at ABS temperatures.
Do you need to re-apply the hairspray after some time, or does it last forever?

So far no degradation in adhesion experienced. I'm a week of solid printing in now. I think I changed the glass on one of the machines at one point though. I forget which, those two machines we purchased from you look exactly the same, so I have had to add name tags to them to stop me muddling them up!
Interestingly I have noticed that the parts come off the hairpray with a strong static field on the base that you can actually feel. Like a charged balloon. I don't know how much relevance this has, but in the witchcraft zone of "what plastic sticks to what" that might be of some relevance.
Sorry, only registered users may post in this forum.

Click here to login