Forum: Mikrocontroller und Digitale Elektronik Schrittmotor und Mikrocontroller


von Grima Y. (grima)


Lesenswert?

Hallo,

ich taste mich langsam mit "Franzis Lernpaket Mikrocontroller" in die 
Welt der Mikrocontroller vor. Es macht viel Spaß, aber leider bin ich 
noch kein Profi. Für mein neues Vorhaben bitte ich um Eure Expertise ;)

Ein Schrittmotor soll alle x Sekunden um y Grad nach rechts oder links 
bewegt werden. Genauer gesagt, geht es um einen einzigen großen 
Uhrzeiger (ca. 44 cm lang und bis zu 200 g schwer), der am Schrittmotor 
befestigt und beliebig bewegt werden soll.

Im Internet habe ich Schrittmotoren mit einem Schrittwinkel von 1,8° 
gefunden (Vollschrift, 200 Schritte für eine volle Umdrehung). 
Schrittmotoren in Halbschrift würden 0,9° schaffen und für eine volle 
Umdrehung 400 Schritte brauchen.

Ich suche aber nach einem Schrittmotor mit einen Schrittwinkel von 0,25° 
(1440 Schritte für eine volle Umdrehung). Das ist wahrscheinlich sehr 
schwer zu finden und sicherlich auch sehr teuer. Ich könnte mir daher 
vorstellen, eher mit einem Schrittwinkel von 1,8° und 
Zahnrädern/Übersetzungen zu arbeiten. Für mein Vorhaben wäre es Ideal, 
alle 60 Sekunden einen 0,25° Schritt zu machen.

Folgendes sollte auch beachtet werden:
1. Der Schrittmotor soll in der Lage sein, den großen Uhrzeiger zu 
bewegen (hohes Drehmoment).
2. Der Schrittmotor soll in der Bauform so klein wie möglich sein.
3. Ich habe gelesen, dass die Mikrocontroller einen ungenauen Takt 
angeben. Würdet Ihr einen Quarzkristall extern als Taktgeber benutzen?
4. Alles soll mit einer 9 Volt Batterie betrieben werden, wobei ich auch 
nicht jede Woche die Batterie wechseln möchte (Schrittmotor und 
Mikrocontroller könnten auch an separaten Batterien angeschlossen 
werden).

Nun meine Frage an Euch: Welchen Schrittmotor, Treiber und 
Mikrocontroller würdet Ihr empfehlen? Am besten gleich mit Links?

Besten Dank
Grima

: Bearbeitet durch User
von Patrick J. (ho-bit-hun-ter)


Lesenswert?

Hi

Die von Dir angedachte Schrittzahl wäre mir noch nicht unter gekommen.
Was spricht dagegen, die benötigten Schritte dann zu machen, wenn Diese 
benötigt werden?

Z.B. so:
https://de.wikipedia.org/wiki/Bresenham-Algorithmus
Wenn mehrere Schritte nötig sind, bei 200/400 Schritte pro Minute, bei 
60 Sekunden kommen so mehrere Schritte pro Sekunde zusammen, man kann 
auch die Pausenzeit zwischen den Schritten entsprechend dehnen.

MfG

von Christian M. (Gast)


Lesenswert?

Patrick J. schrieb:
> bei 200/400 Schritte pro Minute

Er braucht die in 24 Stunden! Er will so ne Uhr mit nur einem Zeiger 
bauen!

Ich würde entweder ein Getriebe hernehmen, oder Mikroschritte probieren. 
Jeder vernünftige moderne Schrittmotortreiber kann das heutzutage. Wie 
genau die Zwischenschritte eingehalten werden, ist dann vom Motor 
abhängig. Sollte dann wohl grösser sein. Und IMMER bestromt werden.

Vergiss das mit Batterien! Vorallem diese 9V haben das schlechteste 
Kapazität zu Volumen Verhältnis!

Gruss Chregu

PS: Gab's die fast genau gleiche Frage nicht schon vor ein paar Monaten?

von Michael B. (laberkopp)


Lesenswert?

Grima Y. schrieb:
> Ich suche aber nach einem Schrittmotor mit einen Schrittwinkel von 0,25°
> (1440 Schritte für eine volle Umdrehung).

