Forum: Mikrocontroller und Digitale Elektronik Schaltplan CNC Fräse ok?


von CNC (Gast)


Angehängte Dateien:

Lesenswert?

Für eine CNC Fräse baue ich mir meine eigene Leiterplatte und habe ein 
paar Fragen zum Schaltplan bzw. praktischen Ausführung.

Ich benutze einen STM32 und die externen Motortreiber verwenden alle 5V. 
Da die meisten GPIOs vom STM32 5V tolerant sind, würde ich die mit einem 
Pullup als Opendrain konfigurieren. Den Pullup setze ich direkt an den 
Mikrocontroller (oder an die Buchse) und die Steuerleitungen gehen von 
dort zu einer Schraubbuchse o.ä.

Da ja ein paar Zentimeter zurückgelegt werden frage ich mich, ob das so 
ok ist? Sollte ich hier abgeschirmte Kabel verwenden? Muss ich noch 
etwas machen, außer den GPIO + Pullup direkt an die Buchse zu verlegen?

Ebenso sollen die 6 Endschalter einfach von den GPIOs direkt an eine 
Schraubbuchse laufen. Jeder Endschalter schaltet gegen Masse und hat 
daher auf jeden Fall ein geschrimtes Kabel.

Als Motortreiber verwende ich entweder externe oder auf der Leiterplatte 
auflötbare A4988 Module.

Die 5V Pullups habe ich im Schaltplan noch nicht integriert.

von Adlerauge (Gast)


Lesenswert?

Schaltpläne besser in lesbarer Größe und nicht als JPG.

von Karl B. (gustav)


Angehängte Dateien:

Lesenswert?

Adlerauge schrieb:
> Schaltpläne besser in lesbarer Größe und nicht als JPG.

Hi,
am besten direkt als *.pdf.
Denn nach Vergrößerung und abgespeichert als *.png wird's auch nicht 
schärfer.
Siehe Bild

ciao
gustav

von CNC (Gast)


Angehängte Dateien:

Lesenswert?

Einmal als PNG und als PDF.

Den ersten Fehler habe ich bereits gefunden, so erhalten die Module 48V. 
Das ändere ich gleich mal.

von Magnus M. (magnetus) Benutzerseite


Lesenswert?

Woher sollen die +5V an IC2 kommen?

von CNC (Gast)


Lesenswert?

Magnus M. schrieb:
> Woher sollen die +5V an IC2 kommen?

Korrekt, da bin ich mir noch nicht sicher ob ich ein Step Down oder 
separates Netzteil anschließe. Kurz: Noch von nirgendwo.

von Wolfgang (Gast)


Lesenswert?

Karl B. schrieb:
> am besten direkt als *.pdf.
> Denn nach Vergrößerung und abgespeichert als *.png wird's auch nicht
> schärfer.
> Siehe Bild

Ob du den Matsch als JPG oder PNG abspeicherst, macht die Sache nicht 
besser.
Der muss gleich als PNG erzeugt werden.
Wozu willst du das noch ins PDF verpacken?

von Sebastian (Gast)


Lesenswert?

CNC schrieb:
> Einmal als PNG und als PDF.

Sind die Motortreiber auf der Logikseite jetzt mit 3V3 oder 5V versorgt?

LG, Sebastian

von Leopold N. (leo_n)


Lesenswert?

Kleiner Tipp aus Erfahrung..hab auch meine eigene CNC Fräsen-Steuerung 
gebaut. Nimm lieber einen Schrittmotortreiber von Trinamics, die sind 
deutlich leiser und bieten andere Vorteile, wie Stromreduzierung im 
Stillstand etc...
Ich verwende z.B. den TMC2209, der hat bis 2A Motorstrom und kann von 
5.5 bis 28V betrieben werden. Falls du einen Referenzschaltplan 
brauchst, melde dich

von K. S. (the_yrr)


Lesenswert?

wirklich notwendig wirds nicht sein, aber ich hätte für alles an 
Signalen was die Platine verlässt wenigstens einen Serienwiderstand und 
Klemmdioden eingefügt. Also hier bei den Endschaltern, Motortreiber 
abhängig davon wie weit weg und wie die wirklich angeschlossen sind.

von Jester (Gast)


Lesenswert?

CNC schrieb:
> Für eine CNC Fräse baue ich mir meine eigene Leiterplatte und habe ein
> paar Fragen zum Schaltplan bzw. praktischen Ausführung.

Wie hast du den Prototypen realisiert? Läuft dieser ohne Probleme?

