Wednesday 16 April 2014

Morgan 2

Morgan 2 is slowly coming along (nothing has happened over the last week), the frame is assembled.  I forgot to fit the linear bearings on the smooth rods, however, so I will have to disassemble slightly to rectify that.

I am still battling to print the large parts, which is the arms, drive wheels, and bed frame.  The replacement J-head is not performing as well as the first one.

The first one I broke by accidentally heating it up too far (I still don't know how I did that), and the PEEK body cracked where the nozzle/body screws in.  This causes molten plastic to leak out, resulting in under-extrusion through the nozzle, and me having to wipe off dripping plastic every 15 minutes. 

The attempts at fixing were less than successful - I tried PTFE tape and a hose clamp to tighten the crack, I tried two brands of exhaust-fixing putty, but still it leaks.

I replaced the J-head with another off e-bay, but this one is not working as well.  This one is for both 3mm and 1.75mm filament (the previous one only for 1.75), so the lock nut at the back has a 3mm hole, the PTFE lining is made up of two sleeves one inside the other (take out the inner one to go 3mm), and most importantly, the heating body/nozzle is 3mm ID.

This seems to cause problems after cooling down - it does not print well the second time.  It seems clogged.

At the moment the hot-end is disassembled for cleaning, this weekend I intend printing some parts.

Thursday 3 April 2014

Manual bed levelling

At this point in time, to preserve my sanity, I have decided to call it quits with automatic bed levelling.  It simply does not work for me.  I can SEE the Morgan dropping the bed at certain points (X, Y points) in the print, completely stuffing up the first (and to a lesser extent subsequent) layers.  Only some spots in the print, and repeatably.

I have converted Morgan 1 to have four spring-loaded screws on the four corners of the heated bed, simplifying manual levelling.  Previously it was supported on three screws, but manual levelling becomes much more difficult this way.

Manually levelling the bed is a bit of a mission, but the prints look so much better.

Previously I calibrated 3 X and 3 Y points for auto bed levelling.

Tuesday 1 April 2014

Hats off to the postal service

Just as I was resigning myself to a long wait for the replacement J-head for the Morgan, the postal service (from Hong Kong to Witbank) amazes me!  I ordered two J-heads on eBay on the 20th of March and they were in my post box today.

Eleven days might not, in itself, be that short, but I also ordered 5 RAMPS 1.4 boards on 9 March, which I'm still waiting for.  That was mainly what set my expectation.

Now I can try and finish up the urgent parts for the new build (and a Minnie Mouse cookie cutter I promised to a family member).

Noteworthy things #5

This particular thing is not that applicable to the Morgan design, but handy in other RepRap printers.  It is a 3D printed implementation of the flexible pipes often found on lathes (to transport the cutting fluid to the tool/workpiece).

Ideal for printers with extruders mounted directly on the head.  Adding a small bit more weight and you can have optimum cooling of the extruded filament without compromising the hot-end.

See the Flex Pipe Nozzle Cooler on Thingiverse.

Morgan 2

Most of my Morgans time since receiving PLA filament has been spent printing Morgan parts.  And calibration parts....

The first printer was assembled in a week flat.  The platform is of chipboard, and a few parts broke during assembly (documented earlier). 

I have now embarked on the second Morgan build,with the intention of building one "the right way", having learnt a few lessons along the way.  This one will have a platform of 12mm plywood, I intend for it to have an LCD display (from the parts bin) and possibly an SD card reader if I can source one.

Building the frame, the problem areas were the captive nuts in the pipe end caps coming loose, and me forgetting the wire through the ported caps.  This will be fixed by glueing the nuts in place this time (and remembering the wire...).

Unfortunately, the top and bottom smooth rod brackets still need to be printed, so final assembly cannot yet take place, and I also still need the drive wheels (so I cannot complete the drive shaft).  As soon as the new J-head is here, though.

I started cutting the PVC pipe, but a cutting error (skew, not measurement error) left me with no option but to shorten the entire printer height by 18mm.  The parts to be shortened will be the PVC pipes, smooth rods, copper pipes and lead screw.  There is enough height on the design that I will not be compromising build height.

I will post photos of the (bright yellow) Morgan build as I go along.


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.


Tuesday 25 February 2014

Noteworthy things #3

The PlotClock must surely rate as one of the coolest things EVER dreamt up - even my wife thinks it is the cutest thing.

Check it out!

Morgan prints something useful

After hours of printing calibration squares and stars, Morgan spent hours printing something useful.  A filament spool holder that bolts to one of the frame support pipes.  Idea shamelessly stolen from Quentin.  This also marks the first print of something that I drew up in OpenSCAD myself.

I learnt something today.  Create holes in your design, don't just drill them afterwards.  Especially not with only 15 percent infill.  The plastic doesn't like it...


Monday 24 February 2014

Calibration phantom

I might have taken my extruder multiplier too far, currently I am printing the calibration phantom supplied with the Morgan datapack, at a multiplier of 0.775.

While that figure still gives good thin wall adhesion and a beautiful print, it looks a little skinny when printing a part that needs a solid base. 

The "skinny" phantom (bottom layer), surrounded by calibration squares:




I also note that the edges of the phantom, printed in ABS, lifts.  I have cleaned the Kapton tape properly with acetone before the print, so that is something to keep in mind.

The initial calibration (according to the calibration flowchart) can only ever approximate accurate calibration, as the steps per degree value for the two drive wheels are kept the same.  After measuring up the phantom, I realised that the two factors are different (only slightly, but different), probably meaning that the two wheels are ever so slightly differing in size.

This was fixed quickly, but remember, the offsets (M360 and M364 movements) need to be re-set and I also re-did the bed levelling calibration.

Tip:  Bed levelling can be specified, number of X increments and number of Y increments.  Default is X5 Y5.  I use M370 X3 Y3 (I use a plate glass bed, therefore expect no bending).




Calibration prints

On my treefrog print it was fairly obvious that I am extruding too much filament, as it was oozing a bit at the ends, like on top of the feet and eyes.  Trying some larger prints this afternoon showed this to likely be accurate, as the extruder would jam ( carve a hollow in the filament and then get stuck).

I started printing the thin wall square from the "Essential Calibration Set" on Thingiverse, and progressively lowered the extruder multiplier (in the Slic3r filament config file).  Coming down in steps of .05 (5%), it seems that 0.80 is a good multiplier for a diameter of 1.75 (on my Filament Factory ABS filament).

The side wall is thin,the print is much lighter (weighed on my digital reloading scale), and it just looks and feels better, whilst still retaining good strength. I will continue calibration with the other shapes in the set to get my frog as good as Quentins!

RepRapping under Linux

I knew there was a reason I started all this under Windows! I have not been into the Linux (Ubuntu 10.04) partition for about 3 years, and decided to give it a go.  It almost gave me a go.

Mentioned previously, my weapons of choice are OpenSCAD, Slic3r and Pronterface, and under Win7 I just installed them and was up and running.  I must say, OpenSCAD was the same under Ubuntu, no pain.

Pronterface complained about my libstdc++.so.6 being a newer version (?), and I had to revert to an older version.  Google is my friend, as I'd forgotten about these things. And Slic3r also needed its nappy changed, but they all play nicely now.

Sunday 23 February 2014

Third time lucky

I attempted the treefrog model a third time, and even though the small ABS gear broke two teeth in the process, I have a treefrog.



Quentin mentioned that it is best to have both gears of the same material (either both PLA or both ABS).  Because the PLA is more hard an brittle than the ABS, it tends to wear the ABS more.  I will therefore attempt to print the larger gear in ABS as well.

First I want to print the calibration phantom properly and complete the calibration accurately.

One thing I have also learnt is that fingerprints (any oil) on the print bed is not a good thing.  Have your bottle of acetone ready and wipe the bed occasionally.  The ABS (only filament I have) sticks to the bed well if it is clean (it is Kapton taped) and I run at 90 degrees (Quentins standard slic3r profile for ABS).

I have a list of parts I want to print - another small gear or two after calibration (to get it exactly round), a large gear, a filament spool holder, a fan mount for the Arduino.

Speaking of fan mount, I changed the extruder drive to one of Quentins drivers (available on his site), it has a slightly higher current capacity than mine, and it runs hot.  I need aiflow over the electronics...

I also want to get going under Linux (I have been using Linux for years, dual boot system on the laptop, but I got everything going under Windows).  The printer occasionally loses contact and then I have to reboot Windows to see COM14 again.



New extruder

I spent a good afternoon/evening with Quentin at House4Hack yesterday.  I also met Schalk, which, I'm told, means I am now a member of H4H!

We fitted a new extruder, and started printing the calibration phantom.  About halfway through the small extruder gear stripped, and I spent the rest of the evening learning about calibration of the Morgan.  I will dedicate at least one post to that.

Quentin's small extruder gears printed badly (probably due to calibration) and I took another gear home.  This morning I confirmed calibration again (after driving with the printer) and printed a small gear:




After that, I started printing the tree frog (in low resolution), unfortunately the small gear started slipping around the stepper shaft halfway through the print.  I then fitted the blue extruder gear and printed another THREE gears, and then tried the frog again.

The frog does not want to be printed.  The filament jammed horribly underneath the extruder (I do not have a filament spool holder yet), and the frog ended up without a head.  But the extruder works like a bomb!



I

Saturday 22 February 2014

New extruder drive gear

I have a friend with a lathe, and called him up and asked for a favour.  Thinking that I will re-purpose the 10.5mm diameter copper earthing rod (purchased to earth the ham radio station), I cut a 6 inch section of the rod, only to find out that the rod is mild steel which is copper plated.

At friend Ronnies, I explained what I needed, and he proceeded to pull an offcut section of half inch brass rod from his junk bin.  A few minutes on the lathe and another few minutes with the Dremel tool later, we have version two of the drive gear, which will be tested shortly.


Friday 21 February 2014

Calibration Part 4 (Epilogue?)

It all ends well.  After changing the wiring back to the original (and reversing that of the extruder), and running through the calibration procedure once again, the printer seems to be calibrated.  The only cause I can think of is a bad connection on one of the stepper wires before (although they ran smoothly).  If one stepper was missing some steps (one of its coils being open circuit) the calibration would not work.

Manually moving to random X and Y locations work as expected.  I was also able to run through the bed-levelling calibration procedure.  I then sliced the calibration "phantom" supplied with the Morgan data pack, and decided to print it. 

The printer works wonderfully, except for the extruder.  It is a hit-and-miss affair, sometimes just slipping, sometimes (and with a bit of manual feeding) it drives the filament.  But it is not yet right (at least I can work on another drive gear).

So close, and yet so far...

Calibration Part 3

This is very frustrating.  I know I can print if I can get the calibration sorted out.  I don't see my way through this without outside intervention (I'll speak to Quentin tomorrow, it's Friday evening so I won't bother him...)

