Drehzahlüberwachung von Motoren

Hallo Leute! Schafft es ein Arduino gleichzeitig 2 Schrittmotoren oder DC Motoren zu steuern und deren Schritte oder Drehzahl per Encoder zu überwachen? Grüße Andi

Frage an Radio Eriwan...

also in Prinziiieeeep schon, aber...

uch mal unter Youtube unter CNC/ Arduino, somit kann er das schon, wenn Du aber mit High Precision Superspeed mehrere Tonnen bewegen möchtest, hmmm... jaaa.... also....

Guck mal unter der Adafruit Motorsteuerplatine, damit hat man zumindest 2xStepper. Welche Stepper möchtest Du driven (Skusi, konnte net anders, stepperdriver...) Evtl Ist der Suchbegriff Polulu (Richtig?) ein Weg.

Auf der anderen Seite ist der Stepper ansonsten schon von sich aus relativ präzise, somit wo liegt Dein Ansatz für nen Encoder? mit welchem möchtest du arbeiten? inkremental oder absolut?

Was hast Du vor?

Greetz, Linpo

Bei Schrittmotoren brauchst Du normalerweise keine Drehzahlkontrolle da der Motorsolange er nicht mechanisch überlastet wird die vorgegebenen Schritte macht.

Bei Gleichstrommotoren ist das anders. Da hat man durch die Ansteuerung keine genaue Kontrolle der Drehzahl. Diese Hängt dan von der mechanischen Last ab. Da brauscht man einen Encoder um Drehzahl bzw Distanz zu messen.

Arduino kann das aber es hängt von der Drehzahl der Motoren und Impulse des Enkoders pro Umdrehung ab. Daraus ergibt sich die Frequenz des Signals. Jetzt kann ich Dir keine Maximalfrequenz nennen aber einige 10kHz sind sicher drin.

Grüße Uwe

Normalerweise dreht ein Standard-Stepper nicht wirklich viel mehr als 2000U/min mir normalerweise 200 Steps/U. Kommt Microstepping bis 1/32 dazu, wirds schon enger. Das kann die Standard-Lib auch nicht, bzw. sollte die Hardware machen.

Hallo,

ich denke, es kann nicht schaden auch einen Schrittmotor zu überwachen, da die bisweilen schon mal Schritte verlieren können.

In diesem Thread http://forum.arduino.cc//index.php?topic=189578.0 wollte ein Kollege aus dem Forum eine Motorspindel mittels Drehgeber kontrollieren. Vielleicht kannst du ja mal bei ihm nachfragen, wie weit das gediehen ist und ob und wie es funktioniert.

Gruß, Ralf

Einen Schrittmotor zu überwachen, weil die Gefahr besteht, daß er blockiert bedeutet, daß die Wahl des Schrittmotors falsch war. Grüße Uwe

"Vergessene Schritte" treten hauptsächlich auf, wenn der Motor anläuft oder bremsen muss. Hier ist es sinnvoll, eine LIB mit Softstart zu verwenden. D.h., Nicht z.B. bei 1 kHz Schrittfrequenz gleich volles Feuer an den Motor, sondern langsam auf linear oder exponentiell anseigender Kurve die Schritte auf Nenndrehhzahl zu erhöhen. Sofern nicht extreme Lasten/Kräfte bewältigt werden müssen, schafft dann auch ein ggf. zu klein dimensionierter Motor.

Es ist ja nicht immer nur der Steppermotor, sondern auch das Drumherum, was für Fehler sorgen kann. Wenn die Kupplung der Welle nicht formschlüssig mit einem Keil gelöst wurde, sondern nur mit ner Madenschraube auf die Welle drückt, dann ist an dieser Stelle ein Verdehen nur eine Frage der Zeit. Wenn dann noch Scherenkonstruktionen wie bei einem Robotarm dazu kommen, wo kleinste Winkeländerungen schon mm beim Ausstrecken bedeuten, dann macht eine Überwachung Sinn. oder eine Hubspindel, wo du auch noch eine Feststellbremse mit Elektromagnet hast und dich nicht auf das Zusammenspiel Bremse lösen, Saft auf den Motor zum Anlauf verlassen kannst... Ich habe ein paar Jährchen als Instandhalter in der Halbleiterei gearbeitet und kenne derartige "Problemchen", die dann im Alltag auftreten. ... oder ein Robbi, der mit einem 5m Zahnriemen 2,50m seitlich verschiedene Positionen anfährt. Wenn du da zur Wartung den Riemen nachspannst, wird er gedehnt, die Zähne rücken weiter auseinander und die angefahrenen Positionen sind zum Teufel und müssen neu angelernt werden, weil die Nasenbären alles über den Stepper machen und nicht über Näherungssensoren an den einzelnen Positionen :fearful:

Gruß Gerald

Das ist zweifelsohne völig korrekt, Gerald. Kommt aber sicherlich auch immer auf die jeweilige Anwendung drauf an. Am einfachsten geht so was sicherlich mit einem Drehgeber auf einer 2. Motorachse - aber das ist nun mal kein Standard. Oder mit einer Schlitzscheibe - noch irgendwie mit auf die Achse gfummelt und per lichtschranke ausgelesen. Aber auch das is nicht so einfach, gibt es diese Scheiben m.W.n. mit 200er Auflösung nicht so häufig.

Einen Schrittmotor per Enkoder zu kontrollieren bringt aber auch die Gefahr eines Positionsfehlers. Ein bißchen Ungenauigkeit und x Schritte stimmen dann nicht mehr mit y Impulse des Encoders zusammen und dann was machen? Ist der Stepper richtig oder der Encoder? einfach weitermachen oder System mit Fehlermeldung stoppen?

Ein System mittels Enkoder zu kontrollieren weil vieleicht irgendwas in der Mechanik einen Schlupf haben könnte oder irgend eine Verbindung sich lockern könnte sehe ich nur im Fall von wirklich großen Schäden bei einem Fehlerfall notwendig/ sinnvoll.

Grüße Uwe

uwefed: Einen Schrittmotor zu überwachen, weil die Gefahr besteht, daß er blockiert bedeutet, daß die Wahl des Schrittmotors falsch war.

Nein. Es kann immer wieder Einflüsse von außen geben, die man bei der Auslegung des Schrittmotors nicht berücksichtigt, weil sie entweder nicht voraussehbar sind oder aber so selten auftreten, dass es wirtschaftlich nicht vertretbar ist einen Schrittmotor danach zu dimensionieren.

Beispiel: Eine CNC-Fräse mit XY-Tisch der von Schrittmotoren verfahren wird. Die Spindeln sind gut abgedeckt. Der Schrittmotor wird auf die Annahme, dass die Spindel frei laufen kann, dimensioniert, nicht auf die Annahme das einer von einer Million Spänen doch in die Spindelmechanik gelangt. Wenn es dann aber passiert, ist es schön zu wissen, wieviele Schritte der Motor verloren hat, bis der Span "untergearbeitet" war.

Ein Beispiel aus einer Beschreibung einer industriellen Schrittmotorsteuerung:

Ein Kunde betreibt mit einer Xemo-Schrittmotorsteuerung eine Anlage zum automatischen Magazinieren von Kunststoffbehältern. Mehrfach rief er während der Inbetriebnahme an und berichtete, dass die Schrittmotorachsen durch mechanisch verursachte Schrittverluste die Kunststoffteile ungenau positioniert und teilweise beschädigt hätten.

Die Lösung:

Die Encoder-Eingangskarte kann noch mehr: Sie überwacht zusätzlich die Kabelstrecke auf Bruch oder Kurzschluss und überprüft die eingehenden Zählimpulse. Für umfassende Sicherheit und gleichbleibende gute Produktqualität ist mit der Technologieoption Schrittüberwachung also gesorgt.

Hier die komplette Seite: http://www.systec.de/company/blog/beitrag/schrittueberwachung-bei-xemo-r-und-s/zeit/2013/03/13/?L=1&cHash=8a2ca320ef0c2b551561cd814878b972

Gruß, Ralf

Im professionellen Umfeld wird beim Start der Maschine jede Achse gehomt, d.h. es wird eine Nullposition angefahren, ein interner Counter auf Null gesetzt und von da ab zu jeder Position gezählt. Dieses Grundgerüst ist beliebig ausbaubar. Überwachung weiterer Positionen, Stopp wenn nach n Schritten die geforderte Position nicht erreicht wurde usw. Das muß man wirklich "maßschneidern", denn wenn z.B. aus Konstruktionsgründen eine Welle mit einer Kupplung verlängert werden muß, nutzt ein Encoder am Motor nichts, wenn die Kupplung rutscht. Ich habe einmal erlebt, das sich eine Machine selbst demontiert hat, weil es auf 3m Breite eine geteilte Welle gab und die Endposition von einem 3m breiten Schlitten, der beidseitig von beiden Wellen angetrieben wurde, nur einseitig überwacht wurde. Der Endschalter gab grünes Licht und ein Elevator schrottete den schief stehenden Schlitten! 2 Wochen Stillstand und Tausende Schaden! Ich habe dann einen 2. Endschalter auf der 2. Seite nachgerüstet. Hätte da nicht schon der Entwickler drauf kommen sollen?