Hot end heatsink fan triggers on bed heater tempurature?
-
Issue:
My hot end heatsink fan triggers when sensor temp1 reaches target temp of 40c instead of when sensor temp2 reaches 40c. I have reviewed everything too many times and it must be a simple error that I keep overlooking. Please help me because Im apparently oblivious to the issue.
Background:
Everything was working fine on my E5+ running off a 6HC. I switched to an mains bed heater / SSR combo. Wired SSR trigger to out3. Mains bed had an internal thermistor and I installed a thermistor within the build plate also. Hot end has PT1000.
temp0 is build plate, temp1 bed heater, temp2 is hot end. I verified wiring was not crossed at connectors and was accurate to ports as in config file. Reread wikis and gcode dictionary. Everything looks like it should work in config file but the issue persists. Hot end temperatures rise correctly in DWC and on Paneldue when setting temps. Build plate temps also rise correctly (and internal thermistor on bed heater shows higher temps compared to build plate as expected). Print cooling fan control works normally.
Help me
Running firmware 3.4.1
EDIT - swapping positions / reconfig of internal bed heater thermistor to temp2 and HE pt1000 to temp1 resolved the issue. I haven't read the change logs for newer firmware but is this a bug? Is this expected behavior for some reason? Or do I have a typo that I keep missing..
; General preferences M575 P1 S1 B57600 ; enable support for PanelDue G90 ; send absolute coordinates... M83 ; ...but relative extruder moves M550 P"My Printer" ; set printer name ;Variables if exists(global.xMax) set global.xMax = 360 else global xMax = 360 ; Set xMax = max X range mm if exists(global.yMax) set global.yMax =360 else global yMax = 360 ; Set yMax = max Y range mm if exists(global.zMax) set global.zMax = 360 else global zMax = 360 ; Set zMax = max Z range mm if exists(global.probeXoffset) set global.probeXoffset = -44.4 else global probeXoffset = -44.4 ; Set Probe offset X axis (negative means closer to origin) if exists (global.probeYoffset) set global.probeYoffset = - 6.4 else global probeYoffset = -6.4 ; Set probe offset Y axis (negative means closer to origin) if exists (global.probeZoffset) ;set global.probeZoffset = 0.70 ;Z offset for mk6 nozzle set global.probeZoffset = 1.42 ;Z offset for diamond nozzle else ;global probeZoffset = 0.70 ;z OFFSET FOR mk6 nozzle Set probe offset Z axis (nozzle is this much lower than trigger level of probe) global probeZoffset = 1.42 ;z OFFSET FOR diamond nozzle Set probe offset Z axis (nozzle is this much lower than trigger level of probe) if exists (global.T0Preheat) set global.T0Preheat = 0 else global T0Preheat = 0 if exists (global.bedPreheat) set global.bedPreheat = 0 else global bedPreheat = 0 ; Network M552 P192.168.1.69 S1 ; enable network and set IP address M553 P255.255.255.0 ; set netmask M554 P192.168.1.254 ; set gateway M586 P0 S1 ; enable HTTP M586 P1 S0 ; disable FTP M586 P2 S0 ; disable Telnet ; Drives M569 P0.0 S0 ; X physical drive 0.0 goes backwards M569 P0.1 S0 ; Y physical drive 0.1 goes backwards M569 P0.2 S1 ; Ztop physical drive 0.2 goes forwards M569 P0.3 S1 ; Zright physical drive 0.3 goes forwards M569 P0.4 S1 ; Zleft physical drive 0.4 goes forwards M569 P0.5 S1 ; E1 physical drive 0.5 goes forwards M584 X0.0 Y0.1 Z0.2:0.3:0.4 E0.5 ; set drive mapping M350 X16 Y16 Z16 E16 I1 ; configure microstepping with interpolation M92 X80.00 Y80.00 Z1600.00 E415 ; set steps per mm M566 X600.00 Y600.00 Z30.00 E300.00 ; set maximum instantaneous speed changes (mm/min) M203 X9000.00 Y9000.00 Z500.00 E6000.00 ; set maximum speeds (mm/min) M201 X1500.00 Y1500.00 Z100.00 E1500.00 ; set accelerations (mm/s^2) M906 X700 Y700 Z700 E650 I30 ; set motor currents (mA) and motor idle factor in per cent M84 S30 ; Set idle timeout ; Axis Limits M208 X0 Y0 Z0 S1 ; set axis minima, M208 X{global.xMax} Y{global.yMax} Z{global.zMax} S0 ; set axis maxima ; Endstops - Sets axis XY origin 0,0 to front left corner M574 X2 S1 P"io1.in" ; configure switch-type (e.g. microswitch) endstop for high end on X via pin io1.in M574 Y2 S1 P"io2.in" ; configure switch-type (e.g. microswitch) endstop for high end on Y via pin io2.in ; Z-Probe M950 S0 C"io4.out" ; create servo pin 0 for BLTouch M558 P9 C"io4.in" H5 F500:200 A4 T5000 ; set Z probe type to bltouch and the dive height + speeds G31 P500 X{global.probeXoffset} Y{global.probeYoffset} Z{global.probeZoffset} ; set Z probe trigger value, offset and trigger height M557 X45:315 Y45:315 S27 ; define mesh grid ; Heaters ;Bed w/ thermistor inside build plate M308 S0 P"temp0" Y"thermistor" A"Build Plate" T100000 B4092 ; configure sensor 0 as thermistor on pin temp0 M950 H0 C"out3" Q10 T0 ; create bed heater output on out0 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 ;Bed heater max from internal thermistor M308 S1 P"temp1" Y"thermistor" A"Bed Heater" T100000 B4092 ; configure sensor 1 as thermistor on pin temp1 M143 H0 S150 T1 A3 ; configure maximum temperature for heater 0, 150 degrees using sensor 1, shut down printer ;Hotend 1 M308 S2 P"temp2" Y"pt1000" A"Hot End" ; configure sensor 2 as thermistor on pin temp2 M950 H1 C"out1" T2 ; create nozzle heater output on out1 and map it to sensor 2 M307 H1 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit M143 H1 S280 ; set temperature limit for heater 1 to 280C ; Bed adjustment screw locations ;;; replace these w/bed pivot pts by nozzle position ;M671 X328.4:28.4:28.4:328.4 Y54.1:54.1:314.1:314.1 P0.7 ; mark leveling screws ; Fans M950 F0 C"out7" Q100 ; create fan 0 on pin out7 and set its frequency M106 P0 C"PrintCooling" S0 ; set fan 0 name and value. Thermostatic control is turned off M950 F1 C"out8" Q100 ; create fan 1 on pin out8 and set its frequency M106 P1 C"Heatsink" S.85 H1 T40 ; set fan 1 name and value. Thermostatic control is turned on for Heater 1 ; Tools M563 S"HotEnd" 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 ; Miscellaneous M950 D1 C"spi.cs0+spi.cs2" ; enable Panel Due SD card M501 ; load saved parameters from non-volatile memory M572 D0 S0.015 ; set Pressure Advance
-
This post is deleted! -
So with fresh eyes I found the little error that is now obvious... when I was defining the thermostatic fan with
M106 P1 C"Heatsink" S.85 H1 T40
as stated in the gcode dictionary, the H parameter is supposed to be the sensor number and not a heater number.
-
-