CNC Interfaceplatine oder Arduino, was meint Ihr

Hallo miteinander,

ich habe 3 Motoren mit 3 Treibern für eine CNC Fräße mir zugelegt, da das meine erste ist in diesem Bereich habe ich klein angefangen und mir dieses Komplett System zugelegt. Komplett-Steuerung CNC

Hier ist enthalten: - 3 x Endstufen SK8060 bis 6 A - 3 x Netzteil -Schaltnetzgerät S500 72 V 7 A - 1 x Interfaceplatine Optokoppler Anschluss an PC bis 4 Achsen - 1 x Not Ausschalter - 3 x Referenzschalter - Mikroschalter-VT-Rollenhebel L-12 - 3 x Schrittmotoren 8,7 Nm 6 A - 3 x Flexible Wellen-Kupplung fi-14 x 20 mm - 3 m CNC-Kupfer-Kabel-Flexibel 4 x 1,5 mm²- Abgeschirmt

Die Treiber und die Netzteile habe ich inzwischen zusammen geschraubt ;-) (Netzteil Frage --> [OT] Netzteil richtig anschließen)

Jetzt wird es interessant: Beim verkabeln der Interfaceplatine habe ich mit erschrecken festgestellt das [u]je Achse nur ein Referenzschalter[/u] angeschlossen werden kann, das finde ich ziemlich doof, da ich keine Runden Achsen habe die sich endlos drehen können, :-( meine Achsen haben zwei enden oder einen Anfang und ein Ende wie man es sehen will. :-)

Da ich mit meiner CNC Anlage nicht mit G-Code oder mit einem Zeichenprogramm arbeiten möchte und auch nicht werde, dachte ich mir das ich die Interfaceplatine auch durch ein Arduino ersetzen kann.

Am Arduino kann ich dann so viele Referenzschalter anschließen wie ich möchte ohne das ich Platzprobleme bekomme, ich muss sie nur im Code entsprechend abfragen.

Denn wenn ich das richtig verstanden habe ist die Interfaceplatine nichts anderes als eine Galvanische von den Motor Treibern und dem PC.

Wenn ich jetzt die Interfaceplatine weg lasse, stellt sich mir die Frage kann ich meine Treiber direkt an das Arduino anschließen? oder muss ich da eine kleine Platine zwischen schalten?

Welche Infos muss ich zusammen suchen um mir eine Antwort bilden zu Können?

ps. das ist die Interfaceplatine ==> Interfaceplatine Das ist der Motor Treiber ==> Motor Treiber

Ich würde mich sehr über eure Meinungen freuen.

Gruß Mücke

Hallo Mücke,

theoretisch kannst Du die Schrittmotorkarten direkt mit dem Arduino betreiben. Die haben ja laut Aufdruck am Eingang Optokoppler verbaut die mit Vorwiderstand für 5V ausgelegt sind. Das einzigste was jetzt noch interessant wäre, ist die Stromaufnahme der LEDs mit dem Vorwiderstand, da der Arduino ja nur mit 20mA pro Ausgang belastet werden soll/darf.

Die Ansteuerung ist Standard. Ein Enable Eingang, einmal Drehrichtung und dann der Takteingang für die Schritte.

Muecke: Beim verkabeln der Interfaceplatine habe ich mit erschrecken festgestellt das [u]je Achse nur ein Referenzschalter[/u] angeschlossen werden kann, das finde ich ziemlich doof, da ich keine Runden Achsen habe die sich endlos drehen können, :-( meine Achsen haben zwei enden oder einen Anfang und ein Ende wie man es sehen will. :-)

Oft hat man nur einen Endschalter! Nach dem Einschalten fährt man den Referenzpunkt an, also die einzelnen Endschalter. Danach heißt es einfach Schritte zählen. Also braucht man eigentlich pro Achse auch nur einen Endschalter.

Wenn Du ohne G-Code arbeiten möchtest, wird es sehr schwer z.B. Kreise zu fahren. Das muß vorher alles berechnet werden und der Arduino verfügt nicht über zu große Rechenleistung. Aber möglich wäre es.

Gruß, Jürgen

Hallo Jürgen,

erst ein mal danke für deine Rückmeldung.

Katsumi_S: theoretisch kannst Du die Schrittmotorkarten direkt mit dem Arduino betreiben. Die haben ja laut Aufdruck am Eingang Optokoppler verbaut die mit Vorwiderstand für 5V ausgelegt sind. Das einzigste was jetzt noch interessant wäre, ist die Stromaufnahme der LEDs mit dem Vorwiderstand, da der Arduino ja nur mit 20mA pro Ausgang belastet werden soll/darf.

