PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Schrittmotoransteuerung



Tuo
19.02.2012, 12:45
Hallo,

ich kämpfe dieses Wochenende gerade mit der Ansteuerung eines Schrittmotors. Für die Ansteuerung verwende ich das Board von Velleman K8055. Dieses besitzt 8 Digitalausgänge und 2 Analogausgänge. Nachdem die Digitalausgänge nur eine Spannung von 0,6 V liefern können habe ich ein Relais zwischen dem Schrittmotortreiber und dem Digitalausgang des K8055 geschaltet. Dieses Relais schaltet auch ordnungsgemäß. Eine Spannung von 5 V liegt am STEP Eingang des Motortreibers A4983POW. Allerdings bewegt sich der Motor beim Schalten des Relais keinen Schritt weiter. Manchmal kommt es jedoch dazu, das der Motor plötzlich losläuft und sich dann ganz viele Schritte bewegt. Dies ist insbesondere dann, wenn ich an Kabeln wackel. Sichergestellt, dass alle Verbindungen bestehen habe ich jedoch.

Sehr interessant ist jedoch, wenn ich den Motortreiber an den Analogausgang des K8055 hänge, so funktioniert beim überschreiten eines bestimmten Spannungspegels alles einwandfrei. Er bewegt sich wie vorgesehen einen Schritt und auch in die entsprechende Richtung, die ich ebenfalls über den zweiten Analogausgang ausgebe.

Mich würde nun interessieren, woran dieses Verhalten liegen kann? Warum funktioniert der Schrittmotor mit den Analogausgängen und nicht mehr dem Relais, das auch ordnungsgemäß schaltet. Kann es mit der Geschwindigkeit der Spannungspegeländerung zu tun haben, oder mit abprellen des des Relaiskontaktes? Wie kann ich dies beheben?

Könnte dieses Problem eventuell bei Verwendung eines Optokopplers vom Typ PC487 anstatt des Relais behoben sein?

Vielen Dank schon mal für die Antworten!

Tuo
19.02.2012, 15:19
Ergänzung: Wenn ich bereits nur an den Pin für STEP ein Draht hinhalte, auf dem gar keine Spannung ist, dann läuft der Motor schon an....

Bei Ansteuerung mit einem Schalter, der 5V auf den Pin STEP schaltet, verhält es sich folgendermaßen:
Schalter geschlossen: (5V liegen an) Motor steht stil.
Schalter geöffnet: (0V liegen an) Motor läuft eine gewisse Zeit, bzw. manchmal auch so lange, bis 5V anliegen. Wird wird der Draht getrennt, so steht der Motor still.

PICture
19.02.2012, 15:45
Hallo!


Ergänzung: Wenn ich bereits nur an den Pin für STEP ein Draht hinhalte, auf dem gar keine Spannung ist, dann läuft der Motor schon an....

In der Praxis gibt es z.B. in einer Wohnung kein Draht ohne Netzspannung drauf. Bei CMOS Eingängen kann man so ein Draht praktisch als 50 Hz Rechteckgenerator annehmen. ;)

Tuo
19.02.2012, 15:52
Nein, ich hatte einfach nur ein Stück Kupferdraht an den PIN gehalten, ohne dass das andere Ende mit einer Spannungsquelle verbunden war. Auf die Logikeingänge kann ich eh maximal nur 5V DC geben. Bei einem Pegelwechsel von 0 auf 5 V soll sich der Motor im Vollschrittmodus genau einen Schritt, also 1,8° drehen. Könnte es sich dabei um ein Problem mit GND handeln?

oZe
19.02.2012, 17:52
Nur als kurze Ergänzung zu PICtures Beitrag: PICture meint das jeder Draht (ob nun verbunden oder nicht ist egal) den Elektromagnetischen Einflüssen vom Hausnetz ausgeliefert ist. Das heißt auch wenn du den Draht an deinen Controller Eingang hälst wirkt dieser wie eine Antenne und generiert sowas wie 50Hz an deinem Eingang ;-)
Abhilfe: Pulldown/Pullup Widerstände.

Bei deinem eigentlichen problem kann ich dir leider nicht helfen.

Edit: Achja kleiner Nachtrag: Die Massen von allen beteiligten Spannungen müssen selbstverständlich verbunden sein. Wenn du deinen Eingang über ein Relais mit 5V schaltest muss die Masse von der 5V Spannungsquelle mit der Masse des Schrittmotortreibers verbunden sein!
Für mich klingt übrigens das Verhalten des Schrittmotors plötzlich loszulaufen extrem für einen undefinierten Pegel am Eingang des Schrittmotortreibers. Der Eingang muss entweder auf Masse oder auf +5V liegen. Er darf nie "fliegen" also unbeschaltet sein. Das erreichst du wie schon gesagt mit einem Pulldown Widerstand. Der zieht den Eingang künstlich auf Masse wenn kein Eingangpegel anliegt.

Tuo
19.02.2012, 21:06
Okay jetzt kann ich eure beiden Beträge verstehen. Ich werde den Empfehlungen mal nachgehen und die Schaltkontakte des Relais mit einem Pulldown Widerstand versehen, sobald ich in einer Woche wieder an meiner Schaltung bin. Wenn in den Leitungen wirklich Wechselstrom induziert worden ist, ist dies kein Wunder, das ich nichts messen konnte, denn ich habe Gleichspannung gemessen. Und wenn der Schalter aktiviert war lagen dann definierte 5 V an und der Motor konnte dadurch keine Schritte mehr ausführen. Interessant ist, das bei Verbindung der STEP und DIR Eingänge mit den Analogausgängen von K8055 alles Ordnungsgemäß funktioniert hat. Sobald ich mehr weiß werde ich hier mal ein kurzes Statement dazu schreiben. Vielen Dank nochmal euch beiden!

Thegon
19.02.2012, 21:29
Ähm so weit ich mich da erinnere sind die Ausgänge vom K8055 doch Open - Collector - Ausgänge,(nach blick in die Schaltung: ja, denn es wird ein ULN Treiber verwendet)
Es sind schon Pullup - Widerstände vorhanden, oder? Sonst wird man am Eingang des Schrittmotortreibers doch nie ein high zusammenbringen.
Würde auch erklären, warum es mit Analogem Ausgang funktioniert, der ist nämlich ein "richtiger" ausgang, der kommt sowohl nach oben als auch nach unten

Oder habe ich da etwas überlesen?

Edit:
Es wird ein Relais verwendet, das ist ja auch nicht anders wie ein Open - Collector bzw. open Emitter Ausgang.


Mfg Thegon