PID autotune fail on Marlin?

I’m running Marlin 2.0.4.4 on an SKR mini e3 v1.2, at 24V, with a hexagon-style hotend. I was printing with it yesterday and this morning, but after a spaghetti mess this morning, I’m getting overshoot and oscillation on extruder temperatures.

Despite multiple PID autotuning cycles, the hotend is not stabilizing enough to start a print. I’m not sure what changed. For a setpoint at 205⁰, I’m watching it bounce between 199⁰ and 216⁰. This makes me think that the PID autotuning cycle isn’t finding the right values — but also I watched the temperatures during the auto-tuning cycle and they stabilized. I’ve never had this problem before.

I’ve tried changing the PID values manually following suggestions at https://reprap.org/wiki/PID_Tuning for this problem, but I’m not seeing any change in thermal cycling behavior.

Any ideas what I could check?

As so often happens when investigating something unusual, the question turns from “why doesn’t this work?” to “how did this ever work?”

I had, it turned out, changed PID_FUNCTIONAL_RANGE from 10 to 2 which naturally made it inclined to overshoot the range. I did that when experimenting with settings while worrying about cycling the SSR too much, and lost track of the fact that I had changed it. Setting that back to 10 resolved the issue. I might increase it a little further, in fact, because it heats so quickly.

4 Likes

Been there. This is usually when I restore default settings (or similar), or start taking a real close look at a diff. It is usually followed by me slapping my forehead. :man_facepalming:

1 Like

I usually comment out the original setting and write the new setting directly below it. Can see at a glance what the default was previously that way.

1 Like

I’m used to just using git diff.

I was starting from the stock e3 mini configuration, which conflated board-specific changes with specific settings for the ender 3. Because I wanted to keep those specifics out of history, I didn’t check in that version; my first mistake. That made my changes buried in the diff. Silly mistake and I know better.