Monday 31 March 2014

Waiting for new J-head

The fix to the J-head (using exhaust putty to patch a cracked PEEK body) is not a success.  It still leaks molten plastic, resulting in me having to "wipe its nose" every few minutes, and also messes up the extrusion calculation (sometimes too little material comes out the nozzle).

I have ordered replacement J-heads (two, since I am also building a second, better Morgan), but that will only be here in a week or two.

In the mean time I have "fixed" the hot-end three or four times, using the abovementioned putty (alone and in combination with PTFE plumbers tape), and the most recent "fix" seems to have blocked the nozzle itself.  No material extruding.

I will try to fix the nozzle by purchasing a very thin PCB drill (0.4mm), but that is not available here so it will only happen when I visit Jhb/Pretoria again.

Thursday 27 March 2014

Getting old

I have decided, I must be getting old.  A grumpy old man, to be precise.

I used to be a HUGE Linux fan (when I left formal employment in 2001 and started freelancing I converted lock, stock and barrel).  Initially I ran SuSE (started with version 9) and later switched to Ubuntu.

I am considering building a second Morgan, and have allocated the wife's old HP laptop to control the printers.  I have re-formatted, making the laptop a dual-boot machine (XP and Ubuntu 10.04).  Unfortunately, the HP does NOT have wi-fi connection, and all internet in our house is wireless.

E-bay will sell me the wi-fi module for ZAR1000 (I don't want it THAT badly), so I spent some time setting up a LAN to the other laptop and sharing that one's internet connection, in order to install all the software I need.

Starting with Pronterface, for I first need to control the printer.  I can slice and visualize and design on the other PC, but Pronterface needs to run on the HP.  So I embark on the journey...  Going directly to the kliment Printrun github page, I start following the instructions (by the way, MacOS and Windows has single, precompiled packages that you download and run).

First hiccup:  pycairo will not set up via pip (according to instructions).  So I read up how to install, and attempt it, leading to the second hiccup:  pycairo requires Python 3, and Ubuntu 10.04 came with Python 2.

Upgrade python (374 MB later) I have the LATEST VERSION OF Python 2.  So now learn how to install Python 3.  Another few hundred MB later...  I also installed Python 3 alongside Python 2, but pycairo doesn't like that.  I changed the first line of the waf script to reflect Python 3.2, but when I configure the build it still complains about python being the wrong version.

Currently I am replacing 2 with 3, but I cannot see this ending well...




Wednesday 26 March 2014

Bed leveling

The most frustrating aspect of the Morgan so far, must certainly be the bed levelling calibration.  My heated bed is suspended off the build platform by about an inch, and fastened using only three screws (with springs).  One in the middle up front, and one each side at the back.

I have done calibration so many times, I cannot estimate how many times.  9 points, 25 points, it seems as if calibration lasts maybe one print.  It is especially problematic on large prints like the bed arms, which prints diagonally.

I have even cancelled the levelling calibration and done manual calibration for a while.  With three screws it is not a simple task, as it is not a simple matter of lifting one corner.  The three screws interact.

At the moment I have a procedure that seems to work.  Time will tell.

1)  Home (G28).

2)  Set the Z offset (in the M206 command) at position X100 Y100 to get the nozzle to touch the bed.

3)  Home.

4)  Level the bed (M370, M371, M372 and M373, and save).

5)  Home

6)  Re-set the Z-offset at X100 Y100.

7)  Home

8)  Check the zero of the bed at X100 Y100, X50 Y150, X150 Y150, X150 Y50, and X50 Y50.

Repeat as many times as necessary, and hope the first layer of the next print will be good.


Monday 24 March 2014

In for repairs

It has been a bit quiet here lately, as I have had to make some repairs to the Morgan. The areas giving problems are the hot-end and the extruder.

After many hours, the extruder small gear gave up the ghost. This was an ABS gear working on a PLA large gear, which Quentin warned me would wear out one of the gears. I quickly installed another small gear, but within an hour or two it actually broke the large gear. By this time I had printed half another Morgan, including the extruder, so I assembled a completely new, bright yellow, extruder. Different stepper motor and everything.

