FluidNC und Estlcam im Parallelbetrieb am OCS2

In diesem Blog-Beitrag zeige ich, wie man FluidNC und Estlcam am OPEN-CNC-Shield 2 parallel nutzen kann, ohne umstecken zu müssen. Dazu wird das ControllerModule Dual Adapter verwendet. Ich zeige den Einbau und die Konfiguration anhand meiner MPCNC.

Dieser Adapter wird auf den Steckplatz für ControllerModule auf dem OCS2 aufgesetzt und bietet Platz für zwei zusätzliche Module. Dadurch ist es möglich, zwei unterschiedliche ControllerModule auf einem OCS2 zu betreiben. Über einen Schalter am Dual-Adapter lässt sich komfortabel zwischen den beiden Modulen wechseln. Es ist jedoch zu beachten, dass die Maschine zu jedem Zeitpunkt nur durch ein Modul gesteuert werden kann.

In diesem Video stelle ich die Kombination vom Zusammenbau bis zur ersten Inbetriebnahme an meiner Maschine vor:

Zusammenbau

Zunächst werden die Abstandsbolzen auf dem Dual Adapter mit M3-Muttern angebracht. Diese dienen der Befestigung des zusätzlichen ControllerModules.

Dann können die beiden ControllerModule angebracht und befestigt werden. Das Estlcam ControllerModule wird zusätzlich mit zwei 3D-gedruckten Stützen befestigt.

Für das Umschalten zwischen den beiden Modulen wird ein Schalter benötigt. Die Pinbelegung gibt es in der Dokumentation. Es kann ein typischer ON-OFF-ON oder ON-ON Schalter genutzt werden, auch SPDT-Schalter genannt: Amazon

Bevor das ControllerModule aufgesteckt wird, sollte der ESP32 für FluidNC mit der passenden Firmware bespielt werden. Siehe dazu den Abschnitt FluidNC Konfiguration.

Danach kann das Modul auf das OCS2 aufgesteckt werden. Bevor der Strom eingeschaltet wird, sollte das Thema ENA/Enable der Treiber aus der Dokumentation noch durchgelesen werden.

In Estlcam kann die Steuerung nun programmiert werden. Je nach Stellung des Umschalters kann jetzt zwischen Estlcam und dem FluidNC Controller gewechselt werden.

Achsenkonfiguration am OCS2

Die Achsenkonfiguration am OCS2 sieht bei mir so aus. Hierbei unbedingt das Kapitel über die Achsenkonfiguration aus der Dokumentation beachten.

An meiner MPCNC sind jeweils zwei Motoren für die X- und Y-Achse. Daher nutze ich „AxisA“ für X2 und „AxisB“ für Y2.

FluidNC Konfiguration

Ich habe für dieses Projekt an meiner MPCNC folgende Konfiguration verwendet. Bitte beachte, dass sich die Einstellungen der STEPs usw. für jede Maschine unterscheiden können.

name: "OCS2 FluidNC"
board: "OCS2 FluidNC Controller"

stepping:
  engine: I2S_STREAM
  idle_ms: 250
  dir_delay_us: 1
  pulse_us: 4
  disable_delay_us: 0

axes:
  # shared_stepper_disable_pin: i2so.12

  x:
    steps_per_mm: 50
    max_rate_mm_per_min: 7000
    acceleration_mm_per_sec2: 500
    # max_travel_mm: 1000
    # soft_limits: true

    homing:
      cycle: 2
      positive_direction: false
      mpos_mm: 0.000
      feed_mm_per_min: 500.000
      seek_mm_per_min: 1000.000
      seek_scaler: 1.1
      feed_scaler: 1.1

    motor0:
      limit_neg_pin: gpio.36:high
      hard_limits: true
      pulloff_mm: 5
      stepstick:
        direction_pin: i2so.1
        step_pin: i2so.0
    # motor1:
    # limit_neg_pin: gpio.39:high
    # hard_limits: true
    # pulloff_mm: 5
    # stepstick:
    # direction_pin: i2so.7
    # step_pin: i2so.6

  y:
    steps_per_mm: 50
    max_rate_mm_per_min: 7000
    acceleration_mm_per_sec2: 500
    # max_travel_mm: 1000
    # soft_limits: true

    homing:
      cycle: 2
      positive_direction: false
      mpos_mm: 0.000
      feed_mm_per_min: 500.000
      seek_mm_per_min: 1000.000
      seek_scaler: 1.1
      feed_scaler: 1.1

    motor0:
      limit_neg_pin: gpio.34:high
      hard_limits: true
      pulloff_mm: 5
      stepstick:
        direction_pin: i2so.3
        step_pin: i2so.2
    # motor1:
    # limit_neg_pin: gpio.35:high
    # hard_limits: true
    # pulloff_mm: 5
    # stepstick:
    #   direction_pin: i2so.9
    #   step_pin: i2so.8

  z:
    steps_per_mm: 50
    max_rate_mm_per_min: 2000
    acceleration_mm_per_sec2: 100
    max_travel_mm: 1000
    homing:
      cycle: -1

    motor0:
      limit_all_pin: NO_PIN
      stepstick:
        direction_pin: i2so.5
        step_pin: i2so.4
    motor1:
      null_motor:

# I2SO for shift registers
i2so:
  bck_pin: gpio.22
  data_pin: gpio.21
  ws_pin: gpio.17

# SPI for SD Card
spi:
  miso_pin: gpio.19
  mosi_pin: gpio.23
  sck_pin: gpio.18

sdcard:
  cs_pin: gpio.5
  card_detect_pin: NO_PIN

# I2C for OLED Display
i2c0:
  sda_pin: gpio.14
  scl_pin: gpio.13

oled:
  i2c_num: 0
  i2c_address: 60
  width: 128
  height: 64
  radio_delay_ms: 1000

coolant:
  # Ausgang 1
  flood_pin: i2so.16:high
  # Ausgang 2
  mist_pin: i2so.17:high
# probe:
#   pin: gpio.32:low:pu

Laser:
  pwm_hz: 5000
  output_pin: gpio.25:high
  enable_pin: NO_PIN
  disable_with_s0: false
  s0_with_disable: true
  tool_num: 0
  speed_map: 0=0.000% 1000=100.000%
  off_on_alarm: true

control:
  safety_door_pin: NO_PIN
  reset_pin: gpio.12:low:pu
  feed_hold_pin: gpio.26:low:pu
  cycle_start_pin: gpio.27:low:pu
  macro0_pin: NO_PIN
  macro1_pin: NO_PIN
  macro2_pin: NO_PIN
  macro3_pin: NO_PIN

