Sensorless homing



  • I am trying to enable sensorless homing on my cartesian following the guide the motors don't seem to be detecting or stopping. bellow is my config files.



  • config g :

    ; Drives
    M569 P0 S0 ; physical drive 0 goes forwards
    M569 P1 S0 ; physical drive 1 goes forwards
    M569 P2 S1 ; physical drive 2 goes forwards
    M569 P3 S0 ; physical drive 3 goes forwards
    M584 X0 Y1 Z2 E3 ; set drive mapping
    M350 X16 Y16 Z16 E16 I1 ; configure microstepping with interpolation
    M92 X80.00 Y80.00 Z400.00 E633.00 ; set steps per mm
    M566 X900.00 Y900.00 Z12.00 E120.00 ; set maximum instantaneous speed changes (mm/min)
    M203 X18000.00 Y18000.00 Z600.00 E3000.00 ; set maximum speeds (mm/min)
    M201 X500.00 Y500.00 Z100.00 E5000.00 ; set accelerations (mm/s^2)
    M906 X1200 Y1200 Z1200 E1200 I30 ; set motor currents (mA) and motor idle factor in per cent
    M84 S30 ; Set idle timeout

    ; Axis Limits
    M208 X0 Y0 Z0 S1 ; set axis minima
    M208 X310 Y310 Z400 S0 ; set axis maxima

    ; Endstops
    M574 X1 Y1 S3 ; set endstops controlled by motor stall detection
    M574 Z1 S2 ; set endstops controlled by probe
    M564 H0

    ; Z-Probe
    M307 H3 A-1 C-1 D-1 ; disable heater on PWM channel for BLTouch
    M558 P9 H5 F120 T6000 ; set Z probe type to bltouch and the dive height + speeds
    G31 P500 X0 Y0 Z2.5 ; set Z probe trigger value, offset and trigger height
    M557 X15:215 Y15:195 S20 ; define mesh grid



  • homeall.g

    M98 Phomex.g
    M98 Phomey.g
    M98 Phomez.g

    homey.g

    M400 ; wait til stuff stops
    M574 X1 Y1 S3 ; use stall guard for endstops
    M913 X30 Y30 ; drop motor currents to 30%
    M201 X1000 Y1000 ; reduce acceleration on X/Y to stop false triggers
    M915 P0:1 S3 R0 F0 H400; both motors because corexy; Sensitivity 4, don’t take action, don’t filter, 400steps/sec
    G91 ; set relative
    G1 Z5 F1200 S2
    G1 S2 Y-350 F4000 ; move forward 250mm, stopping at the endstop
    G1 Y10 F1200; move away from end
    G1 Z-5 F1200 S2
    G90 ; back to absolute positioning
    M400 ; wait again
    M913 X100 Y100 ; motor currents back to 100%
    M201 X3000 Y3000 ; accel back to original
    M574 X1 Y1 Z0 S0 ; set endstops back



  • This post is deleted!




  • increase sensitivity until you get wrong readings from the motor starting, then slowly reduce it again.



  • cheers i am guessing the sensitivity is this line...

    M915 P0:1 S3 R0 F0 H400;



  • M915 P0:1 S-5 R0 F0 H400;

    even with s-5 motor keeps trying and not triggering



  • I do believe you can go all the way to -63. Speed, and motor current are also a factor when using the stall detection. it took me quite a bit to find the sweet spot where the stall detection wouldn't detect the ball screw but would detect it hitting the nozzle. I have also read that it works better at higher speeds but lower current settings. Best of luck.



  • The issue you might be having is that you are moving quite slowly at 1200mm/min compared to the number of steps you have set to be reliable. I think many corexy system will move 20mm in 1 full rotation of the motor which would be 400 steps with a 0.9degree motor so that might be your issue. Try lowering that number of steps its your H value in the M915. also try moving faster.



  • sorry is a Cartesian cr-10 belt driven


  • Moderator

    IF sensitivity still isn't getting you to stall detect, decrease current and increase speed.

    Also review your H value in M915 as @baird1fa has said. Default values aren't going to work most likely, you will need to tune it.

    https://duet3d.dozuki.com/Wiki/Stall_detection_and_sensorless_homing


Log in to reply