Theoretisch ist immer so eine nette Sache, und Nett sagt meine Frau immer ist sch.... wie kann ich das testen was die Eingänge an Stromaufnahme ziehen?

Katsumi_S: Die Ansteuerung ist Standard. Ein Enable Eingang, einmal Drehrichtung und dann der Takteingang für die Schritte.

Die Ansteuerung habe ich bisher zwar nur ein mal mit einem andern Motor gemacht, das sollte ich hoffentlich noch hin bekommen. so halbwegs, ansonsten muss ich etwas Rum experimentieren :-) bis ich es hin bekomme.

Katsumi_S: Oft hat man nur einen Endschalter! Nach dem Einschalten fährt man den Referenzpunkt an, also die einzelnen Endschalter. Danach heißt es einfach Schritte zählen. Also braucht man eigentlich pro Achse auch nur einen Endschalter.

Das kann ich nachvollziehen, ist mir aber zu wenig, ich möchte verhindern das mein Schlitten auf einer Seite gegen den block fährt.

Katsumi_S: Wenn Du ohne G-Code arbeiten möchtest, wird es sehr schwer z.B. Kreise zu fahren. Das muß vorher alles berechnet werden und der Arduino verfügt nicht über zu große Rechenleistung. Aber möglich wäre es.

da ich zumindest jetzt aktuell nicht vorhabe, so etwas zu machen werde ich erst ein mal dabei bleiben, vielleicht kommt später dann doch ein G-Code Interpreter auf das Arduino. das muss ich mal noch schauen.

Gut, dann kann ich die Treiber so ansteuern, dann muss ich mir nur noch die Schaltung für die Endschalter noch mal anschauen und dafür was basteln. :-)

Gruß Mücke

Hallo Müecke, Du kannst trotzdem an beiden Enden der Achsen Begrenzungsschalter montieren. Es ist die Software die entsprechend Konfiguriert werden muss, dammit sie auf die schalter so, oder so reagiert. Ist die SW so konfiguriert, dass sie die Endschalter an beinen Enden der Achsen kennt, reagiert sie sobald sie auf einen der Schalter aufläuft- aufgrund der DrehRICHTUNG weiss die SW welcher Schalter der Achse ausgelöst hat. Du schaltest beide Schalter einer Achse entweder in REIHE, als ÖFFNER, oder beide PARALELL als SCHLIESSER. Wobei als Öffner geschaltete Switches sicherer sind weil ein Schalterdefekt sowie ein Kabelbruch einen Stop der Maschine bewirken.

Normalerweise kann man auch einfach mit 1 Schalter/Achse arbeiten, und gibt der Software die Länge der Achse an. Wenn die Maschine vor vor Jobstart referenziert wird (anfahren der schalter, weiss die Maschine (Software) wo sie steht, und wie weit sie auf der jeweiligen Achse laufen kann.

  1. Möglichkeit. Maschine weiss ebenfalls die Achslängen, aber du setzt vor Jobstart nur den Nullpunkt und achtest selber darauf, das Rohmaterial so zu plazieren, dass die Maschine alle zu Fräsenden Stellen problemlos, ohne an einen Anschlag zu fahren, erreichen kann. Beim manuellen verfahren der Maschine muss man in der Regel eh selber darauf achten, wohin und wieweit Du fährst.

LG Stefan

Muecke: Theoretisch ist immer so eine nette Sache, und Nett sagt meine Frau immer ist sch.... wie kann ich das testen was die Eingänge an Stromaufnahme ziehen?

Ja ja, Theorie und Praxis... :-) Ganz einfach mit einem Multimeter im Strommessbereich. GND (oder teilweise auch -) vom Netzteil an - z.B. vom Enable Eingang, + Eingang über Multimeter im Strommessbereich an +5V vom Netzteil. Falls kein Netzteil mit 5V zur Verfügung steht eben GND vom Arduino und +5V vom Arduino benutzen.

Muecke: Die Ansteuerung habe ich bisher zwar nur ein mal mit einem andern Motor gemacht, das sollte ich hoffentlich noch hin bekommen. so halbwegs, ansonsten muss ich etwas Rum experimentieren :-) bis ich es hin bekomme.

