Hallo,
ich konstruiere zur Zeit ein X-Y-System um ein Prüfobjekt auf der Ebene an unterschiedlichen Stellen zu positionieren. Nach der Positionierung findet eine Messung statt und das Prüfobjekt kann anschließend zum nächsten Punkt wandern.
Die Bewegung wird durch Schrittmotoren (NEMA) erzeugt.
Der mechanische Aufbau steht bereits.
Ich bin zur Zeit an der Elektronik dran, die ja mit der Ansteuerung (Labview/Matlab) eng verknöpft ist.
Meine Frage ist, was benötige ich an zusätzlicher Elektronik, um die Motoren (NEMA) mit Labview/Matlab ohne großen Aufwand anzusteuern?
Im Internet habe ich schon einiges gelesen aber bin von den Begriffen eher verwirrt, da diese durcheinadner genutzt werden.
Meine Überlegungen:
Die Motoren müssen mit der nötigen eletkrischen Energie versorgt werden: Power Supply
Es ist oft die Rede von einem Treiber oder Motion Controller. Ist das das Gleiche?
Wozu genau benötige ich das?
Vom Gesamtsystem her würde sich die Nutzung einer Messkarte eignen. Kann die Messkarte mit dem Treiber verbunden werden und der Treiber wiederum mit dem Motor?
Oder sollte eher die Kombination PC-Arduino-Treiber-Motor genutzt werden?
Falls ihr eine gute Informationsquelle kennt, könnte ich mich auch durch diese durcharbeiten.
Vielen Dank im Voraus.
Geändert von taracho (23.10.2017 um 11:30 Uhr)
Es gibt von allem immer verschiedene Ausführungen, aber die üblichen Standardmotoren haben zwei Spulen, die erstens abwechselnd und zweitens mit abwechselnder Polarität bestromt werden, also ungefähr so:
W1 +-
W2 +-
W1 -+
W2 -+
Jeder Wechsel ist genau ein Schritt, die gezeigte Sequenz sind also vier Schritte. Eine Umdrehung hat je nach Motortyp einige hundert Schritte.
Jetzt gibt es verschiedene Varianten, das zu machen. Es gibt Schrittmotorsteuerungen, die über eine Datenschnittstelle Befehle entgegenehmen wie "100 Schritte Rechtsrum" und dann selbstständig die Wicklungen etsprechend bestromen, damit habe ich aber keine Erfahrung.
Dann gibt es etwas primitivere Steuereungen, die auf EINEM Pin für jeden Schritt einen Signalimpuls erwarten, und dann für jeden Puls den Motor einen Schritt weiterdrehen. Ein klassisches Beispiel ist der RNstepp297 (einfach mal googlen oder hier https://www.roboternetz.de/community...ghlight=hbquax). Damit habe ich mal eine Schrittmotorsteuerung mit LabView und einer National Instruments Messkarte gebaut. Zum Motorsteuern wurde ein I/O-Pin der Messkarte verwendet. Der Ausgang der Karte gibt ein positives Signal und ist nur gering bis gar nicht strombelastbar, deswegen wurde noch ein Transistor nachgeschaltet, der bei Signal von der Messkarte seinen freien Anschluss auf Masse zieht. Damit wurde dann der RNstepp297 angesteuert. D.h. der RNstepp bekommt ein leistungsloses Signal (eigentlich muss nur der entsprechende Pin auf Masse gelegt und wieder losgelassen werden) und besorgt dann den Wicklungs- und Polaritätswechsel und ist gleichzeitig Leistungsendstufe. Der nötige Strom muss dann über ein Netzteil bereitsgestellt werden. Über einen weiteren Pin wird die Drehrichtung vorgegeben. Die eigentlich Taktung habe ich dann durch ein Labview-Programm in einer Schleife gemacht. Das hat alles ganz prima funktioniert, der einzige Nachteil ist, daß LabView keine Zeitschritte von weniger als einer Millisekunde erzeugen kann, d.h. die maximale Ausgangsfrequenz liegt bei 1000 Hz, in der Praxis noch darunter. Ein Motor mit 200 Schritten pro Umdrehung dreht also maximal 5 U/sec oder 300 U/min. Ich habe es damals so gemacht, weil ich gerne alle Funktionen (Messung, Datenerfassung und Motorsteuerung) in einer Software haben wollte. Wenn man viele Punkte anfahren will, dauert es halt etwas länger.
Die letzte, most basic Variante wäre natürlich, über die I/O-Karte direkt zwei H-Brücken anzusteuern und die ganze Logik in Labview abzubilden.
Viel Erfolg !
Nils
Hier ist noch was zum lesen: http://rn-wissen.de/wiki/index.php/Schrittmotoren
Geändert von hbquax (23.10.2017 um 20:26 Uhr)
Lesezeichen