Allgemeines #
Dies soll ein kleiner Einblick über zusätzliche Lüfter in Klipper sein. Es gibt hier verschiedene Arten von Lüftern, welche je nach deinem Einsatzzweck konfiguriert werden können. Ich habe versucht dies für dich ein wenig mit Beispielen aufzubereiten.
Das Video zur Anleitung #
Was wird benötigt #
Wenn du keinen freien steuerbaren FAN Anschluss mehr hast, schaue ob du ggf. noch freie Anschlüsse an z.B. Heater1,2,3.. oder Heater Bed hast. Diese können auch genutzt werden. Für alle anderen Pins ist eine Ansteuerung nötig, da die Pins die Belastung ggf. nicht ohne Schaden überstehen können.
Dies kann ein MOSFET sein (bei großer Last!!)
Oder ein PWM Controller wie er bei 1-4 Lüftern meist ausreicht (Kleine Last!!) (Verwende ich nachfolgend)
Problemstellung #
Oft kann es vorkommen, dass du einen zusätzlichen steuerbaren Lüfter anschließen möchtest, dies aber nicht mehr geht.
- Du hast keinen “Steuerbaren” FAN Anschluss mehr am Board
- Der FAN Anschluss ist nur mit einer Spannung verfügbar welcher nicht dem Lüfter entspricht (zB. 12V und ein 5V Lüfter)
- Der ursprünglich verwendete Anschluss ist defekt.
Welche Art von Anschluss brauchst du? #
Es gibt 2 Arten von PINs an deinem Board. Einige welche nur als Ein-/Ausgänge fungieren, andere welche PWM fähig sind. Um letzter zu finden, benötigst du die Dokumentation des Chips. Dort stehen meist die PWM fähigen Pins aufgelistet. Es ist aber auch möglich die anderen zu verwenden. Hier muss bei den nachstehenden Konfigurationen der Parameter “hardware_pwm” entsprechend eingestellt werden.
Sollte der PIN PWM unterstützten, nutze dieses auch (entlastet die MCU)
hardware_pwm: true
Wenn nicht, stelle den Parameter auf “Software PWM”, die MCU last ist dann ein wenig höher.
hardware_pwm: false
Anschlussbeispiel #
Für alle nachfolgenden Beispiele dient als Grundlage dieser Anschlussplan. Angeschlossen habe ich das hier einmal am BigTreeTech GTR, an den Ports PF13 und GND welche eigl. für die Motorplatine dienen (bei einem GTR ist das aber technisch nicht nötig da dieser über viele Anschlüsse verfügt!)

