This project aims at improving the usability of the Voron 0.2 printer when enclosed, by having a plug-and-play exhaust system similar to what you would find on a Voron 2.4 or Trident. An exhaust system works in tandem with an internal filter, and has the objective of further filtering the chamber air after a print with materials which produce VOCs (ABS/ASA/etc.) is completed
A side effect of having a robust printer insulation is that the chamber will take a considerable amount of time for cooling down, which may become quite significant. This exhaust system helps combat this issue by pulling hot air out of the chamber, gradually lowering temps at a faster rate
Very convenient if you pair this mod with the excellent lift off tophat hinges by Chirpy!
For the optional magnetic connector, refer to the project page. I simply used hot glue to secure mine in place, there are no forces acting on it
Here's the Klipper config I'm using for the exhaust filter. When not printing ABS/ASA the fan spins up at 35C, when enclosed it spins up at 70C. My macros passively heat the chamber and turn off fan/filter when the print is done. In my case the filter is defined as an output pin, if yours is different you will need to update the macros below
[temperature_fan chamber]
pin: your_fan_pin
max_power: 1.0
shutdown_speed: 0.0
kick_start_time: 5.0
cycle_time:0.01
off_below:0.1
sensor_type: Generic 3950
sensor_pin: your_thermistor_pin
min_temp: 0
max_temp: 70
target_temp: 35.0
control: watermark
gcode_id: C
[gcode_macro HEAT_CHAMBER]
gcode:
{% set CHAMBER = params.CHAMBER|default(0)|float %}
{% if CHAMBER > 0.0 %}
# add any logic you want here, I home if not homed
SET_TEMPERATURE_FAN_TARGET TEMPERATURE_FAN=chamber TARGET=70
# I bring the toolhead to center of bed to help heat up chamber
SET_PIN PIN=my_internal_filter VALUE=1
# I turn on part cooling fans, heat up bed, turn on bed fans
TEMPERATURE_WAIT SENSOR="temperature_fan chamber" MINIMUM={CHAMBER}
# I turn off part cooling fans
{% endif %}
[delayed_gcode CHAMBER_COOLDOWN]
gcode:
{% if printer["temperature_fan chamber"].temperature < 35 and printer.state != "Printing"%}
SET_PIN PIN=my_internal_filter VALUE=0
{% else %}
UPDATE_DELAYED_GCODE ID=CHAMBER_COOLDOWN DURATION=2
{% endif %}
[gcode_macro CHAMBER_OFF]
gcode:
SET_PIN PIN=my_internal_filter VALUE=0
SET_TEMPERATURE_FAN_TARGET TEMPERATURE_FAN=chamber TARGET=35
add HEAT_CHAMBER CHAMBER=your_temp
to your starting gcode when printing enclosed, and add SET_TEMPERATURE_FAN_TARGET TEMPERATURE_FAN=chamber TARGET=35
followed by UPDATE_DELAYED_GCODE ID=CHAMBER_COOLDOWN DURATION=2
at the end of your PRINT_END
macro.
The filter will be kept running until the chamber temperature reaches 35C, after which parts can be taken off the bed as they are properly cooled down (won't warp)
The CHAMBER_OFF
is just a helper macro that you can call to reset the chamber fan and filter to their defaults
The author marked this model as their own original creation.