PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Schrittmotor/ Servo Steuerung über PC



D-a-v-i-d
20.10.2009, 17:54
Hallo Forums Gemeinde!

Dies ist mein erster Beitrag hier- und gleich muss ich um Hilfe bitten.
"Kurz" zu meinem Anliegen:
Ich bin mitten in meiner Diplomarbeit an der FH Köln und entwickle ein Trainingsgerät für die Ergotherapie / Rehabilitation. Die Mechanik ist bereits fertig (als CAD Modell) und es soll nun ein verkleinertes Modell gebaut werden.
Dabei stoße ich auf Probleme. Das Modell soll mit zwei Schrittmotoren angetrieben werden. Hinzu kommen weitere vier Servos (Modellbau).

Wie/womit kann ich diese sechs Motoren am besten vom PC aus steuern?
Dabei müssen die beiden Schrittmotore synchron laufen (gleicher und gegensinniger Drehsinn)
Die Stepper sind sehr klein (Durchmesser 15mm) aus Floppys (bipolar).
Die Lösung sollte (wie wohl immer) möglichst günstig sein- Lötkenntnisse vorhanden.

Gedacht habe ich an folgendes:

Ansteuerung der Servos, Endschalterabfrage durch:

http://www.watterott.com/Arduino-Duemilanove-Neuste-Generation-jetzt-mit-ATmega328

Die Schrittmotoren sollen nun durch:

http://www.pollin.de/shop/dt/Mjc5OTgxOTk-/Bausaetze/Diverse/Schrittmotorplatine_Bausatz.html

angesteuert werden..

Wird das klappen? Kann ich den Steppertreibern ein Signal vom Arduino-Board senden (Richtung, Schritt-Takt)?
Dabei sollte schon ca. eine Umdrehung pro Sec. möglich sein! Und das bei beiden Motoren relativ "gleichzeitig" (auf ein Zehntel Sec. Nacheilung kommt´s nicht an).

Würde mich über Hilfe sehr freuen! Sitze schon seit ein paar Wochen an diesem Problem und komme nicht so recht weiter. Kann auch nicht beliebig viel Geld für´s "Rumprobieren" ausgeben.
Danke für Eure Zeit!

Gruß, David

mwoidt
23.10.2009, 14:05
Zu den Schrittmotoren kann ich nix sagen da hab ich leider zu wenig erfahrung aber zu den Servos :). Also Prinzipiell geht es mit dem von dir beschriebenen Board. Hat aber meines erachtens keinen Vorteil gegenüber jedem anderen avr entwicklungsboard und du musst es programmieren. Es gibt auch fertig aufgebaute Servoboards mit RS232 Schnittstelle (etwa sowas http://www.lynxmotion.com/Product.aspx?productID=395&CategoryID=52). Lynxmotion is zwar nich umbedingt die beste wahl weil teuer und weit weg aber ich bin mir relativ sicher sowas schonmal beim großen blauen C oder Reichelt gesehen zu haben. die haben auch gleich eine entsprechende Stromversorgung für die Servos dabei (Servos werden wie du sicherlich weißt nicht über das PWM signal mit Strom versorgt)

triti
23.10.2009, 21:15
Hi,
die Schrittmotorkarte hab ich auch. Die wird an den LPT angesteckt. Der LPT ist damit aber besetzt und für dich eher nicht ideal.
(Ich steuere das mit einem Basic-Programm, funktioniert perfekt.)

Vorschlag:
Eigentlich brauchst du nur 4 Ausgänge für einen Schrittmotor um den direkt anzutreiben und der LPT hat 9. Dazu kommen noch 3 Ausgänge an jedem COM-Port die man benützen könnte. Ein alter PC hat 2 davon, also insgesamt 15 Ausgänge.

Wenn du viele Schrittmotoren antreiben willst geht das soweit ich weiss am besten über ein Basic-Programm, das über die Ausgänge an LPT oder COM Befehle an Mikrokontroller gibt, die entsprechend schalten.

Ideal einfach, billig und Basic-programmierbar sind PICAXE. Schau mal da:
www.roboter-teile.de/Shop/themes/kategorie/index.php?kategorieid=19
und
www.roboter-teile.de/Shop/themes/kategorie/index.php?kategorieid=18

Oder aber mit DER Platine:
www.strippenstrolch.de/9-1-1-schrittmotortreiberplatine-l298.html
Gibts dort auch schon fertig aufgebaut + getestet :-)
VORTEIL: Jeder Takt high/low an clock lässt den Motor 1 Schritt machen. Du brauchst dann nur noch den DIR (direction) Eingang, brauchst also nur 2 Ausgänge von den 15 PC Ports und damit könntest du schon 6 Schrittmotore einfach mit einem Basicprogramm getrennt steuern. Die 2 Eingänge wollen aber nur 5 bis max. 7 Volt! Wenn du einen COM-Ausgang (der hat 12V) benützt, mit Zenerdioden auf ca.5V runtergehen! Wie das geht steht auf der Seite von skilltronics.de, weiter unten.
Oder wie gesagt Mikrokontroller nehmen.


Willst du mehr Ausgänge dann eine Ausgangserweiterung für "unendlich" viele Ausgänge:
www.skilltronics.de/versuch/elektronik_pc/4094.html

Wenn du Endschalter hast kannst du die auch über die Eingänge vom LPT bzw. COM abfragen und dann im Programm entsprechend schalten.

Und das solltest du auch lesen:
www.skilltronics.de/versuch/elektronik_pc/l293.html

Grosser Vorteil mit QBasic unter reinem DOS: DOS stürzt nicht ab und du hast die Kontrolle über alle Ports. Bei Windoof gibts nur Probleme hab ich gehört.

Ich bastle gerade an einer eigenen Schrittmotorkarte mit Mosfets für starke Motoren aber die Sache will noch nicht so wirklich.

Wenn ich jetzt was falsches geschrieben habe wird sicher gleich jemand furchtbar laut schreien :-)

lg
Triti