Max heater limit ignored in config.g
-
Here's a bit of a new one for me. It seems to have started when I updated to version 3.1.1 on my Duet 3 board. I have a temperature limit set in my config.g for my heater 0 of 165C. But if I try to set the bed higher than 120 I get an error.
This line is in my config.g
M143 H0 S165 ; set temperature limit for heater 0 to 165C
But if I try to set the temp it seems to be ignored. If I send that same M143 command from the console of the DWC it is accepted and then I can set the bed temp to 165 with no errors.
I did a search in my config.g and my config-override.g for M143 H0 and it is only in there once so I'm not accidentally overriding it anywhere.
Has anyone else come across this or could it be a bug?
It appears to have an arbitrary limit of 125C. My other temp limits have been accepted in my config.g. It seems that H0 does not like a temp higher than 125 in the config.g.
Duet 3 M98 P"config.g" Status Idle Mode: FFF Tool Position X 0.0 Y 0.0 Z 0.00 Extruder Drives Drive 0 0.0 Drive 1 0.0 Speeds Requested Speed 0 mm/s Top Speed 0 mm/s Sensors Vin 24.9 V V12 12.1 V MCU Temperature 48.8 C Z-Probe 0 Tools Extra Control All Tool Heater Current Active Standby Primary T0 - PLA Heater 1 active 65.7 C 0 0 Secondary T1 - Load Filament Heater 2 off 48.5 C 0 0 Bed Heater 0 off 62.0 C 0 0 Chamber Heater 3 off 45.8 C 0 0 Temperature Chart System Directory 0:/sys/config.g ; Configuration file for Duet 3 (firmware version 3) ; executed by the firmware on start-up ; ; generated by RepRapFirmware Configuration Tool v2.1.8 on Fri Apr 24 2020 14:40:15 GMT-0600 (Central Standard Time) ; General preferences G90 ; send absolute coordinates... M83 ; ...but relative extruder moves M550 P"Duet 3" ; set printer name M667 S1 ; select CoreXY mode ; Drives M569 P0.0 S1 ; physical drive 0.0 goes backwards M569 P0.1 S0 ; physical drive 0.1 goes backwards M569 P0.2 S0 ; physical drive 0.2 goes backwards M569 P0.4 S0 ; physical drive 0.4 goes backwards M569 P0.5 S0 ; physical drive 0.5 goes forwards M584 X0.2 Y0.1 Z0.4 E0.5:0.0 ; set drive mapping M350 X32 Y32 Z32 E16:16 I1 ; configure microstepping with interpolation M92 X200.00 Y200.00 Z1600.00 E837:837 ; set steps per mm M566 X800.00 Y800.00 Z100.00 E240.00:240.00 ; set maximum instantaneous speed changes (mm/min) M203 X15000.00 Y15000.00 Z1200.00 E2400.00:2400.00 ; set maximum speeds (mm/min) M201 X800.00 Y800.00 Z40.00 E300.00:300.00 ; set accelerations (mm/s^2) M906 X1800 Y1800 Z1200 E1000:1000 I30 ; set motor currents (mA) and motor idle factor in per cent M84 S30 ; Set idle timeout ; Axis Limits M208 X-186.5 Y-175 Z-2.8 S1 ; set axis minima M208 X186.5 Y175 Z583.1 S0 ; set axis maxima ; Endstops M574 X1 S1 P"io0.in" ; configure active-high endstop for low end on X via pin io0.in use a NC switch M574 Y1 S1 P"io1.in" ; configure active-high endstop for low end on Y via pin io1.in use a NC switch M574 Z2 S1 P"io2.in" ; configure active-high endstop for high end on Z via pin io2.in use a NC switch ; Z-Probe M950 S1 C"io4.out" ; Set pin4 out as servo out 0 M558 P9 C"^io4.in" H3 F200 T12000 ; set Z probe type to BL touch and the dive height + speeds G31 P500 X55 Y48 Z3.076 ; set Z probe trigger value, offset and trigger height M557 X-115:185 Y-120:120 S60 ; define mesh grid M280 P1 S160 ; Reset Probe just in case M402 ; Retract probe just in case ; Heaters M308 S0 P"temp0" Y"thermistor" T100000 B4138 ; configure sensor 0 as thermistor on pin temp0 M950 H0 C"out0" T0 ; create bed heater output on out0 and map it to sensor 0 M143 H0 S165 ; set temperature limit for heater 0 to 165C M307 H0 B1 S1.00 ; Enable bang-bang mode for the bed heater and set PWM limit M140 H0 ; map heated bed to heater 0 M308 S1 P"temp1" Y"pt1000" R2200 ; configure sensor 1 as PT1000 on pin temp1 M950 H1 C"out1" T1 ; create nozzle heater output on out1 and map it to sensor 1 M143 H1 S340 ; set temperature limit for heater 1 to 340C M307 H1 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit M308 S2 P"temp2" Y"pt1000" R2200 ; configure sensor 2 as PT1000 on pin temp2 M950 H2 C"out2" T2 ; create nozzle heater output on out2 and map it to sensor 2 M143 H2 S340 ; set temperature limit for heater 2 to 340C M307 H2 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit M308 S3 P"temp3" Y"thermistor" T100000 B4138 ; configure sensor 3 as thermistor on pin temp0 M950 H3 C"out3" T3 ; create chamber heater output on out3 and map it to sensor 3 M143 H3 S75 ; set temperature limit for heater 3 to 75C M307 H3 B1 ; disable bang-bang mode for heater and set PWM limit M141 H3 ; map heated chamber to heater 3 ;Heater Tuning parameters M307 H0 A253.1 C685.6 D0.7 V24.9 B0 ; PID model for Heater 0 M307 H1 A529.2 C249.3 D5.7 V24.8 B0 ; PID model for heater 1 M307 H2 A418.3 C213.8 D3.6 V24.8 B0 ; PID model for heater 2 M307 H3 A90 C1500 D600 V24.8 B1 ; BANG-BANG model for heater 3 ;Virtual Heaters M308 S4 Y"mcu-temp" A"MCU" ; create mcu temperature M308 S5 Y"drivers" A"Stepper driver" ; create driver temperatures ; Fans M950 F0 C"out7" Q500 ; create fan 0 on pin out4 and set its frequency used for Radiator cooler fan M106 P0 T85 S1 H1:2 ; set fan 0 value. Thermostatic control is turned on M950 F1 C"out8" Q500 ; create fan 1 on pin out5 and set its frequency used for Water circ pump M106 P1 T45 S1 H1:2 ; set fan 1 value. Thermostatic control is turned on M950 F2 C"out4" Q500 ; create fan 2 on pin out7 and set its frequency used for Part cooling fan M106 P2 S0.0 ; set fan 2 value. Thermostatic control is turned off M950 F3 C"out5" Q500 ; create fan 3 on pin out8 and set its frequency used for board cooling fan M106 P3 T35:55 H4:5 ; set fan 3 value. Thermostatic control is proportional to the CPU or driver temps M950 F4 C"out6" Q500 ; create fan 4 on pin out 6 and set its frequency used. for bed cooling fan M106 P4 S0.0 ; set fan 4 value. Thermostatic control is turned off. Controlled by Gcode only ; Tools M563 P0 S"Primary" 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"Secondary" D1 H2 F2 ; define tool 1 G10 P1 X25.25 Y0 Z0 ; set tool 1 axis offsets G10 P1 R0 S0 ; set initial tool 1 active and standby temperatures to 0C ; Custom settings M572 D0:1 S0.03:0.03 ; Set Pressure advance settings ;G28 Z ; Home Z ;G28 X Y ; Home X and Y ;M280 P1 S120 ; Probe Self test T0 ; Set tool 0 active ;G1 X0 Y0 F12000 ; Move print head to middle of bed ; Miscellaneous M911 S22.0 R24.0 P"M913 X50 Y50 G91 M83 G1 Z3 E-5 F1000" ; Set the power loss resume parameters M501 ; Load Config-overide.g
Here is the rest of the config.g in case that helps.
Also here is the override.g
Duet 3 M98 P"config.g" Status Idle Mode: FFF Tool Position X 0.0 Y 0.0 Z 0.00 Extruder Drives Drive 0 0.0 Drive 1 0.0 Speeds Requested Speed 0 mm/s Top Speed 0 mm/s Sensors Vin 24.9 V V12 12.1 V MCU Temperature 48.8 C Z-Probe 0 Tools Extra Control All Tool Heater Current Active Standby Primary T0 - PLA Heater 1 active 64.1 C 0 0 Secondary T1 - Load Filament Heater 2 off 48.5 C 0 0 Bed Heater 0 off 61.0 C 0 0 Chamber Heater 3 off 45.5 C 0 0 Temperature Chart System Directory 0:/sys/config-override.g ; config-override.g file generated in response to M500 at 2020-07-01 15:05 ; Heater model parameters M307 H0 A253.1 C685.6 D0.7 S1.0 V24.9 B0 M307 H1 A529.2 C249.3 D5.7 S1.0 V24.8 B0 M307 H2 A418.3 C213.8 D3.6 S1.0 V24.8 B0 M307 H3 A90 C1500.0 D600.0 S1.0 V24.8 B1 ; Z probe parameters G31 P500 X55.0 Y48.0 Z2.68 ; Workplace coordinates G10 L2 P1 X0.00 Y0.00 Z0.00 G10 L2 P2 X0.00 Y0.00 Z0.00 G10 L2 P3 X0.00 Y0.00 Z0.00 G10 L2 P4 X0.00 Y0.00 Z0.00 G10 L2 P5 X0.00 Y0.00 Z0.00 G10 L2 P6 X0.00 Y0.00 Z0.00 G10 L2 P7 X0.00 Y0.00 Z0.00 G10 L2 P8 X0.00 Y0.00 Z0.00 G10 L2 P9 X0.00 Y0.00 Z0.00
-
@baird1fa see the firmware update notes for 3.1.0:
Any M143 H0 command must come later in config.g than the M140 H0 command, because M140 resets the temperature limit for the heater to the default for bed heaters.
https://github.com/Duet3D/RepRapFirmware/blob/v3-dev/WHATS_NEW_RRF3.md#reprapfirmware-310
Your M143 is before M140.
Ian
-
@droftarts would that then also apply to the M141 H3?
-
@droftarts Thanks so much.
-
@baird1fa said in Max heater limit ignored in config.g:
@droftarts would that then also apply to the M141 H3?
Order dependency
In RRF3 a M141 command with H parameter (other than H-1) must come after the M950 command that creates that heater, and before any M143 command that sets a temperature limit for that heater.
Ian