Presentation publique du projet

NebulaTor

Un upgrade concu par CN3D pour le BIQU/BTT Nebula Extruder, developpe autour de la gestion du filament, de la detection, de la maintenance et du systeme de coupe integre.

Fichiers a venir: la documentation est publique maintenant, les STL sont prevus ensuite, les CAD/STEP apres validation finale.

Documentation publiqueBase BIQU / BTT Nebula ExtruderSTL a venirCAD apres validation
Rendu en angle de NebulaTor montrant la fenetre avant, le levier d idler, le mecanisme de precharge du ressort et le cote moteur.
Docs en lignePresentation publique du projet et documentation
STL ensuiteFichiers imprimables prevus apres validation
CAD plus tardCAD/STEP prevus apres validation finale
KlipperLogique firmware de developpement documentee

Statut de developpement du firmware

Le repository inclut une reference de configuration Klipper pour NebulaTor. Elle definit les variables de chargement/dechargement, les valeurs d extrudeur, les macros de chargement/dechargement, la configuration NeoPixel, un bouton de dechargement et le comportement du capteur de filament.

Le firmware presente ici documente la logique de developpement actuelle. Les fichiers de configuration finaux valides seront publies avec la documentation du projet.

Concepts firmware

Plateforme

La reference de configuration actuelle est ecrite pour Klipper.

Macros de chargement et dechargement

NEBULA_LOAD_FILAMENT et NEBULA_UNLOAD_FILAMENT gerent le mouvement controle du filament avec des variables partagees.

Valeurs d extrudeur

La configuration documente rotation_distance 51.75, gear_ratio 11.25:1 et max_extrude_only_distance 200.0.

Logique bouton et capteur

La configuration de developpement utilise des entrees gcode_button pour le bouton de dechargement et le capteur de filament.

Dependance au controleur

Les noms de pins dans le repository sont des exemples specifiques a une carte et doivent etre adaptes par l utilisateur.

Controle du cutter

Le cutter fait partie du systeme materiel; le comportement firmware public final des packages de release doit encore etre valide.

Configuration explanation

Le repository inclut une reference de configuration Klipper pour NebulaTor. Elle definit les variables de chargement/dechargement, les valeurs d extrudeur, les macros de chargement/dechargement, la configuration NeoPixel, un bouton de dechargement et le comportement du capteur de filament.

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.

Extraits surs

Reference extrudeur

Valeurs principales documentees dans la reference Klipper actuelle.

[extruder]
rotation_distance: 51.75
gear_ratio: 11.25:1
max_extrude_only_distance: 200.0

Variables de chargement / dechargement

Les distances et vitesses sont centralisees avant leur utilisation par les macros.

variable_unload_purge_distance: 35
variable_unload_distance: 120
variable_load_distance: 40
variable_load_purge_distance: 70

Noms de macros

La page documente le role des macros sans publier de configuration finale telechargeable.

NEBULA_UNLOAD_FILAMENT
NEBULA_LOAD_FILAMENT

Complete Klipper Configuration

[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 %}

  

Important sections

  • [extruder] reference values.
  • Load and unload variables used by the macros.
  • NEBULA_UNLOAD_FILAMENT and NEBULA_LOAD_FILAMENT macro entries.
  • NeoPixel setup.
  • Unload button and filament sensor behavior through gcode_button entries.

Comments and implementation notes

# 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.

Ce que les utilisateurs doivent adapter

  • Noms de carte et de pins.
  • Cablage des capteurs et du bouton.
  • Comportement pause/reprise.
  • Pin NeoPixel et comportement de la chaine.
  • Tous les reglages finaux publies avec le package valide.
Schema de bobinage du moteur Nebula provenant du manuel du projet.