Forum: Mikrocontroller und Digitale Elektronik 2 Schrittmotore mit Arduino - wieviele rpm erreichbar?


von Herbert P. (herb3472)


Lesenswert?

Hallo,

ich möchte mit 2 Schrittmotoren eine optische Täuschung realisieren. Auf 
beiden Schrittmotoren ist eine CD-Scheibe montiert. Die beiden Motoren 
sollen in abwechsendem Start-Stop-Betrieb so schnell rotieren, dass der 
optische Eindruck entsteht, es würden sich beide Scheiben kontinuierlich 
mit gleichbleibender Geschwindigkeit drehen. In Anlehnung an die 
Bildwechselfrequenz bei Kino und TV habe ich an 50 - 100 Hz (bzw. rpm) 
gedacht.

Hardwaremäßig möchte ich das Ganze mit einem Arduino Uno, Adafruit Motor 
Shield und 2 bipolaren Schrittmotoren (mit externer 12V-Speisung) 
realisieren. Die Hardware hat mit den Adafruit Beispielprogrammen auf 
Anhieb funktioniert, allerdings sind die Umdrehungsgeschwindigkeiten bei 
beiden Programmbeispielen derart niedrig, dass mir Bedenken gekommen 
sind, ob ich mit dieser Hardware die von mir angestrebten 
Geschwindigkeiten überhaupt erreichen kann.

Es wäre nett, wenn mir jemand einen Tip geben könnte, ob und wie ich 
diese Aufgabenstellung am besten lösen kann - vielleicht gibt es ja auch 
irgendeine Programmbibliothek mit einem adaptierbaren Beispiel...

Danke, dass Du bis hierher gelesen hast,

Herbert

von spess53 (Gast)


Lesenswert?

Hi

>Es wäre nett, wenn mir jemand einen Tip geben könnte, ob und wie ich
>diese Aufgabenstellung am besten lösen kann

Datenblatt vom Schrittmotor lesen

>Hardwaremäßig möchte ich das Ganze mit einem Arduino Uno, Adafruit Motor
>Shield und 2 bipolaren Schrittmotoren (mit externer 12V-Speisung)
>realisieren.

12V könnten zu wenig sein. Und da das Adafruit Motor Shield keinen 
Chopperbetrieb vorgesehen hat, kannst du das Ganze mit großer Sicherheit 
knicken.

MfG Spess

von Herbert P. (herb3472)


Lesenswert?

@Spess

Danke für die schnelle Antwort.

Das mit den Schrittmotoren-Spezifinkationen ist das kleinere Übel, blöd 
ist, dass der Adafruit Motor Shield keinen Chopper-Betrieb kann...denn 
davon bin ich eigentlich ausgegangen, als ich ihn gekauft habe.

Welche (preisgünstige) Alternative gäbe es? Es handelt sich lediglich um 
einen Gag (2 CD-Scheiben sind im 90Grad-Winkel ineinander verschachtelt 
und drehen sich trotzdem beide - ermöglicht durch einen radialen Schlitz 
in jeder Scheibe, durch den die jeweils andere Scheibe "durchschlüpfen" 
kann - sofern der Schlitz in der richtigen Position steht). Die beiden 
Motoren brauchen sich lediglich mit konstanter Geschwindigkeit in einer 
Richtung drehen, das allerdings im alternierenden Betrieb, damit beim 
Stillstand der einen Scheibe die andere durch den Schlitz 
"durchschlüpfen" kann.

Ich wäre auch bereit, die Hardware dafür selber aufzubauen, sofern sich 
der Aufwand (material- und zeitmäßig) in bescheidenen Grenzen hält.

MfG Herbert

von H.Joachim S. (crazyhorse)


Lesenswert?

Ich glaub, das bekommst du mit Schrittmotoren nicht hin.

von A.M.A. (Gast)


Lesenswert?

Herbert Pichler schrieb:
> Die beiden Motoren brauchen sich lediglich mit konstanter
> Geschwindigkeit in einer Richtung drehen, das allerdings im
> alternierenden Betrieb, damit beim Stillstand der einen Scheibe die
> andere durch den Schlitz "durchschlüpfen" kann.

Start-Stop Betrieb hört sich nicht wirklich nach konstanter 
Geschwindigkeit an. Bei höherer Drehzahl mögen Schrittmotoren soetwas 
überhaupt nicht. Die wollen gerne immer eine Geschwindigkeitsrampe, d.h. 
langsam starten und rechtzeitig bremsen.

von MaWin (Gast)


Lesenswert?

> Kino und TV habe ich an 50 - 100 Hz (bzw. rpm)  gedacht.

Du guckstz zu viel Fernsehen, 100 Hz sind nicht 100 rpm,
sondern 6000 rpm.

So ein Tempo kannst du mit handelsüblichen Schrittmotoren
vergessen.

Da ist meist bei 2000 Umdrehungen pro Minute Schluss.

Bei primitiver Ansteuerung (Spannung entsprechend dem
Aufdruck auf dem Motor) ist schon bei 1 Umdrehung pro
Sekunde Ende im Gelände.

Man muß den Motor mindestens mit deutlicher Überspannung
im Stromchopperbetrieb laufen lassen, und wenn du ohne
Bremsresonatorplatte in Betrieb nimmst, kommt er sowieso
lange vor Erreichen der Maximalgeschwindigkeit in Resonanz
und bleibt stehen, wenn du nicht geschickt zwischen
Halbschritt und Vollschritt umschaltest oder gleich
Mikroschritt nimmst.

Bis du deine Spielerei realisiert hast, fliesst also noch
viel Wasser die Isar herunter.

von Herbert P. (herb3472)


Lesenswert?

Danke für die Antworten.

@maWin

Dass 1 Hz = 60 rpm entsprechen, ist klar, da hab ich mich verschrieben.

Wenn beide Motoren optisch annähernd "rund" laufen sollen, sind meines 
Erachtens mindestens 200 Steps/U erforderlich - möglicherweise auch noch 
Halbschritte, aber das vergess ich vorerst einmal.

Für einen optisch annähernd sauberen "Rundlauf" würde ich wohl 50 Hz 
benötigen, bei 200 Steps/U wären das 10.000 Schritte/sec, bei 2 Motoren 
wären dafür 20.000 Programmschritte pro Sekunde erforderlich - für eine 
Steuerung ist diese Geschwindigkeit wohl ein Klacks.

Zu der mit Schrittmotoren erreichbaren Geschwindigkeit und diesem 
Projekt ganz allgemein:

ich habe sowas einmal vor Jahrzehnten auf der "electronica" in München 
(Elektronikmesse, weiß nicht, ob's die heute noch gibt) als Demo-Objekt 
für die Leistungsfähigkeit von Schrittmotoren gesehen (die kamen damals, 
Mitte der 1070-er Jahre, gerade auf den Markt). Die Scheiben waren 
damals natürlich keine CD's (die gab's ja noch nicht), aber von 
vergleichbarer Größe.

Dieses Demo-Objekt hat so verblüffend ausgeschaut (2 Scheiben, die im 
Winkel von 90° ineinander "verkeilt" waren und einander augenscheinlich 
gegenseitig blockierten - und sie drehten sich doch!), dass es mir im 
Gedächntis haften blieb und ich beschloss, so ein Ding irgendwann einmal 
nachzubauen, wenn ich Zeit für solche Spielereien haben würde - und die 
habe ich jetzt, in der Pension.

Fazit: realisierbar ist so ein Ding (das Demo-Objekt auf der Messe war 
ja keine Fata morgana), lediglich das wie und womit (welche 
Schrittmotore, welche Hard-, welche Software) ist die Frage. Damals, in 
den 70-er Jahren, steckte auch die Mikroprozessortechnik noch in den 
Kinderschuhen, die Prozessoren wurden mit einer Taktfrequenz von max. 1 
MHz betrieben (das war schon unerhört viel!), also müßte die 
Aufgabenstellung doch für die heutige Hard-/Software und auch für einen 
Mikrocontroller wie den Atmega3 eigentlich ein Klacks sein?! Und was die 
Motore anbetrifft: siehe oben. Wenn's solche Motore schon vor annähernd 
40 Jahren gab, dann wohl umsomehr heute, denke ich...?!

LG Herbert

von Herbert P. (herb3472)


Lesenswert?

Nachsatz zur erforderlichen Geschwindigkeit:

TV und Kino sind wohl kein schlechtes Beispiel für optische Täuschungen 
dieser Art.

Beim traditionellen "Zelluloid"-Projektor wurden die einzelnen Bildchen 
des Films im Projektor 24 mal pro Sekunde ruckartig weiterbewegt, dabei 
wurde die Lichtquelle kurzzeitig mit einer Flügelscheibe abgedeckt, 
damit man den Filmtransport nicht sieht. Diese Abblend-Scheibe besaß 3 
Flügel, zusätzlich zur Dunkelsteuerung während des Transports wurde 
jedes Bildchen noch 2 mal zwischendurch abgeblendet. Dies war notwendig, 
damit der Film nicht "flackerte", sondern scheinbar mit konstanter 
Helligkeit projiziert wurde. Diese Frequenz ist also offensichtlich 
erforderlich, um das menschliche Auge zu täuschen.

