OPEN-CNC-Shield

Allgemein

Beschreibung

Hier ist ein kurzes Video zur Vorstellung des OPEN-CNC-Shields:

Das OPEN-CNC-Shield ist ein weiteres CNC-Shield. Es soll sowohl für Anfänger, welche zunächst mit DIY Fräsen und Aufstecktreibern arbeiten als auch für Fortgeschrittene mit externen Treibern funktionieren. Es bietet sich auch an, Ersteinmal klein anzufangen und Stück für Stück weiter aufzurüsten, ohne jedes Mal ein neues Shield kaufen zu müssen.
„OPEN“, weil es mit diversen Schnittstellen einfach erweiterbar sein soll. Darüber hinaus bietet es sehr vielfältige Möglichkeiten der Anpassung, siehe dazu die Liste der Funktionen. Es vereint außerdem das Tillboard mit der Tillboard Extension, sodass man für die ganzen Funktionen nur noch diese eine Platine benötigt.
Vielfältiger Softwareeinsatz möglich. Es kann unter anderem Estlcam, LinuxCNC oder auch Mega GRBL um z.B. LaserGRBL in Verbindung mit einem Laser anstatt eines Fräsers zu nutzen verwendet werden.

Funktionen

  • Zwei Arduino Mega pro mini zur Steuerung(optional, je nachdem was man möchte)
    • Einer wird direkt mit Estlcam bzw. dem PC verbunden. GRBL für z.B. Laser oder Betrieb durch Estlcam möglich.
    • Der andere Arduino steuert die Funktionen drum herum und kann frei programmiert werden.
  • Steuerung von bis zu 6 individuellen Stepper Motoren
    • Für den Betrieb von Estlcam können die Achsen über Jumper verbunden werden, sodass nachher pro Achse(x, y, z) zwei Motoren gesteuert werden können
    • Möchte man andere Software nutzen, welche mehr Achsen unterstützt geht dies auch, indem man die Jumper nicht setzt. Dann könnten theoretisch 6 Achsen verfahren werden, wobei jede Achse einen Motor hat.
  • Linux CNC Anschluss
    • Möchte man LinuxCNC verwenden kann der Arduino entfernt werden und eine Adapter Platine eingesteckt werden. Dann stehen 2 LPT/Parallel Port Anschlüsse für die Verwendung mit LinuxCNC zur Verfügung
    • Folgende Funktionen stehen dann in LinuxCNC zur Verfügung:
      • Verfahren von 4 individuellen Achsen
      • Spindel On/Off
      • Spindel Geschwindigkeit
      • Enable der Treiber
      • Ausgang 1-4
      • Eingang 1-16
      • Poti für Spindel Geschwindigkeit
      • Poti für Vorschub
  • Stepper Treiber können entweder aufgesteckt werden(A4988 oder DRV8825) oder es können externe Treiber verwendet werden
  • Jeder Treiber/Achsen Anschluss kann mit einem eigenen Endstopp versehen werden
  • Autosquaring kann für alle Achsen(X, Y und Z) individuell aktiviert werden
    • Beim Autosquaring werden die Endstopps jedes Stepper-Motors angefahren. Dies soll Rechtwinkligkeit sicherstellen. Vor allem auf selbstgebauten CNC-Fräsen wie der MPCNC ist das sehr nützlich. Dazu hier ein Video mit Erklärung: MPCNC – Autosquare nachrüsten
    • Ausgabe des Autosquaring Status über ein Display möglich
  • Onboard Temperatur Sensor, hiermit kann ein 12V Lüfter temperaturabhängig angesteuert werden
  • 12V Lüfter Anschluss (PWM – 4 polig)
    • Hier kann entweder ein 12V PWM Lüfter angeschlossen werden
    • oder ein 12V 3Pin Lüfter
    • oder ein 12V 2Pin Lüfter
  • 12-24V Strom Eingang
  • 8 Ausgänge, welche entweder mit 12V oder 5V geschaltet werden. Alternativ kann man auch selbst Spannung zur Verfügung stellen. Dabei schalten immer 4 Stück mit der gleichen Spannung. Als Beispiel: Ausgang 1-4 mit 5V und Ausgang 5-8 mit 12V.
  • 16 Eingänge. An jedem Eingang kann über einen Jumper gesteuert werden, wie diese Schalten.
    • Entweder, indem GND an dem Eingang anliegt,
    • oder, indem eine Spannung zwischen 5V und 24V anliegt
  • Ausgang für Spindel Geschwindigkeit und Spindel an/aus(Laser wird auch unterstützt)
    • Über Jumper konfigurierbar, ob ein PWM Signal ausgegeben wird, oder ein analoges Signal zwischen 0-5V oder 0-10V
  • Eingang für einen oder mehrere externe Temperatur-Sensoren
  • SUB-D 37 Ausgang zum Anschluss eines Bedienpanels
    • Dieses kann entweder per Kabel verbunden werden, oder per Funk
  • Durch die Verwendung eines zweiten, frei Programmierbaren Arduino ergeben sich zum Beispiel folgende Möglichkeiten:
    • Zeitgesteuerte Ansteuerung von Relais
    • Reagieren auf Ereignisse
      • Schalte Absaugung ein, wenn Spindel Motor startet und lasse diesen 30 Sekunden nachlaufen
      • Schalte Kühlung ein, sobald der Spindel Motor läuft
      • Spiel die Super Mario Melodie auf einem Lautsprecher, wenn das Fräsprogramm startet
    • Steuerung von Kühlmittelanlagen / Schmierungen usw.
    • und vieles mehr…..

Technische Daten

Eingangsspannung12-24V (24V empfohlen)
Eingangsstromstärke2 Terminals mit max 10A pro Terminal.
Bei Verwendung externer Treiber sollte ein 3A Netzteil ausreichen.
Bei Verwendung von Aufstecktreibern sollten 10A ausreichen.
Ausgänge8 Stück
mit 5V oder 12V oder selbst angelegter Spannung.
4 Stück werden immer mit gleicher Spannung betrieben.
Beispiel: Ausgang 1-4 mit 5V und Ausgang 5-8 mit 12V.
Im 5V Netz stehen maximal 3A zur Verfügung, wobei die onBoard Bauteile schon etwa 200mA benötigen. Falls ein externes Bedienpanel angeschlossen ist erhöht sich das noch weiter.
Im 12V Netz stehen ebenfalls maximal 3A zur Verfügung.
Pro Ausgang dürfen maximal 500mA Strom fließen.
Also hier immer mit Relais arbeiten, falls mehr Strom benötigt wird.
Eingänge16 Stück
Schaltung entweder mit positiver Spannung zwischen 5V und 24V oder mit Masse(GND). Wählbar über Jumper für jeden Eingang.
Anschlüsse– Anschlussterminals für 6 externe Treiber
– SUB-D 37 Anschluss für externes Bedienpanel, Joysticks, Handrad usw.
– 4Pin 12V PWM Lüfter anschluss
– DS18B20 Temperatur Sensoren anschluss
– Spindel On/Off
– Spindel Geschwindigkeit (PWM / Analaog 0-5V oder 0-10V)

Platine / Bauteile besorgen

Falls Du keine Lust hast die Platine und Bauteile selbst zu besorgen ist hier ein kleines Bestellformular: https://forms.gle/eGtfc3Autmp8chfd6.

Möchtest Du die Platine allerdings lieber selbst fertigen ist dies auch möglich. Die Dateien stehen unter der Creative Commons CC BY-NC-SA 4.0 Lizenz und können hier heruntergeladen werden: Gitlab – Timos Werkstatt

Ich empfehle die Platine mit einem „Copper Weight“ von 2 oz zu produzieren. Falls alle Aufstecktreiber verwendet werden und mit viel Strom versorgt werden müssen, sollte dies besser für die Wärmeentwicklung sein.
Außerdem nehme ich immer ein ENIG-RoHS – Finish. Dies verbessert die Oberflächenqualität und erleichtert das Löten.