I have discovered the following:  I'm not the first to experience these type of problems.  On the builders forum (on Quentins website) there are more people describing similar issues.  One common cause seems to be reversed wiring on the steppers, and one case of reversed X and Y motor connections.

My X and Y motors are connected right way round.  The four wires per motor might be the wrong way round, the document I followed (referenced in an early RAMPS post) has got the wiring the other way round than the RepRapWiki RAMPS wiring page.  Mine is connected with the black wires towards the USB connector.

The Z-axis works properly (going DOWN when homing).  The homing works perfectly (rotating counterclockwise from a position over the bed, to the home position).  The extruder is however the wrong way round (I have to push the REVERSE button on Pronterface to feed the filament towards the print head).  This  might just be a case of the new extruder large drive gear having its teeth towards the inside of the wheel reversing the rotation direction than the original extruder the software was written for.

Just to make sure, I reversed the wiring order on the X and Y motors, and then the printer tries to home CLOCKWISE (as I expected), which physically it cannot do.  So I'm still stumped.

Calibration Part 2

I retract my statement of yesterday.  Calibration is NOT straightforward.  I only thought so.

Last night, over a movie on TV, I sleeved the two PTFE tubes, my wife commented that this is the single most difficult part of the printer so far.  I disagree.  I have probably spent 6 to 8 hours trying to calibrate the printer and am pretty much where I started.

I can follow the flowchart, get the Theta arm to be parallel and perpendicular to the front of the machine with the M360 and M361 commands, and the angle between the arm joints to be 90 degrees with the M364 command.  In the process I have adjusted the steps per degree (M92 command) and the home offset position (M206 command).  Now the printer thinks that X0 Y0 is sharing space with the drive shaft and tries to jam the head into the copper pipe.

I cannot convince the printer to reset the 0,0 position with the G92 command (no effect), and manually adjusting the M206 values to what the book describes it to be, causes the printer to try and break it apart.

Moving the head by clicking on the +X or +Y buttons in Pronterface causes the head to move in approximately the right direction, but slightly diagonally and also not in a straight line.  So, even though the calibration procedure completed as described, the printer is clearly not calibrated.  This was the reason I claimed calibration posed few problems (I only completed the procedure last night, did not experiment further).