Gibt es nicht, selbst 5-phasige machen nur 500 Vollschritte bzw. 1000 
Halbschritte pro Umdrehung. Also ein Getriebe, oder Mikroschritte.

Grima Y. schrieb:
> 4. Alles soll mit einer 9 Volt Batterie betrieben werden

Kannst du bei einem Schrittmotor völlig vergessen, der kann den nicht 
austarierten Zeiger nur halten wenn er dauernd Strom bekommt. 
Mikroschritte oder Halbschritte kannst du ebenso voll vergessen, ohne 
Strom springt der Motor immer auf 1 von 200 Rastpositionen.

Wenn du den Zeiger so austarierst, daß der Schrittmotor nur eine geringe 
Haltekraft aufbringen muss die er schon als magnetisches Rastmoment hat, 
dann kannst du nach einem Schritt den Strom abschalten, bekommst aber 
nur 200 Stellungen pro Umdrehung. Also ein Getriebe. Wenn das gar noch 
ein Schneckengetriebe ist, dann bekommst du womöglich Selbsthemmung.

Aber den Stromverbrauch eines richtigen Uhrwerks mit seinem kleinen und 
schwachen Motor der minimal Strom benötigt und den stark untersetzenden 
Getriebe was Kraft gibt und den austarierten Zeigern, erreichst du eben 
nur so, wie die Uhrmacher seit Jahrhunderten.

Vergiss also deinen "einfachen" Ansatz.

Grima Y. schrieb:
> 2. Der Schrittmotor soll in der Bauform so klein wie möglich sein.

Möglich ist relativ.

> 3. Ich habe gelesen, dass die Mikrocontroller einen ungenauen Takt
> angeben. Würdet Ihr einen Quarzkristall extern als Taktgeber benutzen?

Für eine Uhr macht das immer Sinn, einen Uhrenquartz, der interne RC 
Takt eines uC ist viel zu ungenau.

: Bearbeitet durch User
von Patrick J. (ho-bit-hun-ter)


Lesenswert?

Hi

Unter diesen Umständen hätten wir zwischen den einzelnen Schritten halt 
'etwas' mehr Zeit :)

3600 Sekunden für 400 Halb-Schritte ... alle 9 Sekunden einen Schritt 
und gut ist's.
Müssten halt eine recht genaue Zeitbasis haben.

Ausprobieren müsste man, ob man den Stepper je nur für eine Sekunde 
bestromen kann, also, ob das Haltemoment stromlos ausreicht oder ob auf 
einen der benachbarten Vollschritte 'gefallen' wird.

MfG

von Grima Y. (grima)


Lesenswert?

Hallo Christian,

ja, eine ähnliche Frage gab es in dieser Form schon mal, auch von mir. 
Allerdings ging es da um ein Uhrwerk, welches modifiziert werden sollte. 
Jetzt habe ich mich von einem Uhrwerk komplett verabschiedet, da ich so 
auch andere kleine Home-Projekte besser bewerkställigen kann.

Danke für Deine Expertise.

Viele Grüße
Grima

von Grima Y. (grima)


Lesenswert?

Patrick J. schrieb:
> Hi
>
> Unter diesen Umständen hätten wir zwischen den einzelnen Schritten halt
> 'etwas' mehr Zeit :)
>
> 3600 Sekunden für 400 Halb-Schritte ... alle 9 Sekunden einen Schritt
> und gut ist's.
> Müssten halt eine recht genaue Zeitbasis haben.
>
> Ausprobieren müsste man, ob man den Stepper je nur für eine Sekunde
> bestromen kann, also, ob das Haltemoment stromlos ausreicht oder ob auf
> einen der benachbarten Vollschritte 'gefallen' wird.
>
> MfG

Nee, so ist es nicht gemeint. Es sind 86400 Sekunden und somit auch alle 
216 Sekunden (400 Halbschritte).

VG, Grima

von Grima Y. (grima)


Lesenswert?

Hallo Micheal,

Danke für deine ausführliche Bemerkung.

