Forum: Mikrocontroller und Digitale Elektronik 2 Schrittmotoren mit Adafruit Motor Shield im alternierenden Start-Stop-Betrieb, geht das?


von Herbert P. (herb3472)


Lesenswert?

Hallo,

ich möchte zwei bipolare Schrittmotoren mit dem Adafruit Motor Shield, 
den ich soeben zusammen gebastelt habe, so betreiben, dass abwechselnd 
jeder der beiden Motoren eine ganze Umdrehung macht und dann stoppt, 
während der andere Motor eine Umdrehung macht. Dann stoppt der zweite 
Motor und der erste dreht sich wieder, usw. und so fort. Das Ganze soll 
relativ schnell ablaufen, damit das Auge des Betrachters die wechselnden 
Start-/Stop-Bewegungen nicht mitbekommt.

Vergangene Woche wurde ich in einem anderen Thread darauf hingewiesen, 
dass das Adafruit Motor Shield keinen alternierenden Chopperbetrieb 
leisten kann. Nun habe ich in der Adafruit Library ein Beispielprogramm 
"AFMotor_MultiStepper.pde" gefunden und ausprobiert, mit dem 2 Stepper 
unabhängig voneinander bewegt werden: der eine dreht mit konstanter 
Geschwindigkeit in einer Richtung, der andere kehrt nach 1/4 Drehung die 
Drehrichtung um und beschleunigt/ verzögert dabei wie ein Pendel. 
Offensichtlich läßt sich also doch mit dem Adafruit Motor Shield ein 
voneinander (annähernd) unabhängiger Betrieb zweier Stepper durchführen:
1
// MultiStepper
2
// -*- mode: C++ -*-
3
//
4
// Control both Stepper motors at the same time with different speeds
5
// and accelerations. 
6
// Requires the AFMotor library (https://github.com/adafruit/Adafruit-Motor-Shield-library)
7
// And AccelStepper with AFMotor support (https://github.com/adafruit/AccelStepper)
8
// Public domain!
9
10
#include <AccelStepper.h>
11
#include <AFMotor.h>
12
13
// two stepper motors one on each port
14
AF_Stepper motor1(200, 1);
15
AF_Stepper motor2(200, 2);
16
17
// you can change these to DOUBLE or INTERLEAVE or MICROSTEP!
18
// wrappers for the first motor!
19
void forwardstep1() {  
20
  motor1.onestep(FORWARD, SINGLE);
21
}
22
void backwardstep1() {  
23
  motor1.onestep(BACKWARD, SINGLE);
24
}
25
// wrappers for the second motor!
26
void forwardstep2() {  
27
  motor2.onestep(FORWARD, SINGLE);
28
}
29
void backwardstep2() {  
30
  motor2.onestep(BACKWARD, SINGLE);
31
}
32
33
// Motor shield has two motor ports, now we'll wrap them in an AccelStepper object
34
AccelStepper stepper1(forwardstep1, backwardstep1);
35
AccelStepper stepper2(forwardstep2, backwardstep2);
36
37
void setup()
38
{  
39
    stepper1.setMaxSpeed(200.0);
40
    stepper1.setAcceleration(100.0);
41
    stepper1.moveTo(24);
42
    
43
    stepper2.setMaxSpeed(300.0);
44
    stepper2.setAcceleration(100.0);
45
    stepper2.moveTo(1000000);
46
    
47
}
48
49
void loop()
50
{
51
    // Change direction at the limits
52
    if (stepper1.distanceToGo() == 0)
53
  stepper1.moveTo(-stepper1.currentPosition());
54
    stepper1.run();
55
    stepper2.run();
56
}

Im Moment stehe ich an, weil die AccelStepper Class Reference, die bei 
der AccelStepper Library dabei ist, sehr dürftig ist (z.B. keine 
Syntax-Beispiele), und noch dazu in Englisch (mein conversational 
English ist nicht ganz schlecht, aber beim technical English hapert's 
bei mir ein bißchen). Leider hat meine Suche nach ergänzender Literatur 
nichts ergeben - hat da vielleicht wer einen Tip für mich?

Oder stimmt es vielleicht doch, dass das Adafruit Motor Shield für mein 
Projekt ungeeignet ist? Dann wäre die Beschäftigung mit dieser Library 
leere Kilometer für mich, denn außer der einen, oben genannten 
Applikation möchte ich im Augenblick keine anderen Projekte mit 
Schrittmotoren durchführen.