Even the M360 command from the home position tries to move the print head through the drive shaft, I have to issue M361 BEFORE M360 to force the head to take a more circuitous route to the Theta arm 0 degree position.

Good news is that the Bowden tube and extruder seems to work, and I convinced a thin strand of blue ABS to come out of the head last night!  The bed was lifted by approximately 15mm this afternoon, so now the platform can lift the bed to against the print head with a few millimeters of lead screw left.

Thursday 20 February 2014

Calibration

Calibration can be straightforward if you don't mess up too much before starting.  On the RepRap Morgan site, Quentin has a calibration procedure, nicely set out in the form of a flowchart.  Before you start calibrating, you need to add two measurements to the software - the X and Y offset of the SCARA tower to the zero position of the bed.

I got that part wrong, I entered the offset to the HOME position.  What you need to enter is the position of the DRIVE SHAFT.  Otherwise Pronterface will just not allow you to do the adjustments necessary to complete calibration.

Once that was sorted, few problems to calibrate.

The extruder is working more or less, it feeds filament down the Bowden tube.  But my tube-with-sleeves-on-either-end idea was not a success.  The inner tube just pulled out of the tool head (the outer tube remains clamped by the compression collar).  If the outer tube is full length, there is nowhere for the inner sleeve to go, but with the outer sleeve only at the edges, it allows for the inner sleeve to pull out.  I had feared for this, so I will have to fit the whole length.  But that is a mission for the weekend.

Good news is that the plate glass seems to withstand 110 degrees (ABS default) without cracking (so far).  I ran it hot for a while.

Z axis problems

I addressed the problem of the Z axis not wanting to lift - simply adjusting the current setting did not solve the problem.

I noticed that I inadvertently fitted a 0.9 degree per step motor on the Z axis, I intended for that to be a 1.8 degree motor, so I replaced that.  The 1.8 degree motor also has a higher current specification.  Of course, with all the wiring so neatly done, replacing the motor was a bit of an exercise.

After putting everything back together, it was better, but still stalling on lifting.  I contemplated fitting a counterweight (string pulling upwards on the bed platform, looping over a hook under the top platform with a weight suspended off the string), but before all that I decided to adjust the spring tension between the lead screw "nuts".  This solved the problem (it was too tight).  I also used petroleum jelly (Vaseline) on the lead screw and smooth rods for lubrication.

Homing seems to work well, the Z-axis calibration is almost spot-on, but the Theta and Psi adjustments are still confusing the hell out of me.  I think I have the right initial steps per degree settings for my build configuration, but the M360 command does not take the Theta arm close to parallel with the upper platform front edge, and I cannot get it parallel by manipulating Y from Pronterface (as the online calibration guide seems to suggest).

Doing it twice (as the flowchart indicates) causes the Morgan to attempt to wring its own neck again (M360 command then causes the arms to try and go around the BACK).  I have to reset everything back to default.


End stops

Trying the "Home" command (G28 in Pronterface text input box) caused havoc (this was not unexpected).  I had to rescue the printer from itself by cutting the power (it tried to do a 360 degree turn with the arms).

To make a long story short - I made two mistakes.  It seems that the Hall effect devices are sensitive to the polarity of the magnet.  Mount the magnet (or Hall effect endstop) the wrong way round and it does not work.  I figured this out by measuring the signal on the RAMPS board with my multimeter while manipulating the arms and bed manually.  This can be done in Pronterface as well (M119 I think, it echoes the endstop status).

Secondly, the RAMPS 1.4 board has six endstops, and I wired into Xmin, Ymin and Zmin respectively.  The software reads Xmax, Ymax and Zmax.  This can be set in software, I just relocated my wires to the pins next door.

Homing then worked as planned.  On my printer, the offset from the zero position was approximately 18mm in the X direction and 82mm in the Y direction.  This of course is dependent on the mounting of the big drive wheels, and where the end stops detect the magnets.  It should be different for each printer (these values are entered into the Configuration.h file in the Arduino IDE).

Wednesday 19 February 2014

Initial tests look promising!

So I fired up the RAMPS 1.4 test software quickly, before work, this morning, and almost everything seems OK.  The arms wiggled smoothly, as well as the extruder gear, but the z-axis was only moving one way.  I could hear the stepper straining to lift the bed, and with a slight amount of manual support from below, it lifts.  Not a big deal, I am working on the assumption that the current to the motor is limited at a too-low level.  The StepSticks have an adjustment pot, I will tweak that tonight.

I then uploaded the Morgan Marlin code to the Mega, and fired up Pronterface.  I set the hot end to heat to 185 degrees and the bed to 60 degrees (default PLA settings).  The hot end controls beautifully, the heated bed not.  No LED, no power on the wires.  The hot end draws about 4 A.

Almost alarmed, I then remembered that the default setting for heated bed thermistor in Configuration.h is "0", meaning no thermistor present.  I changed that to "1" in the Arduino IDE, recompiled and uploaded, and started Pronterface again.  Success!

The heated bed draws about 8 A from my power supply, and temperature is reached fairly quickly.  I'm using a Nissei 25A switch-mode power supply (from my amateur radio), which has a voltage adjustment (approximately 9 to 16 Volts) and both voltage and current meters on the faceplate (see photo in previous post).

The thermistor (little glass bead one from ebay) is mounted by spread-eagling the (very thin) legs and Kapton-taping it to the bed PCB from below (glass bead protruding through the hole in the centre of the board).  The tracks are oriented UP in my build, with the glass sheet right on top of that.  The thermistor stands slightly proud, so the glass pushes it down against the Kapton tape, so it touches the (underside of the) glass well.

This means the motors, heating elements, and thermistors are all connected properly.  The end-stops will be tested next (tonight).

Unfortunately, I also have a proper day-job, which means I can only play again tonight.

It's done

Another marathon session last night saw me first fixing the extruder (after a fashion) and then completing the wiring.  Now for testing...

I picked up a handful of 624 bearings yesterday, as well as an M10 brass bolt.  I drilled a hole down the bolt (by hand) and tapped it with an M4 tap, and cut it to length, before cutting slots into the thread lengthwise using the Dremel tool.  It is not perfect (the hole is ever so slightly eccentric) and the surface is rougher than I would like it to be, but for the moment it will drive filament and this is what I need.  I will have access to a lathe late next week, then I will re-do the drive gear.

I was not able to fit the 4mm OD PTFE tube through the newly acquired 6mm OD (4mm ID) tube, even after shaving the thinner tube to size by pulling it through a 4mm hole drilled into a piece of steel, so I only sheathed the two ends (approximately 6 inches each side) in the thicker tube.  The centre part of the Bowden tube is single tube only.  I hope this is enough to allow the conical compression sleeve and the M6 nut on either end of the Bowden tube to grip the tube.

