Marlin Bed Temperature Overshoot: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
(→Links) |
||
(23 intermediate revisions by the same user not shown) | |||
Line 3: | Line 3: | ||
*SSR - 5 hz max reliable switching frequency. [https://electronics.stackexchange.com/questions/144397/switching-frequency-of-a-solid-state-relay]. 0.5 hz recommended for heating. | *SSR - 5 hz max reliable switching frequency. [https://electronics.stackexchange.com/questions/144397/switching-frequency-of-a-solid-state-relay]. 0.5 hz recommended for heating. | ||
*Overshoot is 10-30C on the bed. [[D3D_v20.04.27_Data_Collection#Hysteresis_of_Bed]] | *Overshoot is 10-30C on the bed. [[D3D_v20.04.27_Data_Collection#Hysteresis_of_Bed]] | ||
=Code= | |||
*'''M303 S50 E-1 C5''' - 5 passes, set for 50C, -1 for bed | |||
=Procedure= | =Procedure= | ||
PID Autotune - [https://www.youtube.com/watch?v=APzJfYAgFkQ] | PID Autotune - [https://www.youtube.com/watch?v=APzJfYAgFkQ] | ||
=Results= | |||
==Extruder== | |||
Using Lulzbot Cura, M303 with no parameters heats the extruder to about 150. Each time division is about 30 seconds: | |||
[[File:PID_Autotune.png|500px]] | |||
And produces optimal values of P, I, D | |||
[[File:PID_Autotune2.png|500px]] | |||
M503 displays current values: | |||
< M503 | |||
... | |||
< echo:PID settings: | |||
< echo: M301 P22.20 I1.08 D114.00 | |||
'''You can save the values from PID Autotune by going into configuration.h''' | |||
==Bed== | |||
*PID autotune would have to be enabled for the bed in configuration.h. | |||
*If one is using an SSR, can this be used with default switching frequency of Marlin? Let's look inside Marlin - Configuration.h | |||
*SSR heats up when conducting via voltage drop. The switching doesn't cause much heat. [https://www.google.com/search?q=does+ssr+heat+upon+switching&oq=does+ssr+heat+upon+switching&aqs=chrome..69i57.4819j0j4&client=ubuntu&sourceid=chrome&ie=UTF-8]. See [[SSR Lifetime]]. It is not clear if fast switching (only 8 hz) reduces lifetime over say 4 hz in PWM switching? | |||
*Start by turning on PID for the bed: uncomment #define PIDTEMPBED in configuration.h | |||
*SOFT_PWM - sets PWM frequency? | |||
*Can also add PID autotune to menu via configuration.h: //#define PID_AUTOTUNE_MENU // Add PID Autotune to the LCD "Temperature" menu to run M303 and apply the result. '''But does this save the result?''' | |||
*Configuration.h can also use slow PID - //#define SLOW_PWM_HEATERS // PWM with very low frequency (roughly 0.125Hz=8s) and minimum state time of approximately 1s useful for heaters driven by a relay | |||
*M500 should work in Cura to save PID settings, or Save Settings in LCD? Or save in configuration.h for the common OSE characteristics. | |||
===Errors=== | |||
> M303 S50 E-1 C5 | |||
< PID Autotune start | |||
< PID Autotune failed! Temperature too high | |||
Failed once bed reached 70. | |||
=Links= | =Links= | ||
*Marlin - PID autotune - [https://marlinfw.org/docs/gcode/M303.html] | *Marlin software - PID autotune - [https://marlinfw.org/docs/gcode/M303.html] | ||
*RepRap wiki - [https://reprap.org/wiki/PID_Tuning] - '''how to set values manually''' - understanding the proportional, integral, derivative terms. | |||
*[[D3D_v20.04.27_Software]] - Marlin change log |
Latest revision as of 22:36, 13 May 2020
Data
- SSR - 5 hz max reliable switching frequency. [1]. 0.5 hz recommended for heating.
- Overshoot is 10-30C on the bed. D3D_v20.04.27_Data_Collection#Hysteresis_of_Bed
Code
- M303 S50 E-1 C5 - 5 passes, set for 50C, -1 for bed
Procedure
PID Autotune - [2]
Results
Extruder
Using Lulzbot Cura, M303 with no parameters heats the extruder to about 150. Each time division is about 30 seconds:
And produces optimal values of P, I, D
M503 displays current values:
< M503
...
< echo:PID settings:
< echo: M301 P22.20 I1.08 D114.00
You can save the values from PID Autotune by going into configuration.h
Bed
- PID autotune would have to be enabled for the bed in configuration.h.
- If one is using an SSR, can this be used with default switching frequency of Marlin? Let's look inside Marlin - Configuration.h
- SSR heats up when conducting via voltage drop. The switching doesn't cause much heat. [3]. See SSR Lifetime. It is not clear if fast switching (only 8 hz) reduces lifetime over say 4 hz in PWM switching?
- Start by turning on PID for the bed: uncomment #define PIDTEMPBED in configuration.h
- SOFT_PWM - sets PWM frequency?
- Can also add PID autotune to menu via configuration.h: //#define PID_AUTOTUNE_MENU // Add PID Autotune to the LCD "Temperature" menu to run M303 and apply the result. But does this save the result?
- Configuration.h can also use slow PID - //#define SLOW_PWM_HEATERS // PWM with very low frequency (roughly 0.125Hz=8s) and minimum state time of approximately 1s useful for heaters driven by a relay
- M500 should work in Cura to save PID settings, or Save Settings in LCD? Or save in configuration.h for the common OSE characteristics.
Errors
> M303 S50 E-1 C5
< PID Autotune start
< PID Autotune failed! Temperature too high
Failed once bed reached 70.
Links
- Marlin software - PID autotune - [4]
- RepRap wiki - [5] - how to set values manually - understanding the proportional, integral, derivative terms.
- D3D_v20.04.27_Software - Marlin change log