Strange issue with heater (hotend)
-
Hi all,
OK, so I was busy doing the PID tuning for the initial setup of the board on the printer. So I started the PID cycle for a temperature of 240C --- about half way; it was as if the board resets.... I changed the PWM factor to 0.85; instead of 1.00 and it went through.
So now it became time to try and sort out the extruder, etc. Heated hotend to 200C; and at about 110C, the same issue of the board that resets. 3rd try; and it didn't reset.
Any idea why this is????
Tinus
-
Please post your config.g and the results of M122.
What wattage is the heater?
What does the temperature graph look like when heating and when it faults?
-
@Phaedrux Hi!
The M122 response:
M122
+++++++++++++++++++++++++++++++++++++++++++++++++++
=== Diagnostics ===
RepRapFirmware for Duet 2 WiFi/Ethernet version 3.1.1 running on Duet WiFi 1.02 or later
Board ID: 08DJM-9178L-L4MSN-6J1F8-3SD6J-KS02N
Used output buffers: 3 of 24 (10 max)
=== RTOS ===
Static ram: 27980
Dynamic ram: 93872 of which 44 recycled
Exception stack ram used: 264
Never used ram: 8912
Tasks: NETWORK(ready,368) HEAT(blocked,1224) MAIN(running,1816) IDLE(ready,80)
Owned mutexes: WiFi(NETWORK)
=== Platform ===
Last reset 00:15:48 ago, cause: power up
Last software reset at 2020-11-04 21:32, reason: User, spinning module GCodes, available RAM 8856 bytes (slot 1)
Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0441f000 BFAR 0xe000ed38 SP 0xffffffff Task MAIN
Error status: 0
MCU temperature: min 28.8, current 38.4, max 38.7
Supply voltage: min 24.2, current 24.3, max 24.4, under voltage events: 0, over voltage events: 0, power good: yes
Driver 0: standstill, SG min/max not available
Driver 1: standstill, SG min/max not available
Driver 2: standstill, SG min/max not available
Driver 3: standstill, SG min/max not available
Driver 4: standstill, SG min/max not available
Date/time: 2020-11-05 06:41:03
Cache data hit count 1653887506
Slowest loop: 2.75ms; fastest: 0.12ms
I2C nak errors 0, send timeouts 0, receive timeouts 0, finishTimeouts 0, resets 0
=== Storage ===
Free file entries: 10
SD card 0 detected, interface speed: 20.0MBytes/sec
SD card longest read time 0.8ms, write time 0.0ms, max retries 0
=== Move ===
Hiccups: 0(0), FreeDm: 169, MinFreeDm: 169, MaxWait: 0ms
Bed compensation in use: none, comp offset 0.000
=== MainDDARing ===
Scheduled moves: 0, completed moves: 0, StepErrors: 0, LaErrors: 0, Underruns: 0, 0 CDDA state: -1
=== AuxDDARing ===
Scheduled moves: 0, completed moves: 0, StepErrors: 0, LaErrors: 0, Underruns: 0, 0 CDDA state: -1
=== Heat ===
Bed heaters = 0 -1 -1 -1, chamberHeaters = -1 -1 -1 -1
Heater 1 is on, I-accum = 0.0
=== GCodes ===
Segments left: 0
Movement lock held by null
HTTP is idle in state(s) 0
Telnet is idle in state(s) 0
File is idle in state(s) 0
USB is idle in state(s) 0
Aux is idle in state(s) 0
Trigger is idle in state(s) 0
Queue is idle in state(s) 0
Daemon is idle in state(s) 0
Autopause is idle in state(s) 0
Code queue is empty.
=== Network ===
Slowest loop: 15.95ms; fastest: 0.00ms
Responder states: HTTP(2) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0), 0 sessions
HTTP sessions: 1 of 8- WiFi -
Network state is active
WiFi module is connected to access point
Failed messages: pending 0, notready 0, noresp 0
WiFi firmware version 1.23
WiFi MAC address a4:cf:12:c3:04:2d
WiFi Vcc 3.35, reset reason Unknown
WiFi flash size 4194304, free heap 22696
WiFi IP address 192.168.168.200
WiFi signal strength -61dBm, reconnections 0, sleep mode modem
Socket states: 0 4 0 0 0 0 0 0
+++++++++++++++++++++++++++++++++++++++++++++++++++
The heater is a 24V, 40W heater. It is being powered through a mosfet that is being fed directly off the power supply.
The graph looked like an absolutely normal graph, no weird peaks or anything. I tried again now, but it heated like normal, no 'hickups' with the web interface or the board or anything.
- WiFi -
-
Why the mosfet? The Duet is more than capable of powering the heater directly.
Can you post your config.g as well so I can see the heater configuration?
-
@Phaedrux Hi; included the config.g ----- in the past I have had cheaper boards and the onboard mosfet went - don't want to take a chance like this. I am in Namibia (Africa); so spares are at a premium.
Please excuse the 'mess' in the config.g - I still need to clean it up and add a bit more comments, etc.
Please see config.g below:
; Configuration file for Duet WiFi (firmware version 3)
; executed by the firmware on start-up
;
; generated by RepRapFirmware Configuration Tool v3.1.4 on Tue Nov 03 2020 07:37:18 GMT-0800 (Pacific Standard Time); General preferences
G90 ; send absolute coordinates...
M83 ; ...but relative extruder moves
M550 P"Ender3" ; set printer name
M918 P1 E4 F2000000 ; configure direct-connect display; Network
M552 S1 ; enable network
M586 P0 S1 ; enable HTTP
M586 P1 S0 ; disable FTP
M586 P2 S0 ; disable Telnet; Drives
M569 P0 S1 ; physical drive 0 goes forwards
M569 P1 S0 ; physical drive 1 goes forwards
M569 P2 S1 ; physical drive 2 goes forwards
M569 P3 S0 ; physical drive 3 goes forwards
M584 X0 Y1 Z2 E3 ; set drive mapping
M350 X16 Y16 Z16 E16 I1 ; configure microstepping with interpolation
M92 X80.00 Y80.00 Z400.00 E412.45 ; set steps per mm
M566 X1200.00 Y1200.00 Z24.00 E300.00 ; set maximum instantaneous speed changes (mm/min)
M203 X9000.00 Y9000.00 Z180.00 E6000.00 ; set maximum speeds (mm/min)
M201 X500.00 Y500.00 Z100.00 E5000.00 ; set accelerations (mm/s^2)
M906 X800 Y800 Z800 E1000 I50 ; set motor currents (mA) and motor idle factor in per cent
M84 S30 ; Set idle timeout; Axis Limits
M208 X-6 Y0 Z0 S1 ; set axis minima
M208 X220 Y235 Z260 S0 ; set axis maxima; Endstops
M574 X1 S1 P"!xstop"
M574 Y1 S1 P"ystop"
M574 Z1 S2 ; configure Z-probe endstop for low end on Z; Z-Probe
M558 P8 C"!^zprobe.in" H5 F3000 T6000 ; set Z probe type to switch and the dive height + speeds
G31 X-16 Y-11 Z14.31 P500 ; set Z probe trigger value, offset and trigger height
M557 X15:215 Y15:195 S20 ; define mesh grid
M950 S0 C"exp.heater7" ; define servo; Heaters
M308 S0 P"bedtemp" Y"thermistor" T100000 B4092 ; 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 B1 S0.85 ; enable bang-bang mode for the bed heater and set PWM limit
M140 H0 ; map heated bed to heater 0
M143 H0 S150 ; set temperature limit for heater 0 to 150C
M308 S1 P"e0temp" Y"thermistor" T100000 B4092 ; 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 S0.85 ; disable bang-bang mode for heater and set PWM limit
M302 S170 R190 ; Set retraction/extruding temperature limits. Extruding 170, Retraction 190.
M143 H1 S250; Fans
M950 F0 C"fan0" Q500 ; create fan 0 on pin fan0 and set its frequency
M106 P0 S0 H-1 ; set fan 0 value. Thermostatic control is turned off
M950 F1 C"fan1" Q500 ; create fan 1 on pin fan1 and set its frequency
M106 P1 S1 H1 T45 ; set fan 1 value. Thermostatic control is turned on; Tools
M563 P0 D0 H1 F0 ; 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; Custom settings are not defined
; Miscellaneous
M501 ; load saved parameters from non-volatile memory
T0 ; select first tool; Signal to user that probe and loading is complete
M280 P0 S20 I1 ; Move servo to 20 degrees
M280 P0 S70 I1 ; Move servo to 70 degrees
M280 P0 S20 I1 ; Move servo to 20 degreesM501 ; Load EEPROM details
-
Are you sure the heater cartridge is 24v and not 12v?
Did you save the results of the PID tuning to config-override.g with M500? I'm curious to see what it produced.
Are these values correct for your thermistor?
M308 S1 P"e0temp" Y"thermistor" T100000 B4092
You have the max temp for the hotend set to 250c, which is actually quite close to your requested PID tuning value of 240C. During the tuning it may overshoot and then come back down, which could cause the fault.
M143 H1 S250
Once you verify that your thermistor values are correct you should try increasing the max temp to 300c and then try PID tuning to 240C again with full PWM power.
If that works correctly you can then reduce the max temp again.
-
@Phaedrux Hi, yes I am sure it is 24V, not 12V. I did save with M500. Thermistor values are correct, as far as I know - the measurements are actually much more stable than with my previous board/marlin setup.
The problem of the fault did occur at about 100 and 150C. Had it two times. Then changed PWM to the reduced factor and managed to get it through.
I have not gotten the problem again (had it once while tuning the extruder yesterday evening).... which is not very comforting as it is something, somewhere, that caused this....
-
Well if it does happen again, definitely double check the wiring.
I would remove the mosfet from the equation as well.
For PID tuning, ensure the max temp is well above the tuning temp. Start from room temp. And try to replicate the same conditions that would be present during a print, so if you use a part cooling fan, have the fan turned on to a speed that would normally be used during a print. You can even have the bed heater on, but if the power supply is adequate and the temperatures mostly stable it shouldn't matter too much.
-
@Phaedrux Thank you for the advice!