The wiring of the RAMPS board must be one of the most daunting aspects of a RepRap printer, for non-electronically minded builders, in my opinion.  The multitude of options make a single instruction manual practically impossible, and the online resources I have found only covers mechanical and opto-isolated (separate board) endstops, so the specified Hall-effect device endstops needed some reading of the data sheets.

Luckily, the Hall effect sensors can be wired to the RAMPS board by a single wire, and the sensors need 12V and ground as well (common on all three endstops).  The input on the RAMPS board is already referenced to ground, so a single signal wire should do.

Testing will proceed with caution, as it is possible that I may have done something silly like swapping endstop signals, and I don't want the X-axis, for example, to start moving moving towards the endstop but looking at, say, the Z-axis signal (which will never trigger if only the X-axis motor is running).



Tuesday 18 February 2014

Wiring

Most of last night was spent wiring up the electronics.  I have decided to mount the Arduino Mega/RAMPS on stand-offs (I had some), and terminate all wiring into terminal blocks below the electronics.  Short wires from the terminal blocks directly soldered to the RAMPS pins will complete the wiring (I cannot source nice 4way plugs locally).

There are, by my count, at least 35 wires from the RAMPS board to the printer.  Four wires each for four stepper motors (16 wires), two heating elements (four wires), two thermistors (four wires), two for the bed fan, and three each for three Hall effect end-stops.

I still have to mount and wire the end-stops (the magnets are mounted already but I had to drill out the holes to 6mm, as that is the size of the magnets I had around).

Wiring and positioning of RAMPS board:




Morgan progress at this point:


The extruder is still completely absent, as I do not have all the vitamins to complete that yet.  I need small bearings (624), the brass drive gear, and more PTFE tubing.  The wiring to the mount point for the stepper motor is in place, though.

Bed material

I did some research yesterday regarding bed material.  The only safety glass available locally is 6.35mm laminated, which is no good for a heated bed.  The plate glass I had cut at ZAR10 a piece, can be tempered / armourplated at a cost of around R200 each.  Tempered glass can NOT be cut, it is cut to size before tempering.  Pyrex glass is not available locally in the size I'm interested in.

So, plate glass it will be.  Plate glass can crack if heated non-uniformly.  My plate glass sheets are 200 x 200, smaller than the heated area on the PCB.  Let's hope for the best (I'll probably only run at around 80 degrees initially), and if plate glass does not work out, I'll move to an aluminium plate.

I did, however, heat the plate glass in the oven to 150 degrees C without problems (slowly). 

The plate glass was Kapton-taped using soapy water, similar to window tinting films.  It is not perfect, but will do for the first round of tests.

I also found that my hot-end is slightly high, the bed does not elevate quite high enough.  Currently the HBP is about 1 inch above the aluminium platform plate (40mm long bolts and nuts with springs to adjust for level).  I had to lift the entire platform by inserting M8 washers between the aluminium plate and plastic brackets, now it can touch (with the build plate as far up as it can go).  If not enough, I can add more washers or even an extra washer on the arm joints (to lower the hot-end another mm or two).


Bed assembly

If this build blog sounds negative, with me reporting on all the difficulties, please forgive me.  I mention the things I battled with, wishing I had known what to look out for, and maybe it helps someone else down the line.

It isn't all bad, much of the assembly went plain sailing, such as the arms. I believe there is a detailed illustrated build instruction coming out soon, and that should help. In the mean time I do many of the things twice or even three times to get it right.

I sourced a backlash spring locally and could get on with the bed support. I found the PLA arms very hard and brittle, and the LM8UU bearings would not click into the ridges provided.  Eventually I forced a spare bearing down the tubes, removing some of the ridge completely, and glued the  linear bearings in place (my bearings are already fitted on the rods so the arms are assembled in place and I am scared of straining the rods, having broken the support already).

With the support in place it became clear that the brackets underneath the universal aluminium plate are in the wrong place, as the bed does not clear the top platform.  Time to disassemble the bed and fix that.

I will be replacing the plate glass top with safety glass, apparently single layer safety glass is good for 200 degrees C, as opposed to around 80 for plate glass.

I am also slowly doing the wiring properly. From what I've seen, RepRap printers tend to be a rats nest of wiring, probably left as is after testing.  I would like the Morgan to look neat, and am modelling the wiring after some looms I've seen in military boxes. This is slow going, though.

It should not be too long before I can start movement testing...

Monday 17 February 2014

Arm assembly

Progress was halted over the weekend due to me running out of bolts and nuts, mostly 3mm, but also I did not have 40mm and 100mm M8 bolts for the arm joints (I thought I had).  I did add the stepper motor in their mounts yesterday (complete with the drive belts), as well as the "A" sections of both Theta and Psi arms.

This afternoon/evening I added the "B" sections of the arms, including the tool head with J-head mounted.  I pulled the hot-end and z-axis stepper motor wires through the hollow centres of the Psi arms, and down to the lower frame through one of the support pipes.

