Louvered Servo 60mm Fan (Quạt 60mm lá chớp điều khiển bằng servo)

Bộ louver (lá chớp) cho quạt 60mm dùng 2 servo 9g (A332 hoặc tương tự), phù hợp Voron 2.4 Canopy nhưng cũng dùng được cho quạt 60mm khác. Kèm danh sách ốc/bạc đạn và ví dụ cấu hình Klipper/OrcaSlicer.

👁️
1.0K
Lượt Xem
❤️
40
Lượt Thích
📥
72
Lượt Tải
Cập Nhật May 02, 2026
Chi tiết
Tải xuống
Bình Luận
Khoe bản in
Remix

Mô tả

Mình làm bộ này để đi kèm với Voron 2.4 Canopy của mình, nhưng chắc sẽ chạy ổn với mọi quạt 60mm. Bạn sẽ cần 2x A332 hoặc servo 9g Sub-Micro MG tương tự; mình dùng Spektrum A332 & A332R (Reversed). Bạn cũng sẽ cần 8x bạc đạn MR85-2RS (5mmX8mmX2.5mm), 4x vít tự ren M2x10mm, 12x M3x4mm FHCS (có thể dùng 6mm nhưng có thể hơi lòi ra). Bánh răng A & B đi với Body A-B và bánh răng C & D đi với Body C-D.

In không cần support. Mình in Polymaker PA6-CF cho phần shafts và louvers, và Polymaker ASA cho các phần còn lại, dùng standard Voron print settings: 4 walls, 5 top/bottom, 40% infill (mình dùng Gyroid).

Thiết lập config Klipper trên BTT Octopus Max EZ mình đang dùng với OrcaSlicer:

#####################################################################
#   Fan Control
#####################################################################

# 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: EBBCan: PA0
off_below: 0.20

# this is the auxiliary fan
# comment out it if you don't have auxiliary fan

[fan_generic _fan2]

pin: PA8

off_below: 0.20

# this is the exhaust fan
# comment out it if you don't have exhaust fan
[multi_pin fan3_pin]
pins: PA5, PA6

[fan_generic fan3]
pin: multi_pin:fan3_pin

pin: PA5

kick_start_time: 0.200

off_below: 0.0

[gcode_macro M107]
gcode:
   M106 S0
#    M106 P2 S0
   M106 P3 S0

#####################################################################
#   Servos
#####################################################################

[delayed_gcode CHECK_Exhaust_Servo]
gcode:
   Exhaust_Servo
   
[gcode_macro Exhaust_Servo]
gcode:
   {% set speed = printer['fan_generic fan3'].speed|float %}
   {% if speed > 0 %}
       SET_SERVO SERVO=Chamber_Vent_Left ANGLE={speed * 90}
       SET_SERVO SERVO=Chamber_Vent_Right ANGLE={speed * 90}
   {% else %}
       SET_SERVO SERVO=Chamber_Vent_Left ANGLE=90
       SET_SERVO SERVO=Chamber_Vent_Right ANGLE=90
   {% endif %}
   
[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}
       UPDATE_DELAYED_GCODE ID=CHECK_Exhaust_Servo DURATION=2
       
[servo Chamber_Vent_Left]
pin: PE9
initial_angle: 90
minimum_pulse_width: 0.0008
maximum_pulse_width: 0.0019
maximum_servo_angle: 90

[servo Chamber_Vent_Right]
pin: PE10
initial_angle: 90
minimum_pulse_width: 0.0010
maximum_pulse_width: 0.0020
maximum_servo_angle: 90

#####################################################################
#   Chamber Heater
#####################################################################

[heater_fan chamber_fan]
pin: PA1
enable_pin: PF7
max_power: .5
heater: heater_chamber
heater_temp: 60.0
tachometer_pin: ^PC3
off_below: 0.2
shutdown_speed: 0

[heater_generic heater_chamber]
heater_pin: PA0
max_power: .8
sensor_pin: EBBCan: PA3
sensor_type: Generic 3950
min_temp: 10
max_temp: 90
control: watermark

control: pid

pid_kp: 63.418 

pid_ki: 0.960

pid_kd: 1244.716

gcode_id: C

[gcode_macro M141]
# OrcaSlicer M141 for Activate temperature control
gcode:
   SET_HEATER_TEMPERATURE HEATER=heater_chamber TARGET={params.S|default(0)}
   
[gcode_macro M191]
# OrcaSlicer M191 for Activate temperature control
gcode:
   {% set s = params.S|float %}
   {% if s == 0 %}
       # If target temperature is 0, do nothing
       M117 Chamber heating cancelled
   {% else %}
       SET_HEATER_TEMPERATURE HEATER=heater_chamber TARGET={s}
       # Orca: uncomment the following line if you want to use heat bed to assist chamber heating
       G28
       set_led led=my_led white=.01
       STATUS_HEATING
       M106
       M106 P3 S{((70-s)*2)*2.55}
       SET_SERVO SERVO=Chamber_Vent_Left ANGLE={((70-s)*2)*0.9}
       SET_SERVO SERVO=Chamber_Vent_Right ANGLE={((70-s)*2)*0.9}
       M140 S{s-10}
       TEMPERATURE_WAIT SENSOR="heater_generic heater_chamber" MINIMUM={s-3} MAXIMUM={s+3}
       M117 Chamber at target temperature
   {% endif %}

Phần này sẽ set quạt mở và chạy theo phần trăm dựa trên nhiệt độ Chamber: Chamber Temp thấp thì quạt cho thoát nhiều hơn; Chamber Temp cao thì quạt sẽ hạn chế lưu lượng nhưng vẫn cho thoát ra một ít.

Chamber Temp Setting - Percent Exhaust Fans Open

                #70°C - 0%
                #65°C - 10%
                #60°C - 20%
                #55°C - 30%
                #50°C - 40%
                #45°C - 50%
                #40°C - 60%
                #35°C - 70%
                #30°C - 80%
                #25°C - 90%
                #20°C - 100%
                
[verify_heater heater_chamber]
max_error: 240
check_gain_time: 240
heating_gain: 1

Xem thêm mấy trang này để biết thêm thông tin:

https://github.com/SoftFever/OrcaSlicer/wiki/auxiliary-fan

https://github.com/SoftFever/OrcaSlicer/wiki/air-filtration

https://github.com/SoftFever/OrcaSlicer/wiki/chamber-temperature

Nếu bạn muốn ủng hộ mình mua thêm filament để bù lại số đã dùng để làm cái này:

Cash.App/$PrintSomething

Venmo.com/PrintSomething

PayPal.Me/ModMechanics

Cảm ơn bạn nhiều.

Giấy phép

Tác phẩm này được cấp phép theo

Creative Commons — Attribution — Noncommercial

CC-BY-NC

Yêu cầu ghi công
Remix & phái sinh Được phép
Sử dụng thương mại Không được phép

File mô hình

TẤT CẢ FILE MÔ HÌNH (10 Tập tin)
Đang tải files, vui lòng chờ...
Vui lòng đăng nhập để bình luận.

Chưa có bình luận nào. Hãy là người đầu tiên!

Vui lòng đăng nhập để khoe bản in của bạn.

Chưa có bản in nào được khoe. Hãy là người đầu tiên!

Remix (0)