How to test duex.pwm5
-
I have decided to start a new thread on my issues. My original query was in Feb. I was experiencing network dropouts. I upgraded to version 3.4 in hopes of removing the dropouts. However, they persisted. I removed anything that could be picking up interference that was non-essential to printing. This included the screen. I found that with the screen removed, the network issues are almost non-existent.
The more pressing issue, I seem to have two servo ports that are not working. For many months before the update, I was using "duex.pwm5" to clean nozzles and the toolchange selected a new extruder. When I reconnected the servo, it no longer worked. I tried “duex.pwm4” and that did not drive a stepper either. But “duex.pwm3” worked. At this point I swapped to a hobby 9G servo for testing to simply as much as possible. I get the same results.
This servo can be driven on “duex.pwm3” but not “duex.pwm4” or “duex.pwm5”. How can I test these ports?
To exercise the servo connected to duex.pwm3 I use:
;Exercise Servo M280 P0 S180 ; Set Servo Position for Wipe to 160 degrees G4 P600 ; Pause 600 ms M280 P0 S1-0 ; Set Servo Position for Wipe to 0 degrees G4 P600 ; Pause 600 ms M280 P0 S180 ; Return to Servo Position for Wipe
Other interesting behaviour since upgrading to Version 3.4. Sending a M122 causes the network to drop out and then return. I didn’t get this Version 3.3. Is this new and normal?
Current working config.
; executed by the firmware on start-up ; ; generated by RepRapFirmware Configuration Tool v3.3.5 on Sat Nov 13 2021 18:20:50 GMT+1100 (Australian Eastern Daylight Time) ; General preferences M111 S0 ; Debugging off G21 ; Work in millimetres M575 P1 S1 B57600 ; enable support for PanelDue ;M575 P1 S1 B115200 G90 ; send absolute coordinates... M83 ; ...but relative extruder moves M550 P"ToolChanger" ; set printer name M669 K1 ; select CoreXY mode ; Network M552 S1 P192.168.10.60 ; enable network and set IP address M553 P255.255.255.0 ; set netmask M554 P192.168.10.1 ; set gateway M586 P0 S1 ; Enable HTTP M586 P1 S0 ; Disable FTP M586 P2 S1 T0 ; Enable Telner ; Drives M569 P0 S0 ; X physical drive 0 goes forwards M569 P1 S0 ; Y physical drive 1 goes forwards M569 P2 S1 ; Z physical drive 2 goes backwards M569 P3 S1 ; E0 physical drive 3 goes backwards M569 P4 S1 ; E1 physical drive 4 goes backwards M569 P5 S1 ; E2 physical drive 5 goes backwards M569 P6 S1 ; E3 physical drive 6 goes backwards M569 P7 S0 ; Coupler physical drive 7 goes forwards M569 P8 S0 ; Unused - physical drive 8 goes forwards M569 P9 S0 ; Unused - physical drive 9 goes forwards M584 X0 Y1 Z2 C7 E3:4:5:6 ; set drive mapping M350 X16 Y16 Z16 E16:16:16:16 I1 ; configure microstepping with interpolation M350 C16 I10 ; Configure microstepping without interpolation M92 X100 Y100 Z800 C91.022 E395:395:395:395 ; set steps per mm M566 X900 Y900 Z8 C2 E800:800:800:800 ; set maximum instantaneous speed changes (mm/min) - Jerk Settings M203 X35000 Y35000 Z1200 C5000 E5000:5000:5000:5000 ; set maximum speeds (mm/min) M201 X6000 Y6000 Z400 C500 E3000:3000:3000:3000 ; 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% M84 S30 ; Set idle timeout ; Axis Limits M208 X-10 Y-7 Z0 S1 ; set axis minima M208 X350 Y275 Z300 S0 ; set axis maxima M208 C-45:360 ; 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 X30:333 Y50:249 S40 ; Set probing points ; Heaters M308 S0 P"bedtemp" Y"thermistor" A"Bed" T100000 B4138 ; configure sensor 0 as thermistor on pin bedtemp M950 H0 C"bedheat" T0 q10 ; create bed heater output on bedheat and map it to sensor 0 M307 H0 B0 S1.00 ; disable bang-bang mode for the bed heater and set PWM limit M140 H0 ; map heated bed to heater 0 M143 H0 S200 ; set temperature limit for heater 0 to 200C M308 S1 P"e0temp" Y"thermistor" A"T0" T100000 B4725 C7.06e-8 ; 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 M143 H1 S300 ; set temperature limit for heater 1 to 300C M308 S2 P"e1temp" Y"thermistor" A"T1" T100000 B4725 C7.06e-8 ; configure sensor 2 as thermistor on pin e1temp M950 H2 C"e1heat" T2 ; create nozzle heater output on e1heat and map it to sensor 2 M307 H2 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit M143 H2 S300 ; set temperature limit for heater 2 to 300C M308 S3 P"duex.e2temp" Y"thermistor" A"T2" T100000 B4725 C7.06e-8 ; configure sensor 3 as thermistor on pin duex.e2temp M950 H3 C"duex.e2heat" T3 ; create nozzle heater output on duex.e2heat and map it to sensor 3 M307 H3 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit M143 H3 S300 ; set temperature limit for heater 3 to 300C M308 S4 P"duex.e3temp" Y"thermistor" A"T3" T100000 B4725 C7.06e-8 ; configure sensor 4 as thermistor on pin duex.e3temp M950 H4 C"duex.e3heat" T4 ; create nozzle heater output on duex.e3heat and map it to sensor 4 M307 H4 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit M143 H4 S300 ; set temperature limit for heater 4 to 300C ; Fans M950 F0 C"fan0" Q0 ; create fan 0 on pin fan0 and set its frequency - Fan Not used M106 P0 S0 H-1 ; set fan 0 value. Thermostatic control is turned off - Fan not used M950 F1 C"fan1" Q500 ; create fan 1 on pin fan1 and set its frequency M106 P1 S1 H1 T70 ; set fan 1 value. Thermostatic control is turned on M950 F2 C"fan2" Q0 ; create fan 2 on pin fan2 and set its frequency M106 P2 S0 H-1 ; set fan 2 value. Thermostatic control is turned off M950 F3 C"duex.fan3" Q500 ; create fan 3 on pin duex.fan3 and set its frequency M106 P3 S1 H2 T70 ; set fan 3 value. Thermostatic control is turned on M950 F4 C"duex.fan4" Q0 ; create fan 4 on pin duex.fan4 and set its frequency M106 P4 S0 H-1 ; set fan 4 value. Thermostatic control is turned off M950 F5 C"duex.fan5" Q500 ; create fan 5 on pin duex.fan5 and set its frequency M106 P5 S1 H3 T70 ; set fan 5 value. Thermostatic control is turned on M950 F6 C"duex.fan6" Q0 ; create fan 6 on pin duex.fan6 and set its frequency M106 P6 S0 H-1 ; set fan 6 value. Thermostatic control is turned off M950 F7 C"duex.fan7" Q500 ; create fan 7 on pin duex.fan7 and set its frequency M106 P7 S1 H4 T70 ; set fan 7 value. Thermostatic control is turned on M950 F8 C"duex.fan8" Q0 ; create fan 8 on pin duex.fan8 and set its frequency M106 P8 S0 H-1 ; set fan 8 value. Thermostatic control is turned off ; Tools M563 P0 S"T0" D0 H1 F2 ; 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 M563 P1 S"T1" D1 H2 F4 ; define tool 1 G10 P1 X0 Y0 Z0 ; set tool 1 axis offsets G10 P1 R0 S0 ; set initial tool 1 active and standby temperatures to 0C M563 P2 S"T2" D2 H3 F6 ; define tool 2 G10 P2 X0 Y0 Z0 ; set tool 2 axis offsets G10 P2 R0 S0 ; set initial tool 2 active and standby temperatures to 0C M563 P3 S"T3" D3 H4 F8 ; define tool 3 G10 P3 X0 Y0 Z0 ; set tool 3 axis offsets G10 P3 R0 S0 ; set initial tool 3 active and standby temperatures to 0C ;tool offsets ; !ESTIMATED! offsets for: ; Hemera-tool: X20 Y43.5 Z-6 ; G10 P0 X-0.10 Y-1.0 Z-7 - Use this as initial starting point for leveling nozzle heights to avoid crashing nozzles into bed ; Tool Offsets G10 P0 X-0.00 Y0.00 Z-5.31 ; Tool 0 G10 P1 X-0.32 Y-0.76 Z-5.40 ; Tool 1 G10 P2 X-0.20 Y-0.98 Z-5.42 ; Tool 2 G10 P3 X-0.32 Y-0.96 Z-5.53 ; Tool 3 ; Pressure advance was turned off by default. M572 D0 S0.020 ; pressure advance T0 Hemera M572 D1 S0.020 ; pressure advance T1 M572 D2 S0.020 ; pressure advance T2 M572 D3 S0.020 ; pressure advance T3 ; Custom settings ;Safty Switches M950 J0 C"!^e0stop" ; NC Microswitch - In use on Tool Grabber ;M950 J1 C"!^e1stop" ; NO Microswitch Attached yet (Free) ;Duet 2 WiFi and Ethernet: Use this command to tell RRF about the accelerometer: ;M955 P0 C"spi.cs4+spi.cs3" M593 P"zvd" F42.5 ; use ZVD input shaping to cancel ringing at ;M593 P"none" ; disable input shaping ; Pebble Wiper Config M950 S2 C"duex.pwm5" ; Port 2 M950 S1 C"duex.pwm4" ; Port 1 M950 S0 C"duex.pwm3" ; Port 0 ; Miscellaneous M501 ; load saved parameters from non-volatile memory
M98 P"config.g"
HTTP is enabled on port 80 FTP is disabled TELNET is enabled on port 23 Warning: Heater 0 predicted maximum temperature at full power is 551°C Warning: Heater 1 predicted maximum temperature at full power is 495°C Warning: Heater 2 predicted maximum temperature at full power is 470°C Warning: Heater 4 predicted maximum temperature at full power is 542°C
-
Hi,
I have found an oscilloscope an essential tool when working with most any sort of electronics.
Even a cheap "tablet" one from Amazon can be very useful.
Frederick
-
@trobison said in How to test duex.pwm5:
Other interesting behaviour since upgrading to Version 3.4. Sending a M122 causes the network to drop out and then return. I didn’t get this Version 3.3. Is this new and normal?
No, that's not intentional. Does the M122 command return a full report?
Please verify that you are running the 3.4.0 final release. There was a bug with driving servos in some of the 3.4 beta and RC versions.
-
@dc42 Sorry, I though I had the output of M122. Here is the output from the console when I powered up the printer, then sent a M122 from the console. Midway down you can see the network drop out after M122 has been sent, then the results from M122. I believe it is running version 3.4.0.
07/04/2022, 22:31:37 === Diagnostics === RepRapFirmware for Duet 2 WiFi/Ethernet version 3.4.0 (2022-03-15 18:58:31) running on Duet Ethernet 1.02 or later + DueX5 Board ID: 0JD0M-9P6M2-NWNS0-7J9DJ-3SJ6S-K90RJ Used output buffers: 2 of 24 (19 max) === RTOS === Static ram: 23868 Dynamic ram: 73160 of which 0 recycled Never used RAM 14788, free system stack 118 words Tasks: NETWORK(ready,23.8%,226) HEAT(notifyWait,0.1%,332) Move(notifyWait,0.0%,285) DUEX(notifyWait,0.0%,24) MAIN(running,75.1%,440) IDLE(ready,1.0%,30), total 100.0% Owned mutexes: === Platform === Last reset 00:01:13 ago, cause: power up Last software reset at 2022-04-07 16:44, reason: User, GCodes spinning, available RAM 15260, 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 17.5, current 22.2, max 22.4 Supply voltage: min 24.0, current 24.1, max 24.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 Events: 0 queued, 0 completed Driver 0: standstill, SG min 0 Driver 1: standstill, SG min 0 Driver 2: standstill, SG min 0 Driver 3: standstill, SG min n/a Driver 4: standstill, SG min n/a Driver 5: standstill, SG min n/a Driver 6: standstill, SG min n/a Driver 7: standstill, SG min 0 Driver 8: standstill, SG min n/a Driver 9: standstill, SG min n/a Driver 10: Driver 11: Date/time: 2022-04-07 22:31:33 Cache data hit count 2629899681 Slowest loop: 6.55ms; fastest: 0.16ms 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 4.4ms, write time 0.0ms, max retries 0 === Move === DMs created 83, segments created 11, maxWait 44815ms, bed compensation in use: mesh, comp offset 0.000 === MainDDARing === Scheduled moves 20, completed 20, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1 === AuxDDARing === Scheduled moves 0, completed 0, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1 === Heat === Bed heaters 0 -1 -1 -1, chamber heaters -1 -1 -1 -1, ordering errs 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 === DueX === Read count 1, 0.82 reads/min === Network === Slowest loop: 23.75ms; fastest: 0.02ms Responder states: HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0), 0 sessions HTTP sessions: 2 of 8 Interface state active, link 100Mbps full duplex 07/04/2022, 22:31:36 Connection established 07/04/2022, 22:31:36 Connection interrupted, attempting to reconnect... Operation failed (Reason: Service Unavailable) 07/04/2022, 22:31:34 M122 === Diagnostics === RepRapFirmware for Duet 2 WiFi/Ethernet version 3.4.0 (2022-03-15 18:58:31) running on Duet Ethernet 1.02 or later + DueX5 Board ID: 0JD0M-9P6M2-NWNS0-7J9DJ-3SJ6S-K90RJ Used output buffers: 2 of 24 (19 max) === RTOS === Static ram: 23868 Dynamic ram: 73160 of which 0 recycled Never used RAM 14788, free system stack 118 words Tasks: NETWORK(ready,23.8%,226) HEAT(notifyWait,0.1%,332) Move(notifyWait,0.0%,285) DUEX(notifyWait,0.0%,24) MAIN(running,75.1%,440) IDLE(ready,1.0%,30), total 100.0% Owned mutexes: === Platform === Last reset 00:01:13 ago, cause: power up Last software reset at 2022-04-07 16:44, reason: User, GCodes spinning, available RAM 15260, 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 17.5, current 22.2, max 22.4 Supply voltage: min 24.0, current 24.1, max 24.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 Events: 0 queued, 0 completed Driver 0: standstill, SG min 0 Driver 1: standstill, SG min 0 Driver 2: standstill, SG min 0 Driver 3: standstill, SG min n/a Driver 4: standstill, SG min n/a Driver 5: standstill, SG min n/a Driver 6: standstill, SG min n/a Driver 7: standstill, SG min 0 Driver 8: standstill, SG min n/a Driver 9: standstill, SG min n/a Driver 10: Driver 11: Date/time: 2022-04-07 22:31:33 Cache data hit count 2629899681 Slowest loop: 6.55ms; fastest: 0.16ms 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 4.4ms, write time 0.0ms, max retries 0 === Move === DMs created 83, segments created 11, maxWait 44815ms, bed compensation in use: mesh, comp offset 0.000 === MainDDARing === Scheduled moves 20, completed 20, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1 === AuxDDARing === Scheduled moves 0, completed 0, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1 === Heat === Bed heaters 0 -1 -1 -1, chamber heaters -1 -1 -1 -1, ordering errs 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 === DueX === Read count 1, 0.82 reads/min === Network === Slowest loop: 23.75ms; fastest: 0.02ms Responder states: HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0), 0 sessions HTTP sessions: 2 of 8 Interface state active, link 100Mbps full duplex 07/04/2022, 22:30:54 Connected to 192.168.10.60
-
I can't remember from your previous thread, but did you downgrade to 3.3 and see if it works correctly again?
-
@phaedrux Yes. The same issue. I was asked to send my details to the warranty team. Thank you for following up.
Regards, -
@trobison we now have another report of a user not able to operate a BLTouch connected to duex.pwm5. So there may be a bug in firmware 3.4. I will test it on Monday.
-
@dc42 said in How to test duex.pwm5:
@trobison we now have another report of a user not able to operate a BLTouch connected to duex.pwm5. So there may be a bug in firmware 3.4. I will test it on Monday.
In their case with the troodon board it is now working correctly, so seemingly not related.
-
@trobison I have now tested a BLTouch connected to duex.pwm5 and to duex.pwm4. In both cases it is working correctly, using commands M3280 P0 S10 and M280 P0 S90.
-
Cheers guys. I installed a replacement Duex5 board. All working nicely now. I have a question. Is there firmware I have to worry about on the extension board, or is it just that, an extension to the DUET 2 board and firmware is installed there.
-
@trobison there is no firmware on the DueX expansion board.
-
@dc42 Many thanks.