orcaslicer/doc/air-filtration.md
IntenseWiggling de0f5c9d1e
Fix value passed to SPEED in air-filteration.md macro. (#3133)
Fix value passed to SPEED

The SPEED parameter of SET_FAN_SPEED needs to be between 0.0  and 1.0. Since the S param, which is between 0 and 255, was being passed as is to SPEED, it effectively resulted in the target fan running at 100% if any value > 0 was passed to M106.
2023-12-15 22:54:16 +08:00

1 KiB

OrcaSlicer use M106 P3 command to control air-filtration/exhuast fan.

If you are using Klipper, you can define a M106 macro to control the both normal part cooling fan and auxiliary fan and exhuast fan.
Below is a reference configuration for Klipper.
Note: Don't forget to change the pin name to the actual pin name you are using in the configuration

# instead of using [fan], we define the default part cooling fan with [fan_generic] here
# this is the default part cooling fan
[fan_generic fan0]
pin: PA7
cycle_time: 0.01
hardware_pwm: false

# this is the auxiliary fan
# comment out it if you don't have auxiliary fan
[fan_generic fan2]
pin: PA8
cycle_time: 0.01
hardware_pwm: false

# this is the exhaust fan
# comment out it if you don't have exhaust fan
[fan_generic fan3]
pin: PA9
cycle_time: 0.01
hardware_pwm: false

[gcode_macro M106]
gcode:
    {% set fan = 'fan' + (params.P|int if params.P is defined else 0)|string %}
    {% set speed = (params.S|float / 255 if params.S is defined else 1.0) %}
    SET_FAN_SPEED FAN={fan} SPEED={speed}