M143 issue
-
If you send M98 P"config.g" int he gcode console do you get any errors?
What firmware version and board are you using?
-
We are using Duet3 / RPi combo running 3.2b1. I've never noticed any errors when running config.g through M98 as we have a macro that is doing specifically that.. however, I can run it again once a machine frees up.
-
The reason for sending M98 P"config.g" is to see any error messages that get thrown which may get suppressed during initial startup. It's a good way to catch syntax errors.
-
The only hardcoded limits are -10.0C < temp_limit < 2000.0C, at least in rrf v3.2. Default limit is 125C I think for the bed, but it shouldn't reject higher values.
More likely to be some weirdness with command ordering or initialization timings.
-
I just ran M98 P"config.g" and the only thing logged is:
Warning: M307: Heater 0 appears to be over-powered. If left on at full power, its temperature is predicted to reach 365C
Could this be related? I haven't looked into how to resolve this yet..
-
@oozeBot said in M143 issue:
Also, M140 is before M143 for my bed heater and I'm not using M141 yet in my config..
Is your M950 H0 command before both the M140 command and the M143 H0 command?
If you run M98 P"config.g" do you see any error messages?
-
Full snippet - not sure why I didn't post it earlier.. sorry.
And yes, these are crappy thermistors.. but this one is especially bad, which is what led me to test in this way.
;== Bed Heater ========================= M308 S0 P"temp0" Y"thermistor" T100000 B3950 ; Configures sensor 0 as thermistor on pin temp0 M950 H0 C"0.out7" T0 ; Creates bed heater output on out1 and map it to sensor 0 M307 H0 B0 S1.00 ; Disables bang-bang mode for the bed heater and set PWM limit M140 H0 ; Maps heated bed to heater 0 M143 H0 S140 ; Sets temperature limit for heater 0 to 120C M307 H0 A241.5 C374.3 D1.8 S1.0 V24.0 B0 ; Applies auto-tune results
-
@oozeBot said in M143 issue:
I just ran M98 P"config.g" and the only thing logged is:
Warning: M307: Heater 0 appears to be over-powered. If left on at full power, its temperature is predicted to reach 365C
Could this be related? I haven't looked into how to resolve this yet..
-
@Phaedrux @dc42 - I just did a hard reboot and ran the following command:
echo heat.heaters[0].max
which returned 125. It's only when I run M143 H0 S140 again will the setting change..
And about the M307 issue, yeah - these are mains heaters and are quite powerful. They are protected with a thermal fuse.
-
Maybe M307 resets the M143 settings. Test this by moving the M143 after the M307.
-
@dc42 that fixed it! But wouldn't the M307 loaded into config-override.g instead still load in this same order? I can test if needed..
-
@oozeBot said in M143 issue:
@dc42 that fixed it! But wouldn't the M307 loaded into config-override.g instead still load in this same order? I can test if needed..
Yes, that will be a problem. I will log it as a bug.
-
@dc42 I just experienced this in 3.2B3 where I had to run "M143 H0 S140" again to get the default to increase above 125. Here is my current config. This was working in 3.2B1 after moving M143 after M307.. Thanks
;== Bed Heater ========================= M308 S0 P"temp0" Y"thermistor" T100000 B3950 ; Configures sensor 0 as thermistor on pin temp0 M950 H0 C"0.out1" T0 ; Creates bed heater output on out1 M307 H0 B0 S1.00 ; Disables bang-bang mode for the bed heater and set PWM limit M140 H0 ; Maps heated bed to heater 0 M307 H0 A241.5 C374.3 D1.8 S1.0 V24.0 B0 ; Applies auto-tune results M143 H0 S140 ; Sets temperature limit
-
@dc42 just bumping this as 3.2B3 is definitely not accepting the following command when run from my config. There is no config-override.g. I must run M143 H0 S140 twice to get the updated value to stick.. see above for my current config.
-
@oozeBot, please provide your whole config.g file.
-
@dc42 here you go.. this was working on 3.2b1 after moving M143 after M307.
edit - the "{1}" on line 94 is not present in my config.. there seems to be some issue with the codeblock functionality which is injecting that.
;== General Settings =================== M80 ; Turns on 24v Power Supply G4 P2000 M550 P"oozeBot" ; Sets printer name M669 K1 ; Selects CoreXY mode ;== PanelDue =========================== M575 P1 B57600 S1 ; Configures PanelDue ;== NeoPixel Settings ================== M150 X1 F3000000 ; sets LED type to NeoPixel and SPI frequency to 3MHz G4 P1000 M150 R0 U85 B255 P64 S57 ;== Fans =============================== M950 F0 C"20.out1" ; Creates fan 0 on pin out2 (print cooling fan) M106 P0 S0 H-1 ; Sets fan 0 to manual control M950 F1 C"20.out2" ; Creates fan 1 on pin out1 M106 P1 T50 H1 ; Sets fan 1 to thermostatic control M950 F2 C"!0.out4" ; Creates fan 2 on pin out4 (case cooling fan) M106 P2 S0 H-1 ; Sets fan 2 to manual control M106 P2 S128 M569 P0.0 S0 ; Defines physical drive 0.0 to move forwards M569 P0.2 S1 ; Defines physical drive 0.2 to move backwards M569 P0.3 S0 ; Defines physical drive 0.3 to move backwards M569 P0.5 S0 ; Defines physical drive 0.5 to move backwards M569 P20.0 S0 ; Defines physical drive 20.0 to move backwards M584 Z0.0:0.2 X0.5 Y0.3 E20.0 ; Binds Z to 0.2 & 0.0, X to 0.5, Y to 0.3, and E to 20.0 M350 X16 Y16 Z16 E16 I1 ; Configures microstepping with interpolation ;M92 X100.00 Y100.00 Z100.00 E830.00 ; Sets steps per mm M92 X100.00 Y100.00 Z100.00 E840 ; Sets steps per mm M566 X1500.00 Y1500.00 Z500.00 E3000.00 P1 ; Sets Jerk - maximum instantaneous speed changes (mm/min) M201 X12000.00 Y12000.00 Z500.00 E3000.00 ; Sets accelerations (mm/s^2) M203 X24000.00 Y24000.00 Z12000.00 E3000.00 ; Sets maximum speeds (mm/min) M906 X1600 Y1600 Z1800 E1120 I50 ; Sets motor currents (mA) and motor idle factor (I) in percent M84 S60 ; Sets idle timeout ;== Axis Definitions =================== M208 X0 Y0 Z0 S1 ; Sets axis minima M208 X304.8 Y304.8 Z304.8 S0 ; Sets axis maxima M671 X-85:424 Y152.4:152.4 S6 ; Sets belt position relative to the print bed ;== Endstops =========================== M574 X1 S3 ; Configures sensorless endstop for low end on X M574 Y1 S3 ; Configures sensorless endstop for low end on Y M574 Z2 S3 ; Configures sensorless endstop for high end on Z ;== Initializes Relay Board ============ M950 P3 C"0.out3" ; Creates P3 on pin out7 as on/off tool toggle M42 P3 S1 ; Enables P3 to an on state G4 P1000 ; Wait 1s to allow relay board to energize ;== Locks Z Axis ======================= G92 Z0 ; Sets Z height to 0 G1 Z0.2 F4000 ; Moves Z .2mm up equating to roughly one full motor step ;== Extruder Heater ==================== M308 S1 P"20.temp0" Y"thermistor" T500000 B4723 C1.196220e-7 ; Configures sensor 1 as thermistor on pin temp0 (toolboard is set to B20) M950 H1 C"20.out0" T1 ; Creates nozzle heater output on out2 and map it to sensor 1 (toolboard is set to B20) M307 H1 B0 S1.00 ; Disables bang-bang mode for heater and set PWM limit M143 H1 S400 ; Sets temperature limit for heater 1 to 333C ;== Bed Heater ========================= M308 S0 P"temp0" Y"thermistor" T100000 B3950 ; Configures sensor 0 as thermistor on pin temp0 M950 H0 C"0.out1" T0 ; Creates bed heater output on out1 M307 H0 B0 S1.00 ; Disables bang-bang mode for the bed heater and set PWM limit M140 H0 ; Maps heated bed to heater 0 M307 H0 A241.5 C374.3 D1.8 S1.0 V24.0 B0 ; Applies auto-tune results M143 H0 S140 ; Sets temperature limit ;== Enclosure Heater ========================= M308 S2 P"temp1" Y"thermistor" T100000 B3950 ; Configures sensor 0 as thermistor on pin temp1 M950 H2 C"0.out2" T2 ; Creates bed heater output on out2 M307 H2 B1 D200 ; Enabled bang-bang mode for the enclosure heater M143 H2 S80 ; Sets temperature limit M141 H2 ; Defines Heater 2 as enclosure heater ;== Tool Definitions =================== M563 P0 D0 H1 F0:1 S"Extruder" ; Define tool 0 G10 P0 X0 Y0 Z0 R0 S0 ; Set tool 0 axis offsets and active / standby temps to 0c ;== BLTouch ============================ M558 K0 P9 C"20.io0.in" H3 F120 T12000 A5 R0.1 S0.01 ; Defined BLTouch parameters M950 S0 C"20.io0.out" ; Servo Control Pin for BLtouch G31 X20 Y20 Z2.9 P25 ; Probe offsets M557 X34.5:265.5 Y34.5:265.5 S115.5 ; Define mesh grid (9 test points) T0 ; Selects Tool0 as default G21 ; Set units to millimeters G90 ; Sends absolute coordinates.. M83 ; ..but relative extruder moves
-
I suspect the order of M143 causes this. Move both M143 codes below the part where you configure heaters+sensors and check if that fixes it.
-
I changed my config to:
;== Extruder Heater ==================== M308 S1 P"20.temp0" Y"thermistor" T500000 B4723 C1.196220e-7 ; Configures sensor 1 as thermistor on pin temp0 (toolboard is set to B20) M950 H1 C"20.out0" T1 ; Creates nozzle heater output on out2 and map it to sensor 1 (toolboard is set to B20) M307 H1 B0 S1.00 ; Disables bang-bang mode for heater and set PWM limit ;== Bed Heater ========================= M308 S0 P"temp0" Y"thermistor" T100000 B3950 ; Configures sensor 0 as thermistor on pin temp0 M950 H0 C"0.out1" T0 ; Creates bed heater output on out1 M307 H0 B0 S1.00 ; Disables bang-bang mode for the bed heater and set PWM limit M140 H0 ; Maps heated bed to heater 0 M307 H0 A241.5 C374.3 D1.8 S1.0 V24.0 B0 ; Applies auto-tune results ;== Enclosure Heater ========================= M308 S2 P"temp1" Y"thermistor" T100000 B3950 ; Configures sensor 0 as thermistor on pin temp1 M950 H2 C"0.out2" T2 ; Creates bed heater output on out2 M307 H2 B1 D200 ; Enabled bang-bang mode for the enclosure heater M141 H2 ; Defines Heater 2 as enclosure heater M143 H0 S140 ; Sets temperature limit for build plate M143 H1 S400 ; Sets temperature limit for extruder M143 H2 S80 ; Sets temperature limit for chamber
I confirmed that it properly set my build plate heater's max temp to 140 like it should, but now DWC isn't showing the build plate heater or the chamber heater? I can still control it from the PanelDue, so it is recognized..
-
after rebooting once again, the heaters have reappeared. Maybe this was just a fluke.
Should we have to group our M143 commands after each heater is defined? This was not a problem until this build..
-
As long as each M143 command comes after all M950, M307, M140 and M141 commands for the same heater, that should work.