Sunday, February 22, 2015

Aluminum 3DPrintMi - Automatic Bed Leveling/Tramming

Auto-Leveling Sweetness

Hey all,

2 week ago, I was able to install and test the new auto-leveling/tramming (whatever you want to call it) feature in the Marlin firmware. I always wanted to add this feature to the 3DPrintMi. I was always on the fence because I never felt confident in the servo/mechanical switch setup. There's too many moving parts involved for something that needed to read data consistently. Other setups came along like the auto touch Z end-stop and the FSR (Force Sensor Resistor) but impletenting them meant overhauling a few components. It wasn't until Printrbot introduced the induction probe which was a real game changer for me. After many hours of preparing, printing, and testing, I finally have a reliable setup.

Induction probe setup on the Aluminum 3DPrintMi
Full setup - Induction Probe with ducted fan cooling
After using the auto leveling feature, I'm actually blown away by the results. I'm getting better quality prints and consistent dimensional accuracy. For a long time, I was designing multi-part components with a +0.3mm allowance for clearance. Now I'm able to go as low as +0.1mm and still achieve a loose fit.

What sets my setup apart from the others is that I'm still able to print on a glass plate. Read on and I'll show you how to pair an induction probe with a glass plate.

Induction Probe

SN04-N probe 
Inductive Proximity Sensor Switch SN04-N (DC 4.8-30V)

For this auto leveling setup, I'm using the SN04-N induction probe instead of the NPN model probe Printrbot uses. There's a few reason why I went for this version:

  • Smaller profile, doesn't take much space on the tool head (extruder mount)
  • Relatively cheap, about $7.
  • No need to reduce the output voltage, the rated DCV is within the electronic board spec (5V)

Connecting to the Printrboard
Got really confused with the wiring. The schematics on the induction probe doesn't match up with the Printrboard. Here's how the wiring is done. (Blue = ground, Brown = input, Black = output)

Finding a spot for the SN04-N probe
Induction probe mount

The low profile probe gave me more flexibility in locating a mounting spot . If I have gone with the NPN model, I would have to redesign my extruder mount, thus increasing the tool head profile. I had one mount hole to work with which was good enough for me. It sits really close to the heater block so I have to keep an eye on it in case it starts melting. *knock on wood*  

Induction probe and glass plate setup

Now, the typical induction probe setup requires a metal plate in order for it to work. Most printers use an aluminum build plate as a build platform. I never had much success printing on an aluminum plate so I wasn't ready to give up the glass. Apparently, sticking an aluminum plate under the plate doesn't work. Bummer.

Since that didn't work, I tried:
  1. Sticking aluminum foil under the glass plate 
  2. 3mm thick aluminum sheet under the glass plate
  3. Stuck aluminum tape on four corners of the glass plate (detects but lose build volume)
Just when I was about admit defeat, I noticed my sensor would detect my steel spatula from a much greater distance, about an extra 2-3 mm.  Doesn't seem a lot but it was worth testing. Luckily, I had a 28 gauge steel sheet lying around.....

Using a steel sheet for the induction probe to detect the build plate.
Cut the 28 gauge steel sheet to the same size as the glass plate

Clamp the glass plate and steel sheet with binder clips
Steel sheet under glass plate, clamped with binder clips. 
Cut it down to size, clamped it under the glass plate, crossed my fingers, and homed the Z. Hell yeah! It works! Now I get to keep my glass and barely adds any mass to the build plate. A win win.

-Note -

Stainless steel sheets DO NOT WORK.  Bought a pre-cut, 26 gauge stainless steel plate from and the probe just couldn't detect it. My poor printer crashed itself into the bed. The only difference between the two is that one is stainless while the other is galvanized. Galvanized steel just means it has a protective layer of zinc which is probably what the induction probe picks up instead. I have heard copper pcp works but they can be pretty expensive. 

Marlin Firmware Setup

If it wasn't for Thomas Sanladerer's youtube video and Zenmaster's blog, I wouldn't be able to get this going. Thank you guys!  I made a pictorial guide for myself just in case I forget. 


auto-leveling sequence

thin wall calibration cube, measured 0.50mm on all 4 sides. I used to get 3 consistent readings and 1 way off.

