Endstoppschalter doppelt nutzen

Hallo,
ich habe eine Anwendung, wo ein Elektromotor über Relais von einem Arduino geschalten wird, der einen Teleskopmast rauf und runter fährt.
An den Endpositionen des Mastes gibt es Endschalter, die als Öffner ausgelegt sind.
Nun möchte ich das ganze so nutzen, dass ich von einer entfernten Position mit dem Arduino steuere und direkt am Mast mit dem Schalter des Mastes, wo ich direkt den Motor in die jeweilige Richtung ein oder aus schalte. Und für beide Varianten sollten die Endschalter das Signal zum Abschalten liefern.

Wie ließe sich sowas realisieren? Muss ja einerseits der Schalter sicher stellen, dass die Stromzufuhr zum Relais für den E-Motor unterbrochen wird, aber andererseits sollte der jeweilige Zustand des Schalters an ein digitales Einganspin des Arduino kommen.

Rein mit dem Arduino funktioniert das schon sehr gut. Wenn nun aber durch irgendeinen Umstand der Zustand des Schalters am Arduino falsch interpretiert wird und daher der Motor weiter laufen würde, wäre es mir recht, wenn der Endschalter in diesem Fall einfach seinen Dienst so tut, als wäre gar keine Arduinosteuerung vorhanden, also einfach abschalten.

Schalte ein passendes Relais parallel zum Motor, der Relaiskontakt gibt den zustand des Motors an den Arduino weiter.
Wird also der Motor am Ende gestoppt ist das gleichzeitig das Signal für den Arduino, dass der Motor am Ende angekommen ist.
Welcher Endschalter geschaltet wurde ist durch die vorher gewählte Laufrichtung bekannt.

Verstehe ich jetzt nicht. Wieso kannst Du die "manuelle" Steuerung nicht durch Taster realisieren, die der Arduino ausliest und den Motor steuert? So kannst Du beides ohne Probleme machen.

Ich rate Dir außer den Endschaltern für die Steuerung noch leicht versetzte Endschalter die etwas Später auslösen und dem Motor die Spannungsversorgung unterbrechen. So gehst Du sicher daß bei einem Fehler in der Steuerung der Motor trotzdem gestopt wird und nichts kaputgeht.

Grüße Uwe

uwefed:
Verstehe ich jetzt nicht. Wieso kannst Du die "manuelle" Steuerung nicht durch Taster realisieren, die der Arduino ausliest und den Motor steuert? So kannst Du beides ohne Probleme machen.

Ich rate Dir außer den Endschaltern für die Steuerung noch leicht versetzte Endschalter die etwas Später auslösen und dem Motor die Spannungsversorgung unterbrechen. So gehst Du sicher daß bei einem Fehler in der Steuerung der Motor trotzdem gestopt wird und nichts kaputgeht.

Grüße Uwe

Habe ich selber genauso umgesetzt und bei mir gab es keine Probleme! :slight_smile:

Natürlich kann ich die manuelle Steuerung ebenfalls durch Taster auf den Arduino realisieren. So ist das derzeit auch geplant. Mir geht es aber gerade darum, dass die Endschalter auch die Stromzufuhr zum Motor unterbrechen, wenn mit der Steuerung irgendwas schief läuft. Zusätzliche Endschalter werden eher schwierig. Das ganze ist ein massiver Teleskopmast, der aus 3 Elementen besteht, die von 5,5m auf 15m ausgefahren werden können, und der relativ teuer ist. Der wird mit jeweils einem Endschalter oben und unten ausgeliefert und ich will da ungern anfangen zusätzliche Löcher rein zu bohren. Deshalb muss ich mit den vorhandenen Endschaltern auskommen. Das ist also eine Vorgabe, die relativ fix ist.

Das mit dem Relais parallel zum Motor verstehe ich nicht ganz. Wie soll das funktionieren? Wenn da kein Strom fließt weiß der Arduino ja nicht, ob nun der Endschalter offen ist, oder einfach der Motor gerade nicht angesteuert wird. Oder verstehe ich das falsch?

Eine Idee, die mir im Kopf rum schwirrt, wäre aber wohl ähnlich. Was, wenn man an die Endschalter einen Stromkreis führt, der pro Schalter 2 Relais oder Optokoppler bedient, die bei anliegender Spannung geschlossen sind und so zum einen den Stromfluss zum Motor ermöglichen, zum anderen aber auch dem Arduino einen geschlossenen Schalter signalisieren?

