Get our free book (in Spanish or English) on rainwater now - To Catch the Rain.

Delta calibration

From Appropedia
Jump to: navigation, search

Sunhusky.png By Michigan Tech's Open Sustainability Technology Lab.

Wanted: Students to make a distributed future with solar-powered open-source 3-D printing.
Currently looking for PhD or MSC student interested in solar energy policy- apply now!
Contact Dr. Joshua Pearce - Apply here

MOST: Projects & Publications, Methods, Lit. reviews, People, Sponsors, News
Updates: Twitter, Instagram, YouTube


Tandem Build MOST Delta Navigation
Green indicate workshop tasks
Printer Primer
Soldering and tinning
Assembling hot end
Drilling Pilot Holes
Person 1 Person 2
Tie Rods and Pulleys Epoxying Magnets
Motor End Assembly Idler End Assembly
Extruder Drive Mount Bases
End Effector Frame
Printing Basics

Setting Motor Reference Voltage

Melzi controller board with reference voltage trim pots highlighted.
The stepper motors will not operate correctly if the reference current is set properly on the Melzi controller board. Reference voltage is adjusted by turning the small trim pots located next to the motor controllers and are highlighted in the picture at right. Most motors will work correctly with a reference voltage of about 0.42V (420 mV). Do not perform the following with 12V power applied to the Melzi board. Only USB power is required.
Close up of reference voltage pot.
  1. Tighten the negative (black) probe of a volt meter into the ground (gnd) screw terminal on the Melzi main power terminal so that both hands are free to manipulate the pot and hold the positive probe. Set the voltmeter to DC volts or DC millivolts, if available.
  2. Insert the mini-B USB cable into the USB socket on the Melzi board and plug it into a computer that is turned on.
  3. Touch the positive (red) probe of the volt meter to the face of the trim pot and note the voltage. If different than 0.42V (420 mV), turn the pot until approximately 0.42V is measured.
  4. Repeat with the remaining trim pots.
  5. Remove the negative probe from the ground terminal of the power supply.


Calibration of the delta printer is exceptionally important. Improper physical dimensions entered in the firmware will result in the nozzle crashing into the build platform or not getting close enough to it; the nozzle will lift from or hit the build platform if the printable radius is wrong and the prints produced will be out of scale.

Repetier-Firmware calibration

"Calibration" is having the correct values in firmware for printable height (Z_MAX_LENGTH), printable radius (a combination of END_EFFECTOR_HORIZONTAL_OFFSET, CARRIAGE_HORIZONTAL_OFFSET and PRINTER_RADIUS) and tie rod length (DELTA_DIAGONAL_ROD) and the number of steps required to drive one mm of filament (EXT0_STEPS_PER_MM).

The steps to drive 1mm of filament should be relatively close if the firmware was downloaded from MTU-MOST's github delta repository. Adjust EXT0_STEPS_PER_MM if under- or over-extrusion is noticed.

Tie rod length is the center-to-center distance between the tie rod ball joint pivot points. This dimension should be the same for every one of the six tie rods and should have been recorded during the build process. With regards to the physical dimensions, it is known with the highest accuracy. It is sufficient to enter the measured value for DELTA_DIAGONAL_ROD in Repetier-Firmware Configuration.h.

The dimension known with the least precision is the printable radius. Printable radius is the difference between PRINTER_RADIUS and the sum of the two OFFSET values. The offset values are known with reasonably high accuracy and precision and should not require changing if the MTU-MOST delta firmware was downloaded. The design of the printer is intended to produce a printer have PRINTER_RADIUS equal to 175, but slight differences in linking board length or not fully butting the board into the apex ends will yield a different radius. Unfortunately, as of this writing, there is no sure way measure it and an iterative, empirical approach is used to determine this value.

Changing the tie rod length or the radius will result in a different value for printable height, adding to the iterative nature of this process.

Determining Z_MAX_LENGTH

Starting with the as-supplied MTU-MOST delta firmware [1]:

  1. From Repetier-Host, open Printer Settings and set the Printable Height to 300mm. Note that this is approximately 25mm more than it really is, so be careful not to move to values which are too close to 0, as it will make the nozzle crash into the build platform.
  2. Connect to the printer. Note: BAUDRATE 115200
  3. Home the printer by clicking the home icon in the manual control tab.
  4. Drive the effector to 30mm above the firmware's idea of the build platform height (enter G1 Z30 in the text box above the motion controls on the Manual tab and click Send). This should position the nozzle approximately 5mm above the actual build platform.
  5. Use the 1mm and 0.1mm z-direction controls to carefully move the nozzle closer to the bed until the nozzle contacts the build platform.
  6. If the nozzle cannot reach the build platform, overestimate the additional distance required and add this amount to Z_MAX_LENGTH in firmware, flash the firmware and repeat.
  7. Once the nozzle has come into contact with the bed, use the 0.1mm z-direction controls to move it up until it just clears the build platform. Carefully listening to the printer at this step can help as either a tick and/or hum can be heard when the nozzle contacts the platform.
  8. Move the effector up and down a few times listening for the nozzle to contact the bed until you're confident you've located the contact point. Note the value of z reported by Repetier-Host.
  9. Subtract the z-value reported by Repetier-Host from the current setting of Z_MAX_LENGTH in firmware (300 at first), flash the updated firmware to the controller and repeat these steps until confident that the printable height is correct.


The procedure assumes that the tie rod length measured during assembly is accurate and has been entered in the firmware flashed to the controller.

  1. Home the printer by clicking the home icon in the manual control tab.
  2. Move the nozzle to 0.5mm of the platform by entering G1 Z0.5 in the text box in the Manual tab and click Send.
  3. While watching the distance of the nozzle from the build platform, move the effector towards the outer radius by clicking the 10mm control in the y-direction. Note whether the nozzle is getting closer to or farther from the build platform.
  4. If the distance between the nozzle and platform increases (the nozzle raises), decrease the value of PRINTER_RADIUS in firmware and flash to the controller.
  5. If the distance between the nozzle and platform decreases (the nozzle lowers), increase the value of PRINTER_RADIUS in firmware and flash to the controller.
  6. Repeat the previous several steps until there is no noticeable change in the distance between the nozzle and build platform as the effector is moved towards the outer radius.
  7. Once the effector moves in a relatively horizontal plane, slice and print the calibration cube model found in the stl folder at the MTU-MOST github delta repository [2].
  8. Plastiform M3 screws into two holes on opposite sides of the shape and measure the distance from OD to OD with calipers. The measurement should be 25mm +/- 0.5mm.
  9. if the distance measured is greater than 25.5mm, decrease PRINTER_RADIUS in firmware by 0.1mm, flash to the controller and repeat the print and measurement.
  10. if the distance measured is less than 24.5mm, increase PRINTER_RADIUS in firmware by 0.1mm, flash to the controller and repeat the print and measurement.


Settings in Repetier Host:

  1. Baud Rate of 115200
  2. Make sure the correct port is selected.
  3. Make sure the printer shape is set to Rockstock or circular
  4. Try to get the radius and height right, although that doesn't effect the print.