@dc42 @droftarts Thank you again very much! Our device had a current draw of 100 mA only, and based on your advices we were now able to start using OUT 4-6 for our 24V devices. What a great feeling, thank you for excellent support!
Best posts made by HeidiH
-
RE: How to read state of servo/output/input pins
-
RE: Cutting power off from Duet 3 harmful in long-term?
@jay_s_uk Jes, great :D! Excellent to hear. Thank you for your help.
-
RE: Pt100 Offset adjustment with M308 command
@T3P3Tony Hi, and my apologies for the late reply. I repeated my measurements and got a bit more accurate values for the U and V based on those. I now added them in place and neither of the sensors was anymore showing any error, so I think that I might have mixed up with the U and V values. I ensured that the readings now also improved a lot, when using those correct U and V values. So thank you for these parameters for the developers :)!
-
RE: Error with heater monitor number (M143)
@jay_s_uk My aim has been to determine the allowed temperatures for my heaters between 20-250C degrees. I have tried to add this required minimum 20C temperature to ensure that heaters don't start to accidentally start heating when I would have -273C temperature reading, caused by some error.
However, I tested my minimum temperature limit by setting up the S25 to minimum temperature (current temperature 23C), but this didn't initiate heater fault that I had specified in the M143 command. Based on this, this code doesn't seem to work as I was aiming and I will remove those lines in which I have determined the temperature minima.
BR, Heidi
Latest posts made by HeidiH
-
RE: Temp sensor visualization to Duet 3 without mapping to heater
@jay_s_uk Ok. I was thinking also if I needed to create a heater, but then it can cause a heater fault if accidentally activated?
However, if that is the only option then I was thinking if I can somehow reject the heaters from going off state to Active or Standby modes so that the heater faults would not be initiated?
BR, Heidi
-
RE: Temp sensor visualization to Duet 3 without mapping to heater
@jay_s_uk Great :D! Excellent, thank you! Now I got them visible on DWC and on BtnCmd. How about how could I add the temperature sensor reading visible (as numerical values on the main screen) on the PanelDue?
BR, Heidi
-
RE: Error with heater monitor number (M143)
@T3P3Tony Hi, and thank you for your response. I tested your advice and got the following warnings and errors:
1/22/2025, 12:06:31 PM M98 P"0:/sys/config.g" Current date and time: 2025-01-22 12:06:29 Warning: Heater 1 predicted maximum temperature at full power is 421°C Warning: Heater 2 predicted maximum temperature at full power is 975°C Warning: Heater 3 predicted maximum temperature at full power is 574°C Error: M568: Requested temperature out of range Error: M568: Requested temperature out of range Error: M568: Requested temperature out of range
Those M568 errors are related to setting-up the heaters off, and also determining the active and standby temperatures to 0C, as indicated in above. What could cause the error?
BR, Heidi
-
Temp sensor visualization to Duet 3 without mapping to heater
Re: Duet 3 6HC - using temp sensor without mapping to a heater
Hi, how can I visualize the temperature sensor monitoring both for DWC and PanelDue, if it is not mapped to any heater? It is used only for illustration purposes.
I would like to have the reading represented as graph on DWC and as a numerical value on the PanelDue. With DWC, I also have BtnCmd-add in, for which I would like to have that temperature graph also.
I have RepRap firmware ver. 3.5.3
BR, Heidi
-
RE: Error with heater monitor number (M143)
@jay_s_uk Thanks. Does this mean that my Heater temperatures on Active and Standby should look like in above image, when the tools are off?
Before, I have had those Active and Standby temperatures as 0C, like I have defined in those values in lines 139-141 of my attached code?
BR, Heidi
-
RE: Error with heater monitor number (M143)
@droftarts Hi, and thank you for your response. Based on that I modified my config. code now to include also the minimum temperature which triggers the temperature fault. However, I removed the monitor disabled because I don't see any need for having that. Accordingly, I got same information related to how monitors are used for minimum and maximum of Heater 1 as you wrote above. Nevertheless, after I added the minimum temperature monitoring, I still have the erraneous temperatures for the Current and Standby temperatures (-273.1C), while Current temperature sensor reading is OK. When I have only the maximum monitoring defined, this error does not appear.
Please, find below my config.g file:
;PRINTER SETTINGS ; ; General preferences M111 S0 ; Debugging off (https://docs.duet3d.com/en/User_manual/Reference/Gcodes#m111-set-debug-level) G21 ; Work in millimetres (https://docs.duet3d.com/en/User_manual/Reference/Gcodes#g21-set-units-to-millimeters) G90 ; Send absolute coordinates... (https://docs.duet3d.com/en/User_manual/Reference/Gcodes#g90-set-to-absolute-positioning) M83 ; ...but relative extruder moves (https://docs.duet3d.com/en/User_manual/Reference/Gcodes#m83-set-extruder-to-relative-mode) ; Report local date and time (https://docs.duet3d.com/en/User_manual/Reference/Gcodes#m905-set-local-date-and-time) M905 ; Creating PanelDue2 (https://docs.duet3d.com/User_manual/Reference/Gcodes#m950-create-heater-fan-spindle-or-gpioservo-pin) M950 J0 C"io0.in" ; Creating input for PanelDue ; Enabling PanelDue2 (https://docs.duet3d.com/User_manual/Reference/Gcodes#m575-set-serial-comms-parameters) M575 P1 B57600 S1 ; ;Setting-up firmware compatibility (https://docs.duet3d.com/en/User_manual/Reference/Gcodes#m555-set-compatibility) M555 P2 ; firmware compatibility to look like Marlin ; Setting-up device name (https://docs.duet3d.com/en/User_manual/Reference/Gcodes#m550-set-name) M550 P"Device"; includes firmware version ; Enable network (https://docs.duet3d.com/en/User_manual/Reference/Gcodes#m552-set-ip-address-enabledisable-network-interface) if {network.interfaces[0].type = "ethernet"} M552 P192.168.1.14 S1 else M552 S1 ; Additional sensors visualized (https://docs.duet3d.com/en/User_manual/Reference/Gcodes#m308-set-or-report-sensor-parameters) M308 S10 Y"mcu-temp" A"MCU" ; Setting-up Z probe (https://docs.duet3d.com/en/User_manual/Reference/Gcodes#m558-set-z-probe-type) M558 P0 ; No z probe ;Setting-up Z probe trigger value, offset and trigger height (https://docs.duet3d.com/en/User_manual/Reference/Gcodes#g31-set-or-report-current-probe-status) G31 X-30 Z1.1 P530 ; Not needed? ; Setting-up drives (https://docs.duet3d.com/en/User_manual/Reference/Gcodes#m569-set-motor-driver-direction-enable-polarity-mode-and-step-pulse-timing) M569 P0 S0 ; Drive 0 (X motor) goes backwards M569 P1 S0 ; Drive 1 (Y motor) goes forwards M569 P2 S1 ; Drive 2 (Z motor) goes forwards M569 P3 S0 ; Drive 3 (E motor) goes backwards M569 P4 S0 ; Drive 4 (U motor) goes backwards ;Setting-up drive mapping (https://docs.duet3d.com/User_manual/Reference/Gcodes#m584-set-drive-mapping) M584 X0 Y1 Z2 E3 U4; ; Setting-up axis movement restrictions (https://docs.duet3d.com/en/User_manual/Reference/Gcodes#m208-set-axis-max-travel) M208 X0 Y0 Z0 S1 ; M208 X150 Y130 Z100 S0 ; ; Setting-up endstop configuration (https://docs.duet3d.com/User_manual/Reference/Gcodes#m574-set-endstop-configuration) M574 X1 S1 P"!io1.in" ; Active high endstop switch for low end on X M574 Y1 S1 P"!io2.in" ; Active low endstop switch for low end on Y M574 Z2 S1 P"!io3.in" ; Active high endstop switch for low end on Z ;Configuring microstepping with interpolation (https://docs.duet3d.com/en/User_manual/Reference/Gcodes#m350-set-microstepping-mode) M350 X256 Y256 Z256 E16 U16 I1 ; ;Setting-up steps per mm (https://docs.duet3d.com/en/User_manual/Reference/Gcodes#m92-set-axis-steps-per-unit) M92 X6400 Y6400 Z12800 E357 U1600; ;Setting-up maximum instantaneous speed changes (mm/min) (https://docs.duet3d.com/en/User_manual/Reference/Gcodes#m566-set-allowable-instantaneous-speed-change) M566 X10 Y10 Z10 E1200 U7; ; Setting-up maximum speeds (mm/min) (https://docs.duet3d.com/en/User_manual/Reference/Gcodes#m203-set-maximum-feedrate) M203 X600 Y600 Z240 E900 U600; ; Setting-up accelerations (mm/s^2) (https://docs.duet3d.com/en/User_manual/Reference/Gcodes#m201-set-max-acceleration) M201 X60 Y60 Z60 E3000 U200 ; Setting-up motor currents (mA) and motor idle factor in per cent (https://docs.duet3d.com/en/User_manual/Reference/Gcodes#m906-set-motor-currents) M906 X759.8 Y759.8 Z759.8 E890.8 U1781.6 I20 ; Allow movement before homing (https://docs.duet3d.com/User_manual/Reference/Gcodes#m564-limit-axes) M564 H0 S1; Allow movement of axes that have not been homed and limited movement within axis boundaries ; Setting-up idle timeout (https://docs.duet3d.com/en/User_manual/Reference/Gcodes#m84-stop-idle-hold) M84 S60 ; 60 seconds ; Setting-up Pt100 sensors (https://docs.duet3d.com/en/User_manual/Reference/Gcodes#m308-set-or-report-sensor-parameters) M308 S1 P"spi.cs0" Y"rtd-max31865" A"Heater 1" U0.080, V-0.0040; required correcting factors for sensor reading M308 S2 P"spi.cs2" Y"rtd-max31865" A"Heater 2" U0.18, V-0.0088 ; required correcting factors for sensor reading M308 S3 P"spi.cs1" Y"rtd-max31865" A"Heater 3" ; ; Creating heaters (https://docs.duet3d.com/User_manual/Reference/Gcodes#m950-create-heater-fan-spindle-or-gpioservo-pin) M950 H1 C"out1" Q10 T1 ; Heater 1 M950 H2 C"out2" Q10 T2; Heater 2 M950 H3 C"out3" Q10 T3 ; Heater 3 ; Setting-up maximum temperatures for heaters (https://docs.duet3d.com/User_manual/Reference/Gcodes#m143-maximum-heater-temperature) M143 H1 P0 T1 S250 A0 C0 ; Heater 1 maximum before heater fault M143 H1 P1 T1 S0 A0 C1 ; Heater 1 minimum before heater fault M143 H2 P0 T2 S250 A0 C0; Heater 2 maximum before heater fault M143 H2 P1 T2 S20 A0 C1; Heater 2 minimum before heater fault M143 H3 P0 T3 S250 A0 C0; Heater 3 maximum before heater fault M143 H3 P1 T3 S20 A0 C1; Heater 3 minimum before heater fault ; Configuring heater fault detection https://docs.duet3d.com/en/User_manual/Reference/Gcodes#m570-configure-heater-fault-detection M570 H1 P2 T10 R2; Heater 1 M570 H2 P60 T10 R2; Heater 2 M570 H3 P40 T10 R2; Heater 3 ;Setting-up PID parameters for heaters (https://docs.duet3d.com/en/User_manual/Reference/Gcodes#m307-set-or-report-heating-process-parameters) M307 H1 R2.921 K0.455:0.000 D2.48 E1.35 S0.55 B0 ; Heater 1 M307 H2 R5.771 K0.276:0.000 D3.88 E1.35 S0.15 B0 ; Heater 2 M307 H3 A550 C303.1 S0.3 D15.0 B0 ; Heater 3 ; Cold extrusion (https://docs.duet3d.com/en/User_manual/Reference/Gcodes#m302-allow-cold-extrudes) M302 P1 S120 R110; Allowed from 120 and rectraction from 110 ; Setting-up outputs (https://docs.duet3d.com/en/User_manual/Reference/Gcodes#m950-create-heater-fan-spindle-led-strip-or-gpioservo-pin) M950 P4 C"out4" ; M950 P5 C"out5" ; M950 P7 C"out7" ; M950 P0 C"out0" ; M950 P6 C"out6" ; M950 P11 C"out8" ; M950 S10 C"out9" ; ; Setting-up inputs (https://docs.duet3d.com/en/User_manual/Reference/Gcodes#m950-create-heater-fan-spindle-led-strip-or-gpioservo-pin) M950 J4 C"io4.in" ; M950 J6 C"io6.in" ; M950 J7 C"io7.in" ; M950 J8 C"io8.in"; ; Defining tools section (https://docs.duet3d.com/User_manual/Machine_configuration/Configuration_cartesian#tool-definition-section) M563 P1 S"Tool 1" D0 H1 ; Tool 1 uses extruder drive 0 and Heater 1 M563 P2 S"Tool 2" H2 ; Tool 2 uses Heater 2, no fan or extruder drive defined M563 P3 S"Tool 3" H3 ; Tool 3 uses Heater 3, no fan or extruder drive defined ; Setting-up Tool axis offsets (https://docs.duet3d.com/en/User_manual/Reference/Gcodes#g10-tool-temperature-setting) G10 P1 X0 Y0 ; Tool 1 G10 P2 X0 Y0 ; Tool 2 G10 P3 X0 Y0 ; Tool 3 ; Setting-up Tool active and standby temperatures (https://docs.duet3d.com/en/User_manual/Reference/Gcodes#m568-set-tool-settings) M568 P1 R0 S0 A0; Set initial tool 1 active and standby temperatures to 0C M568 P2 R0 S0 A0 ; Set initial tool 2 active and standby temperatures to 0C M568 P3 R0 S0 A0 ; Set initial tool 3 active and standby temperatures to 0C ; Tool selecting (https://docs.duet3d.com/en/User_manual/Reference/Gcodes#t-select-tool) T-1 ; deselected all
Here is the image of the erraneous Active and standby temperatures:
Here are the information of Duet firmware and board:
1/19/2025, 10:23:06 AM M115
FIRMWARE_NAME: RepRapFirmware for Duet 3 MB6HC FIRMWARE_VERSION: 3.5.3 ELECTRONICS: Duet 3 MB6HC v1.01 FIRMWARE_DATE: 2024-09-18 11:27:36BR, Heidi
-
RE: Error with heater monitor number (M143)
@jay_s_uk My aim has been to determine the allowed temperatures for my heaters between 20-250C degrees. I have tried to add this required minimum 20C temperature to ensure that heaters don't start to accidentally start heating when I would have -273C temperature reading, caused by some error.
However, I tested my minimum temperature limit by setting up the S25 to minimum temperature (current temperature 23C), but this didn't initiate heater fault that I had specified in the M143 command. Based on this, this code doesn't seem to work as I was aiming and I will remove those lines in which I have determined the temperature minima.
BR, Heidi
-
RE: Error with heater monitor number (M143)
@jay_s_uk Thank you. I will remove the P heater monitor number away from my code.
About the temperature limits: I have used the S command to set-up both the minimum (20C) and maximum temperatures for the heaters, because in the M143 in C command it says that I can define that temperature is too low (1) or high (0) with the heater. Based on that I understood that the accepted heater temperature range can be configured between a temperature range minimum and maximum. Did I understand it incorrectly?
BR, Heidi
-
Error with heater monitor number (M143)
Hi, I am getting error "Error in start-up file macro line 186: in file macro line 186: M143: parameter 'P' too high", which relates to heater monitor number. Also, my active and standby temperatures become -273.1C for all heaters.
These errors appear when I define in the M143 commands maximum and minimum temperature limits, and I have added Heater monitor numbers 1-3 for my Heaters 1-3. Based on instructions on G-code dictionary, I understood that Heater monitor numbers could be added when monitoring with a specific heater temperature maximum (P0), temperature minimum (P1), and monitor disabled (P2). So, my configuration would look like below:
; Creating heaters (https://docs.duet3d.com/User_manual/Reference/Gcodes#m950-create-heater-fan-spindle-or-gpioservo-pin) M950 H1 C"out1" Q10 T1 ; Heater 1 M950 H2 C"out2" Q10 T2; Heater 2 M950 H3 C"out3" Q10 T3 ; Heater 3 ; Setting-up Pt100 sensors (https://docs.duet3d.com/en/User_manual/Reference/Gcodes#m308-set-or-report-sensor-parameters) M308 S1 P"spi.cs0" Y"rtd-max31865" A"Heater 1" U0.080, V-0.0040; includes also correcting factors for sensor reading M308 S2 P"spi.cs2" Y"rtd-max31865" A"Heater 2" U0.18, V-0.0088 ; includes also correcting factors for sensor reading M308 S3 P"spi.cs1" Y"rtd-max31865" A"Heater 3" ;Setting-up PID parameters for heaters (https://docs.duet3d.com/en/User_manual/Reference/Gcodes#m307-set-or-report-heating-process-parameters) M307 H1 R2.921 K0.455:0.000 D2.48 E1.35 S0.55 B0 ; Heater 1 M307 H2 R5.771 K0.276:0.000 D3.88 E1.35 S0.15 B0 ; Heater 2 M307 H3 A550 C303.1 S0.3 D15.0 B0 ; Heater 3 ; Setting-up maximum temperatures for heaters (https://docs.duet3d.com/User_manual/Reference/Gcodes#m143-maximum-heater-temperature) M143 H1 P0 T1 S250 A0 C0; Heater 1 M143 H2 P0 T2 S250 A0 C0 ; Heater 2 M143 H3 P0 T3 S250 A0 C0 ; Heater 3 ; Setting-up minimum temperatures for heaters (https://docs.duet3d.com/User_manual/Reference/Gcodes#m143-maximum-heater-temperature) M143 H1 P1 T1 S20 A0 C1; Heater 1 M143 H2 P1 T2 S20 A0 C1; Heater 2 M143 H3 P1 T3 S20 A0 C1; Heater 3 ; Setting-up actions when heater monitoring disabled (https://docs.duet3d.com/User_manual/Reference/Gcodes#m143-maximum-heater-temperature) M143 H1 P2 T1 S20 A0 C-1; Heater 1 M143 H2 P2 T2 S20 A0 C-1; Heater 2 M143 H3 P2 T3 S20 A0 C-1; Heater 3 ; Configuring heater fault detection https://docs.duet3d.com/en/User_manual/Reference/Gcodes#m570-configure-heater-fault-detection M570 H1 P2 T10 R2; Heater 1 M570 H2 P60 T10 R2; Heater 2 M570 H3 P40 T10 R2; Heater 3
When I don't specify heater numbers, then there does not appear any error.
Have I understood something incorrectly in the instructions, and how I should change my configuration to have its temperature fault monitoring working for the heaters but not having these errors?
BR; Heidi
-
RE: Cutting power off from Duet 3 harmful in long-term?
@jay_s_uk Jes, great :D! Excellent to hear. Thank you for your help.