Saturday, August 17, 2013

Calibration!

I've been working away on the printer; figured I should write up the calibration routine, mostly so as I don't forget it.

This is assuming Repetier Host and Repetier Firmware.  The same techniques work with Marlin and Pronterface, but you'll need to modify the variable names a smidge.

Printer Height

  1. Set the Z max length.  Mine is 449.65
    1. First set the Z Max to higher than your z (in eeprom or firmware).
    2. Home the printer, dial M114 - this should spit out your Z_MAX_LENGTH exactly.  If it doesn't, check that the most current firmware is on there, and that the eeprom values match.
    3. Lower the hotend - either send G0 Z100 down, or click the Z Down.
      1. Repeat until a piece of paper can just slide underneath the hotend.
    4. Send M114 - it should be X0 Y0 Z<value>
    5. Your Z_MAX_LENGTH is the old Z_MAX_LENGTH minus the current Z<value>.
      1. Write this into the firmware.
Ok, so now you've got the max height down, except for now it's just a convenience.  We'll be adjusting it again after we

Level the Build Plate

  1. Your plate has leveling screws; the next step is to make sure that the plate is parallel to the plane of the hotends' motion.
  2. In Repetier, set up four gcode scripts
    1. on the right hand pane, select the 'gcode editor' tab.
    2. From the dropdown, select 'script 1'
      1. Script 1:
        1. g28;   //home the printer
        2. g0 f8000 x-133 y0 z10  //move to one of the towers
      2. Script 2:
        1. g28
        2. g0 f8000 x56.5 y97.86 z10
      3. Script 3:
        1. g28
        2. g0 f8000 x56.5 y-97.86 z10
      4. Script 4:
        1. g28
        2. g0 f8000 x0 y0 z10
    3. Each script will move the hotend 10mm above the print surface; 1-3 form an equilateral triangle near the bed adjustment screws, and 4 is the center.
  3. Run Script 4.
    1. Lower the hotend manually 10mm - it should be just touching the bed - if not, adjust your Z_MAX_LENGTH until it is.
  4. Run Script 1.
    1. Lower the hotend manually until it touches the build plate.
      1. If it touches at zero, congrats!  You're level.
      2. If it touches above zero, increase PRINTER_RADIUS
      3. If it touches below zero, decrease PRINTER_RADIUS
    2. I had to add 5.25mm to my printer radius.
      1. I did this 1mm at a time, recording the height each time.
      2. When it stops improving, go .25mm the other way.
        1. I think 1/4mm accuracy is fine, but feel free to go farther.
    3. Note that PRINTER_RADIUS isn't in the eeprom - you'll need to set it in firmware and then reload the firmware.
  5. The Z_MAX_HEIGHT shouldn't change during this process, but it's always helpful to check and record it every cycle - it ensures nothing odd is happening.
At this point, you should be able to print anything!  Next post will be about checking dimensional accuracy, and I promise to throw some pictures in.

No comments:

Post a Comment