In Analogie dazu würde der Start-/Stop-Betrieb meiner Schrittmotore wohl 
mindestens 24 * 3 = 72 mal pro Sekunde stattfinden müssen, damit man 
kein "Ruckeln" sieht.

MfG Herbert

von Mazze (Gast)


Lesenswert?

Es könnte ja auch sein, dass du auf der Messe einer optischen Täuschung 
zum Opfer gefallen bist. Es hat sich nichts gedreht, sondern durch 
Lichteffekte entstand nur der Eindruck einer Rotation dieser beiden 
Scheiben. Im Daumenkino bewegen sich die Figuren ja auch nicht wirklich. 
War nur so eine Idee.

von Herbert P. (herb3472)


Lesenswert?

@Mazze

Nein, das war keine optische Täuschung. Als das Demo-Objekt mal wegen 
eines Stromausfalls stehen blieb, sah man (bei Stillstand) farbige 
Sektoren auf der Scheibe, die dann bei Rotation zu einer einzigen 
Mischfarbe verschmolzen.

Zur maximalen Rotationsgeschwindigkeit der Motoren: es wird wohl ein 
optimales Verhältnis von Drehmoment zu Trägheitsmoment erforderlich 
sein. Die Masse, die bewegt werden muss, besteht im Wesentlichen 
lediglich aus der Masse des Motor-Rotors. Die Masse und der 
Luftwiderstand der CD ist meines Erachtens trotz des Schlitzes 
vernachlässigbar.

Über das magnetische Verhalten von Schrittmotoren weiß ich leider gar 
nichts. Ich hatte aber mal den Auftrag, für eine Fertigungsanlage die 
Steuerung einer superschnellen Schere mittels Solenoid zu realisieren. 
Mit der 6-fachen Nennspannung (240V/ 40V) war die Schere so schnell, 
dass man mit dem Auge keinerlei Bewegung der Scherenblätter erkennen 
konnte.

Ich denke mir, dass mit entsprechend hohen Spannungspulsen auch die 
Magnetisierungskurven der Schrittmotore die erforderliche Steilheit 
erreichen könnten...vielleicht wäre es auch erforderlich, beim Stoppen 
kurzzeitig einen gegenpoligen Stop-Impuls durch die Spulen zu jagen???

Oder verrenne ich mich da jetzt komplett...???

MfG Herbert

von MaWin (Gast)


Lesenswert?

> Fazit: realisierbar ist so ein Ding

Sicher.

Der Arduino ist auch nicht das Problem, der ist schnell genug.

Nur eben keine handelsüblichen Schrittmotore,
die eben die von dir genannten 200 Schritte pro Umdrehung haben.

Hier wäre ein Motor mit 20 Schritten, der 6000 schafft
http://www.motioncontrol.com/node/2224
aber mit einer Kraft, die kein sofortiges Beschleunigen/Abbremsen
erlaubt.

6000rpm ist eher die Drehzahl von kleinen Gleichstrommotoren.

von Herbert P. (herb3472)


Lesenswert?

@MaWin

danke für den Tip, der Motor sieht schnuckelig aus, aber wenn er den 
Start-/Stop-Betrieb nicht schafft )-(

Ich hab hier einen kleinen unipolaren Stepper mit 6 Anschlüssen und 20 
Schritten aus einem IoMega Kassettenlaufwerk (zur Datensicherung) 
herumliegen, der muss meines Erachtens wohl permanent im 
Start/Stop-Modus betrieben worden sein. Allerdings kam ich mit dem 
kleinen Arduino-Stepper-Testprogramm und einem ULN2003 als Treiber-IC 
(Motor-Betriebsspannung 12V)lediglich auf eine 
Umdrehungsgeschwindigkeit, die höchstens für den Sekundenzeiger einer 
Uhr reicht(damit sich der Motor überhaupt drehte, musste ich die 
delayTime auf minimal 4 einstellen). Selbst mit delayTime = 0 wäre ich 
nicht einmal annähernd in die Gegend der Geschwindigkeit gekommen, die 
ich mir vorstelle - und das ohne Start-/Stop-Betrieb. Was habe ich 
falsch gemacht, dass da nicht mehr Speed aufkam?

LG Herbert
1
int motorPin1 = 11;
2
int motorPin2 = 9;
3
int motorPin3 = 10;
4
int motorPin4 = 8;
5
int delayTime = 4;
6
7
void setup() {
8
  pinMode(motorPin1, OUTPUT);
9
  pinMode(motorPin2, OUTPUT);
10
  pinMode(motorPin3, OUTPUT);
11
  pinMode(motorPin4, OUTPUT);
12
}
13
14
void loop() {
15
  digitalWrite(motorPin1, HIGH);
16
  digitalWrite(motorPin2, LOW);
17
  digitalWrite(motorPin3, LOW);
18
  digitalWrite(motorPin4, LOW);
19
  delay(delayTime);
20
  digitalWrite(motorPin1, LOW);
21
  digitalWrite(motorPin2, HIGH);
22
  digitalWrite(motorPin3, LOW);
23
  digitalWrite(motorPin4, LOW);
24
  delay(delayTime);
25
  digitalWrite(motorPin1, LOW);
26
  digitalWrite(motorPin2, LOW);
27
  digitalWrite(motorPin3, HIGH);
28
  digitalWrite(motorPin4, LOW);
29
  delay(delayTime);
30
  digitalWrite(motorPin1, LOW);
31
  digitalWrite(motorPin2, LOW);
32
  digitalWrite(motorPin3, LOW);
33
  digitalWrite(motorPin4, HIGH);
34
  delay(delayTime);
35
}

von MaWin (Gast)


Lesenswert?

a) Schrittmotore kann man nicht aus dem Stand sofort auf ihre maximale 
Geschwindigkeit bringen, man braucht Beschleunigungsrampen/Bremsrampen.

b) delay wartet satte Millisekunden, das sind also bei delay(1) 250 
Schritte pro Sekunde maximal und bei einem Schrittmotor mit 200 
Schriitten knapp über 1 Umdrehung pro Sekunde mit deinem Programm.

Da deiner aber angeblich weniger Schritte hat, und ein Sekundenzeiger 
eine ganze Minute für den Umlauf braucht, stimmt was anderes nicht.

c) Ein Schrittmoto ohne Last hat viele Resonanzen, und dreht dann nicht 
mehr (oder schneller oder langsamer oder zumindest holpriger). Man muß 
wie geschrieben beim Beschleunigen geschickt zwischen Vollschritt und 
Halbschritt umschalten, oder den Motor dämpfen (Stichwort 
Bremsresonatorplatte).

Lies halt was zum Thema Schrittmotoren, und wundere dich nicht, daß die 
Welt nicht so einfach ist, daß man ohne nachdenken in ihr klarkommt.

von spess53 (Gast)


Lesenswert?

Hi

>Was habe ich falsch gemacht, dass da nicht mehr Speed aufkam?

Du hast z.B. nur eine Spule bestromt.

MfG Spess

von Horst H. (horha)


Angehängte Dateien:

Lesenswert?

Hallo,

vom Prinzip her, sind die Motoren doch in einem ständigen 
Start/Stopp-Betrieb.
Während die eine Scheibe dreht muß die andere exakt stehen bleiben.
Die möglich Sart/Stoppfrequenz:
http://de.nanotec.com/glossary_220_.html
Beispielsweise ein ST4118X1404 ( ok, bräuchte 24 V )
http://de.nanotec.com/show_graph_imagick.php?product_id=425
Maximale Startdrehzahl mit äußerem Drehmoment von etwa 0,01 Nm circa 300 
U/min == 5 U/s == 1000 Schritte/s [Hz] == omega == 5*2*pi = 31,4 rad/s

Die Daten der CD aus
http://www.hochschule-bochum.de/fileadmin/media/fb_e/labore/physik/gph1/klausuren/KlausurGPhysik%201%2010.3.10.pdf
[quote]
I = ½   m  (ri² + ra²) = ½  * 0.0159 kg * (0.0075² + 0.06²) m² = 
2.9067 * 10^(-5) kg m²
≈  2.91 * 10^(-5) kg m² = 291 gcm² [/quote]

Die Beschleunigung aus dem Stand:
Die Winkelbeschleunigung alpha = M/I wäre 0,01 /2,91e-5 = 343 rad/s²
Bei 1000 Schritte/s wäre nach dem ersten Schritt omega  = 343/1000 = 
0,343 rad/s << 31,4 rad/s
Das heißt, so rotiert die CD nicht, der Motor bleibt stehen.Der Motor 
müsste dazu bei Start/Stoppfrequenz 1 Nm "über" haben.