MfG Herbert

von Karl H. (kbuchegg)


Lesenswert?

Herbert P. schrieb:

> unabhängig voneinander bewegt werden: der eine dreht mit konstanter
> Geschwindigkeit in einer Richtung, der andere kehrt nach 1/4 Drehung die
> Drehrichtung um und beschleunigt/ verzögert dabei wie ein Pendel.
> Offensichtlich läßt sich also doch mit dem Adafruit Motor Shield ein
> voneinander (annähernd) unabhängiger Betrieb zweier Stepper durchführen:

Die eigentliche Kernfrage ist für mich:
In welchem Zeitraum?

Das man einen Schrittmotor so ansteuern kann, dass er einen darauf 
aufgebauten Stab wie ein Pendel hin und her schwingt, beeindruckt mich 
jetzt nicht wirklich.

Interessant wird das ganze erst dann, wenn das Pendel in der Sekunde 500 
Pendelschwingungen ausführt.

Denn ich denke genau da wird bei deiner 'Anwendung' das eigentliche 
Problem sein: Du hast träge Massen und damit die Schlitze ineinander 
greifen können wenn die Schlitze nicht allzu breit sein sollen, müssen 
die Motoren ständig beschleunigen und abbremsen. Da liegt (wenn ich dich 
richtig verstanden habe) der Knackpunkt. Denn ansonsten könntest du auch 
einfach nur entsprechende Sektoren aus den CD ausschneiden und beide CD 
mit einem fixen  Getriebe so miteinander verbinden, dass das 
Ineinandergreifen garantiert ist und das ganze mit nur 1 Motor 
antreiben.

Dass man den Motoren wechselweise immer wieder ein paar Schritten 
vorgibt, quasi wie einem Esel, dem man eine Karotte vorhängt, wird 
sicherlich nicht das große Problem sein.

von Herbert P. (herb3472)


Lesenswert?

@Karl Heinz

Selbstverständlich ist die Geschwindigkeit letztendlich der Knackpunkt. 
Aber bisher hat mir noch niemand eindeutig sagen können, wie hoch die 
maximale Geschwindigkeit wirklich sein muss, damit man das Auge täuschen 
kann und der Betrachter den ständigen Start-/Stop-Betrieb nicht mehr 
mitbekommt.

Meines Erachtens lässt sich das sowieso nur empirisch ermitteln, indem 
man mit einem entsprechenden Testprogramm die maximale Geschwindigkeit 
bis zum technisch möglichen Grenzwert erhöht.

Die 3 Fragen, die sich mir aber im Augenblick aktuell stellen, sind die:

1. Kann man einen solchen alternierenden Start/-Stop-Betrieb von 2 
Schrittmotoren grundsätzlich mit dem Adafruit Motor Shield realisieren, 
oder ist der Adafruit Motor Shield für solch einen "Chopper-Betrieb" 
tatsächlich ungeeignet, wie letzten Sonntag hier im Forum behauptet 
wurde?

2. Ist es grundsätzlich denkbar, dass die oben beschriebenen Motoren 
(200 Schritte/U) im ständigen Start-/Stop-Betrieb (ggf. mit 
Beschleunigung und Verzögerung) eine (nicht näher definierte) 
Geschwindikeit erreichen, dass das Auge den Start-/Stop-Betrieb nicht 
mehr mitbekommt, oder sind sie in jedem FAll zu langsam?

4. Gibt es für die arduino-Sketchsprache und die AFMotor- und 
AccelStepper Libraries Literaturempfehlungen über die mitgelieferten 
Beispielprogramme hinaus?

Mfg Herbert

von spess53 (Gast)


Lesenswert?

Hi

>1. Kann man einen solchen alternierenden Start/-Stop-Betrieb von 2
>Schrittmotoren grundsätzlich mit dem Adafruit Motor Shield realisieren,
>oder ist der Adafruit Motor Shield für solch einen "Chopper-Betrieb"
>tatsächlich ungeeignet, wie letzten Sonntag hier im Forum behauptet
>wurde?

Mach dich doch mal selbst schlau. Da sind zwei blanke L293D ohne 
Sense-Widerstände drauf. Also keine Strommessung, die für 
Chopperbetrieb notwendig ist.

>2. Ist es grundsätzlich denkbar, dass die oben beschriebenen Motoren
>(200 Schritte/U) im ständigen Start-/Stop-Betrieb (ggf. mit
>Beschleunigung und Verzögerung) eine (nicht näher definierte)
>Geschwindikeit erreichen, dass das Auge den Start-/Stop-Betrieb nicht
>mehr mitbekommt, oder sind sie in jedem FAll zu langsam?

Könnte man ausrechnen, wenn man ordentliche Daten von den Schrittmotoren 
und dem Rest hätte. Mit den verfügbaren Informationen kann dir niemand 
etwas sagen.

MfG Spess

von Herbert P. (herb3472)


Lesenswert?

@Spess

>Mach dich doch mal selbst schlau.

Das tue ich ja unter anderem auch dadurch, dass ich mich mit meinen 
offenen Fragen an dieses Forum wende.

>Da sind zwei blanke L293D ohne Sense-Widerstände drauf.
>Also keine Strommessung, die für Chopperbetrieb notwendig ist.

Woher sollte ich wissen, dass es 1. Sense-Widerstände gibt, die 2. für 
einen Chopperbetrieb notwendig sind? Vor einem Monat habe ich noch nicht 
einmal gewusst, ob "arduino" ein italienisches Schimpfwort ist, oder ob 
man es essen kann! Und mit Schrittmotoren setze ich mich exakt seit 
einer Woche auseinander.

Wenn ich schon mehr über diese Materie wüsste, würde ich hier 
wahrscheinlich keine Fragen stellen, sondern Fragen beantworten. Ein 
Leitsatz der Kommunikationslehre lautet übrigens: " Es gibt keine blöden 
Fragen, lediglich blöde Antworten". Ich werde doch hoffentlich nicht 
Mechatronik studieren müssen, um hier im Forum Fragen zu meinem 
Bastelprojekt stellen zu dürfen? Googeln allein hilft manchmal nicht 
weiter, man braucht schon manchmal auch gute Tips - zumindest, wo man 
was nachschlagen kann, um sich in dem Irrgarten an Informationen 
zurechtzufinden.

>Könnte man ausrechnen, wenn man ordentliche Daten von den Schrittmotoren
>und dem Rest hätte.

Was, bitte, sind "ordentliche Daten von den Schrittmotoren"? Der Link 
zum Datenblatt der Schrittmotoren steht weiter oben. Die Motoren sind 
von SparkFun und sind offensichtlich weit verbreitet, wie ich beim 
googeln feststellen konnte. Leider konnte ich bisher keine Diagramme 
finden - was nicht heißen muss, dass es sie nicht gibt.

Was mit "dem Rest" gemeint ist, ist mir unklar...denn mehr als den 
arduino, das AdaFruit Motor Shield, die Schrittmotoren, 2 CD's mit 
Schlitz und ein Conrads Schaltnetzteil 3,3 - 12V einstellbar/ 1,5 A 
Nennstrom gibts' derzeit nicht.

>Könnte man ausrechnen....

Man könnte lediglich ausrechnen, auf welche Rotationsgeschwindigkeit man 
mit dieser oder jener Hardware kommen könnte. Aber nicht, welche 
Geschwindigkeit man benötigt, um die von mir bezweckte Sinnestäuschung 
zu erreichen.

Ob der "Zaubertrick" funktioniert, läßt sich letztendlich wohl nur Live 
am Modell durch Versuch und Irrtum austesten. Die außer der 
Rotationsgeschwindigkeit maßgeblichen Parameter für die angestrebte 
Sinnestäuschung sind viel zu komplex, um sie in eine Berechnung 
einfließen zu lassen.

>Mit den verfügbaren Informationen kann dir niemand etwas sagen.

Das glaube ich ehrlich gesagt nicht. Denn erstens hast Du mir mit dem 
Hinweis auf die Strommessung schon geholfen, und zweitens suche ich hier 
eigentlich keine hochgradigen technischen Spezifikationen und keine 
mathematischen Rechenspiele von Spezialisten, sondern in erster Linie 
eher einfach gestrickte Tips von Praktikern, die mich als Bastler auf 
den Weg bringen, und Anregungen, wie ich meinen arduino-Sketch am Besten 
anlegen soll (bekanntlich führen ja mehrere Wege nach Rom).

Ob ich allerdings mit meinen Anliegen hier gut aufgehoben bin, weiß ich 
nicht, das wird sich ja herausstellen. SO, mittlerweile ist Mitternacht 
weit vorbei, ich wünsche Allen eine gute Nacht!

MfG Herbert

von Werner A. (Gast)


Lesenswert?

Herbert P. schrieb:
> Leider hat meine Suche nach ergänzender Literatur
> nichts ergeben - hat da vielleicht wer einen Tip für mich?

Einige Tips wurden wurden in deinem anderen Beitrag zu dem Thema schon 
genannt:
Beitrag "2 Schrittmotore mit Arduino - wieviele rpm erreichbar?"

von spess53 (Gast)


Angehängte Dateien:

Lesenswert?

Hi

>Das tue ich ja unter anderem auch dadurch, dass ich mich mit meinen
>offenen Fragen an dieses Forum wende.

Du meinst, das man dir das hier alles vorkaut?

Z.B. hast du das Stichwort Chopperbetrieb am 18.5. bekommen. Bis heute 
wusstest du aber noch immer nicht, was das ist. Gurgel liefert mit den 
Stichworten 'Schrittmoter Chopper' fast 16000 Ergebnisse. Und da sollte 
nichts dabei sein, das deine Kenntnisse erweitert?

>Was, bitte, sind "ordentliche Daten von den Schrittmotoren"? Der Link
>zum Datenblatt der Schrittmotoren steht weiter oben.

Das ist eine Zeichnung den Abmessungen. Ein Datenblatt sieht mindestens 
so wie im Anhang aus.

>Ob ich allerdings mit meinen Anliegen hier gut aufgehoben bin, weiß ich
>nicht, das wird sich ja herausstellen.

Da hast du möglicherweise Recht. Im allgemeinen wird hier etwas mehr 
Eigeninitiative erwartet.

MfG Spess

von Horst H. (horha)


Lesenswert?

Hallo,

ich habe wohl nicht klar gemacht, wozu meine Exceltabelle eigentlich 
gedacht war.
Du konnst dort das Rotorträgheitsmoment und das zur Verfügung stehende 
Drehmoment eintragen (vereinfacht als konstant angenommen , also das 
kleinste nehmen was vorkommt oder raten ( Praktiker ? Versuch macht klug 
;-) ) zum Beispiel bei deinem Motor mal 10% vom Haltemoment nehmen und 
langsam steigern.
Die Tabelle berechnet Dir dann die dt-Werte, die Du ja brauchst.
Die Zeiten sind sysmmetrisch zu 90 Grad. Die Zeiten 0..90 Grad sind auch 
die Zeiten 90..180 Grad, nur das dt(90+80)= dt(90-80))= dt(10) ist.

von MaWin (Gast)


Lesenswert?

> Offensichtlich läßt sich also doch mit dem Adafruit Motor Shield ein
> voneinander (annähernd) unabhängiger Betrieb zweier Stepper durchführen:

Offensichtlich hast du nicht verstanden, was Chopperbetrieb ist.

Immerhin zeigt die Spess ein Datenblatt zu einem Motor.
An dem erkennst du
1. daß sie keine 6000 upm schaffen
2. Daß der schnellste von allen ein 3.06V Motor ist, der an 24V 
betrieben wird.

Einfaches nachdenken ergibt, daß an 24V wohl der Strom zu hoch werden 
würde und ein 3.06V Motor stirbt.

Also klappt 24V am 3.06V Motor nur, wenn der Strom begrenzt wird.

Eben im Chopperbetrieb durch PWM der Schrittmotor-Endstufe.

Das kann deine Adadingsbums nicht.
Ob die vorgefertoge Software auch nur annähernd schnell genug wäre für 
6000 upm ist auch noch offen. Ein AVR schafft es jedenfalls.

von Horst H. (horha)


Lesenswert?

Hallo,

Vom Prinzip her kannst Du locker die zwei Motoren ansteuern, denn es 
immer nur einer in Bewegung.
1
//dies wäre die Schleife für die zwei CDs mit zwei Schlitzen
2
void loop()
3
{
4
stepper1.setCurrentPosition(0);
5
stepper1.runToNewPosition(100);//blocking-> erst bei erreichen der Position macht das Programm weiter.
6
stepper2.setCurrentPosition(0);
7
stepper2.runToNewPosition(100);}