Ich möchte gerne mein kleines Home-Projekt mit einem Motor und 
Mikrocontroller bewerkstelligen, um so von einem Uhrwerk unabhängig zu 
sein. Das bringt mir den Vorteil, meine anderen Home-Projekte auch auf 
diese Weise zu bewerkstelligen. Denn diese werden von mal zu mal 
komplizierter und ein Uhrwerk bzw. Getriebe dementsprechend immer 
"mechanisch" anzupassen ist auch mit viel Mühe verbunden.

Ein typisches Uhrwerk hat ja einen Lavet-Schrittmotor; gibt es den 
nichts vergleichbares für mein Projekt? Ich wäre auch mit einem 
einfachen Elektromotor zufrieden, wenn diese meinen Zwecken dienlich 
wäre.

@Christian und Michael: Ihr habt das schon erwähnt, mir wäre auch eine 
Lösung passend, wo ich die Batterie nicht jede Woche wechseln müßte.

VG,
Cemil

von Patrick J. (ho-bit-hun-ter)


Lesenswert?

... oh ... Mathe ... war auch schon Mal besser ...

Zumindest passt die 216 in ein Byte, positiv denken :)

MfG

von Grima Y. (grima)


Lesenswert?

Patrick J. schrieb:
> ... oh ... Mathe ... war auch schon Mal besser ...
>
> Zumindest passt die 216 in ein Byte, positiv denken :)
>
> MfG

Hallo Patrick,

Ich glaube du hast meine Bemerkung von oben falsch verstanden. Du hast 
den Vorschlag mit 400 Halbschritten für 3600 Sekunden gemacht (alle 9 
Sekunden).

Das ist nicht das, was ich will. In meinem Fall sind es 86400 Sekunden. 
Bei 400 Halbschritten wären es alle 216 Sekunden. Ja, die passen auch in 
ein Byte.

Ich will aber alle 60 Sekunden eine 0,25° Umdrehung haben, was 1440 
Vollschritten entspricht. Stell dir vor, die 60 passen auch in ein Byte. 
Na sowas ... ;)

Aber 1440 Vollschritte gibt es nicht. Wie Christian schon bemerkt hatte, 
könnte man es mit Mikroschritten versuchen. Allerdings hat Michael auf 
das Haltemoment und andere wichtige Aspekte hingewiesen.

Nehme es mir bitte nicht übel, aber ich bin an einer sachlichen 
Diskussion interessiert.

Danke und viele Grüße
Grima

von Patrick J. (ho-bit-hun-ter)


Lesenswert?

Hi

Patrick J. schrieb:
> https://de.wikipedia.org/wiki/Bresenham-Algorithmus

Gegen Sachlich habe ich Nichts, hatte die 24h einfach nur verpeilt.

Entweder musst Du ein Getriebe dazwischen packen, oder die Schritte dann 
machen, wenn Diese nötig sind.
Denke nicht, daß eine Auflösung von 0,0042° nötig ist, da der 24h-Zeiger 
sich ja nicht zwingend jede Sekunde bewegen muß.

Bei einem Getriebe könnte man Das aber trotzdem erreichen, der 
antreibende Motor kann ja durchaus 10 Umdrehungen pro Sekunde machen, 
spart allerdings dann keinen Strom und über ein Netzteil statt Batterie 
wäre eine Überlegung wert.

MfG

von Grima Y. (grima)


Lesenswert?

Hallo,

@Patrick: Danke für Deine Bemerkung.

Ich neige jetzt doch dazu ein Getriebe zu verwenden. Allerdings habe ich 
mir folgendes überlegt:

Der große und schwere Zeiger wird an einem großen Zahnrad befestigt. Das 
große Zahnrad wird von einem Schrittmotor oder Elektromotor angetrieben. 
An der Motorwelle ist ein kleines Zahnrad angebracht. Der Motor dreht 
sich alle 60 Sekunden einmal um genau 360°, so dass das große Zahnrad 
sich um 0,25° dreht. Dazu soll ein entsprechendes Quarzkristall (z.B. 
Uhrenquarz 32768 Hz) als externer Taktgeber dienen und entsprechend 
einen Impuls für eine volle Umdrehung an den Motor senden. Man könnte so 
jede Sekunde zählen und bei 60 den Motor ansteuern, um den Motor nicht 
im Dauerbetrieb zu betreiben.