Teilelisten

Hier gehts zu den Teilelisten in Form einer —> Google Docs Tabelle
Über den Reiter oben kann zwischen den verschiedenen Platinen gewechselt werden

Erweiterungen / Zubehör

BildBeschreibung

Fanmount / Lüfterhalter
für den 3D-Drucker. Dank an Elias Ruemmler für das Design. Ein Lüfter für die Platine wird nur benötigt, wenn die Aufstecktreiber verwendet werden.
Hier gehts zur Erklärung: https://100prznt.de/cnc/fanmount-for-open-cnc-shield/
und hier gibts direkt die STL https://www.prusaprinters.org/prints/41531-fanmount-for-open-cnc-shield

LowRider2 – case for Open-CNC-Shield
von Massimiliano Mandato

Hier der Link https://www.thingiverse.com/thing:4627211
Mounting Frame für das Open CNC Shield von ironman-139.
Einfach drucken und M3 Einpressmuttern verwenden.

Hier der Link: https://www.thingiverse.com/thing:4861220
Dies ist eine Mountingplate für das Open CNC-Shield, zum einfachen Einbau in einen Schaltschrank von Varosch.

Hier der Link: https://www.thingiverse.com/thing:4713574

Zusammenbau / Löten

Die Zusammenbau-Anleitung ist hier zu finden → Zusammenbau

Dokumentation

Zur Dokumentation gehts hier entlang → Dokumentation

