mirror of
https://github.com/Klipper3d/klipper.git
synced 2025-07-18 20:28:10 -06:00
heater: Added config for heater PWM cycle time.
Added the pwm_cycle_time option for heater config sections. Defaults to previous value of 0.100 seconds, but may be reduced to shorter times at the expense of MCU workload and possible MOSFET heating, depending on controller design. Some printers that need bed PID to be enabled, notably the Felixprinters series, are known to benefit from shorter cycle times, as the default 10hz rate results in excessive voltage supply droop. While this option can be used on extruder heaters as well, there is not expected to be any particular benefit from doing so unless the extruder heater presents a particularly large load. Signed-off-by: Andy Silverman <andrewsi@outlook.com> Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
This commit is contained in:
parent
9fc5506c83
commit
b22a81cd34
2 changed files with 8 additions and 2 deletions
|
@ -95,7 +95,6 @@ Sensors = {
|
|||
SAMPLE_TIME = 0.001
|
||||
SAMPLE_COUNT = 8
|
||||
REPORT_TIME = 0.300
|
||||
PWM_CYCLE_TIME = 0.100
|
||||
MAX_HEAT_TIME = 5.0
|
||||
AMBIENT_TEMP = 25.
|
||||
PID_PARAM_BASE = 255.
|
||||
|
@ -125,7 +124,9 @@ class PrinterHeater:
|
|||
self.mcu_pwm = pins.setup_pin(printer, 'digital_out', heater_pin)
|
||||
else:
|
||||
self.mcu_pwm = pins.setup_pin(printer, 'pwm', heater_pin)
|
||||
self.mcu_pwm.setup_cycle_time(PWM_CYCLE_TIME)
|
||||
pwm_cycle_time = config.getfloat(
|
||||
'pwm_cycle_time', 0.100, above=0., maxval=REPORT_TIME)
|
||||
self.mcu_pwm.setup_cycle_time(pwm_cycle_time)
|
||||
self.mcu_pwm.setup_max_duration(MAX_HEAT_TIME)
|
||||
self.mcu_adc = pins.setup_pin(printer, 'adc', config.get('sensor_pin'))
|
||||
adc_range = [self.sensor.calc_adc(self.min_temp),
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue