Can't PID Tune or just tune 100w Heater
Hi, I'm new to this forum. I like to research and learn myself so I don't post, and most of the time the question has already been asked. Thank you everyone who has unknowingly helped me in the past. Lets dive in.
First of all, the system is 24v.
RepRapFirmware for Duet 3 MB6HC version 3.3 (2021-06-15 21:45:47) running on Duet 3 MB6HC v1.01 or later (SBC mode)
Everything is running directly off the main board.
I'm currently trying to replace my hot end (e3d Volcano) with a Nova Hotend with a 100 watt heater. There were no issues with the Volcano when I switched them.
My first try was a standard Auto Tune (m303 t0 s240):
It heated to 240 in about 15 seconds, overshot just barley under the the threshold and continued its journey to which it failed at the end.
Warning: Auto tune of heater 1 failed due to bad curve fit (R=6.652, 1/C=0.0037:0.0108, D=6.6)
I tried throwing those values in (at the time, i didn't know what they represented) and got this:
Error: M307: bad model parameters
I've read in multiple post about people mistakenly getting a 12v heater instead of a 24v. I checked the resistance on the heater and came out with 5.8 ohms. For reference, the company only offers a 60watt in 12V. Following this formula, I calculated:
(P is power in Watt [W], U is voltage [V], R is the resistance in Ohm [Ω])
R(5.76) = U*U(576) / P(100)
The difference of Actual 5.8 to Calculated 5.76 (in my opinion) is negligible.
I then tried to tune the hot end my self by following the wiki guide
Here are my calculations
55 - 120 took 6.07 sec
65 deg in 6.07 sec
65/6.07 = 10.708
Cooldown (Ttarget = Tstart * 0.37 + Tambient * 0.63):
105.8 = (240 * .37) + (27.1 * .63)
No Fan Cooldown 4:49.06 or 289 sec
Fan Cooldown 1:36.5 or 96.5 sec
(Yes, my fan duct is not what I hoped and needs redesigning)
The best fluctuation i could reach was with D=5. That was with fan on and off and it wasn't that good +- 0.5 deg or 1 deg total. The fan dropped it a couple degrees before it started to rise.
So I ended up with:
M307 H1 R10.708 C289:96.5 D6.6 S1.00 V24.1
To which gave me:
Error: M307: bad model parameters
I thought "well maybe it doesn't know how to control the high powered heater"
I decided to try lowering the PWM to see if could get it to work. That was all a failure. Here are my results if interested.
M303 T0 P0.6 A26.8 S240
Warning: Auto tune of heater 1 failed due to bad curve fit (R=8.030, 1/C=0.0037:0.0102, D=5.8)
M303 T0 P0.4 A23.5 S240
Warning: Auto tune of heater 1 failed due to bad curve fit (R=8.800, 1/C=0.0036:0.0093, D=5.2)
M303 T0 P0.3 A23.7 S240
Warning: Auto tune of heater 1 failed due to bad curve fit (R=8.777, 1/C=0.0035:0.0082, D=4.3)
M303 T0 P0.2 A23.7 S240
Never Completed. Couldn't get to temperature with fan on
At this point, I can't decide if I'm doing something wrong or are there other factors. I would have assumed that lowering the PWM to slow down the heating rate would have achieved something but to no avail. Normally my problems are caused by me doing something wrong. I know other people use this hot end (I've seen it in many videos) and get it to work.
I was going to try using the old Volcano heater (I believe they are the same size) and see what the outcome is and/or buy the lowest wattage heater Nova makes (60w) and try that, but I want to reach out and see if someone has any input on the situation. Maybe I forgot something obvious. Changing out the cartridge is a pain and would rather not swap things in and out. If I have to change it, it'll be while I put on my pouty face and stomp my feet.
I apologize the post is so long, I was trying to make sure you know my steps I tried to figure it out. I'm also sure I forgot to add obvious information that should have been included. Any information or trials will be greatly appreciated.
Thank you in advance,
What kind of thermistor does it come with?
Can you post your full config.g?
I assume it's this one? https://3dpassion.com/nova
Does the vendor have any tips for taming that beast?
The thermistor is a PT1000.
Yes, it is the 3d passion Nova, sorry I thought I posted a link.
And, I knew I was forgetting something.
; Configuration file for Duet 3 (firmware version 3) ; executed by the firmware on start-up ; ; generated by RepRapFirmware Configuration Tool v3.2.3 on Sat Apr 24 2021 22:45:01 GMT-0400 (Eastern Daylight Time) ; General preferences G90 ; send absolute coordinates... M83 ; ...but relative extruder moves M550 P"MEGADuet3" ; set printer name M669 K1 ; select CoreXY mode ; Drives M569 P0.0 S0 ;D3 ; physical drive 0.0 goes backwards M569 P0.1 S0 ;D3 ; physical drive 0.1 goes backwards M569 P0.2 S1 D3 ; extruder drive 0.2 goes forwards M569 P0.3 S1 ; Z drive 0.3 goes forwards M569 P0.4 S1 ; Z drive 0.4 goes forwards M569 P0.5 S1 ; Z drive 0.5 goes forwards ; Added StealthChop2 Config M569 P2 H80 V 5 ; set stealthchop for extruder M915 P2 T1 M584 X0.0 Y0.1 E0.2 Z0.5:0.4:0.3 ; set drive mapping M350 X16 Y16 Z16 E16 I1 ; configure microstepping with interpolation M92 X80.00 Y80.00 Z1600.00 E842.58 ; set steps per mm M566 X960.00 Y960.00 Z60.00 E1200.00 ; was 120 set maximum instantaneous speed changes (mm/min) M203 X30000.00 Y30000.00 Z1800.00 E3600.00 ; set maximum speeds (mm/min) M201 X1320.00 Y1320.00 Z100.00 E1260.00 ; set accelerations (mm/s^2) M906 X1125 Y1125 Z800 E960 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 X460 Y490 Z550 S0 ; set axis maxima ; Endstops M574 X1 S1 P"io1.in" ; configure active-high endstop for low end on X via pin io1.in M574 Y1 S1 P"io2.in" ; configure active-high endstop for low end on Y via pin io2.in ; Z-Probe M950 S0 C"io7.out" ; create servo pin 0 for BLTouch M558 P9 C"^io7.in" H5 F600 T21000 ; set Z probe type to bltouch and the dive height + speeds G31 P500 X28.265 Y0 Z1.44 ;org 1.52set Z probe trigger value, offset and trigger height M557 X29:460 Y20:480 S50 ; define mesh grid ; Heaters M308 S0 P"temp0" Y"thermistor" T100000 B3950 A"Bed" ; Original configure sensor 0 as thermistor on pin temp1 M950 H0 C"out0" 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 M307 H0 R0.291 C810.7 D3.58 S1.00 V24.1 ; set autotune results M308 S1 P"temp1" Y"pt1000" A"HotEnd" ; Nova configure sensor 1 as thermistor on pin temp0 M950 H1 C"out1" T1 ; create nozzle heater output on out1 and map it to sensor 1 M307 H1 R10.708 C289:96.5 D6.6 S1.00 V24.1 ; Nova Manual Doesnt Work M143 H1 S280 ; was 280 set temperature limit for heater 1 to 280C M308 S2 P"temp2" Y"thermistor" T93000 B4345 C0 H0 L0 A"Aluminium" ; Railcore Test configure sensor 2 as thermistor on pin temp2 M950 H2 C"out2" T2 ; create chamber heater output on out2 and map it to sensor 2 M307 H2 B1 S1.00 ; enable bang-bang mode for the chamber heater and set PWM limit M141 H2 ; map chamber to heater 2 M143 H2 S100 ; set temperature limit for heater 2 to 100C M308 S3 Y"mcu-temp" A"MCU" ; configure sensor 3 as thermistor on pin e1temp ; Fans M950 F0 C"out8" Q145 ; create fan 0 on pin out4 and set its frequency M106 P0 S0 H-1 C"Parts Fan" ; set fan 0 value. Thermostatic control is turned off M950 F1 C"out7" Q500 ; create fan 1 on pin out7 and set its frequency M106 P1 S1 H1 T45 C"HotEnd Fan" ; set fan 1 value. Thermostatic control is turned on M950 F2 C"out9" Q500 ; create fan 2 on pin out9 and set its frequency M106 P2 S1.0 H3 T32 C"Board Fan" ; set fan 2 ON when h3:MCU temp hits 38 ; Tools M563 P0 S"HotEnd" 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 M575 P1 B57600 S1 ; enable support for PanelDue M911 S10 R11 P"M913 X0 Y0 G91 M83 G1 Z3 E-5 F1000" ; set voltage thresholds and actions to run on power loss M671 X-39.763:497.655:228.946 Y4.316:4.316:517.526 S50 F1.1 ;Calc from fusion2 ; Tuning ;M572 D0 S0.080 ; Set Pressure Advance PLA M572 D0 S0.065 ; Set Pressure Advance PETG
I have not yet contacted the vendor as I figured it was something on my end. I have contacted him in the past but it's just one man and takes time for him to respond. I believe he has a facebook group and telegram but I don't have either.
Will have to wait and see what DC42 has to say about tuning such a powerful hotend heater.
@phaedrux Thank you for your time.
deckingman last edited by deckingman
@phavey I'd say it's not so much the fact that its a 100 Watt heater, but more that it's very high wattage in relation to the thermal mass of the hot end. The fact that it reaches 240 deg C in 15 seconds means it's pretty insane. Let's see what DC has to say but I think you might struggle taming it. I'm currently running an E3D super volcano (80 Watt) on my experimental 6 input mixing hot end but my thermal mass is probably 10 to 20 times greater than the Nova. A 60 Watt heater or even less would be easier to control and intrinsically safer in the event of a Mosfet failure.
@deckingman I agree with you about the thermal mass and taming it. When it turns on to try to maintain temperature, it inadvertently rises 5-8 deg by the next temperature update onscreen.
I'll buy the 60w heater, but I don't want to drop this yet. I would like to learn the reasoning behind why limiting the PWM still didn't work. Obviously I don't have a clear understanding of what the "curve" is looking for.
It may not ever work, but I'm still trying different things to get it to work. I'd rather learn from screwing up then to just give up.
One thing that just came to mind while re-reading my post. Although Auto Tune could not find a curve at a given PWM, doesn't mean I can't manually set the curve at that PWM. My thoughts are, if I set the M307 with an S value then remeasure my heat rate, I might have something usable. The cooling rate stays the same, I never got a reliable dead time value but those were all at full power.
The fact still remains that heater is too powerful and as @deckingman said It could be catastrophic if the mosfet fails.
@phavey the reason for the bad model parameters message is that the product of R and C results in a predicted maximum temperature of over 1700C when the heater is left running at full power. The 60W heater would be a much better match for that hot end.
If you really want to use the 100W heater with RRF, you will need to do two things:
Set the M143 temperature limit for that heater very high when giving the M307 command, for example 1400C. You can reduce it again afterwards.
In the M307 parameters, ensure that the product of R and the first C value does not exceed 1500.
@dc42 Thank you for your reply and explanation.
I agree with you and @deckingman that 60w would be the way to go. Bigger is not always better. I'm trying to achieve high flow rate and figured "Hey 3 times more watts should do it." I never thought about thermal mass or the lack there of.
I will try the a 60w heater. Thank you all who helped.
deckingman last edited by
@phavey The 60 Watt would be a wise choice IMO. Be aware that the melting point of copper is around 1100 Deg C so if DCs calculations are right and it could potentially reach 1700 Deg C then ........