Plataforma
La referencia de configuración actual está escrita para Klipper.
Una actualización diseñada por CN3D para BIQU/BTT Nebula Extruder, desarrollada para mejorar el manejo del filamento, el sensado, el mantenimiento y el sistema de corte integrado.
Archivos próximamente: la documentación ya es pública, los archivos STL están previstos como siguiente paso, y los archivos CAD/STEP llegarán solo después de la validación final.

El repositorio incluye una referencia de configuración Klipper para NebulaTor. Define variables de carga y descarga, valores del extrusor, macros de carga y descarga, configuración NeoPixel, un botón de descarga y el comportamiento del sensor de filamento.
La referencia de configuración actual está escrita para Klipper.
NEBULA_LOAD_FILAMENT y NEBULA_UNLOAD_FILAMENT gestionan el movimiento controlado del filamento usando variables compartidas.
La configuración documenta rotation_distance 51.75, gear_ratio 11.25:1 y max_extrude_only_distance 200.0.
La configuración de desarrollo usa entradas gcode_button para el botón de descarga y el sensor de filamento.
Los nombres de pines del repositorio son ejemplos específicos de una placa y deben adaptarse por el usuario.
El cortador forma parte del sistema de hardware; el comportamiento público final del firmware para los paquetes de lanzamiento todavía necesita validación.
El repositorio incluye una referencia de configuración Klipper para NebulaTor. Define variables de carga y descarga, valores del extrusor, macros de carga y descarga, configuración NeoPixel, un botón de descarga y el comportamiento del sensor de filamento.
The documented Klipper reference is organized around the extruder values, shared load/unload variables, the load and unload macros, NeoPixel setup, the unload button, and filament sensor behavior.
Valores principales documentados en la referencia Klipper actual.
[extruder] rotation_distance: 51.75 gear_ratio: 11.25:1 max_extrude_only_distance: 200.0
Las distancias y velocidades se centralizan antes de que las macros las usen.
variable_unload_purge_distance: 35 variable_unload_distance: 120 variable_load_distance: 40 variable_load_purge_distance: 70
La página documenta el propósito de las macros sin publicar una configuración final descargable.
NEBULA_UNLOAD_FILAMENT NEBULA_LOAD_FILAMENT
[gcode_macro _NEBULA_VARIABLE]
# unload
variable_unload_purge_distance: 35 # (mm) purge a distance before unload to clean filament
variable_unload_purge_speed: 300 # (mm/min) purge speed
variable_unload_distance: 120 # (mm) unload distance
variable_unload_speed: 3000 # (mm/min) unload speed
# load
variable_load_distance: 40 # (mm) load distance
variable_load_speed: 1500 # (mm/min) load speed
variable_load_purge_distance: 70 # (mm) purge a distance after load
variable_load_purge_speed: 300 # (mm/min) purge speed
gcode:
[extruder]
rotation_distance: 51.75
gear_ratio: 11.25:1
max_extrude_only_distance: 200.0 # must be greater than the distance of the single segment above
[respond]
default_type: echo
[gcode_macro NEBULA_UNLOAD_FILAMENT]
gcode:
{% set nebula = printer['gcode_macro _NEBULA_VARIABLE'] %}
{% set unload_purge_distance = nebula.unload_purge_distance %}
{% set unload_purge_speed = nebula.unload_purge_speed %}
{% set unload_distance = nebula.unload_distance %}
{% set unload_speed = nebula.unload_speed %}
SAVE_GCODE_STATE NAME=tmp_unload_state
G91
G92 E0
M118 Nebula unload purging
G1 E{unload_purge_distance} F{unload_purge_speed}
M400
M118 Nebula unloading
G1 E-{unload_distance} F{unload_speed}
M400
RESTORE_GCODE_STATE NAME=tmp_unload_state
[gcode_macro NEBULA_LOAD_FILAMENT]
gcode:
{% set nebula = printer['gcode_macro _NEBULA_VARIABLE'] %}
{% set load_purge_distance = nebula.load_purge_distance %}
{% set load_purge_speed = nebula.load_purge_speed %}
{% set load_distance = nebula.load_distance %}
{% set load_speed = nebula.load_speed %}
SAVE_GCODE_STATE NAME=tmp_unload_state
G91
G92 E0
M118 Nebula loading
G1 E{load_distance} F{load_speed}
M400
M118 Nebula load purging
G1 E{load_purge_distance} F{load_purge_speed}
M400
RESTORE_GCODE_STATE NAME=tmp_unload_state
[neopixel nebula_neopixel]
pin: EBBCan:PD3 # RGB pin(marked as RGB on extruder), Modify this to match your mainboard!
chain_count: 2
color_order: GRB
initial_RED: 1.0
initial_GREEN: 1.0
initial_BLUE: 1.0
[gcode_button nebula_unload_button]
pin: ^!EBBCan:PB4 # Gcode Button pin(marked as GB on extruder), Modify this to match your mainboard!
debounce_delay: 0.02
press_gcode:
release_gcode:
{% if printer.print_stats.state != "printing" %}
{% set fs = printer['gcode_button filament_sensor'] %}
{% if fs.state == "RELEASED" %}
NEBULA_UNLOAD_FILAMENT
{% endif %}
{% endif %}
[gcode_button filament_sensor]
pin: ^EBBCan:PB3 # Filament sensor pin(marked as FS on extruder), Modify this to match your mainboard!
debounce_delay: 0.5
press_gcode:
{% if printer.print_stats.state == "printing" %}
PAUSE # [pause_resume] is required in printer.cfg
{% endif %}
release_gcode:
{% if printer.print_stats.state != "printing" %}
NEBULA_LOAD_FILAMENT
{% endif %}
# Board and pin names are controller-specific. # Sensor and unload-button wiring must match the user machine. # Pause/resume and NeoPixel behavior must be validated before release use.
