mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Frage zur Schrittmotor Steuerung


Autor: Tim (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich habe vor eine kleine Schrittmotor Steuerung mit einem L297/298 zu 
bauen.
Es soll ein 200 Schritte/Umdrehung Motor im Halbschritt/Bipolar Modus 
Betrieben werden.

Es kommt in der Anwendung auf jeden Halbschritt an. Es geht um eine 
möglichst genaue Positionierung.

Das Problem was ich jetzt sehe ist das es im Bipolar Betrieb ja 8 
Zustände gibt wie die Spulen beschaltet sind. Was passiert jetzt wenn 
ich das Gerät ausschalte und wieder einschalte, der L297 weiß ja nicht 
mit welchem Zustand er aufgehört hat. Dann würde der Motor unter 
Umständen am Anfang erst dumm Rumwackeln. Im Extremfall doch bis zu 8 
Schritte verlieren, oder? das würde die genaue Positionierung praktisch 
unmöglich machen.

Wie kann man dieses Problem am besten umgehen?

Danke

Autor: Peter P. (bonsaibaum)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
du kannst ja beim ausschalten die aktuelle position im controller 
speichern ... der muss ja eh wissen wo das ding steht ...

oder du bestimmst beim einschalten die null-stellung von der aus 
gemessen/gezählt wird.

lg peter

Autor: Willi Wacker (williwacker)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> oder du bestimmst beim einschalten die null-stellung von der aus
> gemessen/gezählt wird.

Das nennt sich Referenzieren und ist die bessere Lösung, da man nicht 
weiß, ob sich der Motor in der Zwischenzeit bewegt hat.

Grundsätzlich ist beim Schrittmotor davon auszugehen, dass auch Schritte 
verloren gehen, daher wäre es ein guter Ansatz, vor einer wichtigen 
Positionierfahrt einmal zu referenzieren. (oder es ist durch welche 
Massnahmen auch immer, auszuschließen, dass es zu Schrittverlusten 
kommt).

Ciao

Autor: Realpotter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich gehe mit Willi Wacker einig. Ein Schrittmotor, der ausgeschaltet 
ist, hat keinerlei Haltemoment, dh dreht mit dem kleinstmoeglichen 
extern angelegten Drehmoemnt in irgend eine Position. Daher sollte man 
den Motor in eine Referenzposition fahren, wo zB eine Lichtschranke 
geschlossen wird, oder ein induktiver Sensor ein Signal bringt.

Autor: Tim (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
An eine Kalibrierung hatte ich auch gedacht.

Hat da jemand einen Tipp wie man so was möglichst genau machen könnte?
Ich hatte an diese typischen Rechteckigen Endtaster gedacht, muss man 
halt gucken wann genau sie Schalten.
Das ganze sollte möglichst genau werden, an den Motor kommt noch ein 
Getriebe was ein kleinen Schiebeschlitten bewegt. Dadurch entspricht ein 
Halbschritt 0,005mm (theoretisch). Gibt es da genauere Möglichkeiten als 
Taster?

Wenn ich jetzt z.B. an CNC Fräsen denke, die werden ja vermutlich das 
selbe Problem haben, wie ist die Referenzierung da gelöst?

Autor: Realpotter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Es gibt Schalter, die auf einen mikrometer genau schalten. Da faehrt man 
drauf zu bis er schaltet. Nich wirklich billig so ein Teil. Hab leider 
keinen link drauf. Ein Kollege meinte ein induktiver Naeherungsschalter 
sei nicht viel weniger genau. Ich wuerd mal so einen probieren. 
Allenfalls kann man was optisches basteln wenn man genug davon versteht.

Autor: Realpotter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Am Einfachsten wird sein selbst einen Taster zu machen. Ein isoliertes 
Stueck Metall auf ein Anderes bewegen. Wenn sie sich beruehren kann ein 
Strom fliessen. Vielleich noch was elastisches unterlegen...

Autor: Michael Waiblinger (wiebel42)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
CNC Machinen verwenden einen Glassmaßstab, ähnliches ist auch in 
Druckern zu finden (langes Transparentes Band mit scwarzen Streifen) das 
wird dann mit einer Lichtschranke abgetastet, im µm Bereich ist das aber 
meines Erachtens recht aufwendig von der Optik her, ist aber nahezu die 
einzige möglichkeit die wirkliche Position herauszubekommen. 
Refenrenzieren kannst du dann mit einer zweiten Bahn die nur am 
nullpunkt eine Lücke hat. Alternativ geht das auch induktiv, wie z.B. in 
digitalen Meßschiebern, da hat man eben anstelle des Glassmasstabs 
einstrukturiertes irgendwas (keine Ahnung wie's da drinnen aussieht) das 
dann als Inkrementalgeber fungiert. Ist vielleicht sogar eine der 
billigeren Lösungen einen günstigen Meßschieber auszuschlachten. Die 
können auch wohl die Position absolut erfassen, brauchen also keine 
Referenzierung, das kann man mit einem Graycodierten Maßstab erreichen 
ist aber in Handarbeit imho nicht umzusetzen, vor allem nicht in der von 
dir gewünschten Auflösung. Hab grde mal ebay konsultiert -> nr 
120149263852  1.99Euro sofortkauf, scheint wohl kapazitiv und nicht 
Induktiv zu sein, naja egal, billiger gehts gar nicht, ich hoffe die 
150mm reichen dir sonst wirds dürr. -wiebel

[edit: ok ich hab das Porto mal wieder übersehen aber auch die 16Euro 
sind noch halbwegs fair.
Aber ich scheine mich getäuscht zu haben was die Absolutmessung angeht, 
die arbeiten wohl doch rein Inkrementell, was ne Entäuschung, naja kann 
aber trotzdem hilfreich sein. Ich wusste das selbst nicht das die Dinger 
so billig geworden sind, muss ich mir auch mal besorgen. ;) ]

Autor: Willi Wacker (williwacker)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Tim wrote:
> An eine Kalibrierung hatte ich auch gedacht.
>
> Hat da jemand einen Tipp wie man so was möglichst genau machen könnte?
> Ich hatte an diese typischen Rechteckigen Endtaster gedacht, muss man
> halt gucken wann genau sie Schalten.
> Das ganze sollte möglichst genau werden, an den Motor kommt noch ein
> Getriebe was ein kleinen Schiebeschlitten bewegt. Dadurch entspricht ein
> Halbschritt 0,005mm (theoretisch). Gibt es da genauere Möglichkeiten als
> Taster?
>
> Wenn ich jetzt z.B. an CNC Fräsen denke, die werden ja vermutlich das
> selbe Problem haben, wie ist die Referenzierung da gelöst?

Bei mir, ich hatte mal eine CNC-Maschine gebaut, wurde die Referenzfahrt 
so gemacht:

Die Maschine fuhr mit mittlerer Geschwindigkeit auf den Referenznocken 
(war ein inkrementeller Schalter, mittelplrächtig genau, aber mit hoher 
Wiederholgenauigkeit) und dann gaaaaanz langssam zurück wieder von dem 
Schalter runter. Die Position, in der der Schalter wechselte, war die 
Referenzposition. Die absolute Genauigkeit war lausig (wir benötigten 
eine Genauigkeit von ca. 1/10mm bei einer Tischlänge von einigen 
Metern), aber die Wiederholgenauigkeit war hoch und auf alle Fälle 
ausreichend, um einen früher mal angefahrenen Punkt wieder genau zu 
treffen.

Möge es helfen

Ciao
Willi

Autor: STK500-Besitzer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Bei mir, ich hatte mal eine CNC-Maschine gebaut, wurde die Referenzfahrt
>so gemacht:

>Die Maschine fuhr mit mittlerer Geschwindigkeit auf den Referenznocken
>(war ein inkrementeller Schalter, mittelplrächtig genau, aber mit hoher
>Wiederholgenauigkeit) und dann gaaaaanz langssam zurück wieder von dem
>Schalter runter. Die Position, in der der Schalter wechselte, war die
>Referenzposition. Die absolute Genauigkeit war lausig (wir benötigten
>eine Genauigkeit von ca. 1/10mm bei einer Tischlänge von einigen
>Metern), aber die Wiederholgenauigkeit war hoch und auf alle Fälle
>ausreichend, um einen früher mal angefahrenen Punkt wieder genau zu
>treffen.

Genau so kann man das auch mit einer Gabellichtschranke o.dergl. machen.
Das dürfte dann etwas verschleißärmer sein.
CNC-Maschinen haben AFAIK Glasstäbe, die sogar mit Graycode versehen 
sind, alao nicht nur eine "Markierung" wie beim Tintenstrahlern, sondern 
mehr Bits.
Übrigens gibt es auch Schrittmotoren mit angeflanschtem 
Inkrementalgebern.

Je nach Weglänge könnte man auch ein (Mehrgang-)Poti über einen Seilzug 
oder Zahnriemen mit dem Schlitten koppeln.
Die Referenzfahrt ist aber wohl (erstmal) das einfachste.
Man sollte sowieso Endlagenschalter vorsehen...

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Tim (Gast)

>Das ganze sollte möglichst genau werden, an den Motor kommt noch ein
>Getriebe was ein kleinen Schiebeschlitten bewegt. Dadurch entspricht ein
>Halbschritt 0,005mm (theoretisch). Gibt es da genauere Möglichkeiten als

Dann ist doch dort bestimmt ein Schneckenantrieb drin, oder? Dann 
brauchst du dir um das Verdrehen des Motors im stromlosen Zustand keine 
Gedanken zu machen, Schneckengetriebe sind selbsthemmend, d.h. der 
Ausgang kann den Eingang nicht bewegen, nur anders herum.

>Halbschritt 0,005mm (theoretisch). Gibt es da genauere Möglichkeiten als
>Taster?

Gabellichtschranke, so machen es auch Scanner.

>Wenn ich jetzt z.B. an CNC Fräsen denke, die werden ja vermutlich das
>selbe Problem haben, wie ist die Referenzierung da gelöst?

Die haben wahrscheinlich Absolutwertgeber drin, die braucht man zur 
schnellen Lageregelung. Und ausserdem verwenden die meist keine 
Schrittmotoren sondern Servos.

Man kann auch mit elektrischen Bremsen arbeiten, die blockieren im 
stromlosen Zustand die Welle.

Mfg
Falk

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.