Custom hexagon fan shroud, top infill came out perfect.

Tall prints remain consistent, no artifacts visible

Walkaway cube test

Sunday, January 18, 2015

Build Log #? - Introducing the Aluminum 3DPrintMi

Back again and reviving this good ol' build blog with some new content. I mentioned on my last post I was working on revamping the 3DPrintMi by switching to a more robust frame. After that, I got tied up with work and never found time to post my progress. Since I didn't post anything for a whole year, this post will show off all the cool new frame and features from the last post up to today.

Alpha Aluminum 3DPrintMi

This was the last picture I took of the new 3DPrintMi. I replaced the threaded rod frame with aluminum extrusion 2020s and boy, they are surprisingly cheap. I purchased them through Misumi and I can get one 370mm extrusion for $2.10 pre-cut. You can even select the length too. Even though threaded rods are cheap as dirt, you save on labor time. No more measuring, cutting and grinding.  

IIRC, I was trying to retain the original design into the new frame to see if it was feasible. It wasn't. The Y gantry (build plate direction) had some major wobble when you apply pressure to the top frame. 

The Aluminum 3DPrintMi
Here it is! Looks very different from the alpha version. I completely toss all the threaded rods out It's my workhorse right now, hence all the tools lying around. This little guy already put in 300+ hours of service and still going.

Trying to remember the steps I've taken to get to this stage. Below is a series of re-design stages from the past year.

Removing the Y Wobble

(a) Parallel bars
(b) Z Motor mount
(c) Z Motor mount
The solution I came up to stabilize the frame was by simply laying another 2020 parallel to the bottom frame (a). I redesigned the Z motor mount (b,c) to hold the 2020 and it came out really sturdy. Adding more function to a part reduces the part count needed.

New Y Gantry 

(a) Y End
 With the new framing in place, I had to toss the Y Gantry setup which were the same parts used on my original 3DPrintMi. I didn't want to keep wasting my limited stock of 2020s so I challenged myself into designing a Y gantry using only one. What I came up with didn't look very robust at all (a) but after bolting it on and applied some tension to the belt, it remained seated. 

Top Z Stabilizer

(a) Top Z Stabilizer
Replaced the top threaded rod with a 2020. The threaded rod at the top was meant more to hold my spool while providing some rigidity to the frame. It was a bit too bulky and ugly to look at so I designed a new Top Z Stabilizer (a) that turned out better and requires less plastic.

Tangle free spool mount

(a) spool mount system
(b) System with spool

(c) Spool mount feed tube
The spool mount is a re-imagination of my previous spool design and mounted on the 2020 (a). It was originally placed in the middle with the filament going straight down to the extruder but later moved to the far left (b). I have this issue where my spool would dismount during mid-print. I thought it was from the vibration shaking it off but it realized that when the spool nears be empty, it becomes lightweight. Coupled with the filament moving left and right during printing, it will fly off. 

I came up with this filament feed tube guide (c) similar to the MakerGear M2 setup. The filament enters the feed tube that's fixed in place but free to move around at the other end. This setup removes outside forces to the spool and firmly seated.

Re-designed Vert-Xtruder 

3dprintmi extruder
(a) Vert-Xtruder with ducted fan
The new Vert-Xtruder. I modified a MBE (Makerbot Extruder) lever to pair with the Vert-Xtruder motor mount. On the right is ducted fan for cooling PLA prints. Using a blower fan that delivers a good amount of air to the build plate. 

(b) Modified MBE paired with Vert-Xtruder
Redesigned the Vert- Xtruder motor mount to be completely flushed with the MBE lever. This is necessary for printing with flexible filament where it tends to buckle during mid-print. I'll be uploading the new design on the thingiverse page.
(c) Ducted blower fan
Closer look at the ducted fan setup. I plan to bring the duct closer to the nozzle. It works really well printing with PLA but I the fan is so strong that I have to increase the nozzle temperature to 240C to prevent the extruder from jamming due to the nozzle cooling down too much

That's it so far and I still have a lot more to do. Here's a few things I'll be working on in the next few days:

- Finalize the BOM
- Redesign the ducted fan
- Start on preliminary designs for auto leveling probe  setup