Der Lüfter ist wie im Aufbau ein 5V Lüfter. Das GTR ist mit 12V versorgt. Es ist also hier nicht möglich einfach so einen 5V Lüfter anzuschließen
Parameter für einen Lüfter #
Hier sind alle Parameter aufgeführt. Nicht alle sind bei allen Lüftern möglich zu setzen
Parameter | Bedeutung | Standardwert |
control | PID Methode, “watermark” oder “pid” | |
cycle_time | PWM Cycle Zeit in Sekunden, min. 10 ms | 0.010 |
fan_speed | Schwellwert Geschwindigkeit, zwischen 0.0 – 1.0 | 1.0 |
gcode_id | Wenn gesetzt, wird unter M105 die Temperatur mit der ID ausgegeben | |
hardware_pwm | Aktiviert die Hardware PWM oder deaktiviert diese, True/False | False |
heater | Name für welchen Extruder er genutzt wird, Komma separiert können es auch mehrere sein, z.B. “extruder” | extruder |
heater_temp | Ein-/Abschalttemperatur, Schwellwert | 50.0 |
idle_speed | Lüftergeschwindigkeit wenn der Heater oder Stepper von Aktiv auf Inaktiv wechselt, bis zum idle_timeout. 0.0-1.0 | |
idle_timeout | Zeit in Sekunden in welchem der Heater oder Stepper inaktiv war | 30.0 |
kick_start_time | Zeit um den Lüfter mit 100% anlaufen zu lassen bevor dieser auf die Zielgeschwindigkeit drosselt, in Sekunden | 0.100 |
max_delta | Bei einer “watermark” Kontrolle, maximale Abweichung zwischen den Messungen | 2.0 |
max_power | Maximale Ansteuerung von 0.0 – 1.0 | 1.0 |
max_speed | Maximum Geschwindigkeit von 0.0-1.0 für eine PID Steuerung | 1.0 |
min_speed | Minimum Geschwindigkeit von 0.0-1.0 für eine PID Steuerung | 0.3 |
min_temp | Minimale Arbeitstemperatur (Sicherheitsfunktion!) | |
off_below | Minimale Zielgeschwindigkeit an welcher der Lüfter ausgehen soll. 0.0-1.0 | 0.0 |
pid_deriv_time | Zeit in Sekunden um Störungen bei Messungen zu unterbinden | 2.0 |
pid_Kd | PID -> derivative | |
pid_Ki | PID -> integral | |
pid_Kp | PID -> proportional | |
pin | Anschluss für das ansteuern | |
sensor_pin | Pin für das Messen von Temperaturen | |
sensor_type | Typ des Temperatursensors | |
shutdown_speed | Wenn die MCU in den “ERROR” Modus geht wird dieser Wert, 0.0-1.0 für die Lüftergeschwindigkeit gesetzt | 0.0 |
stepper | ||
tachometer_pin | Eingangspin wenn die Geschwindigkeit des Lüfters überwacht wird | |
tachometer_poll_interval | Überwachung der Geschwindigkeit alle x Sekunden | 2 |
tachometer_ppr | Anzahl der Impulse / Umdrehung bei der Überwachung | 0.0015 |
target_temp | Zieltemperatur in °C für die PID Steuerung | 40.0 |
Steuerbarer FAN (Manuelle Steuerung) #
Ein normaler Lüfter welchen du über die Oberfläche steuern kannst, ist schnell eingerichtet. Im nachfolgenden Beispiel ist dieser so konfiguriert das dies ermöglich wird.

[fan_generic MeinLuefter]
pin: PF13
max_power: 1.0
hardware_pwm: false
Extruder FAN (Automatische Steuerung) #
Schaltet den Lüfter dazu, wenn der zugeordnete Extruder eine Temperatur erreicht hat. Ebenso schaltet dieser sich ab wenn die Temperatur unterschritten wird.

[heater_fan MeinLuefter]
pin: PF13
max_power: 1.0
hardware_pwm: false
heater: extruder
heater_temp: 40.0
fan_speed: 1.0
Temperaturgesteuerter FAN (Automatische/Manuelle Steuerung) #
Hier gibt es verschiedene Möglichkeiten für die Eingangsquelle. Dies kann ein normaler Sensor sein, welchen du anschließt oder ein I2C Sensor. Diese Art von Lüfter eignet sich perfekt für Gehäusebelüftung und Entlüftung. Der Lüfter regelt sich dabei automatisch, jedoch ist der Einfluss durch den Benutzer möglich. Du kannst die Zieltemperatur ändern. 0 = Aus, alles darüber regelt den Lüfter. Wenn die eingestellte Temperatur kleiner der Aktuellen ist wird die Drehzahl erhöht.

[temperature_fan MeinLuefter]
pin: PF13
sensor_pin: PC3
sensor_type: EPCOS 100K B57560G104F
target_temp: 0
min_temp: 0
max_temp: 65
control: pid
pid_Kp: 5
pid_Ki: 1
pid_Kd: 50
off_below: 0.3
max_speed: 0.9
Controller FAN (Automatische Steuerung) #
Hier ein Beispiel für einen Controller-Lüfter. Sobald der Stepper X,Y oder Z aktiv werden, schaltet sich der Lüfter ein. Jedoch nicht wenn der Stepper für den Extruder aktiv wird.

[controller_fan MeinLuefter]
pin: PF13
hardware_pwm: False
stepper: stepper_x,stepper_y,stepper_z
Weiterführende Informationen #
Die Dokumentation gibt dir nochmal eine gesamte Übersicht zu dem kleinen Exkurs den ich hier aufgezeigt habe.
https://www.klipper3d.org/Config_Reference.html#fans
Solltest du Fragen haben stehe ich dir gern per Mail zur Verfügung.