Guten Tag, ich habe gerade einen alten Stepper aus einem Legospielzeug ausgebaut. Ich dachte mir, dass ich den vllt gut verwenden könnte. Mit dem Mikrocontroller scheint es ja zu klappen ihn anzusteuern - wenn man eine Hbrücke hat. Ist es möglich nur über den Arduino den Stepper anzusteuern? Also soweit ich weiss ist es ja mit dem Motorshield möglich. Doch ich würde gerne wissen ob es auch ohne geht, denn im Grunde ist es ja auch nur ein Motor mit Kabeln eingängen und 2 Spulen. Da dürfte es doch auch ohne komplexe Schaltungen funktionieren!? oder nicht? lg
Die Frage ist jetzt, was du unter "komplexe Schaltung" verstehst... direkt verbinden wird nicht gehen. Du benötigst schon einen passenden Treiber. Viele verwenden hier einfach einen ULN200x gekoppelt mit Dioden am Ausgang. Das Forum hier ist voll mit solchen Schaltungen inkl. passenden Schrittfolgen. Was für einen SM ist es denn? Sind irgendwelche Daten aufgedruckt?
Nein das geht nicht direkt. Du brauchst leistungstreiber, die sind auf dem motorshield
Bei so etwas kommt es vor allem auf den Stepper an. Bei einem 4-Adrigen wirst Du ohne Halbbrücke nicht sehr glücklich werden. Die 5 - 8 Adrigen stehen manchmal sogar auf eine "einfache" Beschaltung. Die H-Brücke wird nicht deshalb verwendet, weil man den armen Halbleiterherstellern etwas zukommen lassen möchte, sondern weil gravierende Vorteile dafür sprechen.
Ersteinmal danke für eure antworten. Nur mir ist gerade folgendes aufgefallen. Wenn ich die kabel der 2 kabelpaare jeweils an den Pin und an den Ground anlege funktioniert der Stepper, wenn ich die Pins befeuere und einen Kleinen Schubs mit der hand gebe. Dann läuft er durch wie ein gleichstrommotor(das Wollte ich ja eigtl erreichen). Das ganze funktioniert aber nur wenn ich eine neue Stepper Instanz erstelle und die Pins dort eintrage. Hier einmal der Code: #include <Stepper.h> Stepper stepp(100, 9, 10); void setup() { stepp.setSpeed(50); } void loop() { digitalWrite(9, HIGH); digitalWrite(10, HIGH); } Ist das Verhalten vollkommen normal? oder ist es doch möglich ihn als gleichstrommotor zu benutzen ohne einen weiteren Treiber? Sodass er läuft, ohne mit der Hand einen startschubser zu geben. lg
Bitte bitte betreibe den Motor nicht direkt an den Pins! Zum Code kann ich nichts sagen, da ich mich mit den Arduinolibs nicht auskenne. Wenn der Stepper jedoch in einer bestimmten Reihenfolge erregt wird so dreht er durchaus immer weiter, auch wenn er nur jeden 2.Step korrekt bekommt. Aber so läuft er a) nicht sauber und b) ist der anlauf immer Problematisch. Schaue dir mal an, wie die Spulen erregt werden müssen (Reihenfolge) für eine korrekte Schrittfolge. Und nochmals: wenn das nicht ein mini-mini-mini motor ist so betreibe den nicht direkt an den Pins des Adruino!
Gut danke wollte nur mal wissen was es damit auf sich hat :) Ich werde es wohl mit dem motorshield von arduino machen. Nur man kann an dem motorshield von Ardunio maximal 2 Motoren bzw einen Stepper anschliessen. Finde ich ein bisschen wenig. Weiss jemand wie man mehrere Stepper an einem Shield dran kiregt?
Ein AVR-Pin kann nur einen begrenzten Strom liefern. Dieser reciht für Deinen Stepper nicht aus - hätte mich auch gewundert. Wundert mich, dass er überhaupt läuft. Aber immerhin, das ist schon mal ein Anfang. Der Strom dürfte jetzt so bei 10 mA liegen, das kommt als Kurzschlussstrom aus einem AVR-Pin in etwa raus. Wenn Du das über längere Zeit machst, brennt ziemlich sicher der Ausgangstransistor im µC durch. Mi einem einfachen Treiber sollste Dein Stepper dann aber laufen. ULN2003 dürfte das sein, was Du suchst - Google ist da Dein Freund. Die Schaltung wäre denkbar einfach: den AVR-Pin an den Eingang des Treibers, die Stepper-Phase an +5V und an den Collector des Treibers, Emitter auf Masse. Miss den Strom, der dann durch die Stepper-Spule fliesst. Mehr als 300 mA würden den Treiber zerstören, und auch Dein Stepper hat einen Maximalstrom, den er verträgt: wird er mehr als handwarm im Betrieb, muss der Strom runter. Kleine Experimente kannst Du so schon machen, aber viel Drehmoment wird nicht rauskommen. Stepper sind keine Gleichstrommotoren sondern im Prinzip permanenterregte Synchronmaschinen. Gleichstrommaschinen erzeugen sich intern den benötigtens Wechselstrom über eine mechanische Kommutierung: Kohlebürsten leiten den Strom wechseln auf verschiedene Wicklungen, in den Wicklungen fliesst so Wechselstrom. Bei einem Stepper geschieht das extern: welche Wicklung wann Strom bekommt bestimmt ein externes IC. Stepper-Controller wie der LM297 oder Toshiba TB6560 sind auf sowas spezialisiert. Der LM297 ist ausgelegt für den Betrieb mit einer H-Brücke als Leistungstreiber. Stepper-Controller regeln den Strom in den Wicklungen (durch schnelles Ein-Aus-Schalten des Stromes; nach dem Verb to chop werden die daher Chopper genannt). Im Prinzip kann man auf die Stromregelung verzichten und die Pulse für die Wicklungen eben auch mit einem µC erzeugen, wie das die Step-Library des Arduino macht. Aber auf einen dickeren Transistor für den Strom kann man eben nicht verzichten. Eine H-Brücke ist dann auch nicht mehr so kompliziert. Gegenüber einem einzelnen Transistor hat die den Vorteil, den Strom auch umpolen zu können statt nur ein-aus zu schalten. Lies Dir den Artikel hier im Wiki zum Thema Stepper mal durch und das Datenblatt des o.a. Toshiba-Chips, dann verstehst Du schon mehr, was da passiert. hase
Vielen vielen Dank! Das hat mir auf jeden fall geholfen :) ich werde mal in nächster zeit den Wikieintrag lesen und mir mal ein paar sachen dazu anschauen. Vielen dank lg
tim l. schrieb: > ich werde mal in nächster zeit den Wikieintrag lesen und mir mal ein > paar sachen dazu anschauen. Da könntest du zum Beispiel die Angaben im Datenblatt deines µC zum Maximalstrom an I/O-Pins lesen und dazu vielleicht das Ohmsche Gesetz, mit dem du bei bekanntem Spulenwiderstand den Strom in der Motorspule berechnen kannst.
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.