Duet3D Logo Duet3D
    • Tags
    • Documentation
    • Order
    • Register
    • Login

    Smart Orbiter 3 setup (filament Sensor, RGB and hotend LED)

    Scheduled Pinned Locked Moved
    Third-party add-ons
    2
    2
    169
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • phoenixundefined
      phoenix
      last edited by

      Encouraged by the post by @cdoe on setting up the Orbiter 2 filament sensor, I gave it a hard try to set up the Smart Orbiter 3. All features are working and I come amazed at the power of RRF 🙂

      The Smart Orbiter 3 has 8 connections at the base, containing a RGB Matrix LED connection, a simple hotend LED and 2 outputs (FS for sensing if filament is present) and FTU (outputs if filament is tangled or filament unload button is pressed). (check the website https://www.orbiterprojects.com/so3/ in section 3.3 Integrated Smart Features for polarity: I spent a day trying to figure out why nothing was working only to discover that blue and red wires are NOT GND and 3V 🙂 )

      Similar to the Orbiter 2 Sensor, the set up is slightly more elaborate than just a sensor since both outputs have 2 functions and logic is not straightforward as well. FS output works as expected as in changing state when filament is present or runs out, FTU output only changes state if filament is already present.

      I am running a e3d toolchanger with Duet 2 Wifi and DueX5. I connected the cables to the pins 1 -6 of the LCD connector. (all works just fine on 3.3V) and reused triggers developed by @cdoe for things to work.

      This is a section in config.g

      ; Filament Sensor & Smart H2
      M950 J3 C"^connlcd.enca"            ; define logical input for filament auto load
      M581 P3 T5 S1 R0                    ; define trigger for filament auto load triggers trigger5.g
      M581 P3 T2 S0 R0                    ; define trigger for filament sensing triggers trigger2.g
      M950 J4 C"^connlcd.encb"            ; define logical input for filament unload
      M581 P4 T6 S1 R0                    ; define trigger for filament auto unload triggers trigger6.g
      M950 P5 C"connlcd.rs"              	; define logical output for hotend LED
      M950 E0 C"connlcd.5" T1 U1          ; create a RGB Neopixel LED strip on the LCD Connector 5 port (RRF 3.5 and later)
      M98 P"0:/macros/h2led"              ; Set LED Colour according to state of H2
      M42 P5 S0					        ; Turn Hotend LED off
      

      Obviously the most important part is getting the matrix LED to work 😁 with a macro I called h2led.g

      ; Sets MatrixLED according to filament Sensor status
      if sensors.gpIn[3].value = 1
          M150 E0 R000 U255 B000 P255			; set LEDs to green, full brightness
      else
          M150 E0 R255 U000 B000 P128			; set LEDs to red, half brightness
      

      Triggers 2, 5 & 6 reuse the macros developed for the smart orbiter

      ; trigger2.g
      if state.status == "processing"
          M300 S2000 P100                                     ; play beep sound
          M291 P"Ran out of filament while printing" S0 T3    ; display message
          M25
      elif state.status == "pausing" || state.status == "paused"
          M291 P"Retriggered filament sensor during pause" ; display message
      else
          M300 S2000 P100                     ; play beep sound
          M291 P"Ran out of filament" S0 T3   ; display message
      

      For the load and unload triggers, I am using a single printer macro for all toolheads for loading and unloading. As such, I pass on a parameters representing the toolhead to the macro for addressing the right toolhead. And then obviously triggering the color LED macro at the end of it to adjust LED according to status.

      ; trigger5.g
      M150 E0 R000 U000 B255 P128			; set LEDs to blue, half brightness
      M98 P"0:/macros/filament-load" X2   ; Load Filament for T2
      M98 P"0:/macros/h2led"              ; Set LED Colour according to state of H2
      T-1                                 ; Park tool
      
      ; trigger6.g
      if state.status = "processing"
          M300 S2000 P100                                                     ; play beep sound
          M291 P"Filament is stuck or filament unload button pressed" S0 T3   ; display message
          M150 E0 R000 U000 B255 P128			                                ; set LEDs to blue, half brightness
          M25
      else
          M150 E0 R000 U000 B255 P128			                                ; set LEDs to blue, half brightness
          M98 P"0:/macros/filament-unload" X2					                ; Call Unload Macro and pass Tool number using X parameter
          M98 P"0:/macros/h2led"                                              ; Set LED Colour according to state of H2
          T-1
      

      Hope this helps somebody else - it's a nifty little extruder and I'm stoked the electronics are now fully integrated!

      JC42undefined 1 Reply Last reply Reply Quote 2
      • phoenixundefined phoenix referenced this topic
      • JC42undefined
        JC42 @phoenix
        last edited by

        @phoenix

        Hello, thank you for sharing this. I have a question — I own a ToolChanger controlled by a Duet 3 MB6HC board, and there are 4 tools installed. Tool “T4” is a Smart Orbiter V3.0, which is connected to a ToolBoard 1LC V1.3. I was wondering whether it is possible to use the functionalities of the Smart Orbiter V3.0 by connecting them directly to the ToolBoard 1LC V1.3. Thank you in advance for your reply, it would be a great help.

        1 Reply Last reply Reply Quote 0
        • First post
          Last post
        Unless otherwise noted, all forum content is licensed under CC-BY-SA