Oh well.....
/This time the wood in the top of the print head has failed…
I’m determined not to make this blog all about the latest way in which my Ultimaker has broken. But then again…….
Rob Miles on the web. Also available in Real Life (tm)
This time the wood in the top of the print head has failed…
I’m determined not to make this blog all about the latest way in which my Ultimaker has broken. But then again…….
I’ve found another use for a 3D printer. You can use it to print spare parts for your other printer which is broken. I used Edna the Ender to print out the replacement fan ducts and also the rather fancy Bowden tube holder you can see above for Una who broke recently. I’ve re-assembled the print head (again) and this time I’m much more confident that Una will be back to her old self. The main reason for my confidence is that I think I’ve solved a problem that I’ve had for ages.
If you look at the picture above you’ll see that the print head (the brass part you can just see above the orange material that I’m printing) is tightened right up against the heater block (the shiny aluminium part). Previously, for reasons that must have made sense at the time, I’ve had the nozzle hanging down from the heater, which has meant that the heat from the heater block has only a small area to travel down to the nozzle. I think the result of this has been that the nozzle has been quite a bit cooler than the heater block, to the point where I’ve had to increase the print temperature just to get molten filament through it. With this new arrangement I’m printing successfully more than 10 degrees cooler than before. And it works a treat. Una is now producing stuff that is really good, very close to the quality of Edna.
So, if you are building a printer, make sure that the nozzle is as tight up to the heater as you can get it. That way it will spread the heat around properly.
I think 3D printers exist in one of two states, they are either broken or not broken yet. I thought I’d print some “Obstinate Orange” filament in Una so I swapped out the rather nice pale blue I’ve been using for a while.
Una doesn’t like “Obstinate Orange”. It seems to have blocked her print head. I think this is because when I re-assembled things last time I left a tiny gap in the path the filament takes to the heater block. This tiny gap now holds a plug which has blocked things up.
It’s annoying because Una has been printing some nice boxes and cases. Oh well, I’ve got some more replacement parts on order, I’ll see if I can put things back together in a better fashion next time.
The 3D printed image
What it looks like
A lithopane is a 3D printed surface in which the thickness of the object reflects the brightness of the image that that point. I’ve done a bit of this kind of thing myself in the past with the Kinect sensor and so I thought I’d try some with the new printer. I used a web based service you can find here which takes an image and provides you with an STL file you can then slice and print. I had a go and I’m very impressed with the result. It’s quite something when a lumpy bit of plastic suddenly turns into a proper picture.
If you want to have a go (and if you have a 3D printer you should) make sure you check the options to select a Positive image. I forgot this vital step and ended up with a negative image after four hours of printing.
I’ve always had a soft spot for Teenage Engineering Pocket Operators. They are great fun to fiddle with. One of the reasons why I got another 3D printer was to print out cases for them. They are supplied as just a bare PCB with components soldered on and I wanted something with a bit more substance.
It turns out that Edna does a very good job of printing the cases and the buttons from this design. The printer has a textured glass print bed with makes for rather a nice printed finish.
I’ve had a 3D printer around the place since 2012. A couple of weeks ago I got my second one. The decision was driven by the results that I’d seen it was capable of, and the unhappy realisation that I would never be able to get my Ultimaker to print to the same quality.
This is my favourite picture of Una my Ultimaker original. I took it in 2012 when I Una and I delivered a seminar about 3D printing. I think the image has a touch of “adoration of the magi” about it.
Anyhoo, time moves on and although Una still works fine (she’s printing something at the moment) I’ve not found a way of persuading her to print fine detail. This is almost certainly my fault. I’ve had several goes at rebuilding the print head but never managed to get the output as good as I now know is possible with one of these devices.
“Edna the Ender” is an Ender 3 Version 2 with the Bltouch auto levelling. She prints very quietly (although she does have noisy fans). She was quite easy to assemble and has produced some very nice prints “right out of the box”. I’m looking forward to finding out what else she can do.
Having spent a happy day fiddling with 3D printers (among other things) I’m going to have to think of some kind of dice game that we can pay with all the calibration cubes that we seem to have printed….
Number one son has been showing me things that he’s made with his 3D printer. They are very good. Irritatingly so. I’ve been trying to replicate his success on Una my venerable 8 year old Ultimaker printer. I tried increasing the print temperature and the prints got better and better right up to the point when the filament feed got clogged with molten plastic.
Drat. And double drat. I’ve taken a two pronged approach to solving this problem:
I’ve completely replaced the bowden tube, PTFE isolator, heater block and nozzle on Una with the spares that I have lying around for when this happens.
I’ve ordered another 3D printer.
Best case I'll have two printers. Worst case I should have a printer that works as well as the one number on son owns.
I’ve made this horrible hack to make it easier to debug my Python macros that run inside FreeCad and design little boxes. It means that I can use all the lovely debugging features of Visual Studio Code to find out why my code don’t work. The hack takes the form of a few simple Python objects that fake part of the FreeCad ones and allows your macros to run in any Python environment you fancy.
If you like the idea of writing Python code that produces physical artefacts you might want to take a look at it. You can find it on GitHub here.
If you are lucky enough to own and Oculus Quest 2 you will be enjoying the higher quality and lighter weight of the device compared to the first version of this device. However, you might have noticed that the head strap arrangement is a bit more primitive than the earlier version. One way to fix this would be to buy the expensive Elite Strap. Another approach is to print out a support that fits on the back of your head and holds the straps in place. I had a go at printing it and got the above result. I’m quite pleased with how well it came out. I used a very large layer height so that I got the strap quickly, which is why the quality is not the best. I also used “tree” support to hold up the large mid section. That worked really well too.
In case you were wondering, this is not the best way to make sure that elements of your design are the correct size……
I was quite proud of the height adjuster I made for Una my Ultimaker 3d printer. Although I wasn’t very proud of the way that I’d handled a lack of bolts of the correct length. Anyhoo, it seemed to work and allowed me to adjust the print head height just by turning the screw at the top. There was only one problem with it.
It didn’t work.
I could use it to move the switch up and down but it also moved the switch all by itself. There was too much play in the mechanism. I’d adjust the height carefully and then find that next time I homed the printer the height was all wrong again. Wah.
One of my favourite quotes is from Ralf Waldo Emerson and goes “A foolish consistency is the hobgoblin of little minds”. This is worth remembering when you are trying to make all the wires in your circuit the same length, or arrange your DVDs in alphabetic order and fretting about how the word “the” works in the movie title. However, when we are talking about things that only work if they are within a tenth of a mm of the correct position, I’m a big fan of consistency.
So it has been out with the fancy adjuster and back to the sturdy little bolts that fix the switch in one position. I’ve not got a bit more of a job to adjust the height of the print bed, but at least the adjustment will stick for a while.
One of the problems that you can have when 3D printing is called the “elephant’s foot” problem. It is caused because the very first layer is usually printed very slowly and is very thick, causing it to spread out slightly. This leads to the side of the object having a profile that looks a bit like an elephants foot. Which I suppose explains the name…
I’ve found that one way to fix (or perhaps hide) this effect is to apply a “chamfer” to the printing face. This makes the first print layer slightly smaller and hides the foot effect. The chamfer is easy to perform in FreeCAD. You select the Part view in the Workbench and then select the chamfer option (it’s blue and looks like a chamfer (a corner with the edge flattened off). You can then select the face that of the object that you want to chamfer and you can get the rounded appearance you can see on the left hand shape in the design above. One day I’ll figure out how to do this from Python inside FreeCAD and then add it to the part design program.
Then I print using a “brim” which is a bit of print around the outline of the object which helps it stick to the print bed. When the print has cooled I cut the brim off with some sharp scissors and this makes the edges look quite neat as you can see above.
This is the completed light box, all wired up. I’ve printed a tiny little mounting plate that holds the ESP8266 device and allows it to be fitted onto the mounting pillars. I’m doing the wiring by soldering directly between the devices.
I like using solid-core wire tor connections as it is easier to work with. But you have to be careful as it puts more strain on whatever it is connected to. Above you can see what happens when things go wrong. The solder pad for DI (data in) on the pixel ring has detached from the PCB and turned this ring into scrap. Fortunately I have a few spares.
I’m fixing things together using tiny self-tapping screws. These can be hard to get hold of. I found this rather nice kit on Amazon for a reasonable price. The screws as supposed to be used when repairing laptops, but they work into 3D printed parts rather well. After a while I suppose I’ll use up all the screws of one particular size, but at least I’ll know which size to buy next time.
Some people say that you shouldn’t use your 3D printer to make boxes for things. I disagree. Sure, a box is quite large and takes ages to print. But its not as if you have to spend that time yourself. Once you’ve set the printer off you can leave it to get on with it. Although I do still find the process fascinating to watch. Above you can see the output of my design which I think is fairly tidy. I could spend some time fiddling with settings to get the print better, but this is not actually something that the user will see.
The reverse side, which is where the print was built up on my glass bed, is nicely shiny.
Now that I have something to print, the next thing I need is a working 3D printer. Oh well. Back into the fray. One of the factors that has a huge impact on the print quality you are going to get is the temperature of the print. So I’ve printed a bunch of tiny boxes to discover the optimal temperature. You can see the results above. It turns out that for optimal results with my printer I have to print at 215 degrees with a bed temperature or 60. If this sounds a bit high, you need to remember that the temperature is just the reading taken by the sensor in the head; not the actual temperature that the filament is being heated to.
In my print head the temperature sensor is right next to the heater which I think leads to higher readings. Anyhoo, from an engineering perspective any temperature that works is a good one.
After a whole bunch of posts that have shown some creative uses of the word “make” but not actually described making anything, today I’ve actually made something. I’ve also done some time travel, going back to a program that I wrote quite a few years ago when I was designing boxes to put things in. I wanted to give the program a list of components and then have it turn out a box box for them. It worked especially well with the Microsoft Gadgeteer devices which were brilliant, wonderful and way ahead of their time.
def PirSensorBoxWemosWithPixelRing():
print("Making PIR Sensor Box")
proc = WEMOS("Wemos",verticalAlignment=VerticalAlignment.TOP,
horizontalAlignment=HorizontalAlignment.LEFT,xMargin=0.5, yMargin=0.5)
holder = Device("blank", "blank", PixelRing.boardHeight, PixelRing.boardWidth,grid=[[proc]])
lid1 = PIRSensorLidHole("PIRSensorLidHole")
lid2 = PixelRingLightPipeLid("PixelRingLid")
case = Case(wall_thickness=3,base_side_height=20,base_thickness=3.0,lid_side_height=5)
case.makeParts([[holder]],[[lid1,lid2]])
holeHeight=13
holePos = Base.Vector((case.width-holeHeight)/2.0,case.height-1,-3.0)
hole = Part.makeBox(holeHeight,4,8,holePos)
case.baseDesign = case.baseDesign.cut(hole)
case.show()
My box making system is written in Python and runs inside the FreeCAD tool. You can create component objects and then the system put them into boxes for you. The program works on pre-built software objects and has the ability to put components inside components. Above you can see the Python that makes a box that contains a PIR sensor, a 12 pixel neopixel ring and an ESP8266. The idea is that the will come on when you walk past the light. And, because the ESP8266 can do WiFi and other connected stuff I can make other lights come on too.
This is the output of the function. The ESP8266 is placed on the base of the box and the pixel ring and PIR sensor are fitted on the top. All I have to do now is print the boxes….
I think you should all know that the little plastic rocket above was the product of a lot of effort today. In the end I discovered that last time I mended the printer I’d left a tiny gap between two parts of the path into the print head. If the plastic in this gap melted it then formed a plug which blocked everything up. All I had to do was take the printer to pieces, put it back together wrongly a couple of times and then finally get it right.
So I know have a 3D printer that works. As far as I know.
Una my lovely 3D printer is what I call a “Schrodinger Device”. She’s got this title in honour of the celebrated “thought experiment” involving a box containing a cat and something that might, or might not, kill the cat. The idea is that right up until you open the box and take a look inside you don’t know whether the cat is dead or not. From a quantum perspective you can regard the cat as both dead and alive until you find out what has happened. The same kind of thing happens with Una. At any given time I may or may not have a working 3D printer. I only find out which is true when I try to print something. I’ve owned many such devices in the past, including a Mini Traveller that sometimes was a car and sometimes wasn’t.
Anyhoo, today when I tried to print a box for a LED panel that I’ve been playing with I discovered that Una is no longer a printer. I’ve spent most of the day proving that this fact is most definitely true. In this time I’ve replaced some bits, recalibrated others and cursed all of them. Oh well.
We’re trying to get Una the Ultimaker back to some kind of printing shape. The shape above, called Benchy, is supposed to be hard to print. The first attempt didn’t turn out too bad, but I think we have a little way to go towards printing perfection.
Rob Miles is technology author and educator who spent many years as a lecturer in Computer Science at the University of Hull. He is also a Microsoft Developer Technologies MVP. He is into technology, teaching and photography. He is the author of the World Famous C# Yellow Book and almost as handsome as he thinks he is.