> Da ja ein paar Zentimeter zurückgelegt werden frage ich mich, ob das so
> ok ist? Sollte ich hier abgeschirmte Kabel verwenden? Muss ich noch
> etwas machen, außer den GPIO + Pullup direkt an die Buchse zu verlegen?

Hattest du an diesem Punkt Probleme beim Prototypen? Wieso erwartest du 
solche dann an der "eigenen Leiterplatte"?

von Malte _. (malte) Benutzerseite


Lesenswert?

CNC schrieb:
> Ebenso sollen die 6 Endschalter einfach von den GPIOs direkt an eine
> Schraubbuchse laufen. Jeder Endschalter schaltet gegen Masse und hat
> daher auf jeden Fall ein geschrimtes Kabel.
Aus meiner eigenen Erfahrung mit meiner CNC Fräse (und Arduino) ohne 
geschirmte Kabel: Plan ein paar Entstörkondensatoren (100nF) auf der 
Platine für die Endschalter ein. Ich hatte die erst nicht und dachte die 
internen Pullups reichen - das gab immer wieder Fehlauslöser, sobald die 
Fräse lief. Dann hab ich den zweiten Schaltkontakt (Wechsler) mit Vcc 
verbunden, so dass da ein kräftiges High anlag. Brachte garnichts. Erst 
mit 100nF in der Leitung gegen Masse kurz vor dem Controller gehts jetzt 
zuverlässig.

Ansonsten streng genommen eine Gemeinheit bei der 5V Toleranz: Die 5V 
toleranten GPIOs dürfen maximal +4V gegenüber Vcc haben. Wenn jetzt der 
3.3V Spannungsregler ein paar µs braucht bis er 1V überschreitet aber 5V 
sofort anliegen, hast du bis dahin streng genommen die absolute Maximum 
Ratings überschritten, wenn du da extern einen Pullup oder 
vergleichbares gegen +5V hast.

von Jobst M. (jobstens-de)


Lesenswert?

Man kann nur einen Motor anschließen. Die anderen 4 Treiber haben gar 
keinen Anschluss dafür.

Gruß
Jobst

von Ohnedraht (Gast)


Lesenswert?

Jobst M. schrieb:
> Man kann nur einen Motor anschließen. Die anderen 4 Treiber haben
> gar
> keinen Anschluss dafür.

Wireless!

von CNC (Gast)


Angehängte Dateien:

Lesenswert?

Jobst M. schrieb:
> Man kann nur einen Motor anschließen. Die anderen 4 Treiber haben gar
> keinen Anschluss dafür.

Das stimmt, ich habe mich jetzt für einen Stecker entschieden.

Sebastian schrieb:
> Sind die Motortreiber auf der Logikseite jetzt mit 3V3 oder 5V versorgt?

Mit 3,3V.

Leopold N. schrieb:
> Ich verwende z.B. den TMC2209, der hat bis 2A Motorstrom und kann von
> 5.5 bis 28V betrieben werden. Falls du einen Referenzschaltplan
> brauchst, melde dich

Habe mich mal eingelesen, und den Schaltplan dahingehend geändert. Ich 
werde 4 Treiber auf der Leiterplatte vorsehen. Hiervon können zwei nicht 
bestückt und über die Leiste externe Treiber angeschlossen werden. Ein 
5. kann nur extern angeschlossen werden.

Malte _. schrieb:
> Aus meiner eigenen Erfahrung mit meiner CNC Fräse (und Arduino) ohne
> geschirmte Kabel: Plan ein paar Entstörkondensatoren (100nF) auf der
> Platine für die Endschalter ein.

Werde ich noch ändern.

von Meinereiner (Gast)


Lesenswert?

Hast Du schon mal die Bewegung mit Last getestet?
Die Schrittmotoren verlieren schnell mal einen Schritt ohne eine 
Lagekontrolle wird der Fehler nicht erkannt oder Du mußt viel Reserve 
einplanen. Bei 3D-Druck sind nur bekannt Kräfte auf den Motoren, aber 
bei einer Fräse . . .

von CNC (Gast)


Lesenswert?

Meinereiner schrieb:
> Hast Du schon mal die Bewegung mit Last getestet?
> Die Schrittmotoren verlieren schnell mal einen Schritt ohne eine
> Lagekontrolle wird der Fehler nicht erkannt oder Du mußt viel Reserve
> einplanen. Bei 3D-Druck sind nur bekannt Kräfte auf den Motoren, aber
> bei einer Fräse . . .

