Duet 3+ Mini - pid cant be done (verify heater)

Basic Information:

Printer Model: Voron v0.1
MCU / Printerboard: OrangePi Zero2W / Duet 3 Mini
klippy.log (211.3 KB)

Describe your issue:

Just swapped my 3rd rinter to Klipper. Was working briliant with RepRapFirmware with same extruder temp values asked to do PID for. RepRap was doing 310deg with no issue, klipper shwoing fault and asking for check “verify_heater”.
I change some bits ther but dont know how far can i go with lowering expectations. Flashed back with RRF doing PID with no issue

For clarification: Did you use the PID values from RepRap or did you run a PID tune in Klipper?

If not the latter one, I strongly recommend to do so.

I’m trying to do PID (values mentioned by You I mean temperature).

BTW. Do the pid settings taking any effect when doing pid tuning?

That is the point of the matter.

https://www.klipper3d.org/Config_checks.html#calibrate-pid-settings

Show me please where there is something about my question? Where there is anything about usage of “p”, “i” and “d” value from printer.cfg during pid tuning?

Actually the tuning starts from scratch with the given parameters as a staring point.

So right now - why RRF doing PID and Klipper not?

I can’t quite follow you. What does Klipper not do?

1 Like

Cant get PID done.
I have verify_heater error. You have my config - i was trying to cheat setting but with no success.

Wrote in 1st post - klipper showing fault and asking to check verify_heater

What you can see in the screenshot from you log:

  • Target temp: 310 °C is reached
  • PWM falls back to 0 to let it cool
  • PWM goes back to 1
  • Heater continues to lose temperature, although it should be heating at full power
  • Finally Klipper errors out

Typically, you see such a behavior when there are defects with the heating cartridge.
As far as I’m aware no bug exists that would explain such and I’m printing in the 300°C range as well and have not experienced such behavior.

I can swap FW in 5s and RRF doing pid with no issue (done that twice right now) I’m expecting there is same behavior there.
Lets assume that hotend cooling it too powerful and this causing the problem - how extend time in which klipper will not push error note?

What makes me wonder is the 305 °c target temp in between.
Is the hotend supporting more than 300°c? Just for safety topics.
Can you raise the max_temp in your config to 330°c just for testing purposes, restart and perform PID again?
Is PID working with 260°c for example?

Your speed and acceleration settings are quite low for a v0.1…

2 Likes

Yes, hotend is capable for sure -this printer is printing only PA+CF all the time (from 1,5 year) - never changed filament after calibrations to different one. Only issue i had was weak heatbrake pipe when printing only CF filaments. Swapped for Mellow hardened one and problem gone

Acceleration and rest of speed setting were not calibrated yet - its basic config uploaded yesterday evening. Want do all PIDs, homings routins etc and then start playing with speed.

PiD working well to 240. Above making error. Must change something to tell klipper to wait longer for temp increase. But what?

BTW. I have tem limit at 330 right now :sunglasses:

Extending error confirmation time of Klipper will not help you if your heater is unable to reach the target temperature. The snippet of your data shown above shows that on the first iteration the hot end was able to reach the target temperature, but on the second iteration it was not. If you are trying to PID calibrate at 310 and your hot end cannot reach 310 (intermittently perhaps?), then your set up has other issues. Those other issues could be caused by either a problem with the heater or a problem with you temperature sensor.

Here is the time plot of your failed PID tune:

From this plot I can make two observations:

  1. Your hot end requires 7.5 minutes to reach target of 310, and at the point the target was reached it is almost out of authority - the curve slope is very flat. This means your printer setup as currently configured is not capable of printing at this temperature. The hot end should be able to reach your desired print temperature within a reasonable amount of time - perhaps on the order of 2 minutes, and at the point the temperature intersect the target the slope of the temperature curve should be reasonably steep.
  2. Something happened when the heater came back on the second time that significantly reduced the hot end temperature. The heater was only able to reach approximately 290 degrees with full power commanded on. Perhaps a cooling fan came on, or perhaps your heater or wiring is intermittent. The data does not seem to indicate an issue with the temperature sensor but that is certainly also a possibility. Are you sure your thermistor is 3950?

If RRF PID works as you indicate, then it could be masking the same issue because of different error criteria and fault monitoring during PID calibration. Or there might be an issue with your heater being intermittent or thermistor configuration as I indicated above.

3 Likes

Printer printing at 305deg from 1,5 year almost every day on RRF - i know that curve getting flattened so I’m reaching the limit of hardware, but if i was able to print like that from a year, dont think there is any issue. Print was never stopped etc.

I have 16,5cfm fan cooling hotend - this can causing behavior we are all talking right now, but as said - rrf was holding that from 1,5 year

@LifeOfBrian, this is the PID tune cycle

The relevant setting is max_error. Find some blurb how this works here: Klipper MCU disconnect when changing glass bed for new print - #5 by Sineos

What I do not know is if this setting is respected during PID tuning and even more so, how much sense a PID tuning makes if the disturbances are bigger than the power of the hotend apparently is able to compensate.

2 Likes

Changing max_error solved the issue but I’ve started to playing with hotend cooling fan speed - have installed there Sunon with more then 15cfm. Was trying to lower the speed but everything lower then 100% not turning it on. When increased cycle_time to 0.00005 can go as low as 50% and heating process going faster and curve going more vertical.

If you start receiving errors already at above 240°C then I’d recommend taking a look at the following topics:

  • Geometry of your air ducts → The airflow is supposed to be directed at the part and not the hotend or nozzle
  • Power of your heating cartridge → The standard 40W is definitively not sufficient in my view
  • Insulation of the hotend, e.g. silicone / glass-fiber socks → Especially important at high temperatures

Side note:
This is again a perfect example for the benefit of Klipper in my opinion. The other firmwares I know just silently ignore such topics and seemingly perform the required job and Klipper just errors out.
Unfortunately, this is a regular source of “in XY it worked perfectly, my system is perfect and Klipper is stupid” reactions of the users. To my experience, Klipper being wrong in such occasions is happening pretty rarely.

1 Like

Maybe you have an idea what is the lower value i can put in cycle_time parameter? Is 0.00005 not to low? :person_facepalming:

I’m moving all my printers to Klipper, all from RRF. I had no issues with RRF, but community around Klipper is so huge and developing so much great stuff that finally i decided to do that. Let’s see how it will go.

This very much depends on the individual capabilities of the used fan. Some are really good to control, some are not.
As a rule of thumb, you could say: The more powerful the fan is, the worse it runs at very low RPM.

Generally, especially at high printing speeds (and depending on the material) you cannot have enough cooling.
OTOH, engineering materials in the range of ASA, ABS, PC etc. typically need only very little to no cooling.

You will have to select your hardware and setup according to your needs. Quite hard to go for a one-size-fits-all approach.

Edit:
You may also try if adding a kick_start_time improves its control behavior