Duet3D Logo Duet3D
    • Tags
    • Documentation
    • Order
    • Register
    • Login

    Multiple z endstops + duex 5+ probe

    Scheduled Pinned Locked Moved
    Firmware installation
    2
    2
    114
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • marcochaundefined
      marcocha
      last edited by

      Hello,

      i've been tweaking my diy 3d printer for a while, but i can't seem to get this part right. First here it is my last config.g

      ; Configuration file for Duet WiFi (firmware version 3.3)
      ; executed by the firmware on start-up
      ;
      ; generated by RepRapFirmware Configuration Tool v3.3.4 on Tue Oct 19 2021 11:13:27 GMT+0200 (Ora legale dell’Europa centrale)
      
      ; General preferences
      M575 P1 S1 B57600                                  ; enable support for PanelDue
      G90                                                ; send absolute coordinates...
      M83                                                ; ...but relative extruder moves
      M550 P"Da Queen"                                   ; set printer name
      M669 K1                                            ; select CoreXY mode
      
      ; Network
      M552 S1                                            ; enable network
      M586 P0 S1                                         ; enable HTTP
      M586 P1 S0                                         ; disable FTP
      M586 P2 S0                                         ; disable Telnet
      
      ; Drives
      
      M584 X0 Y1 Z5:6:7:8 E3                             ; nomino Z5 Z6 Z7 Z8 
      
      M569 P0 S0                                         ; physical drive 0 goes backwards
      M569 P1 S0                                         ; physical drive 1 goes backwards
      M569 P3 S1                                         ; physical drive 3 goes forwards
      M569 P5 S0                                         ; duex5 motor z1  goes backwards
      M569 P6 S0                                         ; duex5 motor z2 goes backwards
      M569 P7 S0                                         ; duex5 motor z3 goes backwards
      M569 P8 S0                                         ; duex5 motor z4 goes backwards
      
      G4 S1
      
      M350 X16 Y16 Z16 E16 I1                           ; configure microstepping with interpolation
      M92 X80.00 Y80.00 Z400.00  E420.00                ; set steps per mm U400.00 V400.00 W400.00 A400.00
      M566 X900.00 Y900.00 Z60.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 X1000 Y1000 Z1000 E1000 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 X490 Y640 Z415 S0                                              ; set axis maxima
      
      M307 H7 A-1 C-1 D-1                                ;disable heater 7 to free pwm 5
      
      M574 Z1 S2                                         ; configure Z-probe endstop for low end on Z
      
      ; Z-Probe
      M950 S0 C"duex.pwm5"                               ; create servo pin 0 for BLTouch
      M558 P9 C"^zprobe.in" H5 F60 T2000                 ; set Z probe type to bltouch and the dive height + speeds     M558 P9 C"^zprobe.in" H5 F120 T6000
      G31  P500 X0 Y0 Z0                                 ; set Z probe trigger value, offset and trigger height
      M557 X100:400 Y200:440 S20                         ; define mesh grid
      
      ; Endstops
      M574 X1 S1 P"!xstop"                                                ; configure switch-type (e.g. microswitch) endstop for low end on X via pin xstop
      M574 Y1 S1 P"!ystop+!e0stop"                                        ; configure switch-type (e.g. microswitch) endstop for low end on Y via pin ystop
      M574 Z2 S1 P"exp.e3stop+exp.e4stop+exp.e5stop+exp.e6stop"                                 
      
      ; Heaters
      M308 S0 P"e0temp" Y"thermistor" T100000 B4138     ; configure sensor 0 as thermistor on pin e0temp
      M950 H1 C"e0heat" T0                              ; create nozzle heater output on e0heat and map it to sensor 1
      M307 H1 B0 S1.00                                  ; disable bang-bang mode for heater  and set PWM limit
      M143 H1 S350                                      ; set temperature limit for heater 1 to 280C
      
      M308 S1 P"bedtemp" Y"thermistor" T100000 B4138 ; configure sensor 0 as thermistor on pin bedtemp
      M950 H0 C"bedheat" T1                          ; create bed heater output on bedheat and map it to sensor 0
      M307 H0 B0 R0.883 C375.5 D7.64 S1.00                               ; enable bang-bang mode for the bed heater and set PWM limit
      M140 H0                                        ; map heated bed to heater 0
      M143 H0 S120                                   ; set temperature limit for heater 0 to 120C
      
      ; Fans
      M950 F0 C"!fan0" Q500                          ; create fan 0 on pin fan0 and set its frequency
      M106 P0 S0 H-1                                 ; set fan 0 value. Thermostatic control is turned off
      M950 F1 C"duex.fan5" Q500                      ; create fan 1 on pin DUEX FAN8 and set its frequency
      M106 P1 S1 H1 T45                              ; set fan 1 value. 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 S10 R11 P"M913 X0 Y0 G91 M83 G1 Z3 E-5 F1000" ; set voltage thresholds and actions to run on power loss
      
      

      Basically i want my z axis to go to the upper limit switches when homing in order to align themselves (4 z motors with 4 z endstops) and then deploy the probe until the bed.

      I was precedently using 3 motors connected to the duex 5 and 1 to duet2wifi, the homing worked but i noticed that one of the motors was losing steps and didn't hold the position properly, so i'm trying to connect all of them to the duex5.

      This was the config.g that made the homing work but one motor to miss steps;

      ; Drives
      
      M584 X0 Y1 Z4:5:6:7 E3                             ; nomino Z5 Z6 Z7 Z8 
      
      M569 P0 S0                                         ; physical drive 0 goes backwards
      M569 P1 S0                                         ; physical drive 1 goes backwards
      M569 P3 S1                                         ; physical drive 3 goes forwards
      M569 P4 S0
      M569 P5 S0                                         ; duex5 motor z1  goes backwards
      M569 P6 S0                                         ; duex5 motor z2 goes backwards
      M569 P7 S0                                         ; duex5 motor z3 goes backwards
      ;M569 P8 S0                                        ; duex5 motor z4 goes backwards
      
      M574 Z1 S2                                         ; configure Z-probe endstop for low end on Z
      
      ; Z-Probe
      M950 S0 C"duex.pwm5"                               ; create servo pin 0 for BLTouch
      M558 P9 C"^zprobe.in" H5 F60 T2000                 ; set Z probe type to bltouch and the dive height + speeds     M558 P9 C"^zprobe.in" H5 F120 T6000
      G31  P500 X0 Y0 Z0                                 ; set Z probe trigger value, offset and trigger height
      M557 X100:400 Y200:440 S20                         ; define mesh grid
      
      ; Endstops
      M574 X1 S1 P"!xstop"                                                ; configure switch-type (e.g. microswitch) endstop for low end on X via pin xstop
      M574 Y1 S1 P"!ystop+!e0stop"                                        ; configure switch-type (e.g. microswitch) endstop for low end on Y via pin ystop
      M574 Z2 S1 P"!e1stop+!duex.e2stop+!duex.e3stop+!duex.e4stop"                                 
      
      

      Than i tried to define with this code the last motor on the duex5 but i received the message failed to enable endstop, receiveng status no z endstop with m119

      M584 X0 Y1 Z5:6:7:8 E3                             ; nomino Z5 Z6 Z7 Z8 
      
      M569 P0 S0                                         ; physical drive 0 goes backwards
      M569 P1 S0                                         ; physical drive 1 goes backwards
      M569 P3 S1                                         ; physical drive 3 goes forwards
      ;M569 P4 S0
      M569 P5 S0                                         ; duex5 motor z1  goes backwards
      M569 P6 S0                                         ; duex5 motor z2 goes backwards
      M569 P7 S0                                         ; duex5 motor z3 goes backwards
      M569 P8 S0                                        ; duex5 motor z4 goes backwards
      
      M574 Z1 S2                                         ; configure Z-probe endstop for low end on Z
      
      ; Z-Probe
      M950 S0 C"duex.pwm5"                               ; create servo pin 0 for BLTouch
      M558 P9 C"^zprobe.in" H5 F60 T2000                 ; set Z probe type to bltouch and the dive height + speeds     M558 P9 C"^zprobe.in" H5 F120 T6000
      G31  P500 X0 Y0 Z0                                 ; set Z probe trigger value, offset and trigger height
      M557 X100:400 Y200:440 S20                         ; define mesh grid
      
      ; Endstops
      M574 X1 S1 P"!xstop"                                                ; configure switch-type (e.g. microswitch) endstop for low end on X via pin xstop
      M574 Y1 S1 P"!ystop+!e0stop"                                        ; configure switch-type (e.g. microswitch) endstop for low end on Y via pin ystop
      M574 Z2 S1 P"!duex.e2stop+!duex.e3stop+!duex.e4stop+!duex.e5stop"      
      

      After that i changed from duex.estop to exp.estop and now it detects the motors, but when i home only 3 motors move and one stays still. I tried first with e2 e3 e4 e5 endstops ports than i tried with e3 e4 e5 e6 and another doesn't move while the other now does, so i guess it's something in the firmware. Motors work fine when moving outside of homing z procedure.
      Here it is homez.g:

      ; homez.g
      ; called to home the Z axis
      ;
      ; generated by RepRapFirmware Configuration Tool v3.3.4 on Tue Oct 19 2021 11:13:27 GMT+0200 (Ora legale dell’Europa centrale)
      
      
      G91                 ; relative positioning
                                                
      G1 H1 Z415 F3000   ; Move Z down until the switches triggers   
      
      G90                 ; absolute positioning
      G1 X245 Y320 F6000    ; go to first probe point
      G30                 ; home Z by probing the bed
      
      ; Uncomment the following lines to lift Z after probing
      ;G91                ; relative positioning
      ;G1 Z5 F100         ; lift Z relative to current position
      ;G90                ; absolute positioning
      
      

      I'm out of ideas i tried everything that came to mind, also checked connections and hardware and it seems fine. What am i missing? Thank you

      1 Reply Last reply Reply Quote 0
      • Phaedruxundefined
        Phaedrux Moderator
        last edited by

        What firmware version are you running?
        Can you send M122 and M98 P"config.g" and post the results here?

        Z-Bot CoreXY Build | Thingiverse Profile

        1 Reply Last reply Reply Quote 0
        • First post
          Last post
        Unless otherwise noted, all forum content is licensed under CC-BY-SA