Air Assist mit einem MKS DLC32 Board auf dem FluidNC geflasht wurde

  • Einen frohen Fastnachtsbeginn wünsche ich allen Forenmitgliedern.

    An solchen Tagen sollte man sich vielleicht mit anderen Dingen beschäftigen. Da ich aber kein "Narr" bin, habe ich mich auch heute mit meinen Hobbys beschäftigt.


    Ich habe mir eine Air Assist Pumpe von einem Forenmitglied zugelegt und will diese nun über Lightburn automatisch ein- und ausschalten.

    Auf dem MKS DCL32 Board, auf dem FluidNC läuft, habe ich keinen Pin gefunden, an dem ich die Pumpe (230 Volt) über ein Relais oder über ein Solid State Relais ein- und ausschalten könnte.


    Hat jemand im Forum eine Lösung für dieses Problem parat?


    Über Lösungsvorschläge würde ich mich sehr freuen.


    Liebe Grüße

    Peter

  • Das Signal für den Kompressor stellt das Board im Allgemeinen über den Pin SCL des I2C-Interfaces bereit. An den beiden Punkten GND und SCL liegt dann eine Spannung von ca. 3V, damit lässt sich dann ein Relais schalten. Es muss aber ein Relais-Modul sein, da der Pin SCL mit nicht mehr als 10mA belastet werden darf.
    Aber nicht jede mitgelieferte Firmware unterstützt das Signal an SCL, ggf. muss der Controller neu geflasht werden, also vorher mal nachmessen, ob das Signal auch bereit gestellt wird.


    Ich hab das hier mal mit einem TS2 gemacht.

  • Hier findest du ganz unten ein Bild dazu: https://wiki.the-iskens.com/de…r-extras/relaissteuerung/

    Und wie Egon schon gesagt hat, nimm ein Relais, das drei Eingänge hat, Spannungsversorgung und einen extra Pin für das Signal. Steht oben in dem Artikel auch.

    ---------

    Laser: Sculpfun S6 Pro bis S70 (alle Modelle/Module), Creality Falcon 2 Pro 60W

    3D-Drucker: Creality CR-10, Anycubic Kobra 3 Combo

    CNC: TwoTrees TTC450

  • Hallo,


    vielen Dank für die Rückmeldungen.

    Ich habe mir ein Relais mit drei Eingängen und Low/High Level Triggersignal im Osten bestellt. Dann werde ich die Schaltung von Egon nachbauen um die Pumpe über das MKS Board ein- und auszuschalten.


    Auf dieser FluidNC Wiki-Seite http://wiki.fluidnc.com/en/hardware/3rd-party/MKS_DLC32

    habe ich inzwischen auch gefunden wie man man FluidNC dazu bringen kann die Pumpe über M7, M8 und M9 dazu bringen kann die Pumpe ein- und auszuschalten.

  • 1. Es hat nichts mit dem SCL Pin zu tun.

    2. SSR wäre für die Air Assist Pumpe besser, wirst du merken wenn du dieselbe Phase nimmst wo der Laser angeschlossen ist.

    3.Dass ein Pin nur 3V ausgibt habe ich noch nicht gesehen, es waren immer eher mehr.


    Im Gegensatz zu der MKS Firmware kann man bei FluidNC den Pin aussuchen "der das Signal unterstützt".

    coolant:

    flood_pin: NO_PIN

    mist_pin: NO_PIN

    delay_ms: 0

    Den kann man dann auch über die WebUI schalten.

  • Hallo Skorpi,

    das MKS DLC32-Board hat ein I2C-Interface, das direkt vom µC kommt und somit 3,3V hat, deshalb darf es auch mit nicht mehr als 10 mA belastet werden. Ich kenne nur die MKS Firmware und kann deshalb über FluidNV nichts sagen.

  • nur mal kurz in die Suche eingegeben:
    pasted-from-clipboard.png


    SCL Pin oder I2C-Interface ist nichts besonderes, ist ein ganz normaler Pin der nur eine "Funktion" hat den die anderen Pins nicht haben.

    Am Arduino UNO/Mega habe ich auch 40mA vom Pin abgegriffen und es ist nichts kaputt gegangen oder in Rauch aufgegangen.

    Dasselbe wird auch beim ESP32 passieren den ein MKS DLC32 onboard hat.

    Also ein SSR sehe ich immer noch als die bessere Lösung für den AirAssist.

  • Ganz so optimistische würde ich da nicht herangehen, der Arduino UNO/Mega arbeitet mit 5V Betriebsspannung und kann an den Pins schon mal etwas vertragen, der ESP32 dagegen arbeitet mit 3,3V und ist nicht ganz so tolerant. Ein SSR ist sicher die bessere Wahl, allerdings muss man dann, wenn man SCL nimmt, das Signal noch verstärken, sei es die 10 mA einzuhalten oder genügen Spannung fürs SSR bereit zu stellen.

  • Ja, da kann man sich lange streiten. Ich habe mich hier ran gehalten, man will das Board ja nicht gleich himmeln:


    Each digital output pin is associated with its configurable drive strength. Column “Drive Strength” in Table IO_MUX lists the default values.

    The drive strength of the digital output pins can be configured into one of the following four options:

    • 0: ~5 mA

    • 1: ~10 mA

    • 2: ~20 mA

    • 3: ~40 mA

    The default value is 2. The drive strength of the internal pull-up (wpu) and pull-down (wpd) is ~75 µA.

    The maximum output current (sink/source) of the ESP32 is 12mA.

  • Da ich ein ESP32 Modul (kostete ca. 5€ mit Porto, war alos wesentlich billiger als ein MKS DLC32 Board) und ein Solid State Ralais (mit zwei Eingängen; 3 - 32V DC und 24 - 380V AC Ausgang) hier liegen hatte, habe ich mir einen Versuch aufgebaut.

    1. Das ESP32 Modul so programmiert, dass der GIO-Pin 4 (von dort wird beim MKS DLC32 Board der SCL-Pin vom I2C Interface herausgeführt) alle 10 Sekunden ein und ausgeschaltet wird.

    2. Das ESP Modul über ein ca. 3m langes zweiadriges Kabel (wegen dem Spannungsabfall im Kabel) mit dem SSR verbunden.

    3. An das SSR eine über eine Schraubfassung eine 40Watt Glühbirne angeschlossen.

    4. Das Projekt 3 Stunden laufen lassen.
    Ergebnis:

    Der ESP schaltet die Lampe über das Relais über die drei Stunden ein und aus ohne sich in den Mikrocumputerhimmel zu verabschieden.
    Der ESP liefert am GIO-Pin 4 ohne Last 3,2V, am Relais liegen dann nach 3m dünnes Kabelnoch 3,02V an.

    Das Relais zieht 9,0 mA, wenn es eingeschaltet wird.

    Hier das von mir verwendete Relais:

    SSR-Relais.jpg

  • Ja, so ein SSR hatte ich zuerst auch dran, aber es scheint da Exemplarstreuungen zu geben, bei mir reichten die 3V nicht immer aus, um das Relais zu schalten, bei einem 2. SSR leuchtete die LED zwar schwach auf, aber es schaltete nicht, deshalb habe ich mich schweren Herzens für das normale Relais entschieden. Die 9 mA liegen noch unter den vorgegebenen 12 mA und somit kann man das bedenkenlos betreiben.

  • Das schließt sich ja auch nicht aus. Man kann auch ein SSR-Relais mit vernünftiger (Controller-sicherer Beschaltung) nehmen, diese hier:

    pasted-from-clipboard.png

    Die nehme ich immer, wenn es am Controller geschaltet wird. Die großen SSRs kann man da verwenden, wo man hohe Lasten schalten kann. Da bin ich ganz bei Egon :)

    ---------

    Laser: Sculpfun S6 Pro bis S70 (alle Modelle/Module), Creality Falcon 2 Pro 60W

    3D-Drucker: Creality CR-10, Anycubic Kobra 3 Combo

    CNC: TwoTrees TTC450

  • Ich habe mit den delay_ms etwas herumgespielt. Die Ergebnisse haben mich doch etwas überrascht.

    Ich habe verschiedene Werte bei coolant delay_ms eingetragen und auf den ESP32 übertragen.
    Beim Start des Lasers unter Lightburn passiert folgendes:

    die Luftpumpe startet sofort,

    der Lasermodul startet die Bewegung und das Licht um die doppelte Zeit vom Eintrag bei delay_ms verzögert ein,

    am Ende bleibt das Lasermodul stehen, die Pumpe und das Licht gehen sofort aus,

    der Lasermodul bewegt sich nach Ablauf der eingestellten Zeit zum Ausgangspunkt zurück.


    Wenn man unter Lightburn das Lasermodul sich bewegen läßt, startet die Bewegung sorfort, am Ende der Bewegung zählt Lightburn die eingestellt Zeit noch herunter, In dieser Zeit ist keine weitere Bewegung möglich.

  • Zitat

    delay_ms:

    • Type: Integer
    • Range: 0 to 10000
    • Default: 0
    • Details: The delay in milliseconds after the turn on and turn off before more gcode will run

    Ah, dann verstehe ich die Erklärung jetzt auch. Es ist ein Delay, das nach dem M7/M8 Kommando (Pumpe an) gewartet wird, bevor weitergemacht wird und auch nach dem M9 Kommando (Pumpe aus) und danach wird weitergefahren. Also ganz stumpf.

    ---------

    Laser: Sculpfun S6 Pro bis S70 (alle Modelle/Module), Creality Falcon 2 Pro 60W

    3D-Drucker: Creality CR-10, Anycubic Kobra 3 Combo

    CNC: TwoTrees TTC450

  • Habe mir den G-Code, den Lightburn erstellt, angesehen und festgestellt, dass ich dort unter Geräteeinstellungen/G-Code eingetragen hatte, dass Lightburn am Anfang ein M8 zum Start und M9 zum Beenden der Pumpe einfügen soll.

    Dann habe ich bei Schnitt/Ebenen den Air Assist eingeschaltet.

    Damit hatte mein mit Lihtburn erzeugter G-Code zweimal den Befehl M8 und zweimal den Befehl M9.

    Nach dem Löschen der Benutzer M-Codes wird die eingestellte Zeit von Lightburn nur einmal heruntergezählt.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!