Sehr viele nutzen A4988 und Nema17 für eine CNC Fräse. Ich werde das 
jetzt mit Nema23/Nema17 und eben dem TMC2209 und DM556 aufbauen. Warum 
sollte das nicht funktionieren?

von Jens R. (tmaniac)


Lesenswert?

CNC schrieb:
> Warum sollte das nicht funktionieren?

Weil sich Schrittfehler mit der Zeit nun mal akkumulieren (ansammeln).

Nema17 wird wohl bei Holz noch gerade so funktionieren. Aber selbst in 
Alu sind die notwendigen Bewegungskräfte von Nema23 nicht immer 
ausreichend.
Das Problem liegt in der Bewegung. Schrittmotoren verlieren mit 
zunehmender Geschwindigkeit an Kraft. Will man jetzt zügig fräsen (was 
ja mit heutigen HS Spindeln tatsächlich möglich ist) hat man auch 
relativ hohe Drehgeschwindigkeiten der Stepper. Und da können sie eben 
nicht mehr so viel Kraft aufbringen.
Und wenn man hin und wieder einen Schritt verliert, sieht man das nicht 
gleich. Man sieht vielleicht erst nach einmaligen umrunden der Kontur 
das sich eine winzige Stufe gebildet hat.

Schrittverluste lassen sich aber grundsätzlich durch die Verwendung von 
Closed Loop Motoren vermeiden. Und bei einer CNC mit der man Alu (oder 
gar ein wenig Stahl) fräsen möchte, ist das eigentlich schon Pflicht. 
Dann reichen auch Nema23.


Mal was anderes gefragt, weil ich auch mal grob darüber nach gedacht 
habe, die Steuerung selber zu machen: was möchtest du an Software 
nutzen? Also auf dem Controller und auch auf dem PC?

von Sebastian (Gast)


Lesenswert?

CNC schrieb:
> Ich benutze einen STM32 und die externen Motortreiber verwenden alle 5V.

CNC schrieb:
> Sebastian schrieb:
>> Sind die Motortreiber auf der Logikseite jetzt mit 3V3 oder 5V versorgt?
>
> Mit 3,3V.

Haben sich damit die Fragen zu Open Collector und Pullup aus dem 
Eingangsbeitrag erledigt?

LG, Sebastian

von CNC (Gast)


Lesenswert?

Sebastian schrieb:
> Haben sich damit die Fragen zu Open Collector und Pullup aus dem
> Eingangsbeitrag erledigt?

Ich habe noch einen älteres Thema dazu hier gefunden. 100nF an den GPIO 
gegen Masse und einen Pullup nach 3.3V bei den Endschaltern.

Bei den open Collectoren habe ich wenig Angst, dass die durch 
Einschaltzeit Verzögerung kaputt gehen. Jedoch war der einzige Hinweis, 
dass ich einen Reihenwiderstand einfügen soll. Vermutlich wegen 
Reflexionen auf der Leitung, aber bei den niedrigen Frequenzen?

von Thorsten S. (thosch)


Lesenswert?

Ich sehe keinerlei EMV-Maßnahmen und keinerlei ESD-Schutz!

Externe Endschalter ohne ESD-Schutzdioden, ohne jeglichen 
Serienwiderstand, komplett ohne Filterung, ohne extra 
Pullup-Widerstände, nur mit den internen μC-Pullups - sowas fliegt dir 
in der Praxis ganz schnell mit Fehlfunktionen bis zu defekten μC-Pins um 
die Ohren...

Die Ströme in so einer Motorsteuerung erfordern ein äußerst sorgfältigrs 
Layout, um die Motorströme aus dem μC-Teil rauszuhalten.
Ich würde sowas nicht mehr als zweilagige Platine layouten, sondern 
mindestens 4 Lagen vorsehen um eine unzerschnittene Masselage zu haben.

von Paul (Gast)


Lesenswert?

- 100nF an die Logik Seite von U1-U5
- gibt es einen sinnvollen Grund für J1? Würde ich aufteilen auf 5 
kleine Debug Steckverbinder direkt an A1-A5, lässt sich besser routen. 
Sonst ziehst du dir die Steuersignale sinnlos quer über die PCB und 
machst sie anfälliger
- VBAT am STM an 3V3 + zusätzlicher 100nF
- D1 nicht angebunden
- keine ESD Schutz Maßnahmen an Ein und Ausgängen
- kein Filter/Puffer für die 48V Versorgungsspannungen
- woher kommen die 5V am AZ1117?
- C25 darf auch 22uF sein, den hast du eh schon drauf am AZ1117