Also hilft nur eine Rampe. Über große Drehzahlbereiche wären 0,14 Nm 
abrufbar.
Jetzt muss aber die Rotorträgheit 20 gcm² mit einbezogen werden.
I = 310 gcm². alpha = 0,14/ 3,1e-5 = 4516 rad/s²
Um einen Schrittwinkel phi 1,8 Grad = 0,031 rad zu überstreichen braucht 
es phi = 0,5*alpha*t²
t = Wurzel(2* 0,031415 / 4516 ) = 3,73 ms

Ich habe mal eine kleine Tabelle mit Rampe erstellt.
Danach könnte es theoretisch mit dem Motor möglich sein in etwa 50 ms 
eine halbe Drehung hinzubekommen.Volle + Beschleunigung, dann ein paar 
Schritte abnehmende Beschleunigung ( Der Strom müsste gesenkt werden ) 3 
Schritte  freies drehen und dann die Umkehrung langsame steigende 
Verzögerung und dann Vollbremsung.
Wenn die sich scherenden CDs zwei Schlitze haben wäre das 5 U/s also 120 
U/min.
CD1 dreht 180 Grad, bleibt dann stehen, die dreht CD2 180 Grad und so 
weiter im Wechsel.

Ach ja, zur Betromung des Schrittmotors, welche Phase wann und in 
welcher Richtung Strom erhält:
http://www.rn-wissen.de/index.php/Schrittmotoren#Phasenbeschreibung_der_Ansteuerung

von Herbert P. (herb3472)


Lesenswert?

@spess53

Muss ich mehr als eine (Teil-)Wicklung gleichzeitig ansteuern? An dem 
Arduino-Beispielprogramm (siehe Beitrag oben) habe ich diesbezüglich 
nichts geändert, war das falsch?

@Mawin

Natürlich will ich mir das Nachdenken nicht ersparen. Einer der Gründe, 
warum ich mich hier an das Forum wende, ist ja gerade der, dass ich 
nachdenke und um Anregungen ersuche.

Ich hatte noch nie was mit Schrittmotoren zu tun gehabt und bin gerade 
dabei, mich ein wenig einzulesen. Darüberhinaus war und bin ich 
neugierig. Nachdem ich die im Internet bestellten Teile endlich 
geliefert bekommen und zusammengebaut hatte, wollte ich sie natürlich 
schnellstmöglich ausprobieren. Dass man beim Lernen und Ausprobieren 
auch manchmal auf die Schnauze fällt, gehört meines Erachtens dazu und 
betrübt mich nicht - noch kein Meister ist vom Himmel gefallen.

LG Herbert

von spess53 (Gast)


Lesenswert?

Hi

>Muss ich mehr als eine (Teil-)Wicklung gleichzeitig ansteuern?

Für Vollschritt bei unipolaren Motoren, ja.

Step  Spule1  Spule2
       a  b    a  b
 1     1  0    1  0
 2     0  1    1  0
 3     0  1    0  1
 4     1  0    0  1
 5     1  0    1  0
 .....

MfG Spess

von Herbert P. (herb3472)


Lesenswert?

Mir ist vorhin bei dem Beispielprogramm ein Fehler bezüglich der 
Drehzahl unterlaufen: die Drehzahl von ca. 1U/sec war nicht  bei 
delaytime = 2, sondern bei delayTime = 500. Trotzdem war auch die 
maximale Rotationsgeschwindigkeit "furchtbar" niedrig.

Ob und wie ich bei meinem Projekt mit den 2 aufeinander im rechten 
Winkel stehenden CD-Motoren weitermachen kann und soll, dafür fehlt mir 
im Augenblick der Plan. Wenn der Adafruit Motor Shield keinen 
Chopper-Betrieb zuläßt, werde ich mir wohl einen Selbstbau überlegen 
müssen. Soll ich dazu ICs verwenden (L293,...) oder soll ich besser 
C-Mos-Logik 4xxx und H-Bridges mit Transistoren verwenden?


Herbert

von spess53 (Gast)


Lesenswert?

Hi

>Soll ich dazu ICs verwenden (L293,...)

nicht diese Oldtimer

>oder soll ich besser C-Mos-Logik 4xxx und H-Bridges mit Transistoren
>verwenden?

Nimm einen ordentlichen Treiber. Passende ICs findest du bei ST, Allegro 
MicroSystems, Trinamic ....

Und schaff dir (einen) vernüftige(n) Motor(en) an.

MfG Spess

von Herbert P. (herb3472)


Lesenswert?

@ spess53

Danke für die Aufklärung bezüglich Ansteuerung unipolarer Stepper und 
für die Tips bezüglich Treiber.

Zur Vermeidung von Missversständnissen:

Das eine, zuletzt behandelte Thema mit dem unipolaren Schrittmotor ist 
für mich als Lernthema interessant, jedoch nicht mehr. Der (langsame) 
unipolare Schrittmotor dient lediglich zu "Gehversuchen" und zu 
rudimentären Lern- und Testzwecken, an einen realen Einsatz ist nicht 
gedacht.

Bei dem anderen Thema mit den 2 bipolaren Schrittmotoren und dem 
Adafruit Motor Shield (falls es dafür geeignet ist) handelt es sich um 
mein eigentliches Projekt.

Die Schrittmotore, die ich dafür im Internet bei Physical COmputing 
Austria erworben habe, scheinen mir ganz vernünftig zu sein:

http://www.physicalcomputing.at/shop/article_A-1107100/Stepper-Motor-Bipolar.html?shop_param=cid%3D10%26aid%3DA-1107100%26

Bipolarer Stepper, Schrittwinkel 1,8°, 2 Phasen, Nennspannung: 12V, 
Nennstrom: 0,33A, Haltemoment: 2,3Ncm´, Wellendurchmesser 5mm


Ich habe gestern die Sendung mit der Post bekommen und mußte natürlich 
den frisch zusammengelöteten Adafruit Motor Shield mit den beiden 
Motoren ausprobieren. Dafür habe ich ein Beispielprogramm aus der 
Adafruit Motor Shield Library "AFmotor" verwendet. Der eine Motor dreht 
damit sehr langsam, der andere schwenkt langsam hin und her. Eine ganz 
nette Anschauungs-Spielerei, aber weit weg von der von mir geplanten 
Applikation.

Meine Suche nach einem für mich annähernd brauchbaren 
arduino-Beispielprogramm mit 2 scheinbar "gleichzeitig" schnelllaufenden 
Steppern im Chopperbetrieb ist vorerst ergebnislos verlaufen, weshalb 
ich diesen Thread eröffnet habe.

Leider musste ich hier (weiter oben) erfahren, dass - wahrscheinlich 
oder sicher (???) - das Adafruit Motor Shield nicht für scheinbar 
"gleichzeitigen" Chopperbetrieb zweier Stepper geeignet ist.

Im Moment weiß ich eigentlich nicht so recht, wie ich weitermachen soll. 
Soll ich mich damit auseinandersetzen, eine neue Treiberhardware zu 
basteln? Kann ich damit und mit meinen Motoren auf die gewünschten 
Drehzahlen im Start-/Stop-Betrieb kommen? Oder soll ich das Projekt auf 
Eis legen bzw. überhaupt verwerfen (ebay: "arduino Uno V3, adaFruit 
Motor Shield, Breadboard, 2 Netzteile und 2 Schrittmotore, neuwertig und 
funktionsgeprüft günstig von Privat abzugeben")? Wo finde ich 
kostengünstige und verständlich geschriebene Literatur (möglichst in 
Deutsch, zur Not auch englisch), die mir nicht nur Zeit und Nerven raubt 
und mein Geldbörserl belastet, etc. etc......

MfG Herbert

von Herbert P. (herb3472)


Lesenswert?

@spess53

also ich hab jetzt die Ansteuerung des unipolaren Steppers entsprechend 
Deiner obigen Tabelle geändert (sofern ich keinen Mist reingebaut 
habe...), aber jetzt rührt sich gar nichts mehr..der Motor zittert 
lediglich vor Angst, sich drehen zu müssen, im Stand. Wo liegt der 
Fehler?

LG Herbert
1
int motorPin1 = 11;
2
int motorPin2 = 9;
3
int motorPin3 = 10;
4
int motorPin4 = 8;
5
int delayTime = 4;
6
7
void setup() {
8
  pinMode(motorPin1, OUTPUT);
9
  pinMode(motorPin2, OUTPUT);
10
  pinMode(motorPin3, OUTPUT);
11
  pinMode(motorPin4, OUTPUT);
12
}
13
14
void loop() {
15
  digitalWrite(motorPin1, HIGH);
16
  digitalWrite(motorPin2, LOW);
17
  digitalWrite(motorPin3, HIGH);
18
  digitalWrite(motorPin4, LOW);
19
  delay(delayTime);
20
  digitalWrite(motorPin1, LOW);
21
  digitalWrite(motorPin2, HIGH);
22
  digitalWrite(motorPin3, HIGH);
23
  digitalWrite(motorPin4, LOW);
24
  delay(delayTime);
25
  digitalWrite(motorPin1, LOW);
26
  digitalWrite(motorPin2, HIGH);
27
  digitalWrite(motorPin3, LOW);
28
  digitalWrite(motorPin4, HIGH);
29
  delay(delayTime);
30
  digitalWrite(motorPin1, HIGH);
31
  digitalWrite(motorPin2, LOW);
32
  digitalWrite(motorPin3, LOW);
33
  digitalWrite(motorPin4, HIGH);
34
  delay(delayTime);

von spess53 (Gast)


Lesenswert?

Hi

>Wo liegt der Fehler?

Schwer zu sagen. Passt deine Stromversorgung, Verkabelung?

>Die Schrittmotore, die ich dafür im Internet bei Physical COmputing
>Austria erworben habe, scheinen mir ganz vernünftig zu sein:

Leider findet sich dazu kein richtiges Datenblatt.

MfG Spess

von MaWin (Gast)


Lesenswert?

> der Motor zittert lediglich vor Angst, sich drehen zu müssen,
> im Stand. Wo liegt der Fehler?

In deiner absoluten Ignoranz die schon gemachten Beiträge zu lesen, zu 
verstehen und zu befolgen.

> Die Schrittmotore, die ich dafür im Internet bei Physical COmputing*
> Austria erworben habe, scheinen mir ganz vernünftig zu sein:

Für 6000 rpm ? Sicher nicht. MTS2b 
http://opis.cz/mechtex/pdf/Mechtex%20catalouge.pdf

von Herbert P. (herb3472)


Lesenswert?

@Horst Hahn

leider habe ich Deinen Beitrag erst jetzt bemerkt...ich kann mir 
eigentlich gar nicht vorstellen, dass ich Deinen Beitrag übersehen 
hätte. Ist es möglich, dass Beiträge zeitverzögert ins Netz gestellt 
werden?
Danke für die sehr ausführliche Darlegung der Zusammenhänge, ich werde 
mir Deinen Beitrag exzessiv zu Gemüte führen

@MaWin

>In deiner absoluten Ignoranz die schon gemachten Beiträge zu lesen, zu
verstehen und zu befolgen.

Sofern Du "Ignoranz" nicht als Beleidigung gedacht hast, sondern im 
ursprünglichen Sinn des Wortes ("Unwissenheit"), gebe ich Dir 
recht...das Thema "Schrittmotore" ist für mich absolutes Neuland.


Die Beiträge habe ich alle (bis auf den von Horst Hahn, den ich erst 
jetzt entdeckt habe) gelesen und - soweit es den kleinen Versuchsaufbau 
mit dem ULN2003 anbetrifft, auch verstanden und befolgt - leider bisher 
mit negativem Erfolg, Nach der Modifikation des Sketches (gleichzeitige 
Ansteuerung von 2 Wicklungen, siehe Beitrag von spess53 weiter oben und 
meine Umsetzung im Sketch lt. vorvorigen Beitrag) dreht sich der Motor 
nicht mehr, und ich weiß nicht, ob ich da was missverstanden oder 
irrtümlich in meiner Unwissenheit (="Ignoranz")falsch umgesetzt habe. 
Dieser Versuchsaufbau ist mir aber weniger wichtig (wie schon oben 
gesagt), hauptsächlich geht es mir um das Projekt mit den 2 CD-Scheiben

Ich werde mir jetzt erst einmal den Beitrag von Horst Hahn ausführlich 
zu Gemüte führen und die diversen Links, die mir von verschiedenen 
Seiten genannt wurden, aufsuchen.

Vorerst einmal herzlichen Dank an Euch Alle für Euer Engagement,

Herbert

von Herbert P. (herb3472)


Lesenswert?

@MaWin

Der Motor, "der vor Angst zittert", ist nicht der, der sich mit 6000 rpm 
drehen sollte, sondern lediglich ein kleiner unipolarer Zwerg, der mit 
einem Mini-Sketch (siehe oben) lediglich für Lernzwecke ziemlich 
rustikal angesteuert wird. Im übrigen empfinde ich Deine Ausdrucksweise 
als etwas rüde, unhöflich und daher hier unangebracht.

LG Herbert

von Herbert P. (herb3472)


Lesenswert?

Hallo,

einen kleinen Schritt bin ich weitergekommen.

Damit keine Missverständnisse mehr aufkommen (ich habe hier eigentlich 2 
Themen parallel behandelt) habe ich Thema 1, den kleinen unipolaren 
Stepper, den ich mit dem weiter oben gelisteten Mini-Sketch betrieben 
habe und der nach der Sketch-Modifikation gezittert hat, vorerst einmal 
auf die Seite gelegt.

Beim Thema 2, den zwei ineinander scherenden CD-Scheiben, bin ich einen 
kleinen Schritt weiter gekommen:

Ich habe ein Datenblatt meiner Motoren gefunden. Es handelt sich um den
Sparkfun Mercury Motor SM 42BYG011-25. Ob das ein für meine Zwecke 
"vernünftiger" Motor oder "Schrott" ist, kann ich mangels Sachkenntnis 
über Schrittmotoren und mechanische Gesetzmäßigkeiten nicht beurteilen. 
Vielleicht kann das hier jemande beurteilen (das Datenblatt ist nicht 
gerade üppig)

@Horst Hahn:
ich bedanke mich für den großen Aufwand, den Du für meine Angelegenheit 
aufgewendet hast, sehr herzlich. Ich kann Deine umfangreichen 
Berechnungen lediglich rudimentär nachvollziehen, aber wenn ich Dich 
richtig verstanden habe, benötige ich für meine Motore wesentlich 
weniger Umdrehungen/Minute als ursprünglich angenommen. Die Berechnungen 
bezüglich CD als Last habe ich leider nicht verstanden - laienhaft 
gedacht sollte die Masse der CD und deren Luftwiderstand bei der 
angestrebten Rotationsgeschwindigkeit doch vernachlässigbar klein sein, 
oder ist das ein fataler Irrtum? Dein Beitrag war sehr 
umfangreich,etliches konnte ich bisher nur überfliegen Lt 
SchrittTest.xls wäre das Trägheitsmoment der CD größer als das des 
Rotors - habe ich das so richtig verstanden? (Nur am Rande angemerkt: 
die Datei enthält einen Zirkelbezug.

Das mit der Rampensteuerung beim Starten/Stoppen leuchtet mir ein. Aber 
gibt es dafür irgendeine Library oder Beispielprogramme, an denen ich 
mich anlehnen kann? Und wie sollte die Hardware (zumindest grob) 
ausschauen? "Passende Treiber findest Du bei XYZ..." (Zitat MaWin) 
bringt mich leider nicht weiter, soviel Lebenszeit habe ich gar nicht 
mehr, bis ich auf diese Art und Weise was Passendes gefunden 
hätte...denn was ist "passend"???

LG Herbert

von spess53 (Gast)


Lesenswert?

Hi

>Das mit der Rampensteuerung beim Starten/Stoppen leuchtet mir ein. Aber
>gibt es dafür irgendeine Library oder Beispielprogramme, an denen ich
>mich anlehnen kann?

http://www.atmel.com/Images/doc8017.pdf
http://www.atmel.com/Images/AVR446.zip

>Und wie sollte die Hardware (zumindest grob) ausschauen?

Am einfachsten du nimmst etwas fertiges:

http://www.watterott.com/de/Schnittstellen/Motorsteuerungen/Schrittmotor

MfG Spess

von Herbert P. (herb3472)


Lesenswert?

@Spess

Herzlichen Dank für Deine Tips. Bezüglich Hardware bei Watterott: 
welche(r) Schrittmotor-Steuerbaustein(e) wäre(n) wohl für meine Zwecke 
(am besten) geeignet? (2 bipolare Motore - womöglich die, die ich schon 
habe, mit 200 Steps/U siehe oben - mit ständig wechselndem, 
alternierenden Start-/Stop-Betrieb)?

MfG Herbert

von spess53 (Gast)


Lesenswert?

Hi

>Hardware bei Watterott:
>welche(r) Schrittmotor-Steuerbaustein(e) wäre(n) wohl für meine Zwecke
>(am besten) geeignet? (2 bipolare Motore - womöglich die, die ich schon
>habe, mit 200 Steps/U siehe oben - mit ständig wechselndem,
>alternierenden Start-/Stop-Betrieb)?

Ist eigentlich egal. Die Treiber können alle Schrittfrequenzen bis 
500kHz ab. Und bei den Modulen hast du nur die Wahl zwischen einfach und 
vierfach Treiber.

MfG Spess

von Herbert P. (herb3472)


Lesenswert?

@Spess & alle anderen

Herzlichen Dank an Euch alle. Habe heute soviele Informationen erhalten, 
dass ich das erst einmal verarbeiten muss.

Schönen Abend noch,

Herbert

von Werner A. (Gast)


Lesenswert?


von Florian D. (floriano)


Lesenswert?

Verwende Motoren aus CD-Laufwerken und Modellbauregler.


     mFg. Modellbauer

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.