Ohne Schaltplan der existierenden bzw geplanten Arduinosteuerung können wir Dir nichts nützliches vorschlagen.
Frag mal nach ob der Hersteller doppelte bzw versetzte Endschalter als Option hat. Du kannst meist mit längeren Schrauben 2 Endschalter nebeneinander montieren.
Es braucht Sicherheitsendschalter um mit Sicheheit eine Fehlfunktion der für das Stoppen in einer bestimmten Position zuständigen Endschalter zu kompensieren.

Je komplizieter ein Schaltkeis ist, desto mehr kann kaputtgehen.

Mach mal ein paar Fotos.
Grüße Uwe

Ja, das verstehe ich natürlich. Muss mal einen Schaltplan zeichnen. Habe mal versucht das mit Eagle hin zu bekommen, aber da muss ich mich noch durch die Beschreibung und diverse Tutorials kämpfen, ehe ich da was brauchbares raus bekomme. Eventuell mache ich das mal mit einem einfachen Zeichenprogramm als Skizze.
Der Mast ist gerade in Fertigung und ich rufe da am Montag mal an (der Chef ist diese Woche auf Urlaub), ob er mir die zusätzlichen Endschalter einbauen kann. Wird nicht die Welt kosten (vor allem im Verhältnis zu dem was der Mast kostet) und ist vermutlich die einfachste und sicherste Lösung. Dann weiß ich auch, wie ich die verkabeln muss.

Fotos habe ich ein paar vom bisherigen Stand. Die habe ich in einer ersten Version eines Beitrages über das Projekt auf meiner Webseite. Ist halt alles noch am Anfang, aber erste Tests schauen sehr gut aus. Natürlich noch nicht mit dem richtigen Motor, aber wenn ich stattdessen einen kleinen Gleichstrommotor anhänge oder LEDs, welche das Schalten der Motorrelais simulieren, dann funktioniert das sehr gut.
Habe auch ein kleines Windowsprogramm geschrieben, über das ich mit dem Arduino kommuniziere und das klappt auch hervorragend.

Hier gibt es die Beschreibung.
http://www.oe4hds.net/cms/index.php/en/projects/diy

Ist jetzt mal nur auf englisch verfügbar. Übersetze ich auf Deutsch, wenn es halbwegs fertig ist, aber die meisten meiner Bekannten, die sich dafür interessieren sind halt englischsprachig.
Wird auch noch viele Fehler geben, aber egal, eine Idee, worum es geht sollte man dadurch bekommen.

Bleistift un Papier sind ein gutes Werkzeug zum Schaltplanzeichnen.
Grüße Uwe

Ja, da ist was dran. Werde das dann mal zu Papier bringen.

helste:
Der Mast ist gerade in Fertigung und ich rufe da am Montag mal an (der Chef ist diese Woche auf Urlaub), ob er mir die zusätzlichen Endschalter einbauen kann. Wird nicht die Welt kosten (vor allem im Verhältnis zu dem was der Mast kostet) und ist vermutlich die einfachste und sicherste Lösung. Dann weiß ich auch, wie ich die verkabeln muss.

Notfalls kannst du auch einen zwei-poligen Schalter nehmen. Ein Pol trennt den Motor, der zweite signalisiert dem Arduino die Endposition.

Das ist eine gute Idee. Werde beim Hersteller des Mastes nachfragen, ob er das machen kann.
Ansonsten muss ich halt mal warten bis der Mast geliefert wird und schauen welche Schalter da eingebaut sind.
Eventuell kann ich dann ja auch selber doch noch was ändern.

Theseus:
Notfalls kannst du auch einen zwei-poligen Schalter nehmen. Ein Pol trennt den Motor, der zweite signalisiert dem Arduino die Endposition.

Daß die beiden Endschalter im gleichen Moment schalten ist keine gute Idee. Mann sollte nämlich den Masten danach wieder einfahren können. Der Sicherheitsendschalter muß etwas später als der Stopendschalter scalten damit der Motor danach noch bewegt werden kann.
Auch sollte Die Schaltung so sein daß bei betätigten Sicherheitsendschalter ein Bewegen des Mastes in entgegengesetzter Richtung möglich sein muß.

Grüße Uwe

uwefed:
Daß die beiden Endschalter im gleichen Moment schalten ist keine gute Idee. Mann sollte nämlich den Masten danach wieder einfahren können. Der Sicherheitsendschalter muß etwas später als der Stopendschalter scalten damit der Motor danach noch bewegt werden kann.
Auch sollte Die Schaltung so sein daß bei betätigten Sicherheitsendschalter ein Bewegen des Mastes in entgegengesetzter Richtung möglich sein muß.

