homing dual z with independant motors
-
duet 2wifi 1.03 ,3.3 fw
cartesian printer
dual z motors connected to z +e1
dual z endstops connected to z +e1
probe connected to probe
can home x, can home y.
z tries to home, it moves to the upper switches and triggers the switches as indicated by the leds on the board but the motors keep trying to go and it just sits there and bounces on the stops, the e1 light flashes. -
; Drives
M569 P0.0 S1 ; physical drive 0 goes forwards
M569 P0.1 S1 ; physical drive 1 goes forwards
M569 P0.2 S0 ; physical drive 2 goes backwards
M569 P0.3 S1 ; physical drive 3 goes forwards
M569 P0.4 S0 ; physical drive 4 goes backwards;M584 X0 Y1 Z2 E3 ; set drive mapping
M584 X0.0 Y0.1 Z0.2:0.4 E0.3 ;two Z motors connected to driver outputs Z and E1
M671 X-18:224 Y112.5:112.5 S0.5 ; leadscrews at left (connected to Z) and right (connected to E1) of X axis
M350 X16 Y16 Z16:16 E16 I1 ; configure microstepping with interpolation
M92 X80.00 Y80.00 Z400.00:400.00 E143.2 ; set steps per mm
M566 X800.00 Y800.00 Z1000.00:1000.00 E3600.00 ; set maximum instantaneous speed changes (mm/min)
M203 X9600.00 Y9600.00 Z1000.00:1000.00 E6000.00 ; set maximum speeds (mm/min)
M201 X1000.00 Y1000.00 Z600.00:600.00 E2000.00 ; set accelerations (mm/s^2)
M906 X1250 Y1300 Z1250:1250 E1250 I30 ; set motor currents (mA) and motor idle factor in per cent
M572 D0 S0.002 ;set pressure advance
M84 S30 ; Set idle timeout; Axis Limits
M208 X-27 Y-35 Z0 S1 ; set axis minima
M208 X250 Y225 Z300 S0 ; set axis maxima
;M208 X-5:205 Y0:200 ; X carriage moves from -5 to 205, Y bed goes from 0 to 200; Endstops ```; Snnn 1 = switch-type (eg microswitch) endstop input, 2 = Z probe (when used to home an axis other than Z), 3 = single motor load detection, 4 = multiple motor load detection
M574 X1 S1 P"!xstop" ; configure active-high endstop for low end on X via pin xstop
M574 Y1 S1 P"!ystop" ; configure active-high endstop for low end on Y via pin ystop
M574 Z2 S1 P"!zstop" ; configure active-high endstops for low end on Z via pins zstop and e1stop
M574 E12 S1 P"!e1stop"
;M574 Z2 S1 P"!zstop+!e1stop" ; configure active-high endstops for high end on Z via pins zstop and e1stop; Filament Sensing
M591 D0 P1 C"!e0stop" S1 ; filament monitor connected to E0 endstop; Z-Probe
M558 P1 C"zprobe.in" H3 F600 T6000 A3 S0.03 ; set Z probe type to unmodulated and the dive height + speeds
G31 P1000 X25 Y14 Z1.50 ; set Z probe trigger value, offset and trigger height
;M557 X45:265 Y45:265 S110 ; define mesh grid glass bed plate
M557 X45:245 Y45:220 S87.5 ; define mesh grid prusa bed plate; Heaters
M308 S0 P"bedtemp" Y"thermistor" T100000 B4138 C0 R4700 ; configure sensor 0 as thermistor on pin bedtemp
M950 H0 C"bedheat" T0 ; create bed heater output on bedheat and map it to sensor 0
;M307 H0 B1 S1.00 ; enable bang-bang mode for the bed heater and set PWM limit
M307 H0 A90.0 C700.0 D10.0 S1.00 V0.0 B1
M140 H0 ; map heated bed to heater 0
M143 H0 S150 ; set temperature limit for heater 0 to 150C
M308 S1 P"e0temp" Y"thermistor" T500000 B4723 C1.196220e-7 ; configure sensor 1 as thermistor on pin e0temp
M950 H1 C"e0heat" T1 ; 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
;M307 H1 A340.0 C140.0 D5.5 S1.00 V0.0 B0
M307 H1 A388.5 C88.1 D2.4 S1.00 V24.2 B0
M143 H1 S500 ; set temperature limit for heater 1 to 500C; 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"fan1" Q500 ; create fan 1 on pin fan1 and set its frequency
M106 P1 S1 H1 T45 ; set fan 1 value. Thermostatic control is turned on
M950 F2 C"duex.fan3" Q500 ; create fan 2 on pin duex.fan3 and set its frequency
M106 P2 S1 H1 T45 ; set fan 2 value. Thermostatic control is turned on
M950 F3 C"duex.fan4" Q500 ; create fan 3 on pin duex.fan4 and set its frequency
M106 P3 S1 H1 T45 ; set fan 3 value. Thermostatic control is turned on; Tools
M563 P0 S"Copper Head" D0 H1 F0 ; define tool 0
G10 P0 X0 Y0 Z0:0 ; 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
T0 ; select first tool
M501 -
; homez.g
; called to home the Z axis
; generated by RepRapFirmware Configuration Tool v3.3.2 on Wed Sep 08 2021 20:07:17 GMT+1200 (New Zealand Standard Time)G90 ; absolute positioning
G1 X125 Y105 F6000 ; go to probe point
G91 ; relative positioning
G1 H2 Z305 E1305 F1800 ; lift Z relative to current position
G1 H1 Z-5 E1-5 F6000
G1 H2 Z305 E1305 F360
G90
G30 ; home Z by probing the bed -
; homeall.g
; called to home all axes
;
; generated by RepRapFirmware Configuration Tool v3.3.1 on Thu Aug 26 2021 19:02:13 GMT+1200 (New Zealand Standard Time)
;G91 ; relative positioning
;G1 H2 Z5 F6000 ; lift Z relative to current position;G1 H1 X-305 Y-305 F1800 ; move quickly to X and Y axis endstops and stop there (first pass)
;G1 X5 Y5 F6000 ; go back a few mm
;G1 H1 X-305 Y-305 F360 ; move slowly to X and Y axis endstops once more (second pass)
;G90 ; absolute positioning
;G1 X125 Y105 F6000
;G30; Uncomment the following lines to lift Z after probing
;G91 ; relative positioning
;G1 Z5.5 F360 ; lift Z relative to current position
;G90 ; absolute positioningG91 ; relative positioning
G1 H2 Z5 F6000 ; lift Z relative to current position
G1 H1 X-282 Y265 F1800 ; move quickly to X and Y axis endstops and stop there (first pass)
G1 H2 X5 Y-5 F6000 ; go back a few mm
G1 H1 X-282 Y265 F360 ; move slowly to X and Y axis endstops once more (second pass)
G1 H1 Z305 F360 ; move Z up stopping at the endstop
G90 ; absolute positioning
G92 Z300 ; set Z position to axis maximum (you may want to adjust this) -
Once you've defined the dual Z axis like that: (modified quotation)
@monkey68 said in homing dual z with independant motors:M584 X0.0 Y0.1 Z0.2:0.4 E0.3 ;two Z motors connected to driver outputs Z and E1
M350 X16 Y16 Z16 E16 I1 ; configure microstepping with interpolation
M92 X80.00 Y80.00 Z400.00 E143.2 ; set steps per mm
M566 X... Y... Z1000.00 ...; set maximum instantaneous speed changes (mm/min)
M203 X... Y... Z1000.00 E... ; set maximum speeds (mm/min)
M201 X... Y... Z600.00 E... ; set accelerations (mm/s^2)
M906 X... Y... Z1250 E... I30 ; set motor currents (mA) and motor idle factor in per cent
...
; endstops
M574 Z2 S1 P"!zstop+!e1stop"you must not refer to E1 in the homing files
@monkey68 said in homing dual z with independant motors:; homez.g
; called to home the Z axis
; generated by RepRapFirmware Configuration Tool v3.3.2 on Wed Sep 08 2021 20:07:17 GMT+1200 (New Zealand Standard Time)
G90 ; absolute positioning
G1 X125 Y105 F6000 ; go to probe point
G91 ; relative positioning
G1 H2 Z305 F1800 ; lift Z relative to current position
G1 H1 Z-5 F6000
G1 H2 Z10 F360
G90
G30 ; home Z by probing the bed -
@o_lampe ok thank you, I have tried that and it makes no difference
-
@monkey68 said in homing dual z with independant motors:
M574 E12 S1 P"!e1stop"
;M574 Z2 S1 P"!zstop+!e1stop" ; configure active-high endstops for high end on Z via pins zstop and e1stopThe first line is incorrect. The second line is correct.
Z1000.00:1000.00
Remove all the duplicated values for Z from config.g
Please share the results of sending M122 and M98 P"config.g"
-
@phaedrux said in homing dual z with independant motors:
M98 P"config.g"
M98 P"config.g"
HTTP is enabled on port 80
FTP is disabled
TELNET is disabled
Endstop configuration:
X: low end switch connected to pin !xstop
Y: low end switch connected to pin !ystop
Z: high end switch connected to pin !zstopWarning: Heater 0 appears to be over-powered. If left on at full power, its temperature is predicted to reach 442C -
@monkey68 ; Network
M552 S1 ; enable network
M586 P0 S1 ; enable HTTP
M586 P1 S0 ; disable FTP
M586 P2 S0 ; disable Telnet; Drives
M569 P0.0 S1 ; physical drive 0 goes forwards
M569 P0.1 S1 ; physical drive 1 goes forwards
M569 P0.2 S0 ; physical drive 2 goes backwards
M569 P0.3 S1 ; physical drive 3 goes forwards
M569 P0.4 S0 ; physical drive 4 goes backwards;M584 X0 Y1 Z2 E3 ; set drive mapping
M584 X0.0 Y0.1 Z0.2:0.4 E0.3 ;two Z motors connected to driver outputs Z and E1
M671 X-18:224 Y112.5:112.5 S0.5 ; leadscrews at left (connected to Z) and right (connected to E1) of X axis
;M350 X16 Y16 Z16:16 E16 I1 ; configure microstepping with interpolation
M350 X16 Y16 Z16 E16 E116 I1
;M92 X80.00 Y80.00 Z400.00:400.00 E143.2 ; set steps per mm
M92 X80.00 Y80.00 Z400.00 E143.2 E1400
;M566 X800.00 Y800.00 Z1000.00:1000.00 E3600.00 ; set maximum instantaneous speed changes (mm/min)
M566 X800.00 Y800.00 Z1000.00 E3600.00 E11000
;M203 X9600.00 Y9600.00 Z1000.00:1000.00 E6000.00 ; set maximum speeds (mm/min)
M203 X9600.00 Y9600.00 Z1000.00 E6000.00 E11000
;M201 X1000.00 Y1000.00 Z600.00:600.00 E2000.00 ; set accelerations (mm/s^2)
M201 X1000.00 Y1000.00 Z600.00 E2000.00 E1600
;M906 X1250 Y1300 Z1250:1250 E1250 I30 ; set motor currents (mA) and motor idle factor in per cent
M906 X1250 Y1300 Z1250 E1250 E11250 I30
M572 D0 S0.002 ;set pressure advance
M84 S30 ; Set idle timeout; Axis Limits
M208 X-27 Y-35 Z0 S1 ; set axis minima
M208 X250 Y225 Z300 S0 ; set axis maxima
;M208 X-5:205 Y0:200 ; X carriage moves from -5 to 205, Y bed goes from 0 to 200; Endstops ```; Snnn 1 = switch-type (eg microswitch) endstop input, 2 = Z probe (when used to home an axis other than Z), 3 = single motor load detection, 4 = multiple motor load detection
M574 X1 S1 P"!xstop" ; configure active-high endstop for low end on X via pin xstop
M574 Y1 S1 P"!ystop" ; configure active-high endstop for low end on Y via pin ystop
M574 Z2 S1 P"!zstop" ; configure active-high endstops for low end on Z via pins zstop and e1stop
M574 E12 S1 P"!e1stop"
;M574 Z2 S1 P"!zstop+!e1stop" ; configure active-high endstops for high end on Z via pins zstop and e1stop; Filament Sensing
M591 D0 P1 C"!e0stop" S1 ; filament monitor connected to E0 endstop; Z-Probe
M558 P1 C"zprobe.in" H3 F600 T6000 A3 S0.03 ; set Z probe type to unmodulated and the dive height + speeds
G31 P1000 X25 Y14 Z1.50 ; set Z probe trigger value, offset and trigger height
;M557 X45:265 Y45:265 S110 ; define mesh grid glass bed plate
M557 X45:245 Y45:220 S87.5 ; define mesh grid prusa bed plate; Heaters
M308 S0 P"bedtemp" Y"thermistor" T100000 B4138 C0 R4700 ; configure sensor 0 as thermistor on pin bedtemp
M950 H0 C"bedheat" T0 ; create bed heater output on bedheat and map it to sensor 0
;M307 H0 B1 S1.00 ; enable bang-bang mode for the bed heater and set PWM limit
M307 H0 A90.0 C700.0 D10.0 S1.00 V0.0 B1
M140 H0 ; map heated bed to heater 0
M143 H0 S150 ; set temperature limit for heater 0 to 150C
M308 S1 P"e0temp" Y"thermistor" T500000 B4723 C1.196220e-7 ; configure sensor 1 as thermistor on pin e0temp
M950 H1 C"e0heat" T1 ; 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
;M307 H1 A340.0 C140.0 D5.5 S1.00 V0.0 B0
M307 H1 A388.5 C88.1 D2.4 S1.00 V24.2 B0
M143 H1 S500 ; set temperature limit for heater 1 to 500C; 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"fan1" Q500 ; create fan 1 on pin fan1 and set its frequency
M106 P1 S1 H1 T45 ; set fan 1 value. Thermostatic control is turned on
M950 F2 C"duex.fan3" Q500 ; create fan 2 on pin duex.fan3 and set its frequency
M106 P2 S1 H1 T45 ; set fan 2 value. Thermostatic control is turned on
M950 F3 C"duex.fan4" Q500 ; create fan 3 on pin duex.fan4 and set its frequency
M106 P3 S1 H1 T45 ; set fan 3 value. Thermostatic control is turned on; Tools
M563 P0 S"Copper Head" D0 H1 F0 ; define tool 0
G10 P0 X0 Y0 Z0:0 ; 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
T0 ; select first tool
M501 -
@monkey68 the heater 0 is room temperature as in its not hot
-
@monkey68 said in homing dual z with independant motors:
Endstop configuration:
X: low end switch connected to pin !xstop
Y: low end switch connected to pin !ystop
Z: high end switch connected to pin !zstopIs this being reported from when you send M98 P"config.g"?
@monkey68 said in homing dual z with independant motors:
@monkey68 the heater 0 is room temperature as in its not hot
If you're referring to the heater 0 temp warning it's just telling you what the predicted max temp could be in a runaway situation.
@phaedrux said in homing dual z with independant motors:
Please share the results of sending M122
Can we get this please?
@monkey68 said in homing dual z with independant motors:
M574 E12 S1 P"!e1stop"
What are you trying to do with this command?
@monkey68 said in homing dual z with independant motors:
M350 X16 Y16 Z16 E16 E116 I1
;M92 X80.00 Y80.00 Z400.00:400.00 E143.2 ; set steps per mm
M92 X80.00 Y80.00 Z400.00 E143.2 E1400You've got E values listed twice in some of your commands. Why?
Do you have multiple extruders? If so the correct format is E###:### just like you had before for the Z axis. That format is only correct for extruders. -
@phaedrux 14/09/2021, 16:06:14 m122
=== Diagnostics ===
RepRapFirmware for Duet 2 WiFi/Ethernet version 3.3 (2021-06-15 21:44:54) running on Duet WiFi 1.02 or later + DueX5
Board ID: 08DGM-9568A-F23SD-6JTDG-3SN6P-1UR7H
Used output buffers: 3 of 24 (15 max)
=== RTOS ===
Static ram: 23876
Dynamic ram: 76012 of which 0 recycled
Never used RAM 14528, free system stack 182 words
Tasks: NETWORK(ready,78.7%,244) HEAT(delaying,0.2%,314) Move(notifyWait,0.4%,340) DUEX(notifyWait,0.0%,24) MAIN(running,20.6%,441) IDLE(ready,0.1%,29), total 100.0%
Owned mutexes:
=== Platform ===
Last reset 04:38:52 ago, cause: software
Last software reset at 2021-09-14 11:27, reason: User, GCodes spinning, available RAM 11320, slot 1
Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0041f000 BFAR 0xe000ed38 SP 0x00000000 Task MAIN Freestk 0 n/a
Error status: 0x00
Step timer max interval 0
MCU temperature: min 36.4, current 41.9, max 42.4
Supply voltage: min 24.1, current 24.3, max 24.5, under voltage events: 0, over voltage events: 0, power good: yes
Heap OK, handles allocated/used 0/0, heap memory allocated/used/recyclable 0/0/0, gc cycles 0
Driver 0: position 0, standstill, SG min/max not available
Driver 1: position 0, standstill, SG min/max not available
Driver 2: position 0, standstill, SG min/max not available
Driver 3: position 0, standstill, SG min/max not available
Driver 4: position 0, standstill, SG min/max not available
Driver 5: position 0, standstill, SG min/max not available
Driver 6: position 0, standstill, SG min/max not available
Driver 7: position 0, standstill, SG min/max not available
Driver 8: position 0, standstill, SG min/max not available
Driver 9: position 0, standstill, SG min/max not available
Driver 10: position 0
Driver 11: position 0
Date/time: 2021-09-14 16:06:12
Cache data hit count 4294967295
Slowest loop: 6.17ms; fastest: 0.17ms
I2C nak errors 0, send timeouts 0, receive timeouts 0, finishTimeouts 0, resets 0
=== Storage ===
Free file entries: 10
SD card 0 detected, interface speed: 20.0MBytes/sec
SD card longest read time 1.3ms, write time 0.0ms, max retries 0
=== Move ===
DMs created 83, maxWait 0ms, bed compensation in use: none, comp offset 0.000
=== MainDDARing ===
Scheduled moves 0, completed moves 0, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1
=== AuxDDARing ===
Scheduled moves 0, completed moves 0, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1
=== Heat ===
Bed heaters = 0 -1 -1 -1, chamberHeaters = -1 -1 -1 -1
Heater 1 is on, I-accum = 0.0
=== GCodes ===
Segments left: 0
Movement lock held by null
HTTP is idle in state(s) 0
Telnet is idle in state(s) 0
File is idle in state(s) 0
USB is idle in state(s) 0
Aux is idle in state(s) 0
Trigger is idle in state(s) 0
Queue is idle in state(s) 0
LCD is idle in state(s) 0
Daemon is idle in state(s) 0
Autopause is idle in state(s) 0
Code queue is empty.
=== Filament sensors ===
Extruder 0 sensor: ok
=== DueX ===
Read count 1, 0.00 reads/min
=== Network ===
Slowest loop: 15.58ms; fastest: 0.00ms
Responder states: HTTP(2) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0), 0 sessions
HTTP sessions: 1 of 8- WiFi -
Network state is active
WiFi module is connected to access point
Failed messages: pending 0, notready 0, noresp 0
WiFi firmware version 1.26
WiFi MAC address 2c:3a:e8:0b:1f:b7
WiFi Vcc 3.34, reset reason Turned on by main processor
WiFi flash size 4194304, free heap 26920
WiFi IP address 192.168.50.251
WiFi signal strength -58dBm, mode 802.11n, reconnections 0, sleep mode modem
Clock register 00002002
Socket states: 4 0 0 0 0 0 0 0
- WiFi -
-
@monkey68 14/09/2021, 16:08:44 M98 P"config.g"
HTTP is enabled on port 80
FTP is disabled
TELNET is disabled
Endstop configuration:
X: low end switch connected to pin !xstop
Y: low end switch connected to pin !ystop
Z: high end switch connected to pin !zstopWarning: Heater 0 appears to be over-powered. If left on at full power, its temperature is predicted to reach 442C -
@monkey68 said in homing dual z with independant motors:
M574 E12 S1 P"!e1stop"
Can you remove that line from config.g and send M98 P"config.g" again and see if it still spits out the endstop configuration?
-
@phaedrux ok i will remove them, the motor connected to E1 did not move before just the z and reading throught all of the comments and checking out the how to's which i have come to figure out are out dated and dont apply to the 3 series firmware is really confusing and should be sorted out and then you guys wouldnt be so busy doing the supposed simple stuff that we that are less affluent in the firmware can not work out, it was much simpler when i first got my duet as i could read the guides and copy the needed txt and like magic it just worked, sadly thats not the case anymore. sorry for the rant
-
The instructions are here for both RRF2 and RRF3.
https://duet3d.dozuki.com/Wiki/Bed_levelling_using_multiple_independent_Z_motors
What guides are you looking at that are out of date?
-
@phaedrux 14/09/2021, 16:21:37 M98 P"config.g"
HTTP is enabled on port 80
FTP is disabled
TELNET is disabled
Warning: Heater 0 appears to be over-powered. If left on at full power, its temperature is predicted to reach 442C -
@monkey68 said in homing dual z with independant motors:
M574 Z2 S1 P"!zstop+!e1stop"
Ok, so now you can uncomment that line, which should be correct.
Now you can test the homing again, but this time click the switches by hand before it reaches them so that you have time to hit the estop if it doesn't stop movement.
You can also check the status of the endstops by sending M119. Check it when the endstops are depressed and again when they are not and see if it reports the state you would expect.
-
@phaedrux M574 E12 S1 P"!e1stop"
following the instructions given in the guides, specifying the stop for the motor and its place on the axis -
What guides?
E12 isn't valid in any way.