# [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 %} # {% if printer['extruder'].target != 0 or printer['heater_bed'].target != 0 %} # {% set baseFanSpeed = [0.2, 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 [controller_fan filter] pin: PA3 heater: heater_bed fan_speed: .6 [controller_fan exhaust] pin: PF6 heater: heater_bed fan_speed: .3 [controller_fan base_1] pin: PF9 fan_speed: .4 [controller_fan 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