M303 gcode unclear documentation



  • In the M303 tuning there are a two items which should be corrected:

    • The S parameter is listed as both "target temperature" but further down it is listed as "the maximum allowable temperature". This should be corrected/explained.

    • The P parameter is listed as 0 to 1 and then "(you should normall use 1 i.e full power)" but futher down it is listed as "P is the PWM to use (default 0.5)". So why is default 0.5 if you should use 1, or has the default changed?

    M303: Run heatertuning
    Parameters

    Hnnn heater number
    Pnnn PWM to use, 0 to 1 (you should normally use 1 i.e. full power)
    Snnn target temperature
    Examples
    M303 H1 P0.4 S240 ; tune heater 1 using 40% PWM, target temperature 240C

    PID Tuning refers to a control algorithm used to tune heating behaviour for hot ends and heated beds. This command computes the process model parameters (see M307), which are in turn used to calculate the PID constants. H is the heater number, P is the PWM to use (default 0.5), and S is the maximum allowable temperature (default 225).

    Tuning is performed asynchronously. Run M303 with no parameters to see the current tuning state or the last tuning result.



  • The M301 also has some issues:

    This is the default line from online configurator:

    [[language]]
    M301 H1 S1.00 P10 I0.1 D200 T0.4 W180 B30	; PID on Hotend (may require further tuning)
    
    ```But the T, W and B are not described in the **[Gcode wiki for M301](https://duet3d.com/wiki/G-code#M301:_Set_PID_parameters)**
    
    > M301: Set PID parameters
    > Parameters
    > Hnnn heater number
    > Pnnn proportional (Kp)
    > Innn integral (Ki)
    > Dnnn derivative (Kd)

  • administrators

    What online configurator are you using? The online RepRapFirmware configurator at https://configurator.reprapfirmware.org/ does not generate M301 commands.

    I have corrected the description of M303.



  • I configured the PID with the M303 command. During operation, the temperature varies according to the SIN funcrion. How to fix? Command does not have PID coefficients (((


  • administrators

    1. Make sure that you are using the M307 parameters that were established by tuning.

    2. If you are, then increase the D (dead time) parameter in the M307 command.



  • @dc42:

    What online configurator are you using? The online RepRapFirmware configurator at https://configurator.reprapfirmware.org/ does not generate M301 commands.

    I have corrected the description of M303.

    It did for me. This is a brand new, this week, config of your configurator for my new xBot.



  • And how to translate M307 parameters in PID parameters for M301?


  • administrators

    @parovoZZ:

    And how to translate M307 parameters in PID parameters for M301?

    Don't, let the firmware do it for you. You don't need to use M301.



  • I do not understand how to configure the M307.
    For example, I expose 235C, I get 238C.


  • administrators

    @parovoZZ:

    I do not understand how to configure the M307.
    For example, I expose 235C, I get 238C.

    Please explain. Are you saying that if you ask for the hot end to heat to 235C then the temperature overshoots to 238C before coming back to 235C?



  • Yes.
    At the moment of autotune, the fan has max. At the time of printing, the fan speed is lower.


  • administrators

    3C isn't much overshoot and is unlikely to affect the print significantly. But if you want to reduce it, increase the A parameter in the M307 command for that heater a little. Try increasing it about 2%.


Log in to reply