Friday, February 17, 2012

Durbie Prusa Mendel Calibration


Supplier: Romsraj.com
Firmware: romscraj/Marlin - GitHub
Motherboard: custom Gen6 to Gen6.d

The configuration of the motherboard firmware is controlled by defines in configuration.h.

We need to edit, re-compile and upload firmware to the electronic.
  1. Install the arduino IDE Arduino 0022 for Window
    File: arduino-0022.zip
  2. Download Romscraj Marlin Modified version
    File: romscraj-Marlin-v1.0.0.beta1-85-g9075268.zip
  3. Copy romscraj-Marlin-9075268\Marlin\Sanguino folder to arduino-0022\hardware
  4. Start the arduino IDE. 
  5. Select Tools -> Board -> Sanguino. 
  6. Select the correct serial port in Tools ->Serial Port 
  7. Select File -> Open,  romscraj-Marlin-9075268\Marlin\Marlin.pde
  8. At Configuration.h tab, find below line:
    // default settings
    #define DEFAULT_AXIS_STEPS_PER_UNIT   {32, 32, 2078.72, 514}
  9. Update the calculation for X, Y, Z, E steps per unit
    // default settings
    #define DEFAULT_AXIS_STEPS_PER_UNIT   {32, 32, 2048, 461.64}
  10. Click the Verify/Compile button
  11. Click Upload button to upload modified firmware to printer
  12. Install PrintRun host controller software
  13. Start PrintRun-Pronterface software
    1. Feed the filament into the extruder and make sure your hot-end is at temperature.
    2. Set your spring compression so that the hobbed bolt teeth dig into the filament.
  14. Update the calibration variables for X, Y, Z, E steps per uni:

Calculation for X, Y, Z, E steps per unit

XY Motor Steps (Steps per mm - belt)

Formula:

( motor_steps_per_revolution * (1/driver_microstepping) ) / (belt_pitch * motor_pulley_teeth)

where
  • motor_steps_per_revolution is 360° / Motor_step_angle°
Motor step angle: 1.8 degree
Driver microstepping: 1/8 - UStep (Gen6 board)
Belt pitch: 5mm Pitch (T5, GT2, HTD)
Tooth count: 10

Calculation: ((360°/1.8°) * (1/(1/8)))/(5 * 10)

Set it in configuration.h in your firmware.
Steps per mm value = 32

Z Motor Steps (Steps per mm - leadscrew)

Formula:

( (motor_steps_per_revolution * (1/driver_microstepping)) / leadscrew_pitch ) * (gear_ratio)

where
  • motor_steps_per_revolution is 360° / Motor_step_angle°
  • gear_ratio is Motor pulley teeth count / Leadscrew pulley teeth count
    (Prusa is 1:1 for direct drive)
Motor step angle: 1.8 degree
Driver microstepping: 1/8 - UStep (Gen6 board)
Leadscrew pitch: M8 - metric (1.25mm per rotation)
Gear ratio : 10 (Durbie custom aluminium motor pulley) : 16 (RP Motor pulley)

Calculation: ( ( (360/1.8) * (1/ (1/8)) )/1.25) * (16 / 10)

Set it in configuration.h in your firmware.
Steps per mm value is 2048

E Motor Steps (Steps per mm - volumetric)

Formula:

(motor_steps_per_revolution * (1/driver_microstepping) * gear ratio) / (pinch_wheel_diameter * 3.14)

where
  • motor_steps_per_revolution is 360° / Motor_step_angle°
  • gear_ratio is Driven gear teeth count / Motor pulley teeth count
Calculation: ( (360/1.8) * (1/ (1/8)) * (53/9) ) / (6.5 *3.14)

Set it in configuration.h in your firmware.
Steps per mm value is 461.64

Note: The result is theoretically right, but you might still need to calibrate your machine to get finest detail.

Calibration for X, Y, Z, E steps per unit 


Calibrating X, Y&Z Step/mm
    • X Steps per mm 32 / 98.60 * 100 = 32.45, 32.45/100.73 * 100 = 32.21
      (Pronterface move X +100)
    • Y Steps per mm 32 / 98.70 * 100 = 32.42
      (Pronterface move Y +100)
    • Z Steps per mm 2048 / 9.94 * 10 = 2060.36, 2060.36 / 9.98 * 10 = 2064.48
      (Pronterface move Z +10) 

     
    Skeinforge 40+ Calibrate Extruder
    •  E Steps per mm 461.64 / 26.64 * 30 = 519.86, 519.86 / 25.35 * 30 = 615
      (Pronterface, Click Extrude 30mm)

    Resource

    1 comment:

    1. Thank you for the post.... your good teaching solved my problem!

      ReplyDelete