Aus 
http://www.open.com.au/mikem/arduino/AccelStepper/AccelStepper_8h_source.html
1
// The fastest motor speed that can be reliably supported is 4000 steps per
2
// second (4 kHz) at a clock frequency of 16 MHz. However, any speed less than that
3
// down to very slow speeds (much less than one per second) are also supported,
4
// provided the run() function is called frequently enough to step the motor
5
// whenever required for the speed set.

4000 Schritte pro Sekunde sind bei 200 Schritten pro Umdrehung schon 20 
U/s.
Ich würde ersteinmal eine geschlitzte CD an einem Motor befestigen 
testen wie schnell das mit dem Motor funktioniert, Du hast die Teile ja 
da.
Erst die maximale Beschleunigung ermitteln.
Als maximale Geschwindigkeit( setmaxspeed ) etwas kleineres eingeben so 
um 300 U/min = 5 U/s = 1000 Schritte pro Sekunde.
Dann in einer Schleife mit Tastenabfrage und Ausgabe der momentanen 
Beschleunigung den Wert der Beschleunigung allmählich erhöhen
1
...
2
newaccel = newaccel+1000.0;// 1000 steps/s² sind 5*2*pi() Rad/s^2=  Beschleunigungszuwachs 
3
stepper1.setAcceleration(newaccel);
4
stepper1.setCurrentPosition(0);
5
stepper1.runToNewPosition(1100);//5.5 Runden damit man sieht,dass es sich noch bewegt.
6
..
Wenn der Motor stehen bleibt oder Schritte verliert, ist die maximale 
Beschleunigung überschritten.
Mal schauen was dabei raus kommt.

von Herbert P. (herb3472)


Lesenswert?

@Alle

Danke für Euer Engagement für meine Sache. Das mit dem Chopperbetrieb 
war ein Missverständnis, ich dachte beim abwechselnden Betrieb zweier 
Motoren an den Chopperbetrieb beim Oszilloskop. Mittlerweile bin ich 
diesbezüglich ein wenig gescheiter geworden, obwohl wirklich viel konnte 
ich weder bei RN noch bei Wikipedia zu diesem Thema herauslesen. Dafür, 
dass ich nicht 16.000 gegoogelte Einträge nach Relevanz überprüfen kann, 
sondern mehr oder weniger nach dem Zufallsprinzip einige wenige 
heruaspicke, die mir lesenswert erscheinen, ersuche ich um Verständnis. 
Dass Strommess-Widerstände erforderlich sind, ging für mich aus den 
Beiträgen in RN und Wikipedia nicht zwingend hervor. Wie ich 
mittlerweile herausgefunden habe, gibt es offensichtlich verschiedene 
Versionen vom Adafruit Motor Shield Board. PWM können offensichtlich 
alle, ob es welche mit Strommesswiderständen gibt, und welche Version 
ich habe, werde ich erst herausfinden können, wenn ich Zeit dafür 
erübrigen kann.

Leider kann ich mit mechanischen Daten (Datenblätter Schrittmotore, 
Tabelle Dreh- und Trägheitsmomente) nicht viel anfangen, dafür fehlen 
mir (noch) die Voraussetzungen. Ich bedanke mich jedoch sehr herzlich 
dafür - irgend wann werd ich das schon noch kapieren, ich muss mich 
damit aber sicher eine ganze Weile auseinandersetzen.

@Horst Hahn:

SUUUPER!!! Du hast Dir da ja wirklich richtig Mühe gegeben, ein 
Wahnsinn!!! Werde das gleich ausprobieren, sobald ich Zeit dafür habe, 
und berichten! DANKE!!!

Bis dann,

Herbert

von Herbert P. (herb3472)


Lesenswert?

@ Horst Hahn

Hab einmal den ersten Sketch ausprobiert.....mit den jetzigen 
12V-Motoren und jeweils einer Umdrehung (200 Schritten) pro Motor ist 
mit Acceleration(300.0) und maxSpeed(5000.0) ziemlich Ende der 
Fahnenstange mit den 12V Motoren bei 12V. Es war klar, dass ich damit 
keinen Geschwindigkeitsrekord erreichen würde, aber sooo langsam hatte 
ich mir das auch wieder nicht vorgestellt. Werde das aber noch mit 24 V 
probieren, bevor ich neue Motoren (und neue Treiber) bestelle.

Wer hat da einen Tip für mich, damit ich nicht wieder was Falsches 
einkaufe?