37 Gedanken zu „OPEN-CNC-Shield“

  1. Hallo Timo,
    danke für die tolle Dokumentation.
    Eine Frage… was für ein Gehäuse verwendest du für das Open-CNC-Shiled? Das von Carsten Schröder?
    Danke vorab für eine kurze Info.
    Gruss Ralf

    Antworten
    • Hallo Ralf,
      für das OPEN-CNC-Shield gibt es momentan noch kein Gehäuse. Bei mir selbst werde ich das einfach in einem Schaltschrank verbauen und brauche daher kein Gehäuse. Aber es wird sich sicherlich noch jemand aus der Community finden, der Lust hat ein Gehäuse hierfür zu entwickeln.

      Antworten
  2. Hallo,
    kann mir einer mal die Maße der Platine geben?
    Habe bei https://gitlab.com/ das DXF File geladen, das
    ist beim Import 8.385mm x 4.842mm groß….

    Würde gerne ein Gehäuse erstellen, das sich auch auf
    einem kl. Drucker herstellen lässt.

    Antworten
      • Danke. Platine habe ich zusammengelötet, einige Punkte sind aber sehr schlecht. Etwa jeder 30te Pin ist kaum Zinn drauf zu bekommen. Hoffe das hält dennoch. Hatte alles mit Isopropanol gereinigt. Bleihaltiges Zinn. Trotzdem schlechter Halt bei einigen Punkten. Kann jetzt nur hoffen, das es keine kalten Lötstellen gibt.

        Antworten
        • Hatte ähnliche Probleme, allerdings meist Lötpunkte direkt an Masse. Hab die dann mit höherer Temperatur nachgelötet. Möglicherweise wird an diesen Punkten die Wärme zu stark abgeleitet, da Massepunkte oft mit großer Fläche verbunden sind.

          Antworten
  3. Hallo Timo,

    gibt es Deine OPEN-CNC-Shield Platine auch in einer ENIG (Electroless nickel immersion gold) Ausführung.
    Die ENIG Beschichtung vermeidet Oxidation und verbessert die Lötbarkeit von Kupferkontakten und plattierten Durchgangslöchern?
    Meist kostet solch eine ENIG Beschichtung bei kleinen Abnahmemengen nur 1-2 € pro Platine mehr.
    Einen Aufpreis den die meisten Deiner Kunden (denke ich) bezahlen würden.

    Viele Grüße
    Andreas

    Antworten
    • Halloa, bisher habe ich die noch nicht. Habs mir aber mal aufgeschrieben für die nächste Bestellung. Kosten liegen bei etwa 30% mehr. Ich teste das einfach mal und prüfe, ob sich die Mehrkosten lohnen. Vielen Dank für den Hinweis.

      Antworten
  4. Hallo

    gibt es ein Forum wo Fragen zum Board gestellt werden können?

    Komme mit dem AutoSquare nicht weiter…… Möchte diesen nur
    mit einem Taster auslösen.
    Jumper auf dem Board für Y und Z gesetzt, Taster an Pin19 und Pin 16 angeschlossen,
    beim auslösen des Tasters aber keine Reaktion….

    Antworten
    • Ich kenne kein Forum, nur unsere Facebook Gruppe „CNC Werkstatt“.

      Vermutlich sind deine endstops in der Firmware nicht richtig eingestellt. Bitte die Dokumentation lesen, bzw. Im arduino code die richtige Einstellung machen. Ansonsten Mal debug im Code anschalten und dann den serial Monitor beim autosquare beobachten.

      Antworten
  5. Hallo

    komme mit dem Autosquaring nicht weiter.
    Nutze das Board an einer Lowrider2.
    Autosquaring soll für die Y und Z Achse
    ausgeführt werden.
    Die Y Achse scheint zu laufen. Starte ich
    Autosquaring, fahren beide Y Motoren
    bis sie auf den Endschalter treffen. Aber
    die Z Achse will nicht. Zwischendurch ist mal
    der Z2 mit den beide Y Achsen gestartert, aber
    Z1 stand dann still. Dann alles geprüft, neu gestaret
    und dann lief wieder nur Y.
    Unter ESTLCAM laufen alle Achsen ohne Probleme, ist also
    alles richtig angeschlossen.

    Ausgabe Serial-Monitor:

    Terminating
    External Temp: -127.00
    Onboard Temp: 9.75 C, Fan Speed: 127 of 255
    Initializing
    Reading Axis Config
    AS Y = ON
    AS Z = ON
    AS Y2:done
    AS Y1:done

    Antworten
    • Es wäre einfacher, wenn du einen Beitrag in unserer Facebook Gruppe erstellst. Dieses Kommentar-Format eignet sich nicht gut für eine aktive Diskusion.

      Ich habe das Board mit zwei z-Motoren gerade nochmal bei mir aufgebaut und getestet. Alles funktioniert, daher kann ich einen Fehler im Code ausschließen.
      Die Ausgabe im Serial Monitor sieht bei mir so aus:
      Initializing
      Reading Axis Config
      AS X = ON
      AS Y = ON
      AS Z = ON
      AS Z1:done // <- Endstop Z1 hat ausgelöst AS Z2:done // <- Endstop Z2 hat ausgelöst Terminating Wenn sich die Motoren bei dir nicht drehen, aber im Code die Achse als "ON" ausgegeben wird, kommen die Step Signale wohl nicht bei den Treibern an. Da bleiben eigentlich nur noch kalte Lötstellen, oder defekte CD74HC ICs als Grund.

      Antworten
      • Über ESTLCAM geht ja alles, der Fehler muss dann auf meinem Board sein.
        Lege ich die Z Achse auf die Y Anschlüsse passt auch alles.
        Kann man eingrenzen, wo die kalte Lötstelle für die Z Achse sein kann?
        X und Y funktionieren ja. Oder kann man ggf die Achsen tauschen?
        Also Z1 auf X1 und Z2 auf X2 und X1 auf Z1?
        Autosquaring für X benötige ich ja eigentlich nicht, da nur ein Motor.

        Facebook will irgendwie gerade nicht, hatte mich da nach Jahren wieder angemeldet, und habe da aktuell nur eingeschränkte Rechte. Wenn du bei v1engineering.com gemeldet bist, würde ich da auch einen Beitrag starten.

        Gruß und danke….

        Antworten
        • Achsen tauschen macht Estlcam nicht mit.
          Wie gesagt, das Signal vom zweiten Arduino kommt dann nicht bei den Treibern an. Ich kann mir nur eine kalte Lötstelle oder defekt CD74HC ICs vorstellen.
          Wenn du die Leiterbahnen verfolgen und mit einem Messgerät nachmessen willst, lad dir einfach das EasyEDA Projekt. Dort siehst du, wohin die Leiterbahnen gehen.

          Antworten
          • Ich gebs auf….. Alle Lötstellen nochmal geprüft und alle nochmal nachgelötet. Die Z Achse will nicht. Und wenn ich die Achsen in Estlcam nicht tauschen kann, ist das Board leider unbrauchbar für mich.
            Evtl nehme ich das Board für meine MPCNC, da brauche ich kein AS auf Z.
            Entweder ich bestellt mir nochmal eins, oder ich gucke mir das Tillboard mal an, inkl der Erweiterung.

          • Schick mir das Board zu. Die Brücken hab ich da in 5min dran gelötet. Ich teste das dann einmal und schicke dir das zurück. Versand müsstest du allerdings tragen. Sofern nicht noch mehr kaputt ist, kommst du so wahrscheinlich am günstigsten weg.

          • danke.. ich schicks dir zu. Das Tillboard Extension nehme ich aber trotzdem… 🙂 sofern noch eins da ist.

  6. Tach und frohes Neues,

    ich bin ja MEGA angefixt was das Open-CNC-Shield betrifft, jedoch blick ja noch nicht so ganz durch.
    Was brauche ich denn für den „Start“? Das Shield, mit einem Arduino mini, das reicht ja wenn ich externe Treiber nutze, oder? Die Kommunikation erfolgt per USB über den Mini zum Rechner, stimmts?
    WEnn ich denn irgendwann Wireless Control nutzen will, kann ich das ja jederzeit aufrüsten.
    Welche Maße hat denn die Platine?
    Gruß

    Antworten
  7. Das Board ist soweit recht gut durchgeplant
    aber:
    Die meisten Stepper Treiber können bis ca. 50 Volt verarbeiten, was teils zum Vorteil wäre.
    warum nicht eine 2. Versorgungs-Klemmleiste für die Versorgung der Treiber

    macht für mich persönlich nicht viel aus, da ich sowieso externe Treiber einsetzen werde. Denke das es trotzdem eine Überlegung wert ist

    Antworten
  8. Hammer, sieht echt gut aus. Habe derzeit noch das 0815 UNO CNCshield…… bin im Moment dabei die zweite zu bauen, da könnte ich mir gut vorstellen deine Platine zu verwenden!!!! Top Arbeit! Weiter so 👍🏻

    Antworten
  9. Hallo, du hast auch am selben Tag eine Rechnung per Mail bekommen und mehrere Erinnerungen und Kontaktversuche. Leider habe ich bisher noch keine Reaktion erhalten. Schau vielleicht Mal deinen Spam Ordner durch.

    Antworten
  10. Hallo Timo
    Ich baue mir gerade eine MPCNC Primo auf und stehe vor der Wahl eines Controllers. Eigentlich wollte ich ein Tillboard mit Extension einsetzen. Das Open CNC Shield scheint mir aber doch vorteilhafter zu sein (nur eine Platine, weniger gebastelt). Was empfiehlst du für Projekte die auf der grünen Wiese starten?

    Antworten
  11. Hallo Timo,

    ich bin da schwerst beeindruckt von dem das Du hier gebaut hast… Auch die Preise: da lohnt sich die Bestellung bei Reichel wirklich nicht. – Respekt!

    Ich habe noch kein Board von Dir, muss erst die Arbeitsfläche von anderem befreien…
    Das mindestens eines kommt ist jetzt schon klar für eine LowRider2 (fange gerade an zu drucken)

    eine Frage: verträgt sich Dein Board mit „Snapmaker Luban“ ?

    Ist nicht ganz abwegig, schliesslich basiert beides auf Marlin, sofern ich das richtig verstanden habe. (ok deines 8bit, dagegen Snapmaker 32bit)
    Aber vielleicht funktioniert ja die Kommunikation?

    Dann hätte man endlich eine Plattformübergreifende Software (open source für Win/Mac/Linux) für Laser/ Filamentdrucker und CNC (wobei der Funktionumfang nicht an Estlcam ranreichen wird)

    Das wär´s!

    Antworten
  12. Hallo,
    erstmal Gratulation zu deinem Projekt. Bin begeistert. Ich baue gerade die MPCNC Primo und auf der Suche nach Steuerungen bin ich auf deiner Seite hängengeblieben.

    Ich bin leider noch etwas verwirrt, was deine Platine und das Tillboard+Extensions angeht. Vielleicht kannst du mich kurz aufklären. Wenn ich das Open CNC Shield mit Kabelferbedienung bauen möchte, was brauche ich für Boards?

    Ansonsten noch mals Respekt. Tolle Arbeit.

    Mfg Thomas

    Antworten
    • Halloa, du bräuchtest das OPEN-CNC Shield und das D-SUB Kabel. Wenn du die kabel nicht einzeln auflegen willst, würde ich noch die das Extension Panel dazu nehmen. Das dient quasi als breakout für den D-SUB Anschluss.

      Antworten
  13. Hallo!

    Ich bin noch Neuling in der CNC Sache und habe eine Frage zu dem Board. Wenn ich Closed Loop Stepper verwende, kann ich dann einen Fehler von den Treibern an das Board zurückmelden und abbrechen? Wie würde das laufen, über welchen Anschluss?

    Grüße und danke für deine tollen Sachen hier!

    Antworten
  14. Moin Timo!
    erst einmal tausend Dank für die tolle Arbeit und das zur Verfügung stellen.
    Ich habe auf der Basis deines Open CNC Shields (zusammen mit der Wireless-Einheit) meine MPCNC in Betrieb genommen und nach der Anfangsbegeisterung (alles funktionierte grundsätzlich erst einmal wie es soll) nun nach dem ersten Frästest das Problem, dass die beiden Nema17-Stepper für die X-Achse zwischendurch Spiel haben bzw. ihre Haltekraft verlieren. Festgestellt habe ich das nachdem die erste Kreistasche nicht richtig gefräst wurde (nach erstem Eintauchen hat sich die Positionierung verschoben). Was ich nach genauerer Untersuchung dann festgestellt habe ist, das nachdem die Fräse nach Bewegung für eine kurze Zeit (ab ca. 10-20s) steht, die X-Achse (und zwar beide Stepper) manuell leicht hin und her bewegt werden können. Sobald die Achse wieder (z.B. per Wireless Panel) verfahren wird, ist diese anffänglich wieder fest und verliert dann auf beiden Motoren wieder die Festigkeit. An den Motoren der Y-Achse (alle baugleich von Stepperonline) tritt dies nicht auf. Als Motortreiber habe ich TMC2209 (nach deiner Anleitung in Betrieb genommen), die ansonsten flüsterleise sind. Vref habe ich bei allen Treiber gleich eingestellt (knapp 1,0 V).
    Hast Du eine Idee, was die Ursache für diesen Fehler sein kann?

    Vielen Dank im Voraus,

    Herzlichen Gruß & weiter so!

    Oliver

    Antworten
  15. Hi Timo,

    wirklich ein mega Projekt!

    Leider konnte ich auf anhieb nirgends sehen, wo ich den Lautsprecher für die Super Mario Melodie anklemme. Immerhin DIE wichtigste Funktion ^^ evtl könntest du mir da mal Infos zukommen lassen.

    MfG

    Benny

    Antworten

Schreibe einen Kommentar