Forum: Mikrocontroller und Digitale Elektronik Schrittmotortreiber mit Abschaltfunktion


von Felix S. (stock95)


Lesenswert?

Hallo erstmals

und zwar ich habe einen unipolaren Schrittmotor mit 5 Kabeln den ich per 
Arduino ansteuere.
und benutze momentan das Darlington Array ULN2008a.

Das Problem was ich habe ist, wenn der Schrittmotor im Ruhezustand ist 
wird er heiß. Deshalb bräuchte ich einen Schrittmotortreiber der erkennt 
wenn keine Eingangssignal anliegt und somit den Schrittmotor abschaltet.

Könnt ihr mir so ein Darlington Array empfehlen das dies kann?

Mit vielen Grüßen Felix Stockinger

von MaWin (Gast)


Lesenswert?

Auch dein ULN2003. kann alle Spulen im Schrittmotor abschalten so daß er 
nicht mehr heiss wird, aber er hat dann auch kein Haltemoment mehr. Die 
d.s.e FAQ enthält eine Schaltung wie man im Stillstand die Spannung 
verringert. Damit ist das Haltemoment geringer aber noch vorhanden. Wenn 
aber dein Motor lange laufen muß, wird er heiss wie zuvor.

von Felix S. (stock95)


Lesenswert?

MaWin schrieb:
> Auch dein ULN2003. kann alle Spulen im Schrittmotor abschalten so daß er
> nicht mehr heiss wird, aber er hat dann auch kein Haltemoment mehr. Die
> d.s.e FAQ enthält eine Schaltung wie man im Stillstand die Spannung
> verringert. Damit ist das Haltemoment geringer aber noch vorhanden. Wenn
> aber dein Motor lange laufen muß, wird er heiss wie zuvor.

Also ich habe den Ulna2008a.

Vorher habe ich den ULN 2003 benutzt und dieser hat auch nicht 
abgeschaltet.
Es liegt an allen 4 Spulen kein Strom an, doch der Schrittmotor wird 
trotzdem heiß.


Ich benötige kein Haltemoment.

von Spess53 (Gast)


Lesenswert?

Hi

>Also ich habe den Ulna2008a.

Meinst du nicht den ULN2803?

MfG Spess

von Karl H. (kbuchegg)


Lesenswert?

Felix Stockinger schrieb:

> Vorher habe ich den ULN 2003 benutzt und dieser hat auch nicht
> abgeschaltet.

Von alleine tut der das natürlich nicht. Das muss schon dein Programm 
machen!

> Es liegt an allen 4 Spulen kein Strom an, doch der Schrittmotor wird
> trotzdem heiß.

Das wiederrum kann nicht sein. Wenn er heiß wird, dann liegt da Spannung 
an.

Alles andere wäre eine Verletzung des 2. Hauptsatzes der Thermodynamik 
und damit eine Vorstufe zu einem Perpetuum Mobile. Die Energie zum 
Heißwerden muss irgendwo herkommen - vom der Spannung die immer noch an 
den Wicklungen anliegt und die Wicklungen daher immer noch von Strom 
durchflossen werden.

von Felix S. (stock95)


Lesenswert?

Oh entschuldige ich habe mich verlesen.

und wie definiere ich das im Programm?

Der Schrittmotor hat doch 5 Anschlüße und der 5te Anschluß ist an 12V 
angeschlossen.

Doch ich muss eine Aussage von mir revidieren und zwar dass an den 4 
Spulen kein Strom anliegt.
Entschuldige

von Karl H. (kbuchegg)


Lesenswert?

Felix Stockinger schrieb:
> Oh entschuldige ich habe mich verlesen.
>
> und wie definiere ich das im Programm?
>

Na ja, wie machst du es denn jetzt, dass du bestimmte Spulen mit 
Spannung versorgst und andere wiederrum nicht?
Dann muss eben dein Programm zum ULN eine entsprechende Ausgabe machen, 
so dass gar keine Spule eine Spannung bekommt.

von Felix S. (stock95)


Lesenswert?

Karl Heinz Buchegger schrieb:
> Felix Stockinger schrieb:
>> Oh entschuldige ich habe mich verlesen.
>>
>> und wie definiere ich das im Programm?
>>
>
> Na ja, wie machst du es denn jetzt, dass du bestimmte Spulen mit
> Spannung versorgst und andere wiederrum nicht?
> Dann muss eben dein Programm zum ULN eine entsprechende Ausgabe machen,
> so dass gar keine Spule eine Spannung bekommt.



Für den Arduino gibt es eine Stepper Library.
Ja aber ich finde keinen Befehl dafür.

von Karl H. (kbuchegg)


Lesenswert?

Felix Stockinger schrieb:

> Für den Arduino gibt es eine Stepper Library.

Ah. Ich liebe es, wenn Details dann sukzessive verraten werden

> Ja aber ich finde keinen Befehl dafür.

Ja, ich auch nicht. Ich finde noch nicht mal eine Stepper Library.
Hack. Ich weiß ja noch nicht mal, wie diese Stepper Library heißt! 
Spielt aber auch keine wesentliche Rolle - es gibt ja weltweit auch nur 
eine einzige Stepper-Library.

von Ian (Gast)