@Spess
Wo bekomme ich die KH42-Motoren (hab die nirgendwo gefunden). Gehe ich 
richtig in der Annahme, dass der KH42-951 der Motor meiner Wahl wäre? 
und wo bekomme ich den (hab die KH42-Motoren weder in Google noch bei 
einem mir bekannten Distributor noch bei ebay gefunden)?

Wären nicht vielleicht doch bipolare 24-Schritt-Motoren für diese 
Anwendung vorzuziehen?

MfG Herbert

von Herbert P. (herb3472)


Lesenswert?

Nachtrag: Auszug aus der "Accel stepper Class Reference":

>void AccelStepper::setMaxSpeed(float speed)

>...speeds of more than 1000 steps per second are unreliable.


Ich bewege mich also bereits jetzt jenseits der Spezifikationen, 
(obwohl's noch ohne Schrittverlust funktioniert, aber viieel zu 
langsam), aber da brauche ich gar nicht mehr lang herumprobieren.

Damit ist das derzeitige Environment gestorben und die Frage ist jetzt 
nicht mehr ob, sondern welche neue Treiberhardware und welche Motoren 
ich anschaffen soll - oder ob ich überhaupt von meinem Vorhaben abrücken 
soll.

Mfg Herbert

von Herbert P. (herb3472)


Lesenswert?

So, nun ist die Katze aus dem Sack:

auf Anfrage hat mir Adafruit mitgeteilt, dass ein Chopperbetrieb mit 
ihrem Motor Shield nicht vorgesehen und es auch nicht möglich ist, es 
dafür nachzurüsten. Das werdet Ihr aber ohnehin schon wissen: "ich habs 
ja eh gesagt...."

Allerdings hat man mir bei Adafruit empfohlen, mich als Alternative zu 
einem teuren Profi-Treiberboard mit Industrie-Standard doch eventuell 
nach einem kleinen Motor mit 24 Steps und geringer Rotormasse umzusehen; 
der sollte die erforderliche Geschwindigkeit auch mit dem Adafruit Motor 
Shield erreichen können.

Wie auch immer, werde ich mich also nach 2 kleinen Stepper-Motoren mit 
24 Schritten und wenig Masse umsehen, denn die brauche ich in jedem 
Fall. Meine Recherchen im Internet bei meinen üblichen Distributoren 
haben nichts Brauchbares ergeben.

Hat vielleicht jemand eine Tip für mich?

MfG Herbert

von Thorsten O. (Firma: mechapro GmbH) (ostermann) Benutzerseite


Lesenswert?

Hallo Herbert!

Solche Spielzeugmotoren hat Pollin eigentlich immer im Sortiment. Viel 
Drehmoment werden die aber nicht bringen.

Mit freundlichen Grüßen
Thorsten Ostermann

von Herbert P. (herb3472)


Lesenswert?

@Thorsten Ostermann

danke für die Info! Ich bin auch schon auf Pollin gestoßen, aber der 
einzige Motor,  den ich in dieser Richtung gefunden habe, ware der
"Schrittmotor BERGER-LAHR RDM57". Leider bringt der lt. Datenblatt 
unmöglich die erforderliche Drehzahl:

http://lukask.dyndns.org/files/datasheet/Motore/Schrittmotore/rdm_5712.pdf

Bin ich einem Irrtum aufgesessen, oder gibt's vielleicht Alternativen, 
die ich übersehen habe?

MfG Herbert Pichler

von Thorsten O. (Firma: mechapro GmbH) (ostermann) Benutzerseite


Lesenswert?

Was ist denn die benötigte Geschwindigkeit für deine Anwendung?

Mit freundlichen Grüßen
Thorsten Ostermann

von Herbert P. (herb3472)


Lesenswert?

@Thorsten Ostermann

wenn ich an das gute alte Kino denke, bei dem eine Bildwechselfrequenz 
von 24 Bildern/Sekunde erforderlich ist, um "bewegte Bilder" zu 
erzeugen, werden die beiden Motoren wohl mindestens 1440 rpm 
Durchschnittsgeschwindigkeit schaffen müssen, damit es so aussieht, als 
ob beide Motoren permanent drehen würden, obwohl immer ein Motor 
stillsteht, während der andere eine Umdrehung macht.

Da der Beschleunigungs-/Bremsvorgang sehr schnell vor sich gehen muss, 
werden wohl bipolare Motoren mit wenigen Steps/U (20 - 24) und geringer 
Rotormasse erforderlich sein. Sie werden sehr wahrscheinlich mit hohen 
Strömen im Chopperbetrieb zu betreiben sein, also eventuell 3V 
Nennspannung an 24V oder mehr.

