H-Bot Endstop problem



  • Hi everybody,
    This is Norbert from Germany and I hope, anybody can help me. I've seen others have similar problems but nothing helped me.
    My Board is Duet ethernet with firmware 2.04. I am using inductive NPN sensors for x,y and z axis.
    The motors are running into the correct directions. Z-Axis is working fine.
    When I push the x- and y-axis towards the sensors the LED on the Board are illuminating and M119 says X and Y are in Home position. If I push it away it says they are not stopped.
    When I try to home the Axis the Steppers don't stop. Here are my homing files:

    homex:

    G91 ; relative positioning
    G1 H2 Z5 F9000 ; lift Z relative to current position
    G1 H1 X-395 F1800 ; move quickly to X axis endstop and stop there (first pass)
    G1 H2 X5 F9000 ; go back a few mm
    G1 H1 X-395 F360 ; move slowly to X axis endstop once more (second pass)
    G1 H2 Z-5 F9000 ; lower Z again
    G90 ; absolute positioning

    homey:

    G91 ; relative positioning
    G1 H2 Z5 F9000 ; lift Z relative to current position
    G1 H1 Y-295 F1800 ; move quickly to Y axis endstop and stop there (first pass)
    G1 H2 Y5 F9000 ; go back a few mm
    G1 H1 Y-295 F360 ; move slowly to Y axis endstop once more (second pass)
    G1 H2 Z-5 F9000 ; lower Z again
    G90 ; absolute positioning

    homez (Which works)
    G91 ; relative mode
    G1 S1 Z105 F300 ; move Z towards the switch until it triggers
    G1 S2 Z-5 F100 ; move Z back 5mm
    G1 S1 Z10 F100 ; move Z slowly towards the switch until it triggers
    G90 ; back to absolute mode

    And config.g

    M669 K1 ; switch to CoreXY mode

    ; Network
    M552 S1 P172.21.163.110 ; enable network
    M553 P255.255.255.0
    M554 P 172.21.163.2

    M586 P0 S1 ; enable HTTP
    M586 P1 S0 ; disable FTP
    M586 P2 S0 ; disable Telnet

    ; Drives
    M569 P0 S0 ; physical drive 0 goes forwards
    M569 P1 S0 ; physical drive 1 goes forwards
    M569 P2 S1 ; physical drive 2 goes backwards
    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 X32.00 Y32.00 Z640.00 E460.00 ; set steps per mm
    M566 X900.00 Y900.00 Z12.00 E120.00 ; set maximum instantaneous speed changes (mm/min)
    M203 X6000.00 Y6000.00 Z180.00 E1200.00 ; set maximum speeds (mm/min)
    M201 X500.00 Y500.00 Z20.00 E250.00 ; set accelerations (mm/s^2)
    M906 X1600 Y1600 Z500 E500 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 X390 Y290 Z100 S0 ; set axis maxima

    ; Endstops
    M574 X1 Y1 Z2 S0 ; set active high endstops



  • @NL61 I'm not familiar with NPN sensor but maybe there is some latency in the way they trigger? I note that your home Z uses much lower feed rate than X or Y so try reducing the feedrate for X and Y and see if that helps.

    The other thing I note is that you use a feedrate of 9000 mm/sec for initial your Z axis moves which is very fast for a Z axis. I doubt that would cause a problem with XY homing but you ought to reduce that speed.



  • @deckingman
    thanks for your answer, I reduced the speed but this was not the problem. It did not help.



  • @NL61 said in H-Bot Endstop problem:

    When I push the x- and y-axis towards the sensors the LED on the Board are illuminating and M119 says X and Y are in Home position. If I push it away it says they are not stopped.

    did you make sure that x and y endstops are not swapped.

    i.e if you trigger the endstop and check with m119 only the x is at stopped



  • @Veti
    thank you, I tried this. If I trigger x, only x is stopped



  • Please very that you are running 2.04. because the commands in your homing file contain statements that would not cause a stop in previous versions.

    post the output of M115



  • @Veti
    M115
    FIRMWARE_NAME: RepRapFirmware for Duet 2 WiFi/Ethernet FIRMWARE_VERSION: 2.04 ELECTRONICS: Duet Ethernet 1.02 or later FIRMWARE_DATE: 2019-11-01b1



  • Don't use G1 H2 ... moves in your home.g files. These make the motors move individually, which you don't want. See https://duet3d.dozuki.com/Wiki/ConfiguringRepRapFirmwareCoreXYPrinter#Section_Homing_files

    Ian



  • @droftarts
    Hi Ian, thanks, I tried this out already. Always the same.
    My homex looks like this now:

    G91 ; relative positioning
    G1 S2 Z5 F1800 ; lift Z relative to current position
    G1 S1 X-395 F1800 ; move quickly to X axis endstop and stop there (first pass)
    G1 S2 X5 F9000 ; go back a few mm
    G1 S1 X-395 F360 ; move slowly to X axis endstop once more (second pass)
    G1 S2 Z-5 F1800 ; lower Z again
    G90 ; absolute positioning



  • this looks ok.

    please verify that you are changing the files in the sys folder and not in the macro folder



  • The link to the CoreXY homing files page needs updating; better to use G1 H#..., not G1 S#..., as use of the 'S' parameter for homing is deprecated (though still works in RRF2.x); see G1.

    You shouldn't be using H2/S2. This moves the individual motor, so the nozzle will move diagonally. Just use H1. You don't need to specify H/S on the Z moves at all, unless it's likely to be near the endstop.

    What does it actually do during homing X? Step through the Gcode line by line (send each line via the console) and report what happens.

    Ian



  • @NL61 said in H-Bot Endstop problem:

    Comments in bold.

    G91 ; relative positioning - this is OK

    G1 S2 Z5 F1800 ; lift Z relative to current position - this is OK too but you should use H2 here for the single Z motor

    G1 S1 X-395 F1800 ; move quickly to X axis endstop and stop there (first pass) - this is OK but again, use H instead of S

    G1 S2 X5 F9000 ; go back a few mm - before this move, the axis has already been homed so you don't need the S2 parameter - remove it.

    G1 S1 X-395 F360 ; move slowly to X axis endstop once more (second pass) - this is OK.

    G1 S2 Z-5 F1800 ; lower Z again - this should be OK but use H instead of S.

    G90 ; absolute positioning - this Ok

    Alternatively, you could put M564 H0 at the start of the homing file and take out all the S2 or H2 parameters. Then put M564 H1 at the end.



  • @deckingman
    I changed everything as you wrote. It still crashes into the frame.



  • can you execute the commands from deckingman in the console one by one manually



  • @Veti
    I did so. After G1 H1 X-395 F1800 it crashed.



  • @NL61 Do you have a probe set up in config.g? Please post your whole config.g.

    Ian



  • @droftarts

    Here it is:

    G90 ; send absolute coordinates...
    M83 ; ...but relative extruder moves
    M550 P"Olli3" ; set printer name

    M669 K1 ; switch to CoreXY mode

    ; Network
    M552 S1 P172.21.163.110 ; enable network
    M553 P255.255.255.0
    M554 P 172.21.163.2

    M586 P0 S1 ; enable HTTP
    M586 P1 S0 ; disable FTP
    M586 P2 S0 ; disable Telnet

    ; Drives
    M569 P0 S0 ; physical drive 0 goes forwards
    M569 P1 S0 ; physical drive 1 goes forwards
    M569 P2 S1 ; physical drive 2 goes backwards
    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 X32.00 Y32.00 Z640.00 E460.00 ; set steps per mm
    M566 X900.00 Y900.00 Z12.00 E120.00 ; set maximum instantaneous speed changes (mm/min)
    M203 X6000.00 Y6000.00 Z180.00 E1200.00 ; set maximum speeds (mm/min)
    M201 X500.00 Y500.00 Z20.00 E250.00 ; set accelerations (mm/s^2)
    M906 X1600 Y1600 Z500 E500 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 X390 Y290 Z100 S0 ; set axis maxima

    ; Endstops
    M574 X1 Y1 Z2 S0 ; set active high endstops

    ; Z-Probe
    M558 P0 H5 F120 T6000 ; disable Z probe but set dive height, probe speed and travel speed
    M557 X15:215 Y15:195 S20 ; define mesh grid

    ; Heaters
    M140 H-1 ; disable heated bed
    M305 P1 T100000 B4725 C7.060000e-8 R4700 ; set thermistor + ADC parameters for heater 1
    M143 H1 S280 ; set temperature limit for heater 1 to 280C

    ; Fans
    M106 P0 S0 I0 F500 H-1 ; set fan 0 value, PWM signal inversion and frequency. Thermostatic control is turned off
    M106 P1 S1 I0 F500 H1 T45 ; set fan 1 value, PWM signal inversion and frequency. Thermostatic control is turned on

    ; Tools
    M563 P0 D0 H1 F0 ; define tool 0
    G10 P0 X0 Y0 Z0 ; set tool 0 axis offsets
    G10 P0 R0 S0 ; set initial tool 0 active and standby temperatures to 0C

    ; Custom settings are not defined

    ; Miscellaneous
    M911 S20 R22 P"M913 X0 Y0 G91 M83 G1 Z3 E-5 F1000" ; set voltage thresholds and actions to run on power loss



  • @NL61 said in H-Bot Endstop problem:

    I did so. After G1 H1 X-395 F1800 it crashed.

    this is VERY strange.
    if M119 says the endstop is triggered the G1 H1 command should stop when the endstop is triggered.

    The Firmware version is the correct one.


  • administrators

    I agree, very strange. Typical causes of this type of problem would be:

    • Endstops pulling the input low enough to light the LED, but not low enough to register as a low input to the processor. But in that case, M119 wouldn't show the endstops as triggered when you test them.
    • X and Y endstop connections swapped
    • Axis movement incorrect (easy to do on a CoreXY machine), for example G1 H1 X-395 is actually moving the Y axis, or is moving X away from the endstop switch.


  • @dc42
    thanks for answering,
    I tried M119 serveral times for each axis, it always shows if triggered or not.
    the endstops are not swapped and the movement goes to the correct direction.


Log in to reply