Eigentlich ganz einfach. Enable (ENA) aktiviert die Endstufe und damit wird der Motor schon in eine bestimmte Lage gezogen. Dann kann über den Drehrichtungseingang (Direction/DIR) die Drehrichtung gewählt werden und mit dem Takteingang (PUL) kann dann der Motor in Bewegung gesetzt werden. Je nachdem was bei SW5-SW8 eingestellt wird, macht der Motor z.B. Halbschritte (Microstep 1/2). Bei Deinen Motoren mit 1,8° Schrittwinkel macht der dann pro Puls am "PUL" Eingang eben einen 0,9° Schritt.

Gruß, Jürgen

Hey Stefan,

Deltaflyer:
Hallo Müecke,
Du kannst trotzdem an beiden Enden der Achsen Begrenzungsschalter montieren. Es ist die Software die entsprechend Konfiguriert werden muss, dammit sie auf die schalter so, oder so reagiert. Ist die SW so konfiguriert, dass sie die Endschalter an beinen Enden der Achsen kennt, reagiert sie sobald sie auf einen der Schalter aufläuft- aufgrund der DrehRICHTUNG weiss die SW welcher Schalter der Achse ausgelöst hat. Du schaltest beide Schalter einer Achse entweder in REIHE, als ÖFFNER, oder beide PARALELL als SCHLIESSER.
Wobei als Öffner geschaltete Switches sicherer sind weil ein Schalterdefekt sowie ein Kabelbruch einen Stop der Maschine bewirken.

Prinzipiell würde ich bei so etwas immer auf Öffner gehen wollen, gerade Zwergs Kabelbruch.
Doch der Ansatz bezüglich der Drehrichtung und damit zu wissen an welchem Ende aufgefahren wurde, finde ich gut, da hatte ich noch nicht dran gedacht.
Guter Tipp. Danke

Hey Jürgen,

Katsumi_S:
Ja ja, Theorie und Praxis… :slight_smile:
Ganz einfach mit einem Multimeter im Strommessbereich. GND (oder teilweise auch -) vom Netzteil an - z.B. vom Enable Eingang, + Eingang über Multimeter im Strommessbereich an +5V vom Netzteil. Falls kein Netzteil mit 5V zur Verfügung steht eben GND vom Arduino und +5V vom Arduino benutzen.

ich glaube ich weiß was du meinst. das Spiel muss ich an den Klemmen EAN, PUL, DIR machen?

(Bild) ?? Richtig ??
Bildschirmfoto 2017-09-18 um 23.15.45.png
Bildschirmfoto 2017-09-18 um 23.15.45.png

Katsumi_S:
Eigentlich ganz einfach. Enable (ENA) aktiviert die Endstufe und damit wird der Motor schon in eine bestimmte Lage gezogen. Dann kann über den Drehrichtungseingang (Direction/DIR) die Drehrichtung gewählt werden und mit dem Takteingang (PUL) kann dann der Motor in Bewegung gesetzt werden.
Je nachdem was bei SW5-SW8 eingestellt wird, macht der Motor z.B. Halbschritte (Microstep 1/2). Bei Deinen Motoren mit 1,8° Schrittwinkel macht der dann pro Puls am “PUL” Eingang eben einen 0,9° Schritt.

Das ist mir soweit alles bekannt, in der Theorie (bisher ein mal umgesetzt für längerer zeit) bis auf den ENA Eingang, den hatte ich bisher noch nicht verstanden. mit dem ENA Eingang schalte ich also den Treiber ein, und der Motor hält seine Position?
Das ist gut zu wissen. ! Danke.

gruß Mücke

Muecke:
ich glaube ich weiß was du meinst. das Spiel muss ich an den Klemmen EAN, PUL, DIR machen?

(Bild) ?? Richtig ??
Bildschirmfoto 2017-09-18 um 23.15.45.png
Bildschirmfoto 2017-09-18 um 23.15.45.png
Das ist mir soweit alles bekannt, in der Theorie (bisher ein mal umgesetzt für längerer zeit) bis auf den ENA Eingang, den hatte ich bisher noch nicht verstanden. mit dem ENA Eingang schalte ich also den Treiber ein, und der Motor hält seine Position?
Das ist gut zu wissen. ! Danke.

Der Messaufbau ist so OK. Aber bitte wirklich mit einem geregelten 5V Netzteil oder aus dem Arduino.
Vermutlich reicht die Messung an einer der Klemmen ENA, PUL oder DIR. Die sollten alle 3 gleich aufgebaut sein.

Ja, Enable schaltet den Treiber ein und der Motor wird in eine bestimmte Lage gezogen. Im Idealfall wird die Spule eingeschaltet die der aktuellen Position entspricht. Dann hält der Motor beim Einschalten die Position. Im schlimmsten Fall springt er, bedingt durch den Aufbau eines solchen Motors, 2 Schritte also 3,6° nach links oder rechts.

