Schrittmotortreiber mit Abschaltfunktion

OP #2914924
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
Gast #2914941
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.
OP #2914946
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.
#2914990
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.
OP #2915015
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
OP #2915035
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.
#2915043
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.
Gast #2915128
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?
#2915195
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?
Gast #2916366
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);
#2916387
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.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren