Extruder motor issue after updating to FW 3.3 on Duet 2 WiFi
-
Hello,
I recently updated my Duet 2 WiFi to firmware version 3.3 from 3.2.2. Everything was working fine before, but after the update, I've noticed that my extruder motor is not functioning as before; it seems like it lacks power. However, when reverting back to version 3.2.2, the issue disappears and the extruder motor works properly. Is there any setting or change in version 3.3 that might be causing this issue? Any suggestions on how I could fix this without having to revert to the previous firmware version?
My extruder is E3D HERMES
I attach the current configuration of my printer.
; General preferences G90 ; send absolute coordinates... M83 ; ...but relative extruder moves M550 P"TronXY X5ST-400" ; 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 M569 P0 S1 ; physical drive 0 goes forwards M569 P1 S1 ; physical drive 1 goes forwards M569 P2 S0 ; physical drive 2 goes forwards M569 P3 S0 ; physical drive 3 goes forwards M569 P4 S0 ; physical drive 4 goes forwards M564 H0 ; permitir el movimiento del eje antes del inicio. M350 X16 Y16 Z16 E16 I1 ; configure microstepping with interpolation M92 X80.10 Y80.10 Z400.00 E409.00 ; set steps per mm M566 X900.00 Y900.00 Z120.00 E120.00 ; set maximum instantaneous speed changes (mm/min) M203 X9000.00 Y9000.00 Z1500.00 E1200.00 ; set maximum speeds (mm/min) M201 X500.00 Y500.00 Z20.00 E250.00 ; set accelerations (mm/s^2) M906 X900 Y900 Z800 E800 I30 ; set motor currents (mA) and motor idle factor in per cent M84 S30 ; Set idle timeout M584 X0 Y1 Z2:4 E3 ; dos motores Z conectados a las salidas del controlador Z y E1 M671 X15:395 Y200:200 S0.5 ; husillo de avance a la izquierda (conectados a Z) y a la derecha (conectados a E1) del eje X ; Axis Limits M208 X0 Y0 Z0 S1 ; set axis minima M208 X395 Y395 Z385 S0 ; set axis maxima ; Endstops 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 Z1 S2 ; configure Z-probe endstop for low end on Z ;Filament Monitoring M591 D0 P3 C"e0_stop" S1 ; Sensor magnetico Duet3D para pulse-generating sensor connected to E0 endstop for drive 0, enabled ; Z-Probe M950 S0 C"exp.heater3" ; create servo pin 0 for BLTouch M558 P9 C"^zprobe.in" H5 F120 T6000 ; set Z probe type to bltouch and the dive height + speeds M558 H5 ;*** Remove this line after delta calibration has been done and new delta parameters have been saved G31 P500 X-41.5 Y-2 Z1.86 ; set Z probe trigger value, offset and trigger height (3.65 default) M557 X13.5:353.5 Y20:385 S20 ; Define los puntos de la malla, ej.: S20 es un punto cada 20mm y s50 cada 50mm - Nota:S85 ; Heaters M308 S1 T100000 B4725 C7.06e-8; ; Configura el termistor Semitec 104GT2 de Hemera. M308 S0 P"bedtemp" Y"thermistor" T100000 B4138 ; 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 R0.387 K0.165:0.000 D21.98 E1.35 S1.00 B0 ; 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 M308 S1 P"e0temp" Y"thermistor" T100000 B4138 ; 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 R1.834 K0.342:0.000 D5.52 E1.35 S1.00 B0 V11.9 ; disable bang-bang mode for heater and set PWM limit ; Fans M950 F0 C"fan0" Q500 ; create fan 0 on pin fan0 and set its frequency M106 P0 S0 H1 T45 ; set fan 0 value. Thermostatic control is turned on (Ventilador de HotEnd) M950 F1 C"fan1" Q500 ; create fan 1 on pin fan1 and set its frequency M106 P1 S0 H-1 ; set fan 1 value. Thermostatic control is turned off (Ventilador de Capa) M950 F2 C"fan2" Q500 ; create fan 2 on pin fan2 and set its frequency M106 P2 S0 H-1 ; set fan 1 value. Thermostatic control is turned off (Usado para tira LED) ; 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 M572 D0 S0.015 ; set pressure advance ; Custom settings are not defined ; Miscellaneous M575 P1 S1 B57600 ; enable support for PanelDue M501 ; load saved parameters from non-volatile memory M911 S10 R11 P"M913 X0 Y0 G91 M83 G1 Z3 E-5 F1000" ; set voltage thresholds and actions to run on power loss
Currently the firmware that I have put back to be able to find a solution is:
M115
FIRMWARE_NAME: RepRapFirmware for Duet 2 WiFi/Ethernet FIRMWARE_VERSION: 3.3 ELECTRONICS: Duet WiFi 1.02 or later FIRMWARE_DATE: 2021-06-15 21:45:03the error checking is:
M98 P"config.g"
HTTP is enabled on port 80
FTP is disabled
TELNET is disabledM122
=== Diagnostics === RepRapFirmware for Duet 2 WiFi/Ethernet version 3.3 (2021-06-15 21:44:54) running on Duet WiFi 1.02 or later Board ID: 08DJM-9178L-L2MSD-6J9F6-3S86L-19DLN Used output buffers: 3 of 24 (18 max) === RTOS === Static ram: 23876 Dynamic ram: 75832 of which 56 recycled Never used RAM 14652, free system stack 180 words Tasks: NETWORK(ready,13.8%,236) HEAT(delaying,0.0%,330) Move(notifyWait,0.1%,364) MAIN(running,86.0%,443) IDLE(ready,0.1%,29), total 100.0% Owned mutexes: === Platform === Last reset 00:29:17 ago, cause: power up Last software reset at 2023-11-03 20:56, reason: User, GCodes spinning, available RAM 14728, 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 Aux0 errors 0,0,0 Step timer max interval 0 MCU temperature: min 28.9, current 41.0, max 41.3 Supply voltage: min 11.9, current 12.0, max 12.2, 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 Driver 6: position 0 Driver 7: position 0 Driver 8: position 0 Driver 9: position 0 Driver 10: position 0 Driver 11: position 0 Date/time: 2023-11-04 19:58:22 Cache data hit count 4294967295 Slowest loop: 9.29ms; 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 3.8ms, 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 === 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: pos 0.00, errs: frame 0 parity 0 ovrun 0 pol 0 ovdue 0 === Network === Slowest loop: 21.76ms; 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 dc:4f:22:6e:6c:c8 WiFi Vcc 3.43, reset reason Turned on by main processor WiFi flash size 4194304, free heap 19720 WiFi IP address 192.168.1.58 WiFi signal strength -55dBm, mode 802.11n, reconnections 0, sleep mode modem Clock register 00002002 Socket states: 0 0 0 0 0 0 0 0
I appreciate any help.
-
After several tests I have observed that if I perform this test that is on your wiki it does not work, but...... if I first execute the command: M98 P"config.g" and perform the test again it works.
What could be happening? Is the fault in the configuration?
Testing extruder motor movement
If you wish to test your extruder motor movement, without connecting or heating up a heater, and/or with no filament loaded, define a tool that uses just the extruder motor. e.g. send:
M563 P0 D0
M563 creates tool T0 using the first extruder motor defined by your M584 command in config.g. For example, if you have M584 X0 Y1 Z2 E3:4 in config.g, D0 is the E0 motor connection (driver 3) on Duet 2 WiFi, D1 is E1 (driver 4). On Duet 3, D0 is DRIVER_3 and D1 is DRIVER_4.
To enable the extruder motor and move it, send:
T0 G1 E10 F60
The motor should extrude 10mm of filament at 1mm/s. Reset your Duet to revert your tools to the config.g settings before testing heaters!
-
After seeing that reloading the configuration does work, I have executed line by line all the ones that had to do with the extruder, and I have discovered that when I execute the M906 command again, that is when it starts to work.
M906 X900 Y900 Z800 E800 I30
Why is this configuration not being loaded in the config.g file and if it is being loaded manually? Does it have to do with the order in the configuration file?
I appreciate any help.
Thank you so much. -
@fjgr the extruder driver is not assigned until the M584 command is executed. So any other commands that reference the extruder, such as the M906 command to set its current, must come later in config.g than that command.
Firmware 3.2 and earlier had a default extruder assignment but 3.3 and later do not.
-
Thank you very much, that was the problem, I declared the set drive mapping before and everything was solved.
-
-