Um mit Batterien auszukommen, werden die Elektronik und der Motor mit 
separaten Batterien betrieben.

Jetzt meine Frage: Mit welchem Motor, Batterien, Treiber bzw. 
Mikrocontroller würdet ihr das machen? Macht es Sinn, dass das große 
Zahnrad schwerer ist als der Uhrzeiger, so dass alles am großen Zahnrad 
liegt (wegen Gewicht, Drehmoment und etc.)?

Könnt Ihr mir freundlicherweise auch ein Link zuschicken, wo ich 
entsprechende Zahnräder finden kann? Ist es vielleicht besser, sie aus 
Holz oder Plastik fräsen zu lassen?

Vielen Dank und Grüße
Grima

: Bearbeitet durch User
von Patrick J. (ho-bit-hun-ter)


Lesenswert?

Hi

Eine Untersetzung von 1440:1 ist schon nicht ohne.
Volle Umdrehungen solltest Du trotzdem noch Mal überdenken.
Dadurch bekommst Du ggf. das Problem, daß immer wieder die gleichen 
Zähne aufeinander treffen.
Sollte hier wohl kein so großes Problem darstellen, da weder Rundlauf 
noch Vibrationen eine großartige Rolle spielen, mechanisch 'unschön' ist 
es aber doch irgendwie.

