-
-
Notifications
You must be signed in to change notification settings - Fork 19.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[BUG] M306 T produces negative responsiveness value #27181
Comments
Do you have a ceramic hotend heater, if so this could be related to #27223 Did you correctly define the MPC_HEATER_POWER? You have defined 2 different types of thermistors for the hotends, make sure it's correct. |
It's e3d Revo, I believe it's ceramic.
40W, as per published e3d specs
Yes, the other hotend is the old V6 with pt1000 |
OK, good to know. I think you should look at the orange line, which shows that if you print at 225 degrees C, that the power goes down to about 28W, you could try that number instead of the 40W. |
here's the result @28w |
All numbers reported seem reasonable, except this minus sign. Are you sure the thermistor type is correct? I'm not sure how you set the new heater power, best way to test is just to issue a M306 P28 before the M306 T. If you change the value in the configuration.h, the new value will not be used immediately... Run an M306 without parameters to see the currently active MPC values. |
Type 5, as per specifications
B:23 T0:24 T1:23
M306 E1 P28.00 C9.36 R0.1810 A0.0525 F0.0884 H0.0036 |
Revo hotends (and PTC hotends generally) break an assumption of the asymptotic MPC autotuning method and this results in nonsense negative sensor responsiveness values. @StevilKnevil added the differential autotuning method which, I believe, was merged in #25503 (but originally submitted as #25517). This method is slightly less accurate but should give sensible results for all hotend types. Since #25503 @StevilKnevil any thoughts? |
Yes, I discovered that in Marlin documentation and tried it with the explicit |
You need |
That's from MPC docs |
Hmm, looks like the "Automatic Differential Tuning" part of the docs has a few errors. I also see some math values that don't have enough $ signs and are not rendered correctly on my web browser. But also, the next section in the doc explains why you are still getting negative sensor responsiveness. The value calculated by the differential tuning gets thrown away and replaced with the value from the asymptotic tune. Reading the source code, it does appear to have the described behaviour for the Auto Select tuning case, i.e. |
Comparing these values to previous run with M306 TD: P.S. E0 and E1 are now identical Revo 6 |
Could you include the text that was replaced by Also: the values this tune gave are all about 80% of the previous values. Did you use the same power value for both tunes? Marlin has no way of knowing whether the power value is correct so it accepts it as given when tuning and bases all other values on it. |
I have attached logs of M306 T and M306 T S1. Both done with freshly complied latest Marlin 2.1.2.4, right after boot. |
Testing should be done with |
M306 T, M306 T S1 and M306 TD. |
Okay, so...
I can fix both code and docs pretty easily. |
While at it, can you also fix |
They are all RGB. The fact that you have to set it as BRG is a workaround for a bug on certain motherboards / processors: |
It turns out there are several other bugs with the S1 tuning. Fixes for all of them coming soon to a PR near you. |
This issue has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs. |
Did you test the latest
bugfix-2.1.x
code?Yes, and the problem still exists.
Bug Description
Having installed a new, original E3D Revo 12v hotend I ran M306 and got the below values:
:Recv: MPC Autotune finished! Put the constants below into Configuration.h Recv: MPC_BLOCK_HEAT_CAPACITY 9.36 Recv: **MPC_SENSOR_RESPONSIVENESS -0.9229** Recv: MPC_AMBIENT_XFER_COEFF 0.0525 Recv: MPC_AMBIENT_XFER_COEFF_FAN255 0.0884
The negative responsiveness value led to a thermal runaway issue until I realized what was happening and removed the minus sign.
Bug Timeline
With a new E3D Revo.
Expected behavior
Normal values
Actual behavior
Recv: MPC_SENSOR_RESPONSIVENESS -0.9229
Steps to Reproduce
T1 (it's a dual system)
M306 T
Version of Marlin Firmware
2.1.2.3
Printer model
Custom coreXY Hypercube
Electronics
SKR 3
LCD/Controller
BTT-12864
Other add-ons
No response
Bed Leveling
UBL Bilinear mesh
Your Slicer
Prusa Slicer
Host Software
OctoPrint
Don't forget to include
Configuration.h
andConfiguration_adv.h
.Additional information & file uploads
Marlin.zip
The text was updated successfully, but these errors were encountered: