Nebula¶
Github Repository: bigtreetech/Nebula
Product Link: BIGTREETECH Official Website
Introduction¶
Nebula, the smart extruder designed for optimal cost-effectiveness, features an RGB backlight to enhance your print head. It boasts powerful extrusion capabilities, a built-in filament sensor, and a customizable G-code button, enabling auto filament loading and one-button unloading.
Feature Highlights¶
RGB Lighting: Programmable for visual status monitoring.
Built-in Filament Sensor: Automatically triggers filament loading upon insertion.
Transparent Magnetic Cover: Enables efficient maintenance checks and repairs.
Customizable G-code Button: A programmable button for one-click filament unloading and other custom functions.
6kg+ Reliable Extrusion Force: Precision planetary gears deliver over 6kg of extrusion power, with a hardened steel drive gear ensuring consistent and flawless extrusion for perfect prints.
Specifications¶
Extrusion Method | Dual Gear Extrusion |
---|---|
Weight | 143 g |
Maximum Extrusion Force | 6 kg (varies with filament types) |
Rotation Distance | 51.75 |
Gear Ratio | 11.25:1 |
Recommended Motor Current | 650 mA |
Drive Gear Circumference | 50.4 mm |
Filament Diameter and Tolerance | 1.75 mm ± 0.05 mm |
Voltage | 24V |
Dimensions¶
XYZ Dimensions: 52.73 x 36.5 x 54.82mm
Adjusting the Drive Gear Clamp Distance¶
The drive gear clamp distance is adjustable to accommodate different types of filaments. Rotate the Limit Screw counterclockwise (toward the marked "(-)") to decrease distance or increase clamping pressure, which is ideal for hard filament, or clockwise (toward the marked "(+)") to increase distance to decrease pressure, ideal for softer materials.
Warning
Avoid forcing the screw beyond its stopping point to prevent damage to the extruder.
Programmable Button¶
https://github.com/julianschill/klipper-led_effect/
Motor Specifications¶
Number of Phase | 2 |
---|---|
Step Angle | 1.8° |
Rated Voltage | DC 2.4V |
Rated Current | DC 1.0A |
Holding Torque | ≥110mN·m |
Winding Resistant | 2.4±10% ohm (20℃) |
Winding Inductance | 1.7±20% mH (1kHz) |
Direction of Rotation | A-AB-B-CW |
Rotor Inertia | 15 g·cm² |
Motor Weight | 0.1 kg |
Insulation Class | Class F |
Expanded¶
1. Motor | 15. Idler Gear |
---|---|
2. Ring Gear Housing | 16. 3-5-6 PEEK Bearing |
3. Planetary Gear | 17. Idler Carrier Arm |
4. MR85ZZ Bearing | 18. Extrusion Gear |
5. Planetary Gear Carrier | 19. Filament Senser Insert |
6. 14-Tooth Pinion Gear | 20. Pin (Diameter 3x11) |
7. MF128ZZ Bearing | 21. 3-5-10 PEEK Bearing |
8. Back Case | 22. Right Lens |
9. Distribution Board | 23. Front Case |
10. Bowden Clip | 24. Left Lens |
11. Bowden Fitting | 25. M3x25 FHCS Screw |
12. M2x4 Screw | 26. Transparent Cover |
13. Limit Screw | 27. Magnetic Cover Frame |
14. Spring |
Klipper Config Example¶
Note
Config below can able find in GitHub repo bigtreetech/Nebula
[extruder]
rotation_distance: 51.75
gear_ratio: 11.25:1
max_extrude_only_distance: 200.0
[neopixel nebula_neopixel]
pin: EBBCan:PD3
chain_count: 2
color_order: GRB
initial_RED: 1.0
initial_GREEN: 1.0
initial_BLUE: 1.0
[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:
[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
[gcode_button nebula_unload_button]
pin: ^!EBBCan:PB5 # 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:PB6 # 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 %}