Lesenswert?

Felix Stockinger schrieb:
> Doch ich muss eine Aussage von mir revidieren und zwar dass an den 4
> Spulen kein Strom anliegt.

Hat der denn mehr als 4 Spulen?
Oder ist der 5. Anschluß ein einpoliger Widerstand?

von Ulli B. (ulli-b)


Lesenswert?

Ian schrieb im Beitrag #2915063
> Hat der denn mehr als 4 Spulen?
> Oder ist der 5. Anschluß ein einpoliger Widerstand?

Was ist denn ein einpoliger Widerstand?

mfG
Ulli

von Ian (Gast)


Lesenswert?

Ulli B. schrieb:
> Was ist denn ein einpoliger Widerstand?

Das weiß ich doch auch nicht, wäre aber eine Erklärung für das seltsame 
Verhalten.
Man müßte mal ausprobieren, ob der Motor auch warm wird, wenn garkein 
Anschluß verdrahtet ist. Vielleicht doch ein perpetuum mobile?

von Jürgen S. (jurs)


Lesenswert?

Karl Heinz Buchegger schrieb:
> Ah. Ich liebe es, wenn Details dann sukzessive verraten werden

Na ja, immerhin hatte er in seinem ersten Posting bereits den Begriff 
"Arduino" fallen lassen.

> Ja, ich auch nicht. Ich finde noch nicht mal eine Stepper Library.
> Hack. Ich weiß ja noch nicht mal, wie diese Stepper Library heißt!
> Spielt aber auch keine wesentliche Rolle - es gibt ja weltweit auch nur
> eine einzige Stepper-Library.

Wenn er nichts dazuschreibt, welche Library, dann gehe ich jedenfalls 
ganz fest von der "offiziellen Arduino Stepper-Library" aus. Das ist 
eine extrem rudimentäre Library, die fast nix kann. Und die vermutlich 
außer Arduino-Anfängern zum Herumspielen auch niemand ernsthaft 
verwendet:
http://arduino.cc/en/Reference/Stepper?from=Tutorial.Stepper

@Felix:
Was das Abschalten des Motors betrifft. Ich habe zwar noch nie auch nur 
einen einzigen Schrittmotor programmiert, aber es würde mich überhaupt 
nicht wundern, wenn Du den Motor stromlos schalten kannst, indem Du die 
Motor-Pins allesamt auf LOW setzt.

digitalWrite(motor_pin_1, LOW);
digitalWrite(motor_pin_2, LOW);
digitalWrite(motor_pin_3, LOW);
digitalWrite(motor_pin_4, LOW);

Mit motor_pin_1 ... motor_pin_4 als die Pins, an denen Du Deinen 
Schrittmotor betreibst (mal angenommen es ist ein vierpolig 
angeschlossener).

Was meinst Du?

von Felix Stockinger (Gast)


Lesenswert?

Also

der einpolige Widerstand ist an 12V angeschlossen.
Wenn der Arduino eingeschaltet ist und der Schrittmotor steht liegt an 
den 4 Spulen jeweils eine Spannung an um den Haltewiderstand zu 
erzeugen.

Wenn ich die 4 Spulen abhänge wird der Schrittmotor nicht warm.

Aber diese Befehle zeigen überhaupt keine Wirkung auf die Spannung an 
den Spulen:

digitalWrite(motor_pin_1, LOW);
digitalWrite(motor_pin_2, LOW);
digitalWrite(motor_pin_3, LOW);
digitalWrite(motor_pin_4, LOW);

von Karl H. (kbuchegg)


Lesenswert?

Felix Stockinger schrieb:
> Also
>
> der einpolige Widerstand ist an 12V angeschlossen.
> Wenn der Arduino eingeschaltet ist und der Schrittmotor steht liegt an
> den 4 Spulen jeweils eine Spannung an um den Haltewiderstand zu
> erzeugen.
>
> Wenn ich die 4 Spulen abhänge wird der Schrittmotor nicht warm.
>
> Aber diese Befehle zeigen überhaupt keine Wirkung auf die Spannung an
> den Spulen:

Das kommt jetzt drauf an, wie die Anschlüsse konkret an den Arduino 
gemacht wurden.
Konkret geht es um die Fragestellung:
muss ich den Ausgang auf LOW oder auf HIGH schalten, damit der 
zugehörige Spulenanschluss auf 12V geschaltet wird?

Warum auf 12V?

Weil am anderen Ende jeder Spule auch 12V liegen, die fix angeschlossen 
sind. Und wenn an einer Spule an beiden Enden 12V anliegen, dann gibt es 
keine Spannungsdifferenz an den Spulenende. Wo keine Spannungsdifferenz 
ist, fliesst auch kein Strom (durch die Spule). Und wo kein Strom 
fliesst, da wird auch nichts warm.

von spess53 (Gast)


Lesenswert?

Hi

>Das kommt jetzt drauf an, wie die Anschlüsse konkret an den Arduino
>gemacht wurden.

Dürfte so aufgebaut sein wie im Link von

Beitrag "Re: Schrittmotortreiber mit Abschaltfunktion"

unter:  Circuits -> Unipolar Steppers.

MfG Spess

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
Noch kein Account? Hier anmelden.