Error: M307: bad model parameters
-
@Tinchus What is in your stop.g? M98 P"config.g"? If so, I expect you're getting this error at startup, if config-override.g is being called in config.g, but you don't see it then. What are the heater settings in config.g?
You can tune chamber heaters, and still run them bang-bang. RRF will keep an eye on them then, to check they don't do anything strange!
You can edit config-override.g if you want to use the settings from config.g. Just delete the line in config-override.g you don't want to use, then reset, or run M98 P"config.g".
Ian
-
@droftarts I guess this is a problem that I have waitied too much to adress.
I can not tune the heated chamber, the tunning on heated chambers doesnt work , there are reports from other users about this since version3.3 if I remember well, when the PID model changed, something stoped working for heated chambers. You can tune a heated chamber and once tunning has finifhes, the values just doesnt work, Me personally never complained about this too much, I guess is low priority and using bang bang works ok for me at the moment so...
In config.g the heater is configured like this (old PID model?) M307 H0 A11 C99000 D2000 B1 ;
The values in config-override are: M307 H0 R0.000 K0.001:0.000 D2000.00 E1.00 S0.85 B1
But these values are put there automatically every time I issue a M500 command so....
-
@Tinchus I think this explains your current setting:
M307 H0 A11 C99000 D2000 B1 M307 H0 Heater 0: heating rate 0.000, cooling rate 0.001, dead time 2000.00, max PWM 1.00, mode bang-bang Predicted max temperature rise 11°C
The M307 using A, C and D parameters is from RRF 3.0-3.1. The current RRF version can usually take settings from older versions of M307 and convert them to the current parameters. Though it looks like something strange is going on with the conversion in this case. Because if I then send these parameters:
M307 H0 R0.000 K0.001:0.000 D2000.00 E1.00 S0.85 B1 Error: at column 10: M307: value must be greater than zero
Which is probably the error you are seeing; the R parameter needs to be greater than 0.
If the auto tuning isn't working for you, try manual tuning to get a rough setting. At least this error should then go away. See https://docs.duet3d.com/User_manual/Connecting_hardware/Heaters_tuning#setting-the-model-parameters-manually
Ian
-
@Tinchus, @droftarts is correct. The A parameter in your M307 command is far too low to be sensible. A value of A11 means that if the heater is left running at full power, the eventual temperature will only be 11C above ambient. This results in RRF calculating a very low R parameter which is below the accepted minimum.
-
@dc42 Ok. Any ideas on how to avoid getting the error all the time? I have tried tunning the heated chamber since version 3.3 with the new temp model and it doesnt work, and also the "old" pid values I had working, with new model doesnt work either.
Manual tunning as somthing that I quited because I followed the instruction for manual tunning, but to my opinion those instruction were made for heated bed. Im my case, my heated chamber can reach 100 degtrees C, the heat model maybe is very different in terms of thermodinamics compared to a heated bed and so the mdel used on electronics might fail... I dont know, I have quited on that after a lot of time trying and I have the heated chamber working properly just on bang bang mode. I just want the error to go away. -
@Tinchus the manual tuning procedure isn't specific to bed heaters.
-
@dc42 I know, I meant that looks like it was done having hotend and bed heaters in mind or at least maybe tests were done using those type of heaters? I dont know, just thinking, but the pid heating model jsut doesnt work well with heated chambers, not with mine at least
-
@Tinchus if the model parameters don't work with your heated chamber then you might need to revert to bang-bang control. PID control doesn't really work when there is a long delay between adjusting heater power and seeing a temperature change at the sensor.
PS - alternatively, temporarily configure the chamber heater as a GP out pin. Turn it on at full power, then when it reaches a high enough temperature, turn it off. All the while, plot the sensor reading (temperature vs. time since turn on or turn off). From the graph we can work out the model parameters.
-
@dc42 It is on bang bang, that is why I dont know why still is compaining about a parameter that should not be taken into account? My config is:
M307 H0 R0.000 K0.001:0.000 D2000.00 E1.00 S0.85 B1
B1 one should indicate bang bang mode activated right?
-
@Tinchus it's because even in bang-bang mode, RRF needs to have an idea of how the heater behaves in order to detect heater faults.
You will need to use a nonzero R parameter. I suggest you run heater tuning and capture the temperature curve as it heats up, then we can estimate the R parameter from the curve.