Donate
Orbiter V2 smart Sensor showoff v6

Smart filament sensor for Orbiter v2

orbiter3

This is the new smart filament sensor for the Orbiter v2 extruder!

The main features are:

  • Filament auto-load
  • Filament tangle detection*
  • Filament runout sensing
  • Filament un-load action button

Designed to run under Klipper but, not limited to.

Simple direct connection to the Orbitool USB toolboard of Orbiter v2.

This is a brand-new sensor design, much improved compared to the previous sensor version.

The first big change is the filament tangle detection functionality. Tangled filament is one of the most common causes of print failures. When the filament is tangled on the spool, the force required to pull the filament into the extruder increases; this triggers the detection sensor and consequently runs a Klipper macro to pause the printing and inform the user about the issue. The detection is activated when filament the pulling force is increased over 1.5–2 kilograms of force for more than one second. The wear of PTFE tube can also trigger tangle detection due to the high friction force.

Warning!!! The tangle detection can be falsely triggered by high friction in a long PTFE tube, hard-turning big filament spools, or high printer acceleration with an improperly secured PTFE tube.

The second big change is signal filtering and plausibility checking by the onboard microcontroller. Klipper native filament sensor support is not the best way to filter out all kinds of fake detections and debouncing of the input signals. To improve this, this sensor is equipped with a small, eight-bit microcontroller just for that job, plus it controls the RGB input light based on the sensor state in a much nicer way than is possible with Klipper macros.

Last but not least, a push-fit collet clip for better PTFE tube locking with an RGB illuminated ring around, which indicates the filament sensor/extruder status:

  • Red - no filament detected

  • Green - filament present

  • Blue blinking - filament unload

  • Yellow blinking - filament tangle

1 Design details

The design consists of an MJF printed housing, O2 sensor coupling, tangle ring, a small spring light ring, collet clip and the electronic PCB board, as shown in the figure.

The filament sensing uses a new end stop switch with longer lever movement; this helps avoid fake runout detections during fast accelerations. The sensor is pressed by the filament using a small 5.5mm steel ball. The main reason for it
is to take the friction away from the sensor switch lever. The filament cannot destroy the steel ball due to friction, but it would grind down the plastic lever of the sensor in a short time.

SmartSensorDetails
image

Tangle detection works by pressing down the tangle ring, which engages the tangle detection switch. The tangle ring is pushed upward by the small spring.

When the force in the PTFE tube overcomes the spring force (which is approximately two kilograms), the detection switch is engaged, and a signal is sent to Klipper.

For this mechanism to work properly, the PTFE tube must be secured at the filament entry side as well.

The PCB is fixed from the bottom side of the sensor by a PCB retainer and a screw.
This makes sure the PCB has no play and sits tight.

Orbiter v2 Sensor v4.1 LDO MJF v43

Sensor schematic details:

O2 Smart Sensor schematic 3

The sensor consists of two end stop switches, one for filament and the second for tangle detection, and a tact switch for filament unload button. These signals are fed into a small microcontroller (ATtiny412) which primary function is signal debouncing filtering and conditioning. The micro also drives the two RGB LEDs, which illuminate the sensor input ring based on the filament presence and sensor state. The board is protected against reverse power supply connections and short circuits at the sensor output signals.

Smart sensor pinout:

image

The sensor interface signals to the Klipper tool board are the same as for the previous sensor. The connector has four signals: GND, 3.3V (optional 5V), filament sense (FS) and unload/tangle (FTU) signals. The tangle and unload signals are multiplexed together to form a single signal, and the differentiation is done in the Klipper macro. When the printer is in the print state, the signal is considered filament tangle detection, and when it is not printing, it is considered the filament unload command.

2 Klipper configuration

Connect the FS (filament sensor signal) pin and the FTU (filament tangle and unload signal) to spare digital inputs of your main board. The best is to use pins from spare pin headers or unused expander board connections. Supply the sensor board with +3.3V (optional 5V) and GND.

Upload the sensor configuration file, Orbiter2_smartSensor.cfg to your configuration files as shown in the next picture:

image

Edit the pin configuration for the gcode button [gcode_button filament_unload] and type in the pin name to which the tangle / unload sensor signal is connected.

Edit the pin configuration for the filament sensor config section [filament_switch_sensor O2_sensor] and type in the pin name to which the filament sensor signal is connected.

*Note the default pin names in the config file are from the Orbiter 2 USB tool-board defaults. 

sensor config

Include the sensor configuration file into the printer.cfg as follows:

image

In the [extruder] section, the minimum extruding temperature must be configured! The macro is not working with cold extrusion enabled (extruder minimum temperature set to 0°C). Klipper sets this parameter by default to 170°C, my recommendation is to change that to 180°C.

image

Sensor macro parameters can be configured by changing the variables in _SENSOR_VARIABLES macro at the beginning of the file. You may enable or disable some functions by setting them to true or false. The last important thing to configure is the printhead parking position. By default, it parks it in the left front corner, but you may edit and park it where you want.

image

If you want to use the PAUSE and RESUME macros from the sensor configuration file you must delete them in case you already have them defined in the printer.cfg.

The config file includes PAUSE and RESUME macros. If you use your own macros please delete the ones from the end of the sensor configuration file. 

Restart Klipper & enjoy!

3 Sensor assembly procedure

Assembly video will come soon!

4 Downloadable

All downloadable files are stored on the sensor Github repository. You can find them here: