Easy check for steps/mm on deltas with fsr's



  • I am still in the process of dialing in my Delta Printer, I am still fighing with 6 factor calibration vs. 7 factor calibration (more on this on another thread) and to better understand what is going on I am trying to measure as precise as possible the geometry of my printer.

    I checked that the towers are orthogonal to my base plate (a mdf plate 60x100cm) by using a 100x40cm mdf plate, the towers are parallel to the plate.
    I also checked the distance between the towers on both top & bottom. they match within 0.5mm (the precision of my steel-ruler is 0.5mm)
    I also checked that the bed is parallel to the ground plate, also looking good.

    To get an idea on what my endstop positions really are I came up with the following:

    a) I set M665 / M666 in config.g to defaults that closely match what I have measured (and I want to make sure that everything looks symetic to the algorithm):

    M665 L360 R170 H391 B150.0 X0 Y0 Z0
    M666 X0 Y0 Z0 A0.00 B0.00

    b) I check the H-offset of the points where the fsr's sit with the paper method as desribed in the wiki:
    X0.00 Y150.00 H-0.09
    X129.9 Y-75 H0.006
    X-129.9 Y-75 H0.019

    so all three fsr's trigger at pretty much the same height.

    Now I remove the rods and place a 20x40 extrusion on the bed so that I can trigger one fsr at a time when the carriage hits the extrusion.

    Now I run this small macro:

    ; make sure that the carriage can move to the height of the bed
    M208 S1 Z-500
    ; home twice, too lazy to adjust G1 command in homedelta.g
    G28
    G28
    ; you will need to adjust Z-300 with something that puts your carrige a few milimeters away from the extrusion
    G0 X0 Y0 Z-300
    ; measure
    G30 S-1
    ; home twice, no need to adjust G1 command in homedelta.g
    G28
    G28

    for each carriage.

    Now I check to see if the results of G30 are close to each other.

    If they are close then the differences between the numbers are the endstop offsets. If they differ (say 1%) then perhaps there is an issue with steps/mm

    In my case values are quite close so the next step is now to adjust endstop positions in M666 until the height reported by G30 is approximately the same for all three towers. I created a 2nd macro that repeats homing and probing 5 times and with this I came up with the following result:

    Homing X: Homing Y: Homing Z:
    -323.664 -323.676 -323.676
    -323.67 -323.676 -323.67
    -323.676 -323.664 -323.67
    -323.658 -323.676 -323.689
    -323.676 -323.676 -323.676

    Average: -323.669 -323.674 -323.676
    Mean Dev: 0.0070 0.0048 0.0069

    after adjusting endstop positions to:

    M666 X-0.2 Y-0.265 Z-0.345

    This now gives me a feeling in two ways:

    The endstop positions look same (within 150 micrometers) and I see that the combination of fsr and optical endstops has nice repeatability.

    Another very positive effect of this method was that I was focused on a much simpler system because there is no rods/effector attached.

    This helped me to find issues with a pulley with an off-center bore and one flag slightly touching the optical endstop.

    What do you guys think, is this method valid or did I forget something that should be taken into account?



  • try with 8 factor calibration



  • So I checked my steps per mm in a different way, with a pencil and calipers.

    I placed a ruler on the edge of one of my carriage rollers at all three towers and marked it's position with a pencil along the frame of the printer in the homed position.

    Then I took all the carriages down 300mm and marked the position again on the same roller against the frame.

    I took a 300mm (12") caliper and lined it up against the marks and I'd say it was accurate with ~0.5mm or less.

    It does appear that all of my stepper motors should be almost exactly 80 steps per mm as calculated (if they are off then it's only 0.17mm or less per 100mm - which is acceptable).


Locked
 

Looks like your connection to Duet3D was lost, please wait while we try to reconnect.