After updating to 3.4.0beta2: faulty heater 1, -273.1C.
-
@dc42 said in After updating to 3.4.0beta2: faulty heater 1, -273.1C.:
@CadetC @pixelpieper @Serge I am still trying to determine why I don't see this issue on my tool boards. Please can you each run M122 B# where # is the tool board number, and tell me what bootloader version it reports.
M122 B121 Diagnostics for board 121: Duet TOOL1LC firmware version 3.3 (2021-06-15 16:12:58) Bootloader ID: SAMC21 bootloader version 2.3 (2021-01-26b1
-
@cadetc thanks, it's not the bootloader version then.
@CadetC @pixelpieper @Serge I have identified a possible cause of this issue. Please try the new tool board firmware at https://www.dropbox.com/sh/cq7q3g8coymo9s3/AABtPYEzV1_unETpKEMPInSia?dl=0. If with this version you find the temperature error is much reduced, then please re-run the temperature calibration and report the new H and L values. If you still get large errors with this version, then just revert the tool board firmware to 3.3.
-
@dc42 I installed the firmware, I get a temperature rise from 35 to arround 65 degrees with the 3.3 H & L values. When trying to calibrate:
M308 S1 H999
Measured H correction for port "121.temp0" is 48M308 S1 L999
Error: M308: Computed correction is not valid. Check that you have placed a jumper across the thermistor input. -
@dc42 For the bootloader version:
M122 B121
Diagnostics for board 121:
Duet TOOL1LC firmware version 3.3 (2021-06-15 16:12:58)
Bootloader ID: SAMC21 bootloader version 2.3 (2021-01-26b1)
Never used RAM 2460, free system stack 2789 words
Tasks: Move(notifyWait,0.0%,153) HEAT(delaying,0.2%,117) CanAsync(notifyWait,0.0%,65) CanRecv(notifyWait,0.0%,76) CanClock(notifyWait,0.0%,65) ACCEL(notifyWait,0.0%,61) TMC(delaying,2.8%,57) MAIN(running,92.0%,352) IDLE(ready,0.0%,27) AIN(delaying,4.9%,142), total 100.0%
Last reset 00:00:46 ago, cause: software
Last software reset time unknown, reason: AssertionFailed, available RAM 3392, slot 1
Software reset code 0x0120 ICSR 0x00000000 SP 0x2000415c Task Freestk 129 bad marker
Stack: 00000544 00022ffc 00019b65 20003134 00016cff 20003134 000163d1 20000ed0 00000000 00000001 00008275 200071c8 200071c8 200071e0 00000000 20000f50 00011647 000223b8 00022474 00021ac8 00019b05 200071c8 200071c8 20000f50 000083ed 200071d8 000009c7
Driver 0: position 0, 655.0 steps/mm, standstill, SG min/max 0/0, read errors 0, write errors 1, ifcnt 71, reads 23059, writes 12, timeouts 0, DMA errors 0, steps req 0 done 0
Moves scheduled 0, completed 0, in progress 0, hiccups 0, step errors 0, maxPrep 0, maxOverdue 0, maxInc 0, mcErrs 0, gcmErrs 0
Peak sync jitter -2/8, peak Rx sync delay 193, resyncs 0/0, no step interrupt scheduled
VIN: 24.4V
MCU temperature: min 46.9C, current 46.9C, max 47.2C
Ticks since heat task active 176, ADC conversions started 46170, completed 46170, timed out 0, errs 0
Last sensors broadcast 0x00000006 found 2 181 ticks ago, loop time 0
CAN messages queued 590, send timeouts 0, received 436, lost 0, free buffers 37, min 37, error reg 110000
dup 0, oos 0/0/0/0, bm 0, wbm 0, rxMotionDelay 0
Accelerometer detected: yes, status: 00
I2C bus errors 0, naks 0, other errors 0 -
@dc42
@pixelpieper said in After updating to 3.4.0beta2: faulty heater 1, -273.1C.:I installed the firmware, I get a temperature rise from 35 to arround 65 degrees
I my case tool temperature reported in 3.3 =20.4C
after 3.4b2-1 installed reported temperature dropped to 0.6C - and is very unstable - jumping from 0.5 to 2.5C - L &H values unchanged - same as in 3.3After calibration done in 3.4b2-1 :
H- 48
L- calibration -errorM308 S1 L999 Error: M308: Computed correction is not valid. Check that you have placed a jumper across the thermistor input.
so I reverted back to 3.3 and "old" L&H values
-
@pixelpieper said in After updating to 3.4.0beta2: faulty heater 1, -273.1C.:
@dc42 I installed the firmware, I get a temperature rise from 35 to arround 65 degrees with the 3.3 H & L values. When trying to calibrate:
M308 S1 H999
Measured H correction for port "121.temp0" is 48M308 S1 L999
Error: M308: Computed correction is not valid. Check that you have placed a jumper across the thermistor input.Thanks, still not right then. Please share your confif.g file.
-
@dc42 Here you go:
;; system and network -------------------------------------- M550 PMunin ; hostname M552 S1 P"M" M586 P2 S1 R23 T0 ; enable telnet M586 P1 S1 T0 ; enable ftp ;M555 P2 ; set Marlin output mode G21 ; millimeter units G90 ; absolute tool coordinates M83 ; relative extruder coordinates ; constants of the device geometry global max_x = 252 global max_y = 256 global z_stop_x = {global.max_x-24.5} global z_stop_y = {global.max_y-3} global mag_probe_x = 51 global mag_probe_y = {global.max_y} global mag_probe_z = 1.7 global QGL_probe = 2 ; 1 = inductive, 2 = magnet ; speed & acceleration settings mm/min global xy_accel = 2000; global z_accel = 1000; global xy_speed = 60000; global z_speed = 6000; ;; enable paneldue ;M575 P1 B57600 S1 ; Mini 12864 M918 P2 E-4 R3 C100 ; Enable FYSetc Mini 12864 M150 X2 R255 U255 B255 S3 ; FYSETC Neopixel background: set all 3 LEDs to white ;M950 P0 C"io3.out" Q500 ; generate PWM pin (red on mini12864 V1.2) ;M42 P0 S0 ; turn off ;; geometry ------------------------------------------------ M667 S1 ; corexy mode M208 X0 Y0 Z-3 S1 ; S1 = set axes minima M208 X{global.max_x} Y{global.max_y} Z235 S0 ; S0 = set axes maxima M557 X20:240 Y25:235 S20 ; configure z probing grid for mesh compensation ;M98 P"/macros/zprobe/use_mfast.g" ;M98 P"/macros/zprobe/use_ifast.g" ; mechanical switch M558 K0 P5 C"io4.in" I0 H0 R0.1 F1200 T99999 A1 B1 G31 K0 X0 Y0 ; inductive probe M558 K1 P8 C"121.io2.in" I1 A3 H12 R0.1 F800 T99999 A1 B1 G31 P1000 K1 X0 Y25 Z0.318 ; magprobe M558 K2 P8 C"121.IO1.in" F150 T1000 H2 G31 P1000 K2 X-2.5 Y38.5 Z7 ;; drive --------------------------------------------------- ;; Motor layout: ;; E0 E1 ;; YB XA ;; Z2 Z3 ;; Z0 Z1 M584 X2 Y1 Z5:4:3:6 E121.0 ; motor bindings ;;M574 X2 Y2 Z0 S1 ; endstops M574 X2 S1 P"!io6.in" ; X min active low endstop switch M574 Y2 S1 P"!io5.in" ; Y min active low endstop switch ;M574 Z1 S1 P"io4.in" ; Z min active high endstop switch M671 X-65:-65:315:315 Y-10:325:325:-10 S20 ; Z leadscrews positions M569 P0 S1 ; E0 motor direction M569 P1 S0 ; Y motor direction M569 P2 S1 ; X motor direction M569 P5 S0 ; ZFL motor direction M569 P4 S1 ; ZBL motor direction M569 P3 S0 ; ZBR motor direction M569 P6 S1 ; ZFR motor direction M84 S3600 ; motor idle timeout M906 I50 ; motor idle current percentage M350 X16 Y16 Z16 E16 I1 ; set microstepping M92 X80 Y80 Z400 E655 ; set microsteps per mm ;; velocity, acceleration, and current settings are in these macros M98 P"/macros/drive/xy_fullcurrent.g" M98 P"/macros/drive/z_fullcurrent.g" M98 P"/macros/drive/e_fullcurrent.g" ;; firmware retraction ------------------------------------- ;; Choose one as your default: ;M98 P"/macros/retraction/quiet_nozhop.g ;M98 P"/macros/retraction/quiet_zhop.g M98 P"/macros/retraction/pa_nozhop.g" ;M98 P"/macros/retraction/pa_zhop.g" ;; thermal ------------------------------------------------- ; Sensors -------------------------------------------------- M308 S0 P"temp0" Y"thermistor" T100000 B3950 A"Bedmat"; configure sensor 0 as thermistor on pin temp0 M308 S1 P"121.temp0" Y"pt1000" A"Hotend" ; configure sensor 1 as thermistor ;M308 S1 P"e0temp" Y"thermistor" T100000 B3950 A"Hotend" M308 S2 P"121.temp1" Y"thermistor" T100000 B3950 A"Chamber" ;Chamber fan M308 S3 Y"mcu-temp" A"Board" ;M308 S4 P"e1temp" Y"thermistor" T100000 B3950 A"Bedplate" ; Heaters -------------------------------------------------- ;Bed M950 H0 C"out0" T0 ; create bed heater output on out0 and map it to sensor 4 M950 H1 C"121.out0" T1 ; create nozzle heater output on e0heat and map it to sensor 1 M140 H0 ;PID Settings M307 H0 A301.0 C845.3 D1.4 S1.00 V23.6 B0 M307 H1 A482.6 C291.7 D5.5 S1.00 V23.6 B0 ;V6 ; Monitors & Limits ;M143 H0 P1 T0 A2 S130 C0 ; Regulate (A2) bed heater (H0) to have pad sensor (T0) below 110°C. Use Heater monitor 1 for it ;M143 H0 P2 T0 A0 S135 C0 ; Fault (A0) bed heater (H0) if pad sensor (T0) exceeds 135°C. Use Heater monitor 2 for it M143 H0 P0 S120 ; Set bed heater max temperature to 120°C, use implict monitor 0 which is implicitly configured for heater fault M143 H1 S400 ; set temperature limit for heater 1 to 275C M912 P0 S-8 ;MCU tempurature sensor correction ;; fans ------------------------------------------------- ;Parts M950 F0 C"121.out2" Q500 M106 P0 S0 B0.1 L128 C"Part" ; part fan ;Hot End M950 F1 C"121.out1" Q500 M106 P1 T60 H1 C"Hotend" ; hotend fan PWMED DOWN ;Board cooling M950 F2 C"out3" Q500 M106 P2 S0.5 C"Board"; On when MCU temp (H3) reaches 45C ;H2 L180 X255 T30:50 ;M106 P2 S255 C"Board" M950 F3 C"out4" Q500 M106 P3 S0 C"Exhaust" ;; tools --------------------------------------------------- M563 P0 D0 H1 ; bind tool 0 to drive and heater G10 P0 X0 Y0 Z0 ; tool offset G10 P0 S0 R0 ; tool active and standby temp T0 ; activate tool 0 ;; Accelerometer M955 P121.0 I05 ;; filament sensor --------------------------------------- ;M591 D0 P3 C3 S0 R75:125 L24.8 E3.0 ; Duet3D rotating magnet sensor for extruder drive 0 is connected to E0 endstop input, enabled, sensitivity 24.8mm.rev, 85% to 115% tolerance, 3mm detection length ;M591 P5 C"e0stop" S1 ; Laser Filament Monitor ;; Buttons on the toolboard M950 C"121.button0" J0 M950 C"121.button1" J1 M581 P0 T2 M581 P1 T3
-
@pixelpieper thanks.
I've run your configuration on my bench system and I still don't get a significant error in the temperature reading. A 1K resistor (simulating a PT1000 sensor) gives me a reading of -1.4C which is close enough to 0C. I re-ran calibration and ended up with H-7 L-13 which are within the normal range. So the issue doesn't appear to be configuration-dependent.
Please run the following two commands on your system, with firmware 3.4.0beta2 installed on the tool board, and report the responses:
m122 b121 p1007 a{0x806020}
m122 b121 p1007 a{0x4200442c} -
@dc42 said in After updating to 3.4.0beta2: faulty heater 1, -273.1C.:
@pixelpieper thanks.
I've run your configuration on my bench system and I still don't get a significant error in the temperature reading. A 1K resistor (simulating a PT1000 sensor) gives me a reading of -1.4C which is close enough to 0C. I re-ran calibration and ended up with H-7 L-13 which are within the normal range. So the issue doesn't appear to be configuration-dependent.
Please run the following two commands on your system, with firmware 3.4.0beta2 installed on the tool board, and report the responses:
m122 b121 p1007 a{0x806020}
m122 b121 p1007 a{0x4200442c}as my problem is very similar to pixelpieper's, here are my results
m122 b121 p1007 a{0x4200442c} Address 0x4200442c value 0x00000607 m122 b121 p1007 a{0x806020} Address 0x00806020 value 0x19149fbe
-
@cadetc thanks, that's useful. All my tool boards have the same ADC calibration parameters, but your is different.
Are you using a thermistor or a PT1000 with the tool board?
-
@dc42
I have Original E3D Hemera as my print head and whatever was originally installed is connected to the toolboard -
@dc42 I checked the specs and it says it's a thermistor
-
@dc42
Surprisingly, there have been no problems with it before and I started with RRF 3.2 and in the meantime by the time I got to 3.4b2 I had had all the transitional versions of the software including beta versions -
@dc42
Another thing that comes to my mind is that when I came back from 3.4b2 to 3.3 and did anoter recalibration L and H values were definitely different than the "factory" values that I noted before doing the calibration at 3.4b2.
Now to make sure that factory values are used I have them saved in config-override.
Can the fact that other values are stored in Non-volatile memory (left over from calibration attempts made by me) and actually other values are used - included in config-override.g - - have an impact on other values than in your toolboards? -
@cadetc said in After updating to 3.4.0beta2: faulty heater 1, -273.1C.:
Can the fact that other values are stored in Non-volatile memory (left over from calibration attempts made by me) and actually other values are used - included in config-override.g - - have an impact on other values than in your toolboards?
That should not be the case.
You can override the values stored in NVM by sending your own M308 L and H values. In my experience, the correct calibration values are normally in the range -20 to +20.
-
@dc42 Sorry for the late reply, this week has been crazy... - here are the values & my firmware version
12.8.2021, 19:59:41 m122 b121 p1007 a{0x4200442c} Address 0x4200442c value 0x00000607 12.8.2021, 19:59:21 m122 b121 p1007 a{0x806020} Address 0x00806020 value 0x190cefbe 12.8.2021, 19:58:54 M115 B121 Duet TOOL1LC firmware version 3.4.0beta2+1 (2021-08-08 13:53:53) 12.8.2021, 19:58:24 Board 121 starting firmware update
P.S.: beautiful undocumented peek command
-
I have the same issue with 1 of my printers: 4~5ºC negative difference to real temp and ~3ºC jumping around in under 5s (ex: -23.5º ~ 26.4º)
@dc42 said in After updating to 3.4.0beta2: faulty heater 1, -273.1C.:
- Send M308 S1 (assuming the tool board thermistor is Sensor 1) and record the result, in particular the H and L values.
M308 S1 Sensor 1 (Extruder) type Thermistor using pin 20.temp0, reading 27.5, last error: sensor not ready, T:100000.0 B:4725.0 C:7.06e-8 R:2200.0 L:0 H:0
- Send M122 B121 and record the reported VIN value
M122 b20 Diagnostics for board 20: Duet TOOL1LC firmware version 3.3 (2021-06-15 16:12:58) Bootloader ID: SAMC21 bootloader version 2.3 (2021-01-26b1) VIN: 24.3V
- Switch the tool board firmware to 3.4beta2.
- Send M308 S1 again, check that it reports the same H and L
M308 S1 Sensor 1 (Extruder) type Thermistor using pin 20.temp0, reading 22.1, last error: sensor not ready, T:100000.0 B:4725.0 C:7.06e-8 R:2200.0 L:0 H:0
- Send M122 and check that the reported VIN value is the same as before
M122 B20 Diagnostics for board 20: Duet TOOL1LC firmware version 3.4.0beta2+1 (2021-08-08 13:53:53) Bootloader ID: SAMC21 bootloader version 2.3 (2021-01-26b1) VIN: 24.4V
- Run the calibration procedure described at https://duet3d.dozuki.com/Wiki/Calibrating_thermistor_and_PT1000_readings on the tool board thermistor input. If it's tricky to do the short-circuit calibration test, just do the open-circuit calibration, which should be sufficient to correct the reading at room temperature.
- Send M308 S1 again to see the new H and L values
M308 S1 Sensor 1 (Extruder) type Thermistor using pin 20.temp0, reading 829.6, last error: short-circuit in sensor, T:100000.0 B:4725.0 C:7.06e-8 R:2200.0 L:-70 H:19
- Check whether the readings are now correct.
The reading is more accurate but still lower and jumping around: M308 S1 Sensor 1 (Extruder) type Thermistor using pin 20.temp0, reading 25.6, last error: sensor open circuit, T:100000.0 B:4725.0 C:7.06e-8 R:2200.0 L:-70 H:19
I am assuming that you do not have H and L parameters in your M308 commands in config.g, so it will use the values stored in NVRAM.
I do not, and my other printer with the same hardware Duet3 6HC + Toolboard v1.0, firmware and bootloader does not seem to have the same issue (haven't printed yet).
-
@jbarros thanks for that data. It seems that some tool boards work well with the new firmware, including all of mine and one of yours, while others give errors and when calibrated the L value is either very negative or out of range.
Please run the following two commands on your system, with firmware 3.4.0beta2 installed on the tool board, and report the responses (replace B121 by the CAN address of then tool board, if different):
m122 b121 p1007 a{0x806020}
m122 b121 p1007 a{0x4200442c} -
@dc42 said in After updating to 3.4.0beta2: faulty heater 1, -273.1C.:
@jbarros thanks for that data. It seems that some tool boards work well with the new firmware, including all of mine and one of yours, while others give errors and when calibrated the L value is either very negative or out of range.
Please run the following two commands on your system, with firmware 3.4.0beta2 installed on the tool board, and report the responses (replace B121 by the CAN address of then tool board, if different):
m122 b121 p1007 a{0x806020}
m122 b121 p1007 a{0x4200442c}On the "bad" Toolboard:
M122 B20 p1007 a{0x806020} Address 0x00806020 value 0x19344fff M122 B20 p1007 a{0x4200442c} Address 0x4200442c value 0x00000707
On the "good" Toolboard:
M122 B20 p1007 a{0x806020} Address 0x00806020 value 0x19546fff M122 B20 p1007 a{0x4200442c} Address 0x4200442c value 0x00000707
Thank you for looking at this and I have 3 more Toolboards (that I wish now they were v1.1 ), all v1.0, if required for any testing.
-
@jbarros @CadetC @pixelpieper does any of you live in UK?