Some clarification needed about config override / pid autotune.

  • Hi all lately I am having " Heating fault on heater 1, temperature rising much more slowly than the expected 1.5°C/sec "

    I replaced the thermistor cartridge with a new model and changed M305 B parameter accordingly I also changed the heating element, I did pid tuning saved it with M500 but still having the same problems.
    I took a look at my config.g file and I discovered I have M301command and M501 at the end.
    Is it correct that with M501 the printer is going to use the pid obtained by autotune written in config.override even if I have M301 in config.g?

    What the need to write M307 or M301 in config.g if M501 is used?
    Excuse me for the dumb question 🙂

    Thank you all

  • config-override.g will be evaluated whenever you call M501, hence the suggestion to put it at the end of config.g, so you know when it is applied.

    If you have your PID tune values in config-override.g and load it at the end of config.g using M501, you do not need it in config.g. Some people do not like config-override.g, so they keep everything in config.g.

    That said, it might be useful to have a good default in config.g just in case you mess with config-override.g

  • @claustro Also, it's best to tune the heater and not use M301. From the wiki...

    "Note: PID parameters are computed automatically when the M307 command is used to define the heater model, or from the default heater model if no M307 command is provided. You can use M301 to override those computed PID parameters, but this is not recommended because it prevents RepRapFirmware from using different PID parameters depending on the heating phase."

  • thank you for answering me.
    Ok so I 'll delete the M301 but then I need to add the M307 command or I can relay on config override parameter.
    If I understand correctly after pid autotune with M500 I write the correct parameter on config override and then this will be used every time a M501 command is invoked.

    this is my config.override as today

    M307 H0 A90.0 C700.0 D10.0 S1.00 V0.0 B1
    M307 H1 A318.5 C325.4 D1.2 S1.00 V24.0 B0
    M307 H2 A340.0 C140.0 D5.5 S1.00 V0.0 B0
    M301 H2 P10.0 I0.100 D100.0
    M307 H4 A340.0 C140.0 D5.5 S1.00 V0.0 B0
    M307 H5 A340.0 C140.0 D5.5 S1.00 V0.0 B0
    M307 H6 A340.0 C140.0 D5.5 S1.00 V0.0 B0
    M307 H7 A340.0 C140.0 D5.5 S1.00 V0.0 B0

    I don't understand what H2 H4 H5 H6 H7 stand for.

  • administrators

    @claustro said in Some clarification needed about config override / pid autotune.:

    I don't understand what H2 H4 H5 H6 H7 stand for.

    They are the heater numbers. The M307 H0 command in your config-override.g shows default parameters for a bed heater. The other M307 commands there show default parameters for a hot end heater.

  • @claustro You can either put the result of auto tune into M307 in your config.g file, or you can use M500 to store the values in config_overide.g. When you first power up the machine, all the commands in config.g are read in consecutively, then if there is an M501 at the end of config.g, the values in config_overide.g are read in. So if there are duplicate values in config_overide.g, these will override any previous values that are in config.g.

  • Perfect you are confirming what I thought thank you very much

Log in to reply