Multiple z endstops + duex 5+ probe
-
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
-
What firmware version are you running?
Can you send M122 and M98 P"config.g" and post the results here?