16 Gedanken zu „FluidNC und Estlcam im Parallelbetrieb am OCS2“

  1. Hallo Timo,
    hätte da 3 Fragen:
    1) kann ich den FluidNC auch nur mit GRBL Fahren oder muss da das Firmware von FluidNC drauf?
    2)Kann ich die Erweiterung FluidNC auch mit meinem Modul Estlcam mit Arduino Uno weiter nutzen?
    3) Ich habe Schwierigkeiten die Endstopp z. B. für Lightburn zu konfigurieren … In Estlcam kein Problem kann ich Homing fahren in Lightbur keine Changs… die Schalter schalten, aber Lightburn reagiert darauf nicht, hängt das mit dem ESP32 zusammen verwaltet der ESP32 die Endschalter? Oder könnte ich den ESP ganz ausbauen und werden dann die Eingänge von dem Controller gesteuert?

    Gruß und Dank
    Manfred

    Antworten
    • Moin,
      1. FluidNC ist eine Weiterentwicklung von GBRL. Es wird weiterhin das GRBL Protokoll genutzt. Deine Frage verstehe ich nicht.
      2. Es gibt kein Modul Estlcam Arduino Uno. Es gibt wohl ein ControllerModule Estlcam mit Arduino Mega. Ich weiß auch nicht, was du mit Erweiterung FluidNC meinst. Das ControllerModule?
      3. Die FluidNC Software wird auf den ESP32 auf dem „ControllerModule FluidNC“ gespielt. Danach muss diese eingestellt werden (auch die Endstops). Die Dokumentation für FluidNC ist hier zu finden: http://wiki.fluidnc.com/

      Viele Grüße
      Timo

      Antworten
      • Hallo,
        Das verstehe ich wiederum nicht… Du schreibst
        „1. FluidNC ist eine Weiterentwicklung von GBRL. Es wird weiterhin das GRBL Protokoll genutzt. Deine Frage verstehe ich nicht.“
        Dann schreibst Du.. In „3. Die FluidNC Software wird auf den ESP32 auf dem „Controller Module FluidNC“ gespielt.“ also war meine ursprüngliche Frage doch korrekt
        „“1) kann ich den FluidNC auch nur mit GRBL Fahren oder muss da die Firmware von FluidNC drauf?““

        Kann ja sein, dass ich das nicht begreife und keine Ahnung habe…. aber das widerspricht sich doch..
        Ok damit die Begrifflichkeiten nun übereinstimmen, das Controller Module ist besetzt mit einem Arduino UNO… was ich bis jetzt mit Estlcam ohne Probleme betrieben habe. Leider kann ich kein Bild anhängen, da ich aber von Fielmann eine neue Brille habe steht trotzdem ARDUINO UNO drauf und nicht Mega.
        Egal.
        Ich habe bei Dir gekauft:
        1x Open-CNC-Shield 2.x
        1x IN/Out Modul
        5x Driver Module
        1x Controller Module
        1x Arduino UNO (welch Wunder)… kein Mega)
        1x ESP32 Modul (Was für mich bis jetzt keine Funktion hatte, da bei Estlcam alle Funktionierte)
        Gut dann frage ich mal anders…
        Was muss ich Kaufen und machen, dass ich mit Lightburn arbeiten kann…
        ist ja schön, wenn der Anwender sich bei Wiki oder sonst wo die Informationen zum Betreiben Deines Boards zusammen suchen muss.. den z.B. dass Compiler benötigt werden, um überhaupt den ESP32 bespielen zu können und dann auch noch nicht für alle Betriebssysteme funktioniert… z.B. ist das bei Win7 so,

        Leider habe ich schon zu viel von Dir um auf was anderes zu gehen … Darum Bitte ich Dich nicht nur Hardware zu verkaufen, sondern auch eine Betriebsanleitung zu geben, die man nicht zusammen suchen muss bei Wiki ,Github oder YouTube.
        Viel Grüße

        Antworten
        • Hello,

          ich versuche deine Fragen nun so zu beantworten, wie ich sie verstehe.
          zu. 1. Ich vermute, du meinst das ControllerModule FluidNC hier, obwohl du das laut deiner Liste nicht gekauft hast?
          Auf dem ControllerModule ist ein Steckplatz für einen ESP32, auf dem FluidNC aufgespielt werden sollte. Ob das originale GRBL auch auf einen ESP32 aufgespielt werden kann, kann ich dir nicht sagen. Ich würde aber vermuten, dass das nicht geht.

          Wenn du aber von dem ESP32 auf dem OPEN-CNC-Shield 2 selbst sprichst, da kann weder FluidNC, noch GRBL aufgespielt werden.
          Dieser ist für Funktionen wie das Handrad oder Autosquaring gedacht. Die Software muss seit kurzem auch nicht mehr selbst kompiliert werden und kann direkt im Browser Betriebssystem unabhängig aufgespielt werden -> https://timo1235.github.io/ocs2.x-esp32-software/

          Zu deiner Frage, was du brauchst, um mit Lightburn zu arbeiten:
          Ich gehe mal davon aus, dass du in Estlcam unter Steuerung irgendwas mit GRBL ausgewählt hast. Dann spielt Estlcam selbst eine Software auf den Arduino Uno. Diese kann man meines Wissens nach nicht in LightBurn nutzen.
          Dann müsstest du das originale GRBL auf den Arduino Uno aufspielen: https://github.com/grbl/grbl
          Allerdings muss man das jedes Mal, wenn man wieder auf Estlcam wechselt, da Estlcam die Firmware überschreibt.

          Der Grund dafür, dass keine Anleitung für alle Softwares bei mir bereitsteht, ist der, dass ich diese Softwares nicht erstellt habe und die Anleitungen auch nichts direkt mit der Hardware zu tun haben. Das Aufspielen von GRBL ist für alle Hardwares gleich. Genauso das Aufspielen von FluidNC oder der Einsatz von Estlcam. Daher besitzt jede Software eine eigene Dokumentation.

          Falls du nicht immer wieder die Software neu aufpsielen möchtest, könntest du vom OPEN-CNC-Shield 2 den Dual-Adapter kaufen. Dann kannst du zwei ControllerModules nutzen und zwischen denen hin und her schalten. Zum Beispiel holst du dir dann ein zweites ControllerModule GRBL Arduino Uno und nutzt eines für die Verbindung mit Estlcam und das andere mit der originalen GRBL Firmware für LightBurn. Du kannst aber auch andere ControllerModules kombinieren. Ich habe, wie oben im Beitrag zu sehen ist zum Beispiel das ControllerModule für FLuidNC dazugenommen und nutze dieses für LightBurn.

          Antworten
          • Hallo Timo,
            ja genau, aktueller Stand ist, dass ich jedes mal zwischen der Software für Estlcam und Lightburn flashe (=Firmware überschreibe).
            Dein Video verstehe ich nun so, dass wenn ich mir diesen Dual Adapter bei Dir kaufe, kann ich meinen bereits vorhandenes Controller-Modul (mit AndroinoUno) draufstecken.
            Was benötige ich noch alles, damit ich durch umschalten auch mit LightBurn arbeiten kann ?
            Wie gesagt habe ich bisher immer wieder die Softwaren neu auf dem Androino Uno aufgespielt.

            Danke.
            Gruß

          • Du brauchst das ControllerModule Dual Adapter, einen Schalter wie in der Dokumentation beschrieben und ein weiteres ControllerModule deiner wahl.

            Ich würde an deiner Stelle, dein vorhandenes ControllerModule GRBL Arduino Uno mit GRBL flashen und in Lightburn nutzen und für Estlcam das ControllerModule Estlcam holen. Da ist ein Arduino Mega drauf und bietet viel mehr Möglichkeiten. Dann hast du über kurz oder lang auch die Möglichkeit ein Handrad einzusetzen etc.

  2. Hallo zusammen,
    ich habe ein kleines Problem. Ich habe meine Chinaspindel 1.5 kW mit FU „YL 620-A“ an das Board angeschlossen. Über Estlcam kann ich die Spindel starten und die Drehzahl regulieren. Leider läuft die Spindel nur mit ca. 8.000 bis 9.000 U/min statt mit 24.000 U/min.
    Die Parameter habe ich wie folgt am FU eingestellt: P00.01 – 1
    P00.23 – 6
    P00.24 – 9
    P03.10 – 60
    P03.11 -1015
    P03.12 – 60
    P03.13 – 400
    P07.08 – 3
    Ich würde mich freuen, wenn mir jemand helfen könnte.

    Lieben Gruß Thomas

    Antworten
  3. Hallo,

    ich hätte eine Frage zu externen Motortreibern. Wenn ich z.B. den DM542T von Stepperonline verwende auf welche Spannung soll ich den einstellen und muss ich am Ocs2 auch hierfür Jumper setzen ? Der Treiber kann auf 5v oder 24V eingestellt werden.

    Danke
    Grüße Daniel

    Antworten
    • Moin Daniel,
      ich bin auch gerade dabei die DM542T in Betrieb zu nehmen. Ist aber auch mehr Probieren als genaues wissen 😐
      Die Treiber habe ich auf 5V Steuersignal gestellt. Ich Versorge die DM542T mit externen 36V, daher habe ich keine „Driver Versorgung“ an das Open-CNC-Shield_2 gelegt und auch den Jumper „J3“ nicht gesetzt.
      PUL(-) und DIR(-) habe ich auf den Pluggable DriverModul auf GND gelegt. PUL(+) auf STEP und DIR(+) auf DIR.
      Wenn ich den ENA in der selben Logik auflege kann ich die Achse nicht mehr verfahren,
      also habe ich ENA(+) auf GND und ENA(-) auf ENA ohne gesteckten Jumper bei „JP1“. Ob das so richtig ist, weiß ich nicht!
      Zumindest habe ich im eingeschalteten zustand (ohne aktiven Estlcam Controller) ein Haltemoment und mit Estlcam kann ich die Achsen verfahren.
      Den Alarm Ausgang (ALM(+),ALM(-)) von DM542T kann ich gar nicht auf „Alarm“ anschließen, bekomme in beiden Möglichkeiten immer einen Daueralarm ohne das beim DM542T ein Alarm ansteht.

      Decken sich deine Erfahrungen mit meinen oder hast du die DM542T anders angeschlossen.

      Gruß
      Matthias

      Antworten
  4. Moin,
    ich habe mal zwei Fragen zu Ihren OPEN-CNC-Shield 2, können Sie mir bitte einmal die Abmaße des Mainboard nennen.
    Mir ist noch nicht klar wie ich auf den „Arduino Mega 2560“ die Firmware von Estlcam raufbekomme, kann dazu leider auch nix im Netz finden…

    Gruß und Dank
    Matthias

    Antworten

Schreibe einen Kommentar