Da der Antrieb nicht 'rund' laufen muß, können auch kleine Zähnezahlen 
als Antrieb benutzt werden, meine ~10 Zähne sind sonst das untere 
Minimum (find's gerade nicht) - könnten hier auf 5 runter, so ist immer 
wenigstens 1 Zahn im Eingriff.
Daraus ergibt sich die Zähnezahl des angetriebenen Rad von 1440*5=7200.

Jetzt muß nur noch das 5er Zahnrad auf die Motorwelle passen und das 
7200er in der Größe noch handelbar bleiben.
Beim Fräsen ist der Zahnzwischenraum der begrenzende Wert, da der Fräser 
da ja rein passen muß.
Persönlich habe ich mit Fräsern <2mm nicht so meine hellsten Stunden, 
wären, wenn wir die Zähne mit ähnlicher 'Breite' annehmen, immerhin 
14,4m (Meter) Umfang.
U=r2pi
r ~ 2,3m ... dann müssen die Zähne um einiges Kleiner.
Oder, da Du ja Vollschritte auch mit pausierendem Strom fahren kannst, 
das Ganze : 200, blieben 36 Zähne über, Die sich auch wesentlich kleiner 
ausarbeiten lassen.

Da kaum Anforderungen an die Zahnräder gestellt werden (bzw: wie schwer 
ist der Zeiger und wie unwuchtig ist Dieser), sehe ich keine Probleme in 
der Nutzung von Holz.


MfG

von Wolfgang (Gast)


Lesenswert?

Grima Y. schrieb:
> Ich will aber alle 60 Sekunden eine 0,25° Umdrehung haben, was 1440
> Vollschritten entspricht.

Warum kannst du bei einem Schrittmotor mit 200 Vollschritten pro 
Umdrehung nicht alle 27 Sekunden einen 1/16-Schritt machen?

Was bringt es dir, auf die 60s Schrittabstand zu beharren, wenn es quasi 
eine kontinuierliche Bewegung werden soll. Bei einem Getriebe wirst du 
deutlich Mühe haben, dass Gewindespiel so genau in den Griff zu kriegen.

Grima Y. schrieb:
> 4. Alles soll mit einer 9 Volt Batterie betrieben werden, wobei ich auch
> nicht jede Woche die Batterie wechseln möchte (Schrittmotor und
> Mikrocontroller könnten auch an separaten Batterien angeschlossen
> werden).

Schrittmotoren benötigen grundsätzlich immer Strom, sonst springen sie 
auf die nächstliegende Rastposition. Für eine Batteriebetriebene 
Anwendung ist ein Schrittmotor keine gute Idee.

von Grima Y. (grima)


Lesenswert?

Hallo Wolfgang,

Danke für deinen Beitrag.

Das mit den 60 Sekunden und 0,25° bzw. 1440 Vollschritten ist einfach so 
entstanden weil bei 200 Vollschritten wären es alle 432 Sekunden und 
diese Auflösung wäre für mich zu grob. Mit allem was unter 60 Sekunden 
bleibt, wäre ich wirklich sehr glücklich.

Da ich ein Newbie bin und mit Motoren bzw. Getrieben bis jetzt noch 
keine Erfahrungen habe, bin ich für jeden auch so trivialen Detail oder 
Hinweis sehr dankbar.

Dein Vorschlag mit den 27 Sekunden bzw. 1/16 Schritt klingt für mich 
sehr interessant. Könntest du es mir etwas näher erläutern und auch 
sagen, welche Bauteile (Motor, Getriebe, Zahnräder, Treiber, 
Mikrocontroller) am geeignetsten sind? Ich wäre dir wirklich sehr 
dankbar.

Es soll aber alles auf einen Batterie-Betrieb basieren, mit möglichst 
langer Batterie-Lebensdauer.

Vielen Dank
Grima

von Wolfgang (Gast)


Lesenswert?

Grima Y. schrieb:
> Es soll aber alles auf einen Batterie-Betrieb basieren, mit möglichst
> langer Batterie-Lebensdauer.

Mikroschrittbetrieb und lange Batterie-Lebensdauer schließen sich 
gegenseitig aus.

Grima Y. schrieb:
> Dein Vorschlag mit den 27 Sekunden bzw. 1/16 Schritt klingt für mich
> sehr interessant. Könntest du es mir etwas näher erläutern und auch
> sagen, welche Bauteile (Motor, Getriebe, Zahnräder, Treiber,
> Mikrocontroller) am geeignetsten sind? Ich wäre dir wirklich sehr
> dankbar.

Bei einem Schrittmotor mit 200 Vollschritten pro Umdrehung sind es im 
1/16 Mikroschrittbetrieb 200 * 16 = 3200 Schritte pro Umdrehung. Ein Tag 
hat 86400s, also muss man alle 86400/3200s = 27s einen Schritt machen, 
damit der Zeiger in genau einem Tag einmal rum läuft. Ein Getriebe 
bräuchtest du dann natürlich nicht und sowohl Motorgröße als auch 
Treiber hängen vom erforderlichen Drehmoment ab. Bei einer kleinen 
Wohnzimmer sieht das anders aus, als bei einer Kirchturmuhr, die auch im 
Sturm keinen Schritt verlieren soll.

Eine Möglichkeit, um ohne Dauerbestromung des Motors auszukommen, wäre 
eventuell ein (selbsthemmend) Schneckengetriebe. Dann könnte man den 
Motor vielleicht im Vollschrittbetrieb mit Stromabschaltung laufen 
lassen und über das Rastmoment halten.

von Patrick J. (ho-bit-hun-ter)


Lesenswert?

Hi

Kleiner als Vollschritt wird damit bezahlt werden wollen, daß der 
Stepper Strom braucht, bis Er in einen Vollschritt 'einrasten' kann.

Wie sehr dürfen wir Deine Uhr 'modden'?
Aufgrund des einzugrenzenden Stromverbrauch kam mir folgende Idee:
Das Zahnrad bleibt, die Zähne ggf. stark nach Rechts 'gebogen', ähnlich 
den Zahnrad in einer Uhr, wo das Pendel rein greift.
Damit könnten wir das Zahnrad an jedem Zahn stoppen.
Nun muß Dieses sich nur noch freiwillig drehen - ein Gewicht an dünner 
Schnur um dünne Welle, daß man das Gewicht nicht alle 2 Stunden neu 
hochziehen muß.
Dann muß der µC nur noch alle Sekunde die Sperren wechselseitig 
ansteuern und die Sache 'läuft'.

Hier wirkt dann die Montagehöhe begrenzend, da das Gewicht irgendwann am 
Boden ankommt.
Die Batterie-Laufzeit wird aber erheblich länger.

MfG

von Grima Y. (grima)


Lesenswert?

Hallo,

Wolfgang schrieb:
> Mikroschrittbetrieb und lange Batterie-Lebensdauer schließen sich
> gegenseitig aus.

Okay, dann schließe ich einen Schrittmotor für meine Zwecke aus, wobei 
ich nicht ganz verstehe, wie ein Lavet-Schrittmotor das kann.

@Wolfgang:
Ich habe bis jetzt den Uhrzeiger (ca. 44 cm lang und nicht mehr als 200 
g schwer) und die Ziffernscheibe (ca. 90 cm im Durchmesser). Da der 
Uhrzeiger nicht mehr als 200 g wiegt, muss der Motor, der es ansteuert 
einen Drehmoment von ca. 2 Nm haben. Im Ruhezustand muss dann 
Haltemoment >= Drehmoment gelten.

Was würdest Du vorschlagen? Getriebe oder Motor? Wie gesagt, die 
Batterie-Lebensdauer ist mir sehr wichtig.

@Patrick:
Für den Antrieb des Stundenzeigers stecke ich noch in den Kinderschuhen. 
Da ist mir jede (einfache) Lösung willkommen. Einen Standard-Uhrwerk zu 
modden, will ich nicht, da ich für meine andere Home-Projekte in der 
Umlaufdauer des Uhrzeigers sehr flexibel sein muss.

Achso, in meinem ersten Beitrag habe ich auch erwähnt, dass der 
Uhrzeiger auch rechts- oder linksläufig sein soll.


Danke und viele Grüße
Grima

von Grima Y. (grima)


Lesenswert?

Eine allgemeine Frage:

Wenn man ein Standard-Uhrwerk nimmt und den 32768 Hz Kristall durch 
einen 16384 Hz Kristall ersetzt, dann hätte man doch einen 24-Stunden 
Uhrwerk, oder?

Wenn man dann noch die Polarität des Lavet-Motors ändert, dann wäre es 
ein linksläufiges Uhrwerk, oder?

Aber wie gesagt, mit Uhrwerken will ich meine Projekte nicht machen, da 
ich auch andere Umlaufdauer benutzen will.

Viele Grüße
Grima

von Wolfgang (Gast)


Lesenswert?

Grima Y. schrieb:
> Da der Uhrzeiger nicht mehr als 200 g wiegt, muss der Motor, der es
> ansteuert einen Drehmoment von ca. 2 Nm haben.
Um das Drehmoment des Zeigers zu vermeiden, kann er ein bisschen über 
die Achse hinaus ragen. Dort bringt man dann ein passendes Gegengewicht 
an.

> Was würdest Du vorschlagen? Getriebe oder Motor? Wie gesagt, die
> Batterie-Lebensdauer ist mir sehr wichtig.

Wieso oder. Mit einem Getriebe alleine wird die Uhr nicht laufen ;-)
Probier einfach mal mit einem kleinen Schrittmotor rum. Dann bekommst du 
ein Gefühl für das Rastmoment, dass die Position halten kann, wenn kein 
Strom fließt.