Vorschläge:
- MS von U1-U5 als Lötjumper, stellst du nur einmal ein und spart dir 
Platz für besseres Layout bei kritischeren Komponenten
- Reset nicht hart belegen, evetuell sogar an den uC führen um 
Komponeten gezielt resetten zu können
- willst du wirklich keinen Quarz anschließen? Reicht dir die 
Genauigkeit vom interen OSC? Ich würde ihn zumindest vorsehen auf der 
PCB

VG Paul

von CNC (Gast)


Lesenswert?

Die 5V und D1 sind noch nicht geklärt. Da muss irgend ein Stepdown hin, 
welcher habe ich mich noch nicht entschieden. Daher fliegt das auch noch 
in der Luft.

Erledigt:

Paul schrieb:
> - 100nF an die Logik Seite von U1-U5
> - VBAT am STM an 3V3 + zusätzlicher 100nF
> - C25 darf auch 22uF sein, den hast du eh schon drauf am AZ1117

Folgt:

Paul schrieb:
> - gibt es einen sinnvollen Grund für J1? Würde ich aufteilen auf 5
> kleine Debug Steckverbinder direkt an A1-A5, lässt sich besser routen.
> Sonst ziehst du dir die Steuersignale sinnlos quer über die PCB und
> machst sie anfälliger

Fragen:

Paul schrieb:
> - keine ESD Schutz Maßnahmen an Ein und Ausgängen

Für die Endschalter plane ich jetzt 100nF nach GND, 2k7 nach +3V3 und 
eine ESD Diode. Einen Serienwiderstand plane ich nicht, da hier 
eigentlich keine  schnellen Signale drauf liegen, sondern nur ein/aus.

Bei den Steuerleitungen zu den externen Motortreibern werde ich hingegen 
noch einen Serienwiderstand spendieren.

von Malte _. (malte) Benutzerseite


Lesenswert?

Jens R. schrieb:
> Nema17 wird wohl bei Holz noch gerade so funktionieren. Aber selbst in
> Alu sind die notwendigen Bewegungskräfte von Nema23 nicht immer
> ausreichend.
Hmm ich hab mal bei meiner umgebauten Proxxon MF70 mit Nema17 Motoren 
nachgeschaut. Um Schrittverluste auszuschließen musste ich auf 200mm/min 
in x und y und 160mm/min in z Richtung runter. Damit kann sich der 
Fragesteller hoffentlich entscheiden ob ihm die Größenordnung reicht. 
Gefräst hab ich bisher Holz und Alu. Ist zugegeben schon recht langsam.

von Meinereiner (Gast)


Lesenswert?

Das meinte ich, zu langsam ist dann kein Fräsen mehr, sondern nur 
schleifen.

von Thorsten O. (Firma: mechapro GmbH) (ostermann) Benutzerseite


Lesenswert?

Hallo Jens,

Jens R. schrieb:
> CNC schrieb:
>> Warum sollte das nicht funktionieren?
>
> Weil sich Schrittfehler mit der Zeit nun mal akkumulieren (ansammeln).
>
> Nema17 wird wohl bei Holz noch gerade so funktionieren. Aber selbst in
> Alu sind die notwendigen Bewegungskräfte von Nema23 nicht immer
> ausreichend.
> Das Problem liegt in der Bewegung. Schrittmotoren verlieren mit
> zunehmender Geschwindigkeit an Kraft. Will man jetzt zügig fräsen (was
> ja mit heutigen HS Spindeln tatsächlich möglich ist) hat man auch
> relativ hohe Drehgeschwindigkeiten der Stepper. Und da können sie eben
> nicht mehr so viel Kraft aufbringen.
> Und wenn man hin und wieder einen Schritt verliert, sieht man das nicht
> gleich. Man sieht vielleicht erst nach einmaligen umrunden der Kontur
> das sich eine winzige Stufe gebildet hat.

Gerade bei höheren Drehzahlen "verliert" ein Schrittmotor keinen 
Schritt. Wenn er überlastet wird, fällt er ganz aus dem Tritt und 
bleibt stehen. Einzelne Schrittfehler entstehen meist durch falsches 
Timing oder EMV-Probleme beim Anfahren/Stoppen oder bei niedrigen 
Drehzahlen.

Mit freundlichen Grüßen
Thorsten Ostermann

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.