[Solved] Sensorless Homing Question

  • Hello again,

    so im testing running the prusa MMU2 directly with the duet which is going well so far macro wise but the issue im having is with homing one of the additional axes. C in particular, A and B ive sorted, im un able to tune this axis to home correctly. it just drives to the minimum and "grinds" against the endstop. i currently just drive it to the minimum and force a G92 C0 to get around this for now.
    Ive tried low and high currents with M913 also adjusted the H and S parameters all over the place and cant get it to trip the endstop, even on S63 and turning down the H parameter.

    Now i believe it could be related to my specific setup as the C axis has really low steps per mm (26) as its essentially a direct drive pulley and the motor has quite low inductance. i run my system at 24V. im thinking possibly a solution is to replace this motor with a 5 to 1 geared stepper .
    Anyone have some experience with this to share?

    Heres a pic: the C axis is the top left with the grey idler pulley

    Motor Specs:

    Manufacturer Part Number 17HS19-2004S1
    Step Angle 1.8°
    Step Accuracy 5%
    Holding Torque 59Ncm(83.6oz.in)
    Rated Current/phase 2.0A
    Phase Resistance 1.4ohms
    Voltage 2.8V
    Inductance 3.0mH±20%(1KHz)
    Weight 400g

    Firmware Details:

    Firmware Name: RepRapFirmware for Duet 2 WiFi/Ethernet
    Firmware Electronics: Duet WiFi 1.02 or later + DueX2
    Firmware Version: 2.01(RTOS) (2018-07-26b2)
    WiFi Server Version: 1.21
    Web Interface Version: 1.22.3


    M913 C20 ; reduce motor current to 50% to prevent belts slipping
    M915 C S63 H20 F0 R0
    G91 ; use relative positioning
    G1 S1 C10 F10000 ; move idler out 5mm
    G1 S1 C-120 F20000 ; move idler home
    M400 ; make sure everything has stopped before we reset the motor currents
    ;G92 C0
    M913 C100 ; motor currents back to normal
    G90 ; back to absolute positioning

    Config.g excerpt:

    ; Drives
    M569 P0 S0 ; Drive 0 goes forwards X
    M569 P1 S0 ; Drive 1 goes forwards Z
    M569 P2 S1 ; Drive 2 goes backwards Y
    M569 P3 S1 ; Drive 3 goes backwards E
    M569 P4 S0 ; Drive 4 goes forwards A
    M569 P5 S0 ; Drive 5 goes forwards B
    M569 P6 S0 ; Drive 6 goes forwards C
    M584 X0 Y2 Z1 E3 A4 B5 C6 ; Apply custom drive mapping
    M350 X16 Y16 Z16 E16 A16 B16 C16 I1 ; Configure microstepping with interpolation
    M92 X100 Y100 Z100 E476.5 A400 B145 C26 ; Set steps per mm
    M566 X800 Y800 Z200 E2000 A400 B2000 C2000 ; Set maximum instantaneous speed changes (mm/min)
    M203 X9000 Y9000 Z1800 E3000 A2000 B4000 C9000 ; Set maximum speeds (mm/min)
    M201 X1500 Y1500 Z500 E5000 A500 B5000 C5000 ; Set accelerations (mm/s^2)
    M906 X1000 Y1000 Z1000 E1200 A1000 B1200 C2000 I30 ; Set motor currents (mA) and motor idle factor in per cent
    M84 S30 ; Set idle timeout

    ; Axis Limits
    M208 X-10 Y0 Z0 A0 B-1000 C0 S1 ; Set axis minimum
    M208 X260 Y250 Z280 A75 B1000 C80 S0 ; Set axis maximum

  • administrators

    S63 is very low stall sensitivity. You need a much lower value. I find S1 to S3 is right for most motors. You can even use negative values of S if necessary.

    With such a low steps/mm you will need to use quite a fast homing speed to achieve the minimum RPM set by the H parameter.

  • So a negative value is more sensitive? I wrongly assumed it was the other way around

  • cheers david, S3 just worked with F20000


    thanks again

  • administrators

    I've added a note to the description of the S parameter in M915 on the GCodes wiki page.

Log in to reply