von Grima Y. (grima)


Lesenswert?

Hallo Wolfgang,

das mit dem Gegengewicht am Uhrzeiger wird nicht funktionieren, da der 
Uhrzeiger genau am Ende auf die Welle montiert wird. Da ist kein Platz 
für ein Gegengewicht.

Viele Grüße
Grima

von Grima Y. (grima)


Lesenswert?

Sorry, mit "Getriebe oder Motor" meinte ich "Schrittmotor und Getriebe" 
oder nur "ein Schrittmotor".

von Possetitjel (Gast)


Lesenswert?

Grima Y. schrieb:

> das mit dem Gegengewicht am Uhrzeiger wird nicht funktionieren,
> da der Uhrzeiger genau am Ende auf die Welle montiert wird.
> Da ist kein Platz für ein Gegengewicht.

Das Gegengewicht muss nicht in einer Ebene mit dem Zeiger
liegen. Wenn die (Motor-)Welle lang genug ist, kann der
Zeiger vor und das Gegengewicht hinter dem Zifferblatt
sein.

Ich wuerde uebrigend auch versuchen, ein Getriebe zu
verwenden (muessen keine Zahnraeder sein, auch Zahnriemen
waere denkbar). Zwei Getriebestufen 6:1 machen aus 1.8°
je Schritt 0.05° je Schritt. Fuenf Schritte sind dann 0.25°.

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.