Makerbot Build Platform Flatness Testing

If you’ve ever printed with a FDM style 3D printer such as MakerBox, I’m sure you know that the build platform has to be pretty flat and level for you to have a successful build.

The first layer is critical.  If you do not get the first layer right, things go bad.  I wrote about this a while ago here: https://blog.gahooa.com/2013/08/10/makerbot-replicator-2-tip-first-layer-just-right/

I was having continuous problems with the first layer being too close in the center and too far on the edges of the build plate.  It was like a lose/lose on a bigger build.  On smaller parts I could calibrate it so it would work fine, but larger parts inevitably ended up being wrong either in the middle or the sides.

Enough is enough.  A Mitutoyo Digital Indicator, a Starrett Indicator Holder, a Precision Granite Surface Plate, and time to figure this out.


While there are more conventional ways to do this, I did not have the right equipment.  So I took a steel bar and flattened it on a granite surface plate with sandpaper (60 – 2000 grit).  It ended up with a very flat mirror finish on the bottom.

IMG_2861

I did not take the time to get all of the pits out of the steel, but here is a closeup of the steel after sanding:

IMG_2863

Next I measured out a grid on the Acrylic Build Plate.  IMG_2864

Using the digital indicator mounted to the steel block, I was able to take height measurements on the grid.

IMG_2869

Here is a wider view, including my high tech data collection process.IMG_2870

Note: I did this with both the Acrylic OEM plate and a Glass Aftermarket Plate. 

Once I had the data points collected, I made an exaggerated model in Sketchup, and plotted the points in 3D.

Screen Shot 2013-08-17 at 12.46.02 AM

The one that is wildly out of specs is the Acrylic, and the one that has a slight dip in the middle is the Glass.

Screen Shot 2013-08-17 at 1.02.52 AM

Screen Shot 2013-08-17 at 1.03.51 AM

Screen Shot 2013-08-17 at 1.03.28 AM

Both plates were fairly warped in my opinion.  The glass was a lot more workable.  I eventually bought a CNC machined aluminum plate, but did not take the time to measure it in this same way.

I feel that the manufacturers of low end 3D printers are not paying enough attention to the stiffness of their 3-Axis mechanisms.  While a FDM printer does not (should not) experience side or vertical loads during disposition, they still need to be fairly immune to vibration and even the weight of the build plate.

This was a MakerBot Replicator II – an obvious improvement over the MakerBot Replicator, and I’m sure they will continue to improve this aspect of 3D printing.

nginx: how to specify a default server

Several years ago when I started using nginx, I was under the mistaken assumption that

server_name _;

was a wildcard server name and would be used if no other server names matched.

Nope.

I made a change on a production system, adding a new site on an existing IP address.  What harm could that cause, right?

After several clients quickly and graciously notified us that the wrong site was coming up when you visited their domain, I quickly tracked the problem down.

First you need to realize that server_name _ is actually not special.  It is just a non-match.

Second you need to realize that in the event of no matches, nginx will select the first server{} block and use that.

This means that the ORDER of your server blocks is critical if you are using `server_name _;`. 

In our case, the order was incorrect, and my new domain was picking up all requests for that IP address.  I tell this because I believe a number of system administrators have this incorrectly configured and waiting to bite them.

There is a better way.

The nginx `listen` directive includes a `default_server` option that looks like this:

server{
   listen 1.2.3.4:80 default_server;
   ...
}

From http://wiki.nginx.org/HttpCoreModule#listen

If the directive has the default_server parameter, then the enclosing server {…} block will be the default server for the address:port pair. This is useful for name-based virtual hosting where you wish to specify the default server block for hostnames that do not match any server_name directives. If there are no directives with the default_server parameter, then the default server will be the first server block in which the address:port pair appears.

The moral of the story

It is better to use the correct mechanism (above) than relying on a single non-matching server_name.

I hope someone finds this useful!

Reference: http://stackoverflow.com/questions/9454764/nginx-server-name-wildcard-or-catch-all

 

 

 

MakerBot Replicator 2 Tip: First Layer Just Right

Talking about the MakerBot Replicator 2 3D Printer

Last post I talked about what happens when the nozzle is too far away from the build plate when you are starting a build.  This post will discuss what a proper distance looks like.

Remember proper setup:

  1. Blue tape.  Flat.  No wrinkles.  I use 3″ or 2″ with the advantage of 3″ being that it is quicker to apply.
  2. Rubbing Alcohol wipe down of tape!!!  I use 91% (can buy at Walmart)
  3. Flat Build Plate.  I purchased a glass one from Amazon.com and it really did help.
  4. Leveled Build Plate.  All I will say now is a sheet of printer paper where you can barely feel the drag.  More on this later I hope.

The print in this discussion was standard quality.  I slow it down a little bit to 70mm/sec during printing.  I find the MakerBot doesn’t shake so much at the expense of slightly longer print time.   I also heat it up a little to 235C which seems to be helpful for me.

Here is what we are building (at a whopping 110mm x 110mm x 100mm):

8-11-2013 12-30-58 AM

This is a good sign that the print is getting off to a good start.  See how each outline is nicely pressed flat, but no scraping is apparent?

IMG_2514

IMG_2516

This is the front-left corner, the first printed. Notice how with few exceptions, each line is flattened just enough to merge into the adjacent line?

IMG_2520

This is the front-right corner. The build plate must be too low here (not level) or the machine is out of alignment.  You can see the nozzle isn’t close enough.  What this might result in is a slight lift on a large part, but it is unlikely it will break away and cause problems.

IMG_2527

This is the beginning of the second layer, and the time I left for 6 hours.  I was comfortable that little would go wrong with the print at this point.  Layers adhering correctly, build adhering correctly.

IMG_2528-001

Here is a side-view of the print in progress. This is 0.20mm layer resolution, and it looks fine.

IMG_2534

Here is a top-view of the same.

IMG_2536

Here is the finished build:

IMG_2543

This is stuff I have figured out by trial and error, so I hope these pictures help!

Get a good putty knife, because with the above method, the print will REALLY stick to the platform.  I’d rather it over-stick to the tape than come off and fail (possibly breaking the printer).

MakerBot Replicator 2 – Arduino Bumper

I was using a piece of foam rubber under my Arduino for the Marble Roller project.  Not so nice, right?

Having a brand new MakerBot Replicator 2 on my desk, I decided to, well, make a nice bumper (or 3).

No design time needed as someone else did the hard work: http://www.thingiverse.com/thing:26237

Printed out wonderfully.  Fits perfectly.

IMG_2375

IMG_2376

Arduino Marble Roller #4 – Video

An update on the MMZ Arduino Marble Roller project.  We got the mechanics in place and a reliable system for transferring the marble to the top of the ramp via servo motor.

Because it is the job of the servo motor to simply move the platform up and down as opposed to accomplishing significant amounts of work, we counter balanced the ramp with a spring to assist the servo in lifting it.

Eli does a great job explaining it in this video:

Arduino Bipolar Stepper Circuit

I got a cool little 4-wire bipolar stepper motor and wanted to drive it via Arduino.

I based the design on this reference: 

http://arduino.cc/en/Reference/StepperBipolarCircuit (credit for following image belongs there as well)

 

 

bipolar_stepper_four_pins

Here is how it looks for real.  Kind of a mess of wires, but you know what?  It works great.

IMG_2031