As Francois mentioned in a comment, it is not simple to pull the wiring through the pipes afterwards - remember to fit a piece of string/wire during assembly!  I actually found it easier to work from the bottom upwards (I pushed a piece of white twin flex through and taped my wires to the flex with insulation tape before pulling it down through the pipe.



Difficulties in assembly:

 I had a few hassles during assembly:  the biggest of which was the fact that the top platform was not parallel to the bottom one.  It was sloping down towards the back (enough to have a drill bit roll down).  I must check the pipe lengths - maybe I misread and cut the longer pipes too short.

I fixed SOME of the slope by fitting 28mm washers (1.5 to 2mm thick?) on either side of the ported pipes to tilt it upwards.  It is not level yet, but close.  I also tilted the z-axis motor slightly to level it by fitting two 4mm washers underneath the rear corners when I screwed it to the platform from below.

The second difficulty is that I broke two of the smooth rod "receptacles", one on the top and one of the bottom brackets which accepts the rods and drive shaft bearings.  These shear fairly easily from the flat bit, be careful.

What remains to be done is the bed platform.  I cannot currently fit that as I do not have a spring to take care of the backlash, and then it is on to the RAMPS wiring.  The heated bed was fitted to the aluminium platform with three spring-loaded screws today, that still needs wiring as well. I will probably be working on that over the next few evenings.

I also still have to sort out the extruder - I got the 1.75mm extruder, and need the small bearings, the hobbed drive gear, and a second (4mm) length of PTFE tubing to fit it all.

Oh, and the Kapton tape and thermistors were in the post box today.

Sunday 16 February 2014

Frame assembly

The top part of the frame was measured out previously.  To start assembling, the holes need to be drilled, and the bottom part of the frame measured and drilled.  The frame is made of wood (chipboard).

The first hiccup I experienced was when one of the captive nuts dislodged inside a pipe while assembling the frame.  Luckily it was one of the ported caps, so I could access the nut and managed to fasten the bolt as designed.  With the frame holes drilled as per the dxf file in github, the PVC pipes are slightly bent around each other, but the frame is nice and stable.

Other snags:  the hole in the top platform, through which the drive shaft passes, can  be at least 1 inch diameter.  I originally made it only slightly larger than 22mm, but the outer pipe touched the wood once assembled, making the one arm difficult to turn.  Disassembling, fixing and reassembling took a good portion of the afternoon.

Another thing:  the printed parts break easily.  I'm sure the second assembly will go much easier, but I have broken some parts.  Nothing that I could not fix with a bit of glue, though.

The progress so far:

Frame pipes

Next up, the pipes for the frame.  These have been cut to length already, so I only needed to fit the printed end caps.

The ported end caps go on the long pipes, and they are mounted at the front (on the bottom of the frame).  I started by drilling the holes out to 4mm, and pulling the M4 nuts into the captive holes from outside (leaving the bolt in for the moment).

The end cap surfaces need to be parallel, so the ports point in opposite directions.  I aligned these by eye and fastened the caps with a liberal helping of PVC Weld.  To get the end caps in more easily, I beveled the inside of the PVC pipe with a Stanley knife.  This worked well.

The only thing I forgot was a piece of string through the long pipes to pull the wiring through.  This should not be too difficult to get through, though.

Drive shaft assembly

Assembly of the printer has started with the drive shaft.  Having done a mock assembly of the drive shaft earlier, I decided this would be where I started.  The first step would be to prepare the drive wheels.  I quickly realised that all openings/holes on the printed parts are slightly smaller than they need to be, so I drilled out the rod-mounted wheel's centre hole to 8.5mm, in order to get an M8 bolt through to pull the nut into its captive hole.  It is a tight fit but using a bolt as puller (28mm washer on the bolt head on the other side of the wheel) makes it easy.

It is only possible to do one side like this, and the other side was more difficult.  I ended up pulling out the nut already placed, pulling in the other side nut, and then replacing the first nut (which now fitted much easier once having been in there).

I reamed the pipe mounted wheel hole with a 22 mm  drill bit, and mounted the pipe using two 3mm self tapper screws.  Enough space was left at the bottom for the flanged bearing.  It is important that the self-tapping screws need to be very short (or grind/file off the tips) as the 15mm copper pipe fits inside the 22mm pipe.



Quite predictably, I mounted the rod-mounted (bottom) wheel upside down, i.e. with the flat side towards the bottom.  A lot of unnecessary screwing and unscrewing was the result!

Saturday 15 February 2014

Printed parts are here

On my way back from a work function in Johannesburg this morning, I stopped in Centurion at the house4hack open day / Robobeast launch, met Quentin Harley (designer of the RepRap Morgan 3D printer), and collected the printed parts for my build.

The next week or two is going to be busy, with lots of progress!

Friday 14 February 2014

Stepper drivers are here!

Yes, after a week the mail is starting to trickle in.  The postal worker strike was called off on Monday, agreement signed on Wednesday, and first mail in the post box today.  There are still three international parcels in the pipeline (amongst others Kapton tape and small thermistors) but at least something is happening.

The drivers are Stepsticks supplied complete with small heat sinks and adhesive tape to attach the heat sink to the surface mount driver chip.

Testing will start this weekend - I will post the test procedure and results.  I will be using the RAMPS 1.4 testing software.

Sunday 9 February 2014

Autodesk 123D Design fail

Still suffering of postal non-delivery (and resultant non-progress on the Morgan), I have been looking at 3D design software to introduce mainly the kids to 3D making.  I have downloaded and installed OpenSCAD, but for the rest of the family that is not going to work that well.  I have previously used Google Sketchup, and from what I could see the Autodesk 123D Design software might be easy enough to use to introduce the rest of the family to making.

At 282 MB download, I waited till after midnight to save some bandwidth (we have a lot of "Night Owl" data available), and in the small hours of the morning I battled to get 123D Design to work.

The software starts up, with splash screen, and simply closes down directly after the splash screen.  No error messages, no event log entries, just a fail.  I scrutinised the system requirements, and although the laptop is a few years old, should easily fulfill the requirements.  Searching the web and forums on the Autodesk site was no help, and I was in no mood to go to extreme lengths to search or contact tech support, so I just deleted it from the PC.

I did try an install on the newer Windows 8 laptop, but that is a 64bit machine, so I need to do ANOTHER 300MB download, no thanks...

Wednesday 5 February 2014

Update on Noteworthy thing #2

Just a few days after I posted the bit about the 3D models for Space:1999, the Eagle Transporter has landed on Thingiverse.  Still not printable, created in Sketchup, and not as detailed as the models in the original post, but better (a little more detailed) than the previous one!

On another note, it seems as if I have fallen victim to the postal worker strike here in South Africa.  I have some four parcels inbound, and I visit the post box every second day.  Nothing (not even a bill) for well over a week now.

Friday 31 January 2014

Noteworthy things #2

It is not on Thingiverse, and it is not specifically designed to be 3D printed, but it is super cool! A detailed 3D model (actually multiple models) of the Eagle transporters from the TV show Space: 1999 (Alpha: 1999 in South Africa).

 This site has 3D models of many props from the show.  I loved the show when I was a kid (I have the entire series on DVD) and always wanted to build a model of an Eagle. I even toyed with the idea of scratchbuilding one, but never worked up the enthusiasm. 3D printing might make the difference here...


Tuesday 28 January 2014

The hobbed bolt part 3

The quest for the ideal hobbed bolt just took a new turn.  On Monday afternoon I rigged up a steel "bolt hobber" (a piece of steel with a hole in it clamped perpendicular to the M8 bolt, to guide the tap).  My setup was flimsy, but showed promise, so I think I should be able to hob a bolt.

If that fails, the option of cutting grooves with the Dremel tool and sharpening the "teeth" with a needle grinding tip is always a fallback option.

However, Quentin (designer of the Morgan) just posted his solution to the problem of the Eckstruder battling with 1.75mm filament:

RepRap Morgan 1.75mm extruder on reprap.harleystudio.co.za

This latest option is a modified RepRapPro Mini Extruder, which does NOT use a hobbed bolt, but rather a hobbed drive "gear" which is tapped in the centre (see bottom photo in the article).  Quentin made his from brass on a small lathe, which I do not have access to, so at first glance, it leaves me with no option but to order one ready-made if I opt for this solution.

I might decide to stick with the hobbed bolt extruder for the moment (and accept filament jams) until I can figure out a way to manufacture a drive gear as described. 

I will be thinking about this in the coming week...

Sunday 26 January 2014

The hobbed bolt part 2

I was hoping that the blog entry "The hobbed bolt" would only have two parts.  This is not going to be the case.

Hobbing a bolt is not as easy as some youtube videos would have you believe.  I do not have a lathe, or a drill stand, and have to do with hand-held tools.  First I marked the 13 mm point from the bottom of the head, then I cut a groove in the bolt shank (using the small angle grinder and a steel cutting disc):


Then I clamped the bolt in two 608z bearings in the bench vise, and tried to hob the bolt with the tap fastened in the hand drill:


This did not result in the beautiful hobbed bolt pictured in part 1 of this post.  The tap was all over the place, scoring the bolt and generally making a mess.  The groove is roughened, and here and there clear "teeth" were cut, but in general not a successful outcome.  I'm sure the extruder will extrude, but probably not have much grip, so a new plan will have to be devised.  A picture of the result:



The ideal is a "bolthobber", Thingiverse Thing # 232511, but for that you will need a 3D printer (exactly what I'm trying to build here).  I need a way to hold the tap fixed relative to the bolt (by hand it bucks and jumps), but I'm sure I will be able to get it done.  I will report.

Friday 24 January 2014

The hobbed bolt part 1

It would seem that the most common extruder for filament is Greg's Wade Extruder, which uses a hobbed bolt to drive the filament.  This is an M8 x 50 (or 60) bolt with a groove in the smooth part of the bolt shaft. In this groove is cut "teeth" using an M6 tap (sometimes larger, sometimes smaller).  The bolt is driven by a stepper motor via a set of gears.  The filament is pressed into the groove by the idler block via a bearing.

The exact position of the groove is not easily obtained. You can buy hobbed bolts on ebay for USD10, and I have seen grooves at distances of 21, 24, 26 and more mm from the bottom of the head of the bolt.

One improvement made by Eckertech on their Eckstruder is to reverse the hobbed bolt orientation, as the groove can run into the thread on a 50mm length bolt.  In their version the groove is much closer to the head.

Inspection of the eckstruder STL file indicates that the groove should be 13mm below the head, and this LOOKS right on ebay photos of eckstruder hobbed bolts.




Tomorrow I will attempt to make a hobbed bolt by clamping the M8 bolt in bearings in my small bench vise, and hobbing it with the tap in the electric drill.  I will first initiate a groove using the small angle grinder.  I will post photos.

Thursday 23 January 2014

Optimising maths for speed

Depending on the settings of your compiler, some maths might already be optimised.  However, I believe most people are using the Arduino development suite as it is installed (I don't even know whether you CAN optimise the Arduino compiler).

You can save time (increase calculation speed) by not calculating "constant" equations every time (an optimised compiler will do this for you).  For example, in the Morgan code, the following line

SCARA_C2 = (pow(SCARA_pos[X_AXIS],2) + pow(SCARA_pos[Y_AXIS],2) - 2*pow(Linkage_1/1000,2)) / (2 * pow(Linkage_1/1000,2));

contains two instances of a "constant" that can be pre-calculated:

2*pow(Linkage_1/1000,2)

and inserted in this line.

The second optimisation I tried was to replace the "pow(x,y)" math function (which raises x to any power y) with the "sq(x)", or square function.  This is significantly faster than the generic first function.  The code becomes:

constcalc = 2 * sq(Linkage_1/1000);       // just after where Linkage_1 is defined

SCARA_C2 = (sq(SCARA_pos[X_AXIS]) + sq(SCARA_pos[Y_AXIS]) - constcalc) / constcalc);

These small changes make about a 30% difference in execution speed.  These are only part of the total calculation for Morgan, however.

Another optimisation (which I have not investigated) is to replace the "atan2" function, which calculates the arctangent from two parameters, with a pre-calculated lookup table.  There is more than enough memory available to have a comprehensive (read accurate) table, but again, the complexity added might not be worth the increase in calculation speed.

 

Withdrawal symptoms

I am starting to suffer from "withdrawal symptoms", the Morgan parts are sitting there, looking at me, and I can't progress...  At least the Kapton tape and thermistors have shipped, but will not be here any time soon. 

Quentin should be sorting out his backlog of Morgan printed parts orders this week so I expect the printed parts towards the end of the month, at least then I'll be able to progress.  In the mean time the stepper driver boards should be here soon, and I have started looking at the Morgan software.

Quentin reported that the Arduino runs out of steam to when he tried to up the number of delta calculations per second.  Currently the software is configured for 200 calcs per second on my hardware.  I have committed to look at improving that, but ideally I need moving steppers to test (the problem manifests as loss of quality and steppers actually slowing down when it runs into trouble).

Being new to RepRap but an old hand at embedded software (I used to write embedded software for a living) I feel this is one area where I can add value.

The Morgan software builds on top of the Cartesian calculations for the other RepRap machines - the x and y movements are translated into theta and psi angles by inserting an extra calculation cycle.  The maths is fairly standard, there is a lot of squaring, some square roots, and a few arctan functions being performed every time.  Everything is done in floating point maths (which is slower than integer maths in a processor).

Staying within the current scheme (it is possible to completely overhaul the maths and not do the Cartesian to angle conversion), the first step would be to optimise the equations for speed.  If more speed is needed, convert the whole lot to integer maths, but the gains vs. effort might not be worth it.

The next post will be slightly technical on the first things I'm trying.

Tuesday 21 January 2014

Last few vitamins

Yesterday, on my regular office Monday in Johannesburg, I ALMOST succumbed to the temptation of picking up the last vitamins for my Morgan build at RS Components.  I need Kapton tape and a bed thermistor.  Prices at RS:  Kapton tape (25mm wide) ZAR470, EPCOS thermistor ZAR50.

Luckily my Monday was exceptionally busy and I only got out of the office late.  Today I ordered the items from ebay (shipping included - I learnt my lesson on the stepper motors).  Kapton tape (50mm wide) ZAR70, 10x thermistors ZAR100.  The thermistors are not EPCOS as far as I can see, but I compared the data sheets and the error should be no more than about 5 degrees on 110 degrees as is.

I intend covering the heated build plate with Kapton tape.  As far as I can see that is the easiest way to ensure adhesion of both PLA and ABS - apparently a glass bed does not do well on both plastics.  50mm wide tape will make lining easier.  There was a roll 200mm wide for ZAR230, but I decided against that.  It WOULD make for a nice uniform platform surface though...


Sunday 19 January 2014

Noteworthy things #1

One of the nice 3D printing websites I've found, 3D Genius, has a regular feature "Thing of the week".  Every week (I think) they publish a really useful/nice "thing" from Thingiverse, the Makerbot community repository.  I think that is a really good idea, and tonight I saw something I thought useful.

A battery adapter - AA to C size.  This type of gadget makes 3D printing exciting.  Sure, you can buy an adaptor like this, I've seen them.  Expensive, and hard to find.  And useful.

More on RAMPS

The RAMPS board ("RepRap Arduino Mega Pololu Shield") is a custom RepRap interface ("shield") board for the Arduino Mega.  Pololu Electronics did a lot of work in the RepRap space, including stepper drivers, so the name pops up often.  Mostly (from what I've seen) in connection with the stepper drivers.

RAMPS contain MOSFET drivers for the hot-end, heated bed (2x), thermistor inputs, an SD card option, an LCD option, endstop (Hall effect sensor) inputs, and place for 5 stepper drivers (on separate daughterboards).  The RAMPS plugs into the Mega board directly, but is powered separately.

RAMPS is not the only option for RepRap builders, it is, however, a standard and supported by pretty much all the versions of software I have seen.  This is why I chose RAMPS 1.4 (the latest iteration).

You can probably homebrew an interface, taking care to keep the pinouts the same (or taking the time to redefine the Arduino pinouts in the software if you don't), but if you're not into electronics RAMPS seem an easy entry option.

I have found the following RAMPS wiring document very useful:

RAMPS Wiring

The story so far...

My first look at RepRap was several years ago, when I briefly considered building a 3D printer which was advertised in the back of our local (South African) Popular Mechanics magazine.  I cannot remember but this must have been a Darwin, as I remember the cube shape.  At the time the consensus was that it would take many many hours to put together.

This was before I had an ebay account, or US shipping address via ReShip, and way before Arduino, with the net result that I gave up on the idea due to feasibility.

Today, the major blocker is the sometimes exorbitant shipping fees (to South Africa).  We also pay Value Added Tax and a customs handling fee on all international parcels.  My purchasing decisions for the Morgan build have been strongly influenced by this.

So when the bug bit over the December summer holidays (southern hemisphere, remember), I compared the options.  An off-the-shelf printer can be had in SA for ZAR 12 500 (about USD 1150), and a complete Prusa kit around USD 750 (R8 350 at the time of my decision).  So that set the bar - if I could come in under USD 750 all told I was in business.

I read about the USD 100 target, but it was immediately obvious that there is no chance of that happening anytime soon.  Stepper motors go for ZAR 220 - 250 in SA (USD 20) and I need four.  The printed parts cost me USD 65 including shipping, so I was under no impression that I was going to get away very cheaply.

So, to cut a long story short - I purchased some stuff off e-bay (and made some mistakes) and some stuff locally.  A summary of the costs is given below, but to date I have spent around USD 500 (and I am close to having everything).

Also, I have at least two friends who might also build Morgans (or want me to build it for them), so I have bought extras in many cases (not factored into my USD500 spend).  As I have mentioned earlier in a previous post, I already had an Arduino Mega board.

My mistakes were the stepper motors, I bought 5 x 200 step and 5 x 400 steps motors off ebay, at an attractive price, but had to commit to buying before I saw the shipping, which doubled the price.  I ended up paying just USD 2 less per motor than I could have sourced them locally (although I would have needed to ship the local motors as well which would make them slightly more expensive).  All told I still came out cheaper but not significantly so.

Item

- Hot-end (J-head), ebay, USD36 + USD4 fee
- RAMPS 1.4 fully populated, locally sourced, ZAR 650 (USD 60) (excl shipping)
- Stepstick drivers, ebay, USD24 (fee still to be paid on arrival, probably USD3 or 4)
- Stepper motors (both flavours), ebay, USD 20 each
- PVC piping, locally sourced, ZAR 23, USD 2
- Printed parts, locally sourced (from Quentin), ZAR 725 (USD 65)
- LM8UU linear bearings, ebay, USD10
- Copper pipe 15mm, locally sourced, ZAR 56 (USD 5)
- Copper pipe 22mm, locally sourced, ZAR 59 (USD 5.50)
- Threaded rod M8, locally sourced, ZAR 15 (USD 1+)
- Timing belt and pulleys, locally sourced, ZAR 300 (USD 27) (including shipping for this and RAMPS)
- Heated bed and universal plate, locally sourced, ZAR 665 (USD 60)
- Bearings, locally sourced, 608z USD 1 each, F608Z USD 4.50 each, 6805z USD 5 each.
- Alpen SDS drill bit, locally sourced, ZAR 167 (USD 15)
- Smooth rod, locally sourced, ZAR 40 (USD 3-50)


Saturday 18 January 2014

J-head hotend

This morning I received an e-mail from the ebay store where I purchased the J-head hotend.  This was my very first Morgan purchase, shortly after Christmas.  They wanted to know whether I had received the hotend, and asked me to rate the purchase on ebay.

Of course, I HAD to go check the postbox before I responded (although I was there yesterday), and sure enough, the parcel was there. 

Back home this afternoon I wired the thermistor into the RAMPS connector, and connected the heater element to the appropriate connector.  I disabled the bed thermistor in the Marlin code and fired up Pronterface.

The J-head (sold as a MK V) is a clone from Hong Kong, judging by its 4 cooling fin slots as opposed to 5 (saw that on the internet somewhere) but it had a hollow set screw at the back holding the PTFE liner, and already wired up and Kapton taped together. The supplied wiring is just short of a meter.  No information on the thermistor that is mounted, so I selected thermistor '1' in the Marlin code.

Once Pronterface connected, I read the temperature, and it reported around 30 degrees C.  With the heat wave we have been experiencing lately, that was about right, so I selected 230 degrees C (ABS) from the drop-down and switched the heater on.  The LED on the RAMPS board lit up and I could feel the nozzle heating up immediately.

Pronterface can graph the temperature in real time and I saw it climb up to the target, once there, the LED switched off and started swithcing on occasionally.  Looks like bang-bang temperature control, as it flickers somewhat, but it tracked 230 degrees accurately.

With no way to confirm the temperature of the nozzle I pushed a piece of filament against the metal bottom of the J-head, and it melted as expected.  So far so good!  From the ammeter on my power supply it looks like approximately 3-4 Amps going into the heater element.




Friday 17 January 2014

Filament and thermistors

The filament I ordered arrived today, nicely sealed in plastic bags with a packet of silica gel dessicant inside the bag.  I don't know if that is standard practice but it is a nice touch as the ABS is prone to absorb moisture from the atmosphere.

I connected two thermistors to the RAMPS board, although totally out of calibration it reads temperature (bed and hot end) and reacts when I hold the sensor between my fingers. Pronterface now runs the print (previously it aborted due to no temperature reading). Obviously the program waits for the heaters to reach temperature (not connected) but at least it tries...

As soon as the stepper driver boards arrive I will start testing the motors.

Thursday 16 January 2014

Electronics components

I had to attend a meeting in Johannesburg today, so on the way back I drove past Mantech Electronics and PTFE Plastics.  At Mantech I picked up the Hall effect sensors for the endstops, as well as some thermistors.  The ones that I could get is too big to fit on the heated bed, but at least I can get testing, and at less than ZAR1-00 per thermistor it is not expensive.

PTFE Plastics supplies the tubing for the Bowden tube (from the extractor to the hot-end).  I purchased some 4mm OD, 2mm ID tube (I'm configuring the Morgan for 1.75mm filament).  Oh, and I ordered some ABS filament from Filament Factory in Roodepoort.  Best price I've seen, we'll see about quality.

I'm pretty much set now to start assembling the printer as soon as the printed parts arrive.  Those are being printed now at MorganHQ (at House4Hack in Centurion), the new base of operations for Quentin (designer of Morgan).

In the mail, still to be received, are the stepper drivers and hot-end.  In the mean time I am familiarising myself with the Morgan firmware.  Not that it is necessary to know how it works, only for myself.

Monday 13 January 2014

More stepper motors

The 1.8 degree stepper motors arrived today.  As I understand it, these are for use in the extruder and the z-axis. The 0.9 degree steppers are for the arms.  With no 1/32 microstepping drivers I will be sacrificing resolution, but the drivers are plug and play so I can always upgrade the resolution later.

Last night I also measured out all the holes on the top platform.  The dxf file shows arc-shaped slots on one side, and it seems that there were one or two machines (found some online photos) with fans blowing on the bed.  I have ignored these slots for the moment, I can always add a fan later if necessary.

Sunday 12 January 2014

Lazy weekend

Very little progress was made over the weekend, we rather went geocaching on Saturday.  Drove past House4Hack in Centurion - there is a geocache less than 100m away!  There is currently not much work that can be completed on my Morgan, as much of the parts are still underway.  This week I intend buying some endstops (Hall effect sensors), and a thermistor for the heated build plate.  That will enable more testing of the firmware.

My heated build plate currently has a plate glass top.  This might have to change, as I understand that the plastic (first layer) might not stick to glass as well as needed, and plate glass might have difficulty handling the temperature of the bed.  I have read of borosilicate glass tops (probably expensive), and I have read of sticking Kapton tape on the bed to build on.  If Kapton tape is needed, why not tape it directly to the heat bed (PCB)?  A lighter bed must be a good thing.

I have polished the smooth rods (using the electric drill and Brasso polish), as well as the 22mm copper tube (for aesthetic reasons :-) ).  I have also gone through the Marlin configuration code to see how the software distinguishes between 8825 (max 1/32 microstepping) and 4988 (max 1/16 microstepping) driver chips, as I have ordered Stepstick 1/16 (4988 based) drivers.

The microstepping is selected via two digital lines, and the (newer) 8825 stepper driver boards are configured to select 1/32 automatically when 1/16 (on the 4988) is selected in the software.  So, it is not something I need to worry about - the resolution is lower than it could be but does not need manual intervention.  Everything else is handled through the steps per degree constant. My Stepsticks are supplied with heat sinks and rated at 2A, so current handling should be good.

The power supply will be from my amateur radio - I have a 25A adjustable (switch mode) power supply that will be used for the moment.

Friday 10 January 2014

Playing with RAMPS

Today I started looking at the Arduino firmware.  As mentioned previously, I already own an Arduino Mega 2560 board and Arduino 1.0.5 is installed on my PC.  I fitted the RAMPS 1.4 board on the Mega, opened the Arduino "sketch", changed the hardware to RAMPS (1.3), option 33, compiled and loaded it onto the board.  No problems there.

I then fired up PrintRun (Pronterface), and connected to the electronics.  Again, no problems there but the expected failure to read any temperature inputs (none connected so far).  But it communicates, recognises the firmware, all looking good so far.

The chipboard base was also cut (freehand, this is temporary).

And just for fun, a photo:


Thursday 9 January 2014

And still they come...

After posting earlier, feeling satisfied with the stuff I received today, I had another phone call from a courier company - the first of the stepper motors (the 400 steps per revolution ones) were here! 

This evening I cut the PVC pipe to length (using the pipe cutter - the hacksaw and mitre box did not look square to my eye).  I also cut a cork sheet (bought as gasket material for my old Land Rover) to size to insulate the bottom of the heated bed from the universal build plate, and screwed that bit together (finger tight).

And I've started measuring out the build platform.  At the moment it is a piece of MDF (chipboard) I have in the garage, but a friend who is into woodworking promised to make me a beautiful platform - with routed edges and all.  But that will come later.

Pretty soon I'm going to start itching for the printed parts - but I know there is a delay.  The rest of the stuff is happening quicker than I thought.  As far as I can see, I need very little further parts - the end-stops, the PTFE tubing, the idler spring, Kapton tape, and filament.  The rest is here or on its way...

Fast and Furious

Today was a good day.  I managed to find the 8mm Alpen SDS masonry drill bit in the long (450mm) length at our local Timber City branch.  And even cheaper than the shorter ones I saw in other hardware stores.

Two parcels were waiting at the post office, and I also received the couriered Micro Robotics package (RAMPS board, timing belt and pulleys).  The two parcels at the post office contained the LM8UU linear bearings in one, and the OpenHardware universal plate and heated bed in the other.

While out, I also ran into our steel merchant for smooth rods, they referred me to a manufacturer of stainless steel products across the road, and the proprietor cut me two 440mm lengths while I waited.  Around the corner was a glass place where I had a 200mm x 200mm piece of 3mm plate glass cut.

Finally, last night I ordered a pack of 5 Pololu stepper driver boards off ebay - free shipping so even with the VAT and customs fee we have to pay at the post office it is still an excellent deal.

And just for readers who are not familiar with what I'm trying to achieve, here is a picture (shamelessly lifted off the net):