The swop was quick, but did not last long. I then assembled another extruder on the old body (PLA gears both, and all holes on the body drilled out to allow the gears to fit without strain, i.e. very slight play). This is running on the Morgan now.

Looking at the yellow extruder, I found that the filament on the OUT side of the extruder had jammed internally. There is a hollow in the extruder body. My Bowden tube (tube inside a tube) fits inside the hole in the extruder, but only about 3mm. This creates a cavity and if the extruder exerts enough pressure, it kinks the filament inside this cavity. I will have to cut back the outer tube to allow the thin tube to fit deeper into the extruder body, sealing off the cavity.

The second area of attention is the J-head. Somehow or another I got the J-head temperature up to 350 degrees and jamming the plastic inside. I disassembled the J-head, but cracked the plastic body when screwing out the nozzle (I had to clean up the PTFE liner inside). This caused molten PLA to ooze out over the heating body, and under-extrusion through the nozzle. But thank goodness for Holts Firegum (exhaust fixing paste). As the tube says: "Self sealing, heat setting". Seems to work so far (OK, that's only half a print).

Saturday 15 March 2014

Fine tuning

I'm finding the fine-tuning of the 3D printing process to be quite challenging. I have spent a lot of time on calibration, and printed a few phantoms, and I'm very close. It is an iterative process, printing and measuring the phantom, and calculating new factors to program into the printer. This brings you closer to perfect, but it is not a one-step process.

The PLA settings are proving to be more difficult to get right than the ABS. Maybe I was lucky and got the ABS factors right by blind luck. I have been adjusting the rectraction length for the extruder to get as little ooze (stringing) as possible, and then went too far. This caused repeated jams INSIDE the hot-end, as soft PLA would be reversed out and when jammed in again, would distort and cause a shoulder which would not enter the J-head.

Currently I'm back to 15mm where I started. At the moment I'm struggling with extrusion width issues. In the lower layers, the width of a bead of plastic would be nice and thick, and I adjust the extrusion multiplier in Slic3r to give no extra material and no gaps between bead when filling. Once the print gets higher than about 2 mm (10 layers), the extrusion width drops to about half of the lower layers. This has the effect that a 100% fill has "gaps" between the lines, and because it varies (thin on one layer, thick on the next), it causes the edges of my print to be "wavy" and not a smooth wall.

I have tried to link it to print head temperature as set in the configuration (no correlation), instantaneous print head temperature (no correlation), I even calibrated the PID (with the M303 command), the settings were significantly different from the default, but I have not noticed a significant improvement. The instantaneous temperature can still get 15 degrees away from the set temperature.

But we learn about Slic3r settings every day. Setting "retract only when crossing perimeters" OFF causes the extruder to go crazy on the infill layers, it would retract and forward filament ALL THE TIME when infilling, especially on parts with small sections.

One of my PLA parts warped (one end lifted from the bed), so I'm running at 70 degrees bed temperature now.

Wednesday 12 March 2014

Bed levelling issue

Here is one that will surely trip you up if you're trying to be clever: I changed the maximum limits in the Marlin code to 15 minimum and 185 maximum in both X and Y axes. The reason is that my bed is exactly 200 x 200, and running a calibration procedure pretty much always puts the J-head off the glass at at least one corner. By changing the edges to 15mm in on all sides, the levelling calibration procedure (M371, M372 and M373) stays on the glass, making calibration easy. Only, the table that gets generated seems to be off. I changed back to 0 and 200 and it LOOKS better (moving to X100 Y100 Z0 is spot on). Printing now to see how the first layer will look.

More calibration factors

I learnt something new yesterday - having spot-on Theta and Psi steps-per-degree values from the calibration procedure, does not mean your prints are on scale. There are two more factors (the M365 X and Y scaling factors), also calibrated using the spreadsheet and calibration phantom, but not explicitly mentioned in the calibration webpage. I tried printing some Morgan parts (those I broke early on), and I could see that the calibration must be out. Printing a round gear (extruder large gear) also produced a non-round shape. I have now calibrated the factors and I am printing a new phantom as I type here. Currently I'm struggling with getting a good first layer, my bed levelling calibration is acting up.

Tuesday 11 March 2014

Noteworthy thing #4

I found this - the Dremel Devil - on Thingiverse today. There is a link to the magazine article (with video) in the Thingiverse description. We used to play with pull-string "helicopters" when I was a kid, this is the grown-up version. And if you don't have a Dremel tool (or clone), another reason to get one. This is definitely on the Things-To-Print list.

PLA calibration

If there is one thing my Morgan has battled with, it is plastic being soft (and sagging if on an overhang). The cure for this is cooling (via the fan) and playing with the cooling settings in Slic3r. Up to this morning, I did not HAVE a fan, but with PLA I can see that it is necessary. Firstly, ABS-Filament (from whom I got my PLA) suggests both their PLA and ABS prints best at 230. This is warm for PLA in my opinion, but this is what I use at this moment (after the first layer I drop to 220). I am down to 60 degrees on the bed temperature and printing on bare glass. I have to extrude the PLA faster (I use the extruder multiplier setting) than the setting that worked for ABS.

Reinforcements

It seems as if the damage from the recent disaster includes the Arduino Mega, three of my old (4988) stepper driver boards, and possibly one of my laptop USB ports. I picked up a replacement Mega from Micro Robotics on Monday, and spent another long night sorting out the printer. The 8255 stepper drivers are OK, the originals NOT. I THINK what happened is that I replaced the originals with the better ones, which was not properly adjusted for current. When I replaced the originals, I must have inserted them incorrectly (the 4988 and 8825 boards have their pots on opposite ends of the board so they look different when installed). Anyways, a slightly expensive exercise. As I have at least two friends who are considering building (or having me build) Morgans, I have ordered a lot of vitamins of e-bay, in packs of 5 or 10. I will therefore have a lot of surplus (stepper motors, RAMPS boards, controllers, stepper drivers and more). I am considering starting a "web surplus store" to recover some of my expenses (and have the advantage of bulk pricing). But first, I'm calibrating for PLA...

Saturday 8 March 2014

Crash and BURN

The stepper motor driver upgrade was a spectacular failure. The printer made funny noises, the smoke came out, and it is dead. The new stepper motors came with pin strips loose, which I neatly soldered on, and after installing, the electronics made funny, strained noises. Clicking the "Motors OFF" button quitened it down, but after the HOME command (G28) the noise would intermittently come back.

The mechanicals also started acting weird, during the re-calibration procedure. Next, the smoke came out and the PC crashed (so much so that I needed to disconnect power and take out the laptop battery to get it to start up again). The Arduino Mega now does not speak to the PC at all (RAMPS unplugged). My Arduino Uno works, no problem.

So the controller at least is kaput, possibly more. Eish...

PLA filament and microstepping upgrade

There were two parcels in the post box this morning. One contained three rolls of PLA filament, white, red and yellow (the last two nice and bright) from ABS-Filament (.co.za) in Nelspruit. I'd like to compare the printing performance of the Morgan on PLA vs ABS. But I expect a bit of experimentation to get the optimum settings before we're at best performance.

The second parcel (from Micro Robotics) contained amongst others two stepper motor driver boards, based on the DRV8825 driver chip. This is intended for the X and Y channels on the RAMPS board, to get full resolution. I am already running 0,9 degree motors, with 1/32 microstepping I am doubling the resolution on Theta and Psi angles.

All that SHOULD be required is to plug the new boards in and doubling the steps on the M92 command, but I will check the calibration afterwards to confirm the aspect ratio stayed preserved.

Thursday 6 March 2014

Pronterface caps on/off oddity

Quentin mentioned an oddity about Pronterface, which I have now experienced myself, at least under Linux. When typing in commands in Pronterface, e.g. G1 X100 Y100 Z10 F5000, it is important to stick to all upper case or all lower case. Once you start mixing cases, the result is NOT what you expect.

 I typed in the example above, except I used a lowercase "y", and Morgan again tried to wring its own neck (at least, tried to move the print head right through the drive shaft).

This is just another thing to be aware of, this can seriously (and probably did, for me) hamper your calibration efforts.

Wednesday 5 March 2014

Happy with results

I completed the final calibration of the Theta and Psi steps per degree today. Fine tuning, just printing another calibration phantom and updating the steps. The Morgan is printing very nicely, except for small parts. I have no fan and I have not experimented with Slic3rs cooling settings. Large parts are sticking well and printing nicely. Small parts are sometimes "smearing" as if the previous layer is still soft (which it probably is). Time to move on to PLA, which from what I've heard, is easier to work with. The PLA is on its way, from ABS-Filament (online store). Everyone in Centurion is sold out.

Tuesday 4 March 2014

Update on bare bed

The clean plate glass bed (no Kapton tape) works well for small parts, but as soon as the part gets larger, it seems to come off the bed rather easily.  So, for the time being, it will be Kapton tape always.

I have three plate glass sheets 200x200, I will keep at least one bed taped up and ready to go for if the working one should tear or bubble. 

I now wish I had purchased the 200mm wide tape I saw on e-bay!  Lining up the 50mm wide strips of tape is a lot of work.  Not too difficult, but work.  But then again, 200mm tape might be more difficult to keep bubble free.

Sunday 2 March 2014

Bed without Kapton tape

The Kapton tape on the bed started looking a bit tatty, and as an experiment I tried printing ABS directly on the plate glass. Initial prints show that the workpiece does not stick as well as to the Kapton tape, but it does stick and does not warp.  For the moment I will keep the glass bare and at 110 degrees, and see how that goes.

Acceleration of 100 mm/s/s gives good results, as well. Slow but smooth.

J-head thermistor died!

For some reason, the thermistor in Morgan's J-head died last night.  The print I set going was completed, and upon startup today I could get no hot-end temperature reading.  The thermistor measures open circuit.

Luckily, I had ordered a pack of 10 thermistors for the heated bed, so I replaced the thermistor without much trouble.

At the same time, I also fixed the toolhead square to the Psi arm (it was ever so slightly tilted, the embossed shape that fits into the arm interfered, and I fixed it with the small grinding head on the Dremel).  The hollow for the J-head was also cleaned up, and for the first time the hot-end sat square in the toolhead.

I had to re-do the z-axis calibration, as the J-head now sits a few millimeters deeper into the toolhead.

When I was at H4H, Schalk (Heunis) asked whether the slight tilt on the J-head on my printer would make a difference. I answered in the negative, but after thinking about it, I have changed my mind.  On a Cartesian printer a slight offset will make no difference, the print would just be offset by that amount, but on a SCARA printer misalignment will show up in lines not being straight (slightly, but the problem will be there).  Having a hot-end that is properly aligned (with the centre of the B-arm ends) will make prints better.
  

Acceleration figures

The Slic3r default is not to limit acceleration, i.e. movement in any direction does not have a "soft start" but creates a jerk, causing unwanted movement of the bed (in fact, all parts of the printer). Last night I printed the base of the bolt hobber with acceleration limited to 10 mm/s/s, it is SLOW. 7 hours printing time!

The next print used 25 mm/s/s, that was slow as well.  Next I will try 100 and see how that goes, but for now we have no power, so I wait...

Saturday 1 March 2014

Slic3r settings

After a few days of experimentation, and reading up on Slic3r settings, some prints are coming off the Morgan that are useful.

I have been printing some large-ish, square items (the spool holder, a bolt hobber, and others), most of which have warped to some extent.  I have printed a few tree frogs and they seem to be less prone to lifting. 

One part (bolt hobber base) have come off the bed entirely, and the printer being unattended, continued to build for two hours.  An interesting mess.  Cleaning the Kapton taped bed religiously helps but does not prevent warping.



This was experienced with Quentin's default 90 degree bed temperature and ABS filament (from Filament Factory).  To try and fix the problem, I increased the bed temperature to 110 degrees, and that seems to have sorted out THAT problem.  The plate glass bed shows no signs of strain yet.

The glass is just a 200 x 200 square of 3mm plate glass, no cut-outs that can cause high stress points.

I have also started using Slic3r in "advanced" mode, where I can specify the extrusion width as well as layer height.  In "simple" mode Slic3r selects the extrusion width based on the nozzle size, and uses a figure which is bigger than what I have seen suggested on the web.  I use 0.2mm height with 0.5mm width on my 0.4mm nozzle.