Gruß, Jürgen

Perfekt, das werde ich heute Abend sofort mal ausprobieren, da ich noch kein 5v Netzteil hier habe, das kommt gerade noch, werde ich mein Arduino dafür verwenden.

Danke.

gruß Mücke

gerade hat mich der Lieferant von den Teilen angerufen (nach 3 tagen :( ) da ich dort die Frage hinterlassen habe was ich mit dem ENA anschlug machen soll. Er meinte das dieser Ohne Beschaltung bleibt.

Ich sagte Ihm das ich im Internet gelesen habe das mit dem ENA der Treiber eingeschaltet wird, da sagte er das ist so nicht richtig und der ENA bleibt beschaltetet.

Jetzt bin ich etwas verwirrt :confused: .

Gruß Mücke

Hallo Mücke,

es wäre möglich das der Enable Eingang negiert ist. Also mit 5V am Eingang ist die Endstufe aus, ohne Spannung ist sie eingeschaltet. Da aber auf dem Bild nur ENA steht ohne Schrägstrich davor oder Strich darüber, bin ich davon ausgegangen das Enable High Aktiv ist.

Normalerweise wird das so geschrieben:

ENA = wenn high dann aktiv


ENA oder /ENA = wäre bei low oder in dem Fall ohne Beschaltung aktiv

Da wir aber nicht wissen was der Verkäufer da irgendwo billig eingekauft hat und keine Anleitung dazu auf der Webseite existiert, kannst Du nur eines machen: Ausprobieren!

Gruß, Jürgen

Habe gerade von einem anderen Händler ein Datenblatt von einer ähnlichen Endstufe gefunden. Da ist auch ein Anschlussplan drin. Wenn ENA unbeschaltet ist, ist die Endstufe tatsächlich aktiv.

Anleitung ähnliche Endstufe: http://www.pankratz.at/freeway/downloads/m542datenblatt.pdf

Gruß, Jürgen

Von solchen Treibern gibt es einen Haufen zumindest sehen die alle gleich aus, ob das auch wirklich die selben (vergleichbar) sind, keine Ahnung.

Bisher habe ich die Netzteile und die Treiber zusammen verkabelt. die 5V Eingänge sind nur vorbereitet bisher, und noch nicht am Arduino angeschlossen.

Habe die 220V eingeschaltet, alle Netzteile und alle Treiber Leuchten Grün, was noch nicht all zu viel zu bedeuten hat :-)

