Issue with Diagonal Movement of Printhead After Firmware Update
-
After updating to the latest firmware version 3.5.1, when I input commands in DWC for the printhead to move in the X or Y direction, the printhead moves diagonally instead. This error seems to be due to using the wrong firmware. My board is a Duet WiFi 2, and I used the firmware labeled "Duet2and3Firmware-3.5.1", which I uploaded and extracted directly in DWC. Where did the error occur?
the config is below
; Configuration file for Duet WiFi / Ethernet running RRF3 on E3D Tool Changer ; executed by the firmware on start-up ; General preferences M111 S0 ; Debugging off G21 ; Work in millimetres G90 ; Send absolute coordinates... M83 ; ...but relative extruder moves M555 P2 ; Set firmware compatibility to look like Marlin M667 S1 ; Select CoreXY mode ; Network M550 P"ToolChanger" ; Set machine name ;M587 S"ssid" P"password" ; WiFi Settings ;M552 S1 P"ssid" ; Enable WiFi Networking M552 S1 ; Enable Networking M586 P0 S1 ; Enable HTTP M586 P1 S0 ; Disable FTP M586 P2 S0 ; Disable Telnet ; Drive direction M569 P0 S0 ; Drive 0 X M569 P1 S0 ; Drive 1 Y M569 P2 S1 ; Drive 2 Z M569 P3 S1 ; Drive 3 E0 M569 P4 S1 ; Drive 4 E1 M569 P5 S1 ; Drive 5 E2 M569 P6 S1 ; Drive 6 E3 M569 P7 S0 ; Drive 7 COUPLER M569 P8 S0 ; Drive 8 UNUSED M569 P9 S0 ; Drive 9 UNUSED M584 X0 Y1 Z2 C7 E3:4:5:6 ; Apply custom drive mapping M208 X-35:328.5 Y-49:243 Z0:300 C-45:360 ; Set axis maxima & minima M92 X100 Y100 Z800 C91.022 E397:397:397:397 ; Set steps per mm assuming x16 microstepping M350 E16:16:16:16 I1 ; Configure microstepping with interpolation M350 C16 I1 ; Configure microstepping without interpolation M350 X16 Y16 Z16 I1 ; Configure microstepping with interpolation M566 X400 Y400 Z8 C2 E2:2:2:2 ; Set maximum instantaneous speed changes (mm/min) M203 X35000 Y35000 Z600 C5000 E5000:5000:5000:5000 ; Set maximum speeds (mm/min) M201 X6000 Y6000 Z200 C500 E2500:2500:2500:2500 ; Set accelerations (mm/s^2) M906 X1800 Y1800 Z1330 I30 ; Idle motion motors to 30% M906 E1000:1000:1000:1000 C500 I10 ; Idle extruder motors to 10% ; Endstops M574 X1 Y1 S3 ; Set X / Y endstop stall detection M574 C0 Z0 ; No C Z endstop ; Z probe M558 P8 C"zstop" H3 F360 I0 T20000 ; Set Z probe type to switch, the axes for which it is used and the dive height + speeds G31 P200 X0 Y0 Z0 ; Set Z probe trigger value, offset and trigger height M557 X10:290 Y20:180 S40 ; Define mesh grid ;Stall Detection M915 X Y S3 F0 H400 R4700 ; X / Y Axes ; Heaters M308 S0 P"bedtemp" Y"thermistor" A"Bed" T100000 B4138 C0 ; Set thermistor M950 H0 C"bedheat" T0 ; Bed heater M143 H0 S225 ; Set temperature limit for heater 0 to 225C M140 H0 ; Bed heater is heater 0 M308 S1 P"e0temp" Y"thermistor" A"T0" T100000 B4725 C7.06e-8 ; Set thermistor M950 H1 C"e0heat" T1 ; Extruder 0 heater M143 H1 S420 ; Set temperature limit for heater 1 to 300C M308 S2 P"e1temp" Y"thermistor" A"T1" T100000 B4725 C7.06e-8 ; Set thermistor M950 H2 C"e1heat" T2 ; Extruder 0 heater M143 H2 S305 ; Set temperature limit for heater 2 to 300C M308 S3 P"e2temp" Y"thermistor" A"T2" T100000 B4725 C7.06e-8 ; Set thermistor M950 H3 C"duex.e2heat" T3 ; Extruder 0 heater M143 H3 S305 ; Set temperature limit for heater 3 to 300C M308 S4 P"e3temp" Y"pt1000" A"T3" T100000 B4725 C7.06e-8 ; Set thermistor M950 H4 C"duex.e3heat" T4 ; Extruder 0 heater M143 H4 S305 ; Set temperature limit for heater 4 to 300C ; Tools M563 P0 S"T0" D0 H1 F2 ; Define tool 0 G10 P0 X0 Y0 Z0 ; Reset tool 0 axis offsets G10 P0 R0 S0 ; Reset initial tool 0 active and standby temperatures to 0C M563 P1 S"T1" D1 H2 F4 ; Define tool 1 G10 P1 X0 Y0 Z0 ; Reset tool 1 axis offsets G10 P1 R0 S0 ; Reset initial tool 1 active and standby temperatures to 0C M563 P2 S"T2" D2 H3 F6 ; Define tool 2 G10 P2 X0 Y0 Z0 ; Reset tool 2 axis offsets G10 P2 R0 S0 ; Reset initial tool 2 active and standby temperatures to 0C M563 P3 S"T3" D3 H4 F8 ; Define tool 3 G10 P3 X0 Y0 Z0 ; Reset tool 3 axis offsets G10 P3 R0 S0 ; Reset initial tool 3 active and standby temperatures to 0C ; Fans M950 F1 C"fan1" M950 F2 C"fan2" M950 F3 C"duex.fan3" M950 F4 C"duex.fan4" M950 F5 C"duex.fan5" M950 F6 C"duex.fan6" M950 F7 C"duex.fan7" M950 F8 C"duex.fan8" M106 P1 S255 H1 T70 ; T0 HE M106 P2 S0 ; T0 PCF M106 P3 S255 H2 T70 ; T1 HE M106 P4 S0 ; T1 PCF M106 P5 S255 H3 T70 ; T2 HE M106 P6 S0 ; T2 PCF M106 P7 S255 H4 T70 ; T3 HE M106 P8 S0 ; T3 PCF ;M593 F42.2 ; cancel ringing at 42.2Hz (https://forum.e3d-online.com/threads/accelerometer-and-resonance-measurements-of-the-motion-system.3445/) ;M376 H15 ; bed compensation taper ;tool offsets ; !ESTIMATED! offsets for: ; V6-tool: X-9 Y39 Z-5 ; Volcano-tool: X-9 Y39 Z-13.5 ; Hemera-tool: X20 Y43.5 Z-6 G10 P0 X-9 Y39 Z-6.95 ; T0 G10 P1 X-8.8 Y38.9 Z-5.43 ; T1 G10 P2 X-9 Y39 Z-5 ; T2 G10 P3 X-9.5 Y39.5 Z-6.18 ; T3 ;M572 D0 S0.2 ; pressure advance T0 ;M572 D1 S0.2 ; pressure advance T1 ;M572 D2 S0.2 ; pressure advance T2 ;M572 D3 S0.2 ; pressure advance T3 M575 P1 S1 B57600 ; Enable LCD G29 S2 ; disable mesh T-1 ; deselect tools M501 ; load config-override.g
-
@Adamrobot said in Issue with Diagonal Movement of Printhead After Firmware Update:
M667 S1
M667 is no longer supported in RRF 3.5.1. See: https://docs.duet3d.com/User_manual/Reference/Gcodes#m667-select-corexy-or-related-mode
You need to use M669 instead, in your case I think M669 K1 should enable CoreXY operation.
You might also want to check your config.g file for other errors by running M98 p"config.g" and checking anything that is reported.
-
@gloomyandy Thank you for your response. The printhead movement is now fine, but I am facing another issue. My H1 is a printhead with a high-temperature heat cartridge and a PT1000 thermal sensor. However, now I have to redefine this printhead using the commands M308 and M147 every time I restart the machine, and I also need to do tuning again. My configuration does not seem to save my operations. What could be the reason for this?
-
@Adamrobot said in Issue with Diagonal Movement of Printhead After Firmware Update:
M308 S1 P"e0temp" Y"thermistor" A"T0" T100000 B4725 C7.06e-8 ; Set thermistor
M950 H1 C"e0heat" T1 ; Extruder 0 heater
M143 H1 S420 ; Set temperature limit for heater 1 to 300CYour config.g has the H1 temperature sensor (M308 S1 line) defined as a thermistor.
When you change it to a PT1000, I expect it resets the M143 (not M147) temperature limit to the default.
Change the M308 line in config.g.Ian
-
@droftarts
after i set the sensor to PT1000, comes a problem while tuningWarning: heater behaviour was not consistent during tuning Auto tuning heater 1 completed after 3 idle and 25 tuning cycles in 1240 seconds. This heater needs the following M307 command: M307 H1 R2.888 K4.029:0.000 D8.49 E1.35 S1.00 B0 V24.0 Send M500 to save this command in config-override.g
the Heater doesnt work correctlly, when i set the temperature to 415c, it will heat consistantly until the temperture reach 450c and the heater turn to fault state.
-
@Adamrobot I think you need to repost your latest config.g file and also a screenshot of the temperature graph after the tuning fails so we can see what is going on. Oh and the full command you are using to run the tuning would also help.
-
@Adamrobot Please post your config.g again. You have M501 in config.g, so please post your config-override.g too. It may be incorrect setting are being used, ie not the ones that the tuning suggests. Send
M301 H1
to see the parameters that are in use.When tuning, can you do a screen grab of the temperatures? Usually you get the "Warning: heater behaviour was not consistent during tuning" message when the hot end is holding on to the heat, so each heating cycle gets shorter and shorter. It may be that your hot end cooling fan isn't sufficient to cool the cold side of the hot end down.
Ian