Liebe Leute, ich baue mir gerade eine CNC-Fräse, Steuerung mit Arduino Mega und - geplant - estlcam. Ich frage mich, wie ich die Leitungen zu den Endschaltern am Besten störfrei halte. Hier wurde ja oft berichtet, dass diese Endschalter üblicherweise offen sind, und nur bei Erreichen der Endlage schließen. Offene Kontakte haben doch den großen Nachteil, dass die Leitungen üblicherweise relativ hochohmig sind. Dabei können sie dann leicht Störsignale einfangen und an den Mikroprozessor-Input weiterreichen. Warum macht man es nicht umgedreht, man benutzt den Endschalter, der ja meist einen Umschaltkontakt hat, als Öffner, und invertiert den Pegel direkt am Mikroprozessor oder man programmiert den Mikroprozessor-Eingang um? Vor zig Jahren habe ich oft Signale störfrei mit Leitungstreibern wie AM26LS31 und Leitungsempfängern AM26LS32 über längere Kabel übermittelt, ging einwandfrei, ist aber aufwändiger. Sind heutzutage Optokoppler die einfachste Methode gegen das Einfangen von Störsignalen? Danke für Kommentare!
:
Verschoben durch Moderator
Bastian N. schrieb: > über längere Kabel übermittelt Wie lang sind deine Kabel? > Offene Kontakte haben doch den großen Nachteil, dass die Leitungen > üblicherweise relativ hochohmig sind. Nimm nierderohmige Pullwiderstände (Pullup oder Pulldown mit maximal 1kOhm). Mach zusätzlich noch einen Kondensator mit 10..100nF direkt an den µC-Pin gegen GND. Das wars.
:
Bearbeitet durch Moderator
Das mit dem Abblocken der Leitung habe ich auch schon gelesen, ist aber nicht DIE sichere Methode. Als besser empfinde ich da die Endschalter als Ruhekontakt auszuführen, denn wenn dann kein Endschalter aktiviert wird, was den Normalbetrieb darstellt, wird kann auch nichts wesentliches eingestreut werden. Und na ja, meine Kabel werden wohl so einzeln so 3 m lang werden, 4 Schrittmotoren NEMA23,3A Schrittmotorstrom, gechoppte Controller mit 8el -16el Mikroschritten, also da wird richtig "gefunkt". Die Frage ist auch, ob ich da abgeschirmte Motorkabel nehmen muss.
:
Bearbeitet durch User
Bastian N. schrieb: > Hier wurde ja oft berichtet, dass diese Endschalter üblicherweise offen > sind, und nur bei Erreichen der Endlage schließen. Dann ist das ein grundlegend schlechter Tip! Was passiert bei Kabelbruch? Genau! Die Maschine rumpelt über die Endlage raus. > Ich frage mich, wie ich die Leitungen zu den Endschaltern am Besten > störfrei halte. Mit 24 V in 600 Ohm.
Bastian N. schrieb: > Warum macht man es nicht umgedreht, man benutzt den Endschalter, der ja > meist einen Umschaltkontakt hat, als Öffner, und invertiert den Pegel > direkt am Mikroprozessor oder man programmiert den > Mikroprozessor-Eingang um? Weil die Störung dann genau so ist, nur die andere Lage betrifft. Der Schalter ist zwar offen oder geschlossen, aber die Leitung nicht. Die Leitung wird bei offenem Schalter nämlich per Widerstand auf die andere Spannung gezogen (z.B. plus, wenn der Schalter nach Masse schaltet). Wählt man den Widerstand klein genug, z.B. so dass 100mA fliessen, dann muss schon eine gewaltige Störung kommen um das Signal zu verfälschen. Verdrillt man die Leitung zusätzlich und schirmt sie ab, reicht auch 1mA für zuverlässiges Umschalten. Bastian N. schrieb: > Sind heutzutage Optokoppler die einfachste Methode gegen das Einfangen > von Störsignalen? Nein. Sie trennen zwar das Potential, aber sind genau so störbar wie jede andere Leitung.
Hallo, Endschalter sollten IMMER als Öffner ausgeführt. Der Grund ist einfach: liegt ein Kabelbruch in der Schleppkette (oder an den Klemmen...) vor, wird der Schalter geöffnet, die Maschine geht in den Not-Aus. Wird das als Schließer ausgeführt, dann merkst du deinen Hardware-Defekt erst wenn etwas defekt ist, weil du gegen eine Endlage gefahren bist. Das mag bei einer Käsefräse nichts ausmachen, im Maschinenbau oder bei Werkzeugmaschinen kannst du dann gleich etliche Taler bereitstellen. Grüße Sascha
Einfach mal nach NAMUR suchen. Digitale Signale analog wandeln. 0V Kabel abgerissen, unterer Bereich Schalter offen, oberer Bereich Schalter geschlossen, +Versorgungspannung Kurzschluss. https://de.wikipedia.org/wiki/NAMUR-Sensor Gruß Daniel
Sascha S. schrieb: > Endschalter sollten IMMER als Öffner ausgeführt. Ich muss noch ergänzen: ALLES was zu einem Notaus führt MUSS ein Öffner sein. Druck Hydraulik, Spannungsüberwachung, Bereitmeldung Servoendstufe, Temperaturüberwachung Servos, ...
Endschalter kenne ich sinniger Weise als Öffner ausgeführt damit man einen Kabelbruch sicher erkennen kann. Kabel unterbrochen -> wie wenn Endschalter ausgelöst -> Maschine stoppt. Ausßerdem halte ich Optokoppler im Endschalterstromkreis mit einer Konstanstromquelle betrieben für sehr sinnvoll. KSQ gibt es als ein fertiges Bauelement in SOD-123 Bauform -> Stichwort NSI45020 wenn 20mA ausreichen. Das entbindet natürlich nicht davon Optokoppler und KSQ hinter eine geeignete Entkoppelung (RC Glied in der Versorgungsspannung) zu platzieren. Auch der Ausgang vom Optkoppler sollte so stark wie möglich (und so schwach wie nötig) befiltert werden. Die meisten Störungen kommen vermutlich eher über die Versorgungsspannung auf die Platine als extern induziert über Kabel. Dort schadet eine Rundumschlag-Commonmode-Drossel und eine C-L-C Kombination sicher auch nicht. Gegen eine (einseitig aufgelegte) Schirmung spricht allerdings auch nichts.
Ich muss mein eigenes Geschreibsel korrigieren / verbessern: Endschalter != Notaus: Stichwort "Arbeitsraumüberwachung". Das macht die Software in der Steuerung. Sie weiß wo die Grenzen sind und weigert sich darüber zu fahren. Dann wertet die Steuerung zusätzlich die Endschalter aus. Wenn die öffnen, dann hält sie den Vorschub an. Ein Notaus währe da ungut, wenn man zum Referenzieren in die Endschalter fahren muss. Nach dem Endschalter (paar cm dahinter) kommt noch ein Schalter, der in der Notauskette hängt. Alles was Notaus auslöst, darf nicht durch SW zum Notaus führen, sondern über Hardware (Relais, ...). Alle Schalter / Geber müssen bei Kabelbruch noch funktionieren oder die Maschine geeignet anhalten. Das kann tw. auch in der SW passieren, z.B. Drehzahlüberwachung Spindel. Dann funktioniert auch ein "M3 G01 ..." richtig. Geblödel mit 5 V Pegeln würde ich bleiben lassen. Die Steuerung komplett galvanisch trennen über Optokoppler / Isolationsverstärker.
Vielen Dank Euch allen! Zusammenfassung: Der Arduino hat Digital-Eingänge einschaltbaren 1Kohm Pullupwiderstand, soweit ist weiß. Diese Leitung mit C (10nf bis 100 nf) abblocken und mit verdrillter geschirmter Leitung zum Ruhekontakt Endschalter führen. Oder, wenn NAMUR ähnliches Konzept realisiert werden soll, einen Analogeingang (also einen mit Analogwandler) nutzen und den Endschalter über die geschirmte 2-Draht Leitung mit einer Ader über z.B. 500 Ohm an 5 Volt am Arduino legen, andere Leitung mit 500 Ohm an Masse am Arduinoboard legen und diese Leitung gleichzeitig an Analog-In anschließen. Über den exakten Spannungswert kann man dann Kabelbruch und Schalterbruch (5V) und Kurzschuß gegen Masse (0V) vom "Ruhekontakt) (2,5V) unterscheiden. Nicht erkennen kann ich internen Kabelschluß, sollte aber der seltenste Fall sein, weil an den Leitungen intern nicht manipuliert wird. Notaus (Schutz vor Versagen des 1. Endschaltersystems) über zusätzlichen, entfernteren Endschalter und Relais verwirklichen, - damit man ggf. den 1. Endschalter auch für eine Referenzfahrt benutzen könnte; ich habe mit Mikroschalter mit 0,04 mm Genauigkeit bestellt und würde das nutzen wollen. Bleiben noch die Fragen: Die mit 3A belasteten Leitungen zu den Schrittmotoren abschirmen? Schaltnetzteil (80 KHZ) über Netzfilter anschließen?
@Nick: Du gehst davon aus, dass die Endschalter gleichzeitig Referenzschalter sind. Das muss aber nicht so sein. Echte Werkzeugmaschinen haben in der Regel separate Referenzschalter. Wenn die Achse mal bis in den Endschalter gefahren ist, muss man an die Mechanik rann (oder den Schalter brücken). @Bastian: Geschirmte Kabel sind sowohl für den Motoranschluss als auch für die Endschalter zu empfehlen. Bei den Motoren, um Störausstrahlung zu vermeiden, bei den Endschalter um Störeinstrahlung abzuhalten. Mit freundlichen Grüßen Thorsten Ostermann
Danke Thorsten, Ja, das mit den Endschaltern stimmt. Ich will die CNC nur für Holz benutzen, ca. 40µm reichen dicke. Man muß einen (entprellten) extra Hand-Taster an einen zusätzlichen Eingang legen, der per Software ein kurzes Zurückfahren bewirkt, aber nur bei "Endschalter OFFEN".
:
Bearbeitet durch User
Thorsten O. schrieb: > Nick: Du gehst davon aus, dass die Endschalter gleichzeitig > Referenzschalter sind. Das muss aber nicht so sein. Nein, mach ich nicht. Ich hab sogar extra darauf hingewiesen. Wie gesagt, das sind drei Sicherheitsmechanismen. Ich hab es aber zunächst falsch beschrieben und mich dann korrigiert. > Echte Werkzeugmaschinen haben in der Regel separate Referenzschalter. Bei meiner echten WZM ist der Referenzpunkt des GMS in der Mitte. Daher muss ich zuerst in den Endschalter fahren und dann wieder zurück bis zum Referenzpunkt des GMS. Und darum hab ich auch nochmal darauf hingewiesen. Der erste Endschalter muss nicht so massiv reagieren, tw. kann ein Notaus auch ungewünschte Effekte haben (Werkzeugbruch). Ich weiß, dass bei Käsefräsen ein Endschalter gern als Referenzpunkt verwendet wird. Die 0.5 µm meiner GMS sind mir da aber doch lieber. ;-) Die Fräse von der ich spreche ist (m)eine Maho MH 700 C.
Bastian N. schrieb: > Der Arduino hat Digital-Eingänge einschaltbaren 1Kohm Pullupwiderstand, > soweit ist weiß. Diese Leitung mit C (10nf bis 100 nf) abblocken und mit > verdrillter geschirmter Leitung zum Ruhekontakt Endschalter führen Nein, der interne pull up des Arduino hat ca. 90kOhm und ist zu hochohmig. Extra 1k als pull up dranlöten ist ok, macht 5mA. Nicht so viel wie 100mA, aber abgeschirmt und verdrillt ok.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.