Der Aufdruck auf den Treibern lässt echt zu wünschen übrig denn auch bei den Spulen für den Motor ist kein + oder - mit aufgedruckt :-(.

Für den Treiber habe ich eine Extrem Schlechte PDF als Anleitung bekommen, fürs Forum ist die PDF leider zu groß :-(

daher hier auf der Dropbox, habe keinen Plan wie man eine PDF kleiner machen kann. https://www.dropbox.com/s/rawzvhvnt3l42p0/SteuerungSK8060.pdf?dl=0

Gruß Mücke

Muecke:
Der Aufdruck auf den Treibern lässt echt zu wünschen übrig denn auch bei den Spulen für den Motor ist kein + oder - mit aufgedruckt :-(.

Es gibt kein + und - an den Ausgängen. Die wechseln die Polarität.
Beispiele gibt es z.B. hier: http://rn-wissen.de/wiki/index.php?title=Schrittmotoren#Bipolare_Ansteuerung_Vollschritt

Gruß, Jürgen

SteuerungSK8060_Teil1.pdf (223 KB)

SteuerungSK8060_Teil2.pdf (1.04 MB)

Oft gibt es ein + und - ncicht weil da Gleichstrom rauskommt sondern wenn Du den Motor mit den gleichen Vorzeichen anschließt, Du eine definierte Drehrichtung hast. Schließt Du die Motore nach Zufall an, kann der Motor die falsch Drehrichtung haben. Dann genügt eine Wicklung umzupolen. Wenn man zB dem Datenblatt von Jürgen Aufmerksamkeit schenkt dann ist an Klemme 3 A+ und an klemme 4 A- anzuschließen. Aber wie gesagt. irgenwie Anschließen, kontrollieren on die Drehrichtung die erwartete ist und gegebenenfalls eine der beiden Wicklungen umpolen. Grüße Uwe

Beim Motor, sind die Spulen A und B benannt, und die eingänge sind ein mal A und A (Strich über dem A) bezeichnet.

Das die Polle wechseln das wies ich , je nachdem wie die welle sich drehen soll, muss der Nord und Südpol entsprechend ausgerichtet werden, die Stärke des Magneten wird dann über Stromstärke (A) geregelt.

Motor Datenblatt im Anhang.

Motor8.7 Nm.pdf (371 KB)

Muecke:
Beim Motor, sind die Spulen A und B benannt, und die eingänge sind ein mal A und A (Strich über dem A) bezeichnet.

Das die Polle wechseln das wies ich , je nachdem wie die welle sich drehen soll, muss der Nord und Südpol entsprechend ausgerichtet werden, die Stärke des Magneten wird dann über Stromstärke (A) geregelt.

Motor Datenblatt im Anhang.

Motor8.7 Nm.pdf (371 KB)

Ja, aber nur bei einer der beiden Spulen /Magnete.

uwefed: Ja, aber nur bei einer der beiden Spulen /Magnete.

Hä? ich komme gerade nicht ganz mit.

Die Welle hat einen Dauermagneten. Die Spulen darum herum erzeugen ein Wechselndes Magnet Feld, mit unterschiedlicher Stärke, je nachdem wie die Welle Stehen bleiben soll.

vereinfacht ist das dann so wie dieses hier? https://www.youtube.com/watch?v=draBqtk7BKY

Oder sprechen wir gerade einender vorbei?

Natürlich muss Spule A (N/S) eingestellt sein und Spule B (S/N) wenn beide zur selben Zeit Nord zur Welle zeigen wird die Motorwelle sich nicht bewegen :-) Befürchte ich

gruß Mücke

Uwe meint damit warscheinlich das immer nur eine Spule geschaltet werden darf und nicht beide gleichzeitig.

Muecke: Natürlich muss Spule A (N/S) eingestellt sein und Spule B (S/N) wenn beide zur selben Zeit Nord zur Welle zeigen wird die Motorwelle sich nicht bewegen :-) Befürchte ich

Durch den Aufbau des Motors unmöglich. :-) Egal ob beide Spulen aus sind, eine oder beide eingeschaltet, es ergibt sich immer ein geschlossener magnetischer Kreis über den Stator bzw. das Gehäuse. Schau Dir mal Abbildung 10 und 11 an: https://homofaciens.de/technics-electric-motors-stepper-motor_ge.htm Da sieht man schön das immer 2 Spulen in Reihe geschaltet sind und dadurch auf der einen Seite eben ein Nordpol und auf der anderen Seite ein Südpol Richtung Rotor zeigt. Außer sieht man leider das "Gehäuse" nicht (nur in Bild 8.). Damit wird dann der magnetische Kreis geschlossen. Auf den Bildern sieht man auch schön die Verzahnung, durch die die feinen Schritte überhaupt erst möglich werden.

Gruß, Jürgen

Ok, dann bleibt nur ausprobieren übrig ;-) für die Wicklungen und der Drehrichtung.

Mal ne andere Blöde Frage, da ich gerade dabei bin die Treiber an die Steuerplatine (Arduino) anzuschließen ist mir aufgefallen das ich von 3 Treibern 18 Kabel zum Arduino Führe, was irgend wie etwas viel ist.

Schnell gerechnet.

Treiber: 3 Stück Je Treiber

PUL (+ und -) DIR (+ und -) ENA (+ und -)

Macht je Treiber 6 Leitungen bei drei Treibern macht das 18 Leitungen.

ich kann aber schlecht 3 mal GND8-) im Arduino einstecken, also kann ich auch alle GNG (-) miteinander verbinden und nur ein Kabel zum Adruino durch schleifen? das macht auch an den Klemmen nicht so viel aus, da nur minimale Ströme fließen.

habe ich einen Denkfehler?

gruß Mücke

Es ist so: Die treiber Haben für die Steuerleitungen (PUL, DIR, ENA) deshalb jeweils + und - rausgeführt, dass Du sie an jede Steuerkarte anschliessen kannst, egal ob diese Plus- oder Minus steuert. Du kannst also selber entscheiden, ob Du die Plus, oder die Minus- Leitungen als gemeinsames Potential nutzen möchtest. (sogar Mischbetrieb (also z.B. DIR und PUL Plusgesteuert mit gemeinsamem GND und ENA Minus-gesteuert) ist möglich.

Also daher: ja, Du kannst die Minus Anschlüsse der Steuerleitungen zusammenschalten.

LG Stefan