Newer
Older
jeltz-klipper-config / config / cooling.cfg
[delayed_gcode FAN_CONTROL_LOOP]
gcode:
  FAN_CONTROL
  UPDATE_DELAYED_GCODE ID=FAN_CONTROL_LOOP DURATION=2

[gcode_macro FAN_CONTROL]
gcode:
  # # TMC cooler
  # # This defaults to 100% if either x or y steppers are enabled and 0% otherwise.
  # {% if printer['stepper_enable'].steppers.stepper_x or printer['stepper_enable'].steppers.stepper_y %}
  #   SET_FAN_SPEED FAN=tmcCooler SPEED=1
  # {% else %}
  #   SET_FAN_SPEED FAN=tmcCooler SPEED=0
  # {% endif %}


  # idle m8p temp - 52
  {% set mantaMinTemp = 55 %}
  {% set mantaMaxTemp = 80 %}
  
  # idle rpi temp - 54
  {% set rpiMinTemp = 58 %}
  {% set rpiMaxTemp = 85 %}

  # idle printhead temp - 39
  
  # base fans depend on the current microcontroller temperature, following a fan curve from a 'base' to 'max' temperature.
  # they are fixed at 20% or above when stepperx or y are enabled.

  # magic equation here:
  {% set baseFanSpeed = (printer['temperature_sensor Manta'].temperature-mantaMinTemp)/(mantaMaxTemp-mantaMinTemp) %}
  
  {% set baseFanSpeed = [(printer['temperature_sensor Rpi'].temperature-rpiMinTemp)/(rpiMaxTemp-rpiMinTemp),baseFanSpeed]|max %}

  {% if printer['print_stats'].state == "printing" %}
    {% set baseFanSpeed = [0.6, baseFanSpeed]|max %}
  {% endif %}

  {% set baseFanSpeed = [[baseFanSpeed, 1]|min, 0]|max %} # fix the value somewhere between zero and one
  SET_FAN_SPEED FAN=base_1 SPEED={baseFanSpeed}
  SET_FAN_SPEED FAN=base_2 SPEED={baseFanSpeed}

  
  # for now both exhaust and filter go to 60% when printing
  {% if printer['print_stats'].state == "printing" %}
    SET_FAN_SPEED FAN=filter SPEED=.5
    SET_FAN_SPEED FAN=exhaust SPEED=.5
  {% endif %}
  
## Fans

[fan]
# Print cooling fan
pin: printHead:PA1

kick_start_time: 0.500

[heater_fan hotend_fan]
# Hotend fan
pin: printHead:PA0

kick_start_time: 0.500
heater: extruder
heater_temp: 50.0

[fan_generic filter]
pin: PF8

[fan_generic exhaust]
pin: PF6

[fan_generic base_1]
pin: PF9

[fan_generic base_2]
pin: PF7
#fan_speed: .4

[controller_fan tmcCooler]
pin: PA4
stepper: stepper_x, stepper_y

## Temperatures
[temperature_sensor Manta]
sensor_type: temperature_mcu
sensor_mcu: mcu

[temperature_sensor printHead]
sensor_type: temperature_mcu
sensor_mcu: printHead

[temperature_sensor Rpi]
sensor_type: temperature_host
sensor_path: /sys/class/thermal/thermal_zone0/temp