Page cover

FluidNC

Dieser Controller ist für den Einsatz von FluidNC gedacht.

FluidNC ist eine CNC-Firmware, die für den ESP32-Controller optimiert ist. Sie ist die nächste Generation der Firmware von den Schöpfern von Grbl_ESP32. Sie beinhaltet eine webbasierte Benutzeroberfläche und die Flexibilität, eine Vielzahl von Maschinentypen zu bedienen. Dies beinhaltet die Fähigkeit, Maschinen mit mehreren Werkzeugtypen zu steuern, wie beispielsweise Laser+Spindel.

Überblick

  • Alle 6 Achsen können einzeln verfahren werden. Damit ist Autosquaring direkt mit FluidNC möglich

  • 8 Eingänge

  • 8 Ausgänge

  • Verbindung mit dem PC über USB oder Steuerung per Webinterface

  • Micro SD Karten Slot

  • Offline Controller fähig (Jobs können direkt von der SD-Karte gestartet werden)

  • Kompatibel mit gängigen GRBL Softwares

  • Anschluss für OLED Display (wird leider zukünftig nicht mehr von FluidNC unterstützt. Stattdessen braucht man ein UART Display)

Unterstützung des OCS2 Funktionen

Möglichkeiten OCS2
Unterstützung des FluidNC Adapters

6 Achsen

Alle 6 Achsen können angesteuert werden

16 Eingänge

⚠️ 8 - Es können die Eingänge 1-8 genutzt werden

8 Ausgänge

8

Spindelgeschwindigkeitssteuerung 0-5V, 0-10V oder 5V PWM

Spindel An/Aus Anschluss zum Schalten eines Relais / Frequenzumrichters

Externe Bedienelemente

Handrad / Encoder

Motor Start Taster

Ist angeschlossen und kann auf eine Funktion gemapped werden

Programm Start Taster

Ist angeschlossen und kann auf eine Funktion gemapped werden

OK Taster

Ist angeschlossen und kann auf eine Funktion gemapped werden

Feedrate (Vorschubgeschwindigkeit)

Rotation Speed (Spindelgeschwindigkeit)

3-Achsen Joystick

Auwahl X, Y, Z zur Wahl der Achsen für den Encoder

Speed 1 und Speed 2 zur Einstellung der Encoder Geschwindigkeit

Pin Mapping

ESP32 / Shift Register Pin
Funktion

gpio.1

Frei - Nur am Pinout

gpio.2

Frei - Nur am Pinout

gpio.3

Frei - Nur am Pinout

gpio.16

Frei - Nur am Pinout

gpio.12:low:pu

OCS2 OK Button

gpio.13

I2C SCK Pin (OLED Display)

gpio.14

I2C SDA Pin (OLED Display)

gpio.5

CS pin für SD-Karte

gpio.18

SPI SCK Pin

gpio.19

SPI MISO Pin

gpio.23

SPI MOSI Pin

gpio.22

I2SO MISO - Shift Register

gpio.21

I2SO Data - Shift Register

gpio.17

I2SO WS - Shift Register

gpio.25:high

OCS2 Spindle PWM

gpio.26:low:pu

OCS2 Motor Start Button

gpio.27:low:pu

OCS2 Programm Start Button

gpio.36 (hat Hardware Pullup)

OCS2 Eingang 1

gpio.39 (hat Hardware Pullup)

OCS2 Eingang 2

gpio.34 (hat Hardware Pullup)

OCS2 Eingang 3

gpio.35 (hat Hardware Pullup)

OCS2 Eingang 4

gpio.32 (setze ":pu" für Pullup in Config)

OCS2 Eingang 5

gpio.33 (setze ":pu" für Pullup in Config)

OCS2 Eingang 6

gpio.4 (setze ":pu" für Pullup in Config)

OCS2 Eingang 7

gpio.15 (setze ":pu" für Pullup in Config)

OCS2 Eingang 8

Shift Register (Outputs)

i2so.0

OCS2 STEP X

i2so.1

OCS2 DIR X

i2so.2

OCS2 STEP Y

i2so.3

OCS2 DIR Y

i2so.4

OCS2 STEP Z

i2so.5

OCS2 DIR Z

i2so.6

OCS2 STEP A

i2so.7

OCS2 DIR A

i2so.8

OCS2 STEP B

i2so.9

OCS2 DIR B

i2so.10

OCS2 STEP C

i2so.11

OCS2 DIR C

i2so.12

OCS2 ENA

i2so.13

OCS2 Spindle on/off

i2so.14

Frei - Nur am Pinout

i2so.15

Frei - Nur am Pinout

i2so.16

OCS2 Ausgang 1

i2so.17

OCS2 Ausgang 2

i2so.18

OCS2 Ausgang 3

i2so.19

OCS2 Ausgang 4

i2so.20

OCS2 Ausgang 5

i2so.21

OCS2 Ausgang 6

i2so.22

OCS2 Ausgang 7

i2so.23

OCS2 Ausgang 8

i2so.24 - i2so.31

Frei - Nur am Pinout

Pinout

Folgendes Pinout steht auf dem ControllerModule zur Verfügung und kann zusätzlich bei Bedarf genutzt werden:

Beispielkonfiguration für meine MPCNC

FluidNC 3.7.13 - letzter Test unter 3.9.7
name: "OCS2 FluidNC"
board: "OCS2 FluidNC Controller"

planner_blocks: 32

stepping:
  engine: I2S_STREAM
  idle_ms: 255
  dir_delay_us: 0
  pulse_us: 4
  disable_delay_us: 0

axes:
  # Deactivated for more precision
  # shared_stepper_disable_pin: i2so.12

  x:
    steps_per_mm: 50
    max_rate_mm_per_min: 9000
    acceleration_mm_per_sec2: 250
    # 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:low
        step_pin: i2so.0
    motor1:
      limit_neg_pin: gpio.39:high
      hard_limits: true
      pulloff_mm: 5
      stepstick:
        direction_pin: i2so.7:low
        step_pin: i2so.6

  y:
    steps_per_mm: 50
    max_rate_mm_per_min: 9000
    acceleration_mm_per_sec2: 250
    # 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
  frequency_hz: 20000000

start:
  must_home: false

# 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

# UART for communication with OCS2 when using fluidNC jogging
# uart2:
#   txd_pin: gpio.2
#   rxd_pin: gpio.16
#   baud: 115200
#   mode: 8N1
# uart_channel1:
#   uart_num: 2
#   report_interval_ms: 0
#   message_level: Info

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

Last updated