RESOLVED. WAS: thermistor bug in 3.2beta 2 on Duet Maestro



  • I fear this is a major hazard, so sorry @dc42 for directly pinging you here.

    So, I updated my Voron to 3.2 beta 2 in order to be able to use the Mini12864 which works beautifully. However, when trying to print I started getting issues getting heater faults which I assumed to be related to me changing the heater cartridge, so I did a PID tune.

    Turns out: no, it must be firmware related. After the tune, trying to heat up to 260°C for printing ASA I started to see massive smoke development within the chamber and turned it off. I assumed that my thermistor is faulty, so I changed it out, but that did not help either.

    I now decided to try to debug it further:
    Massive missreading above ~ 200°C

    The temperature is very quickly going up. I turned the heater off and you can see 229°C on the display while my multimeter reads 276°C.

    For reference: my thermistor configuration:

    ;HotEnd
    M308 S1 P"e0temp" Y"thermistor" B4700 C7.060000e-8 A"Hotend"  ; configure sensor 1 as thermistor
    

    I am aware that the Maestro has a 2k2 on board resistor instead of a 4k7 one on the pcb, so my assumption was that maybe the default was for whatever reason changed. However, when trying

    ;HotEnd
    M308 S1 P"e0temp" Y"thermistor" B4700 C7.060000e-8 A"Hotend" R2200  ; configure sensor 1 as thermistor
    

    I see the same behavior.

    Downgrading to 3.1.1 returned the behavior back to normal, so I assume the issue is firmware related.

    If anyone is curious: this is how it looks like when you try to print ASA on PEI at way above 300°C...
    alt text


  • Moderator

    Can you post your full heater configuration block?



  • Sure, here you go.

    
    ;; thermal -------------------------------------------------
    
    ;Bed
    M308 S0 P"bedtemp" Y"thermistor" T100000 B3950 A"Bed"; configure sensor 0 as thermistor on pin temp0
    
    M950 H0 C"bedheat" T0                           ; create bed heater output on out0 and map it to sensor 0
    M143 H0 S140                                 ; set temperature limit for heater 0 to 140C
    ;M307 H0 B0 S1.00                             ; disable bang-bang mode for the bed heater and set PWM limit
    M140 H0   
    
    ;HotEnd
    M308 S1 P"e0temp" Y"thermistor" B4700 C7.060000e-8 A"Hotend"  ; configure sensor 1 as thermistor
    M950 H1 C"e0heat" T1                           ; create nozzle heater output on e0heat and map it to sensor 1
    M143 H1 S315                                  ; set temperature limit for heater 1 to 275C
    ;M307 H1 B0 S1.00                               ; disable bang-bang mode for the nozzle heater and set PWM limit
    
    ;Chamber 
    M308 S2 P"ctemp" Y"thermistor" T100000 B3950 A"Chamber"	;Chamber fan
    ;M950 H2 C"exp.heater4" T2						;Chamber Assigned to unused Heater port to show on front page
    ;M141 H2									;Assign as chamber heater
    
    ;Board
    M308 S3 Y"mcu-temp" A"Board"
    
    ;; M303 H1 S235 ; run autotune
    ;; M500 to save autotune results to config-override.g,
    ;; then move the heater config lines from config-override.g here.
    ;; (Delete them from config-override.g, or you will be confused when changing this file doesnt work.)
    
    M308 S4 P"e1temp" Y"thermistor" T100000 B3950 A"Bed2"
    
    ;PID Settings
    M307 H2 B1 S0.01 V23.7							;PID for chamber set to reduce chance of faults with no heater
    M307 H0 A301.0 C845.3 D1.4 S1.00 V23.6 B0	
    M307 H1 A381.2 C189.3 D5.4 S1.00 V24.3 B0	
    ;M307 H1 A482.6 C291.7 D5.5 S1.00 V23.6 B0 ;V6
    ;M307 H1 A395.7 C171.7 D2.3 S1.00 V23.6 B0 ; Mosquito w/ sock
    ;M307 H1 A703.3 C211.5 D8.3 S1.00 V24.3 B0; Dragon 50W
    ;Misc
    M912 P0 S-8 ;MCU tempurature sensor correction
    
    

  • Moderator

    M950 H0 C"bedheat" T0                           ; create bed heater output on out0 and map it to sensor 0
    M143 H0 S140                                 ; set temperature limit for heater 0 to 140C
    ;M307 H0 B0 S1.00                             ; disable bang-bang mode for the bed heater and set PWM limit
    M140 H0   
    

    Just as an aside for the bed heater, you've got some commands out of order for the bed. M950 > M140 > M143
    https://duet3d.dozuki.com/Wiki/Gcode#Section_M140_Set_Bed_Temperature_Fast_or_Configure_Bed_Heater

    Are you sure you're using the right pins for the chamber heater? Also bear in mind that the M308 commands must come before the M950 commands that create the heater.

    Here's the heater block I get from the configurator using your values. At the very least you should try to emulate the command ordering layout to make sure something isn't out of order.

    ; Heaters
    M308 S0 P"bedtemp" Y"thermistor" T100000 B3950         ; 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 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 S120                                           ; set temperature limit for heater 0 to 120C
    
    M308 S1 P"e0temp" Y"thermistor" T100000 B4700 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 S315
    
    M308 S2 P"e1temp" Y"thermistor" T100000 B3950          ; configure sensor 2 as thermistor on pin e1temp
    M950 H2 C"e1heat" T2                                   ; create chamber heater output on e1heat and map it to sensor 2
    M307 H2 B0 S1.00                                       ; disable bang-bang mode for the chamber heater and set PWM limit
    M141 H2                                                ; map chamber to heater 2
    M143 H2 S120
    


  • There is no chamber heater, just the sensor, the chamber is passively heated by the bed. Note that the corresponding M950 is commented out.


  • Moderator

    Are you sure the new heater cartridge matches your PSU voltage? 12v cartridge on 24v power?

    What were the heater faults you experienced? Error messages?

    Can you post the results of M122 and M98 P"config.g" and your full config.g?



  • The cartridge is not the issue, original e3d 40W 24V. Remember, the issues disappeared with the downgrade to RRF 3.1.1.

    I attached the config.
    config.g.txt


  • Moderator

    @Phaedrux said in WARNING! thermistor bug in 3.2beta 2 on Duet Maestro:

    What were the heater faults you experienced? Error messages?
    Can you post the results of M122 and M98 P"config.g"



  • The errors were too slow a heatup. I have to put the board back to 3.2 beta 2 for the commands first, give me a moment.


  • Moderator

    Too slow to heat would indicate PID tuning hasn't been applied.



  • 4742D87E-801F-4B6C-9EBE-0C6BE9996F6A.jpeg

    Ok, now I see the same issue also on RRF 3.1.1😳

    The thermistor readout becomes strange at around 200°C, until then it is fine and follows what my multimeter reads. Above 200 it saturated while the multimeter sees temperatures up to 280 where I then pulled the plug.

    However, there is a chance that the high temperatures damaged my thermistors here.


  • Moderator

    The graph definitely looks odd.

    The multimeter temp probe can be drawing heat away from it. How does the temp graph look when left alone?

    Do you have any spurious M307 commands left over from before that could be feeding it incorrect PID values?

    This is the only report of something like this happening so I'm doubtful that it's related to 3.2 beta 2. Correlation != causation situation.

    When in doubt I like to use a default config from the config tool as a sanity check to eliminate any config errors. So if you could do some tests with a stock config from the tool on 3.1.1 to see if the behaviour remains that would be helpful. then we know it's hardware.



  • B424ED04-DA38-4CA1-834C-5052CAE9B886.jpeg

    And now it’s working again, within 3°C of my multimeter, only change was B3950 in the thermistor definition. But I still get some funky business for a moment during heatup.

    Some hardware fault? Noise?


  • Moderator

    @pixelpieper said in WARNING! thermistor bug in 3.2beta 2 on Duet Maestro:

    Some hardware fault? Noise?

    Definitely possible.



  • @Phaedrux said in WARNING! thermistor bug in 3.2beta 2 on Duet Maestro:

    This is the only report of something like this happening so I'm doubtful that it's related to 3.2 beta 2. Correlation != causation situation.

    Sure, but that was the biggest change in the recent days. Besides a) installing the display and b) adding a front switch for 230V. The latter could in theory increase the 50Hz noise, but I think the cable is not close to the thermistor.

    When in doubt I like to use a default config from the config tool as a sanity check to eliminate any config errors. So if you could do some tests with a stock config from the tool on 3.1.1 to see if the behaviour remains that would be helpful. then we know it's hardware.

    I will try tomorrow, even so I doubt it - used this config for like 4 months without problems. Have two more unused thermistors here and an other Maestro, so I have some more debugging options...


  • Moderator

    Well if there's still off thermistor behaviour happening with 3.1.1 then I think we can rule out 3.2 beta2.

    If there were other wiring changes around the same time...



  • BAD09E31-D03C-4BA3-9C76-EA5D24430364.jpeg

    I have the habit of always taking a picture when changing things, nothing of the changes is close to the thermistor cable.


  • Moderator

    I meant from changing the heater cartridge. Could there have been some damage to the thermistor wiring?



  • @Phaedrux 83C1982C-83BD-4221-A05D-73E9B080B400.jpeg

    Unlikely, I swapped the whole hotend and I have seen the issues with both now. Also, the Molex MicroFit connectors are very reliable. And in the drag chain I have Heluflon Teflon coated cable which is well suited for this application... - will anyway replace the drag chain cable tomorrow and twist the thermistor wire.



  • Sorry for the confusion, it seems I might have had a wiring or crimp issue which by chance developed in parallel to playing with the beta. Having it seamingly disappear while downgrading did not help either...

    looks better now.

    I will replace all my hotend thermistors with PT1000, a wire fault resulting in to low a temperature reading is to dangerous in my opinion, so the upgraded sensors will give me some peace of mind.


  • administrators

    @pixelpieper thanks for confirming the cause in the end. And also thanks for taking the plunge and testing 3.2 beta!


Log in to reply