Das ist doch gar kein Problem, wenn man eine Diode parallel zum Schalter einbaut. So wird der Motor durch den Schalter gestoppt, aber nach Umpolen kann der Strom durch die Diode fließen und der Motor fährt in Gegenrichtung zurück.
Die Variante zwei Schalter hintereinander würde ich auch bevorzugen. Deshalb habe ich "Notfalls" geschrieben.

Das Problem verstehe ich dabei aber nicht. Was hat das damit zu tun, ob ich den Mast nun wieder runter fahren kann, wenn der obere Sicherheitsendschalter offen ist? Wenn der offen ist, ist nicht die Stromzufuhr zum Motor unterbunden, sondern lediglich die für den Stromkreis für die Aufwärtsbewegung. Ich habe das Teil noch nicht da, aber ich vermute mal, dass es da eine H-Brücke gibt, und die Endschalter halt so eingebaut sind, dass der obere den Stromkreis für die Bewegung nach oben unterbricht und der untere den Kreis für die Bewegung nach unten. So stelle ich mir das zumindest vor.

Ich muss das jetzt echt mal aufzeichnen.
Vielleicht fällt mir dann ja irgendwas ein, wie ich mir die Endschalter doppelt nutzbar machen kann. Greife gleich mal zu Papier und Bleistift.

Ein Schaltplan wäre sehr hilfreich. Ich hatte es so verstanden, dass die Stromversorgung des Motors selbst unterbrochen wird. So kann bei jeglichen Fehlfunktionen und Defekten der Ansteuerung der Motor nicht weiter fahren.

Ich habe mal eine Skizze gezeichnet. Nicht schön, aber das Prinzip, wie ich es mir vorstelle, sollte daraus hervor gehen.

Die Relais Rel1 und Rel2 sollten ohne Strom offen sein. Die Schalter S1 und S2 sind entweder Taster, die manuell betätigt werden, oder Reials, die vom Arduino geschaltet werden. Sollte auch parallel möglich sein.
Die Schalter ES1 und ES2 sind die Endschalter.

Ich hoffe das mit dem Attachment anhängen klappt. Dann sollte im Anhang die Skizze sichtbar sein.

Wenn das so mit dem Schaltplan funktioniert, dann wäre nun die Herausforderung, die Endschalter ES1 und ES2 gleichzeitig auch für den Arduino nutzbar zu machen, damit ich dort den Zustand anzeigen kann und dementsprechend auch Aktionen setzen kann.

Jetzt wird es klarer.

Der Zweig zwischen Endschalter und Relais liegt solange der Endschalter nicht abschaltet auf Plus. Wenn er schaltet über den Motor auf Masse oder ist offen. Das kannst du z.B. einen Optokoppler oder einen Spannungsteiler auf einen Arduino-Pin geben.

Zusätzlich würde ich eine Sicherung zur Strombegrenzung einplanen. Sie löst aus, falls der Mast z.B. durch Vereisung blockiert.

Das mit der Sicherung ist eine gute Idee. Muss ich mal schauen, welcher Strom da normalerweise gezogen wird und dann eine Sicherung, die da knapp drüber liegt einbauen.

Was den Endschalter anbelangt, so bin ich mir nicht sicher, ob ich das richtig verstanden habe. Wenn ich das richtig verstehe fließt ja gar kein Strom durch den Endschalter, wenn der zugehörige Schalter nicht eingeschalten ist, also sich der Motor bewegen soll, dann fließt doch auch über den geschlossenen Endschalter kein Strom. Ich sehe dann also nur, ob der ES1 zu ist, wenn auch der S1 geschlossen ist, oder?

In der Stellung der Relais, wie sie auf dem Schaltplan gezeigt ist, würde der Motor aus sein, selbst wenn die Endschalter zu wären. Wie kann ich in dem Zustand nun mit dem Arduino den Zustand der Endschalter abgreifen? Verstehe ich irgendwie nicht.

Ich habe dir mal die Spannungsteilervariante für eine Seite eingezeichnet. Solange der Schalter ES1 geschlossen ist, liegt am Arduino eine Spannung an. Ist der Schalter geöffnet wird der Pin auf GND gezogen. Die Voraussetzung ist nur, dass nicht beide Relais auf ±Stellung stehen, so dass nicht der Pin über ES2 und den Motor mit Plus verbunden wird.

plan.jpg

Ja, das erscheint mir logisch. Ich kann auch gewährleisten, dass sicher nur ein Schalter bzw. 1 Relais geschlossen ist. Wenn man manuell steuert kann man sowieso nur in eine Richtung steuern und im Arduino sketch schalte ich immer zuerst das eine Relais aus, bevor ich das andere starte.

Vielen Dank für die Hilfe.