Es kann aber sein, dass der optische Effekt ebenso verblüffend ist, wenn 
jeder Motor mehrere Umdrehungen macht, während der andere still steht - 
dann würde man weniger rpm brauchen, der alternierende 
Start-/Stop-Betrieb wäre zwar wahrnehmbar, aber vielleicht sähe das auch 
gut und verblüfffend aus - speziell wenn die Scheiben mit färbigen 
Sektoren versehen wären.

MfG Herbert Pichler

von Thorsten O. (Firma: mechapro GmbH) (ostermann) Benutzerseite


Lesenswert?

1440rpm sind 24U/s. Da sollte der Motor schon deutlich weniger als 200 
Schritte/U haben, sonst wird das schwierig. Außerdem sollte die 
Nennspannung des Motors möglichst niedrig und die Versorgungsspannung 
möglichst hoch sein. Aber dann braucht man eben einen Treiber mit 
Stromregelung. Sowas kostet ja kein Vermögen, deswegen verstehe ich 
nicht, warum du das unbedingt mit dem Adafruit Shield machen willst.

Mit freundlichen Grüßen
Thorsten Ostermann

von Herbert P. (herb3472)


Lesenswert?

@Thorsten Ostermann

>1440rpm sind 24U/s. Da sollte der Motor schon deutlich weniger als 200
>Schritte/U haben, sonst wird das schwierig. Außerdem sollte die
>Nennspannung des Motors möglichst niedrig und die Versorgungsspannung
>möglichst hoch sein.

Das sehe ich genau so. Ich denke mir, ein bipolarer Motor mit 20 - 24 
Steps/U und ca. 3 V Nennspannung an 24V sollten mal für's Erste 
ausreichen. Wahrscheinlich wird's ein Hybridmotor sein müssen, um 
optimale Dreh- und Haltemomente zu erreichen.

>Aber dann braucht man eben einen Treiber mit
>Stromregelung. Sowas kostet ja kein Vermögen, deswegen verstehe ich
>nicht, warum du das unbedingt mit dem Adafruit Shield machen willst.

Mittlerweile bin ich durch die Inputs hier im Forum schon klüger 
geworden und weiß zumindest theoretisch, was Chopperbetrieb bedeutet, 
und dass der Adafruit Motor Shield das nicht leisten kann. Das wußte ich 
aber Alles nicht, als ich vor ca. 14 Tagen die Motoren und den Adafruit 
Motor Shield kaufte. Ich bin in die Materie "Mikrocontrller" überhaupt 
erst vor einem Monat mit dem arduino eingestiegen.

Da ich nicht wieder unnötig Geld beim Fenster hinauswerfen möchte, habe 
ich mich hier an das Forum gewendet mit dem Ersuchen um Hilfestellung, 
und im Augenbick in der Hoffnung auf Tips zur Materialbeschaffung. Bei 
den mir bekannten Distributoren (Conrad, ebay, ELV, Mouser, Nanotec, 
Physical Compuiting Austria, Pollin, Reichelt, RS Components, Watterott 
- in alphabetischer Reihenfolge) habe ich nämlich bisher noch nichts für 
meinen Zweck Brauchbares gefunden. Mangels Branchenkenntnissen und mit 
meinen sehr bescheidenen Kenntnissen über magnetische und mechanische 
Kräfte   und Kenngrößen (Dreh- und Haltemomente,...) ist es für mich 
auch schwierig, potentielle Lieferanten herauszufiltern.

Die oben genannten bipolaren Berger-Lahr RDM 57 Stepper von Pollin 
hätten ja die erforderlichen 24 Steps/U. Aber wenn sie bei einer 
Versorgungsspannung von 40V schon ab 300 rpm schlapp machen, wie aus dem 
Datenblatt hervorgeht, sind sie wohl leider ungeeignet.....

Ich bin also nach wie vor auf der Suche nach brauchbaren (und 
preiswerten) Motoren samt Treibern (der Knackpunkt liegt wohl bei den 
Motoren), habe aber leider bisher noch nichts gefunden.

Ich sage vorerst einmal ein herzliches "Danke schö"n für das bisherige 
Engagement,


MfG Herbert Pichler

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.