PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Positionsrückmeldung von Schrittmotoren



tucow
03.04.2007, 08:43
Hallo zusammen,

für mein aktueles Projekt benötige ich eine Möglichkeit, die aktuelle Position zweier Schrittmotoren zu erfassen und dies muss so genau wie möglich sein.

Habt Ihr eine Idee wie ich dies lösen kann? Habe leider gerade keine Idee.



Gruß,
Andreas

Blauelf
03.04.2007, 09:23
Direkt wird der Schrittmotor keine Informationen rausgeben.

Man könnte von einer bekannten Nullposition (Mikrotaster sollte gehen) abzählen und verlorene Schritte mittels einer kodierten Scheibe überprüfen (ich glaub der c`t-Bot nutzt das als Tacho). Je kleiner die Winkel desto genauer müssen natürlich Scheibe und Optik sein. Oder man nimmt gleich eine Scheibe mit Kodierung der absoluten Position (erfordert aber noch mehr Optik und kann natürlich auch nur eine Umdrehung kodieren)

So würde ichs zumindest mit einem "normalen" Motor machen, die Genauigkeit eines Schrittmotors habe ich bisher nie gebraucht.

Viele Grüße
Der Blauelf

tucow
03.04.2007, 21:39
Hm, bist Du sicher das dies mit einem Schrittmotor nicht möglich ist?
Ich hörste davon das man einen Encoder an den Motor anschließen kann und man mit diesem dann die exakte position bestimmen kann.

oiermann
03.04.2007, 22:04
du kannst doch an jeden Pin des Schrittmotors einen Pin von nem AVR klemmen (an Z-Dioden o.ä. denken) und einen "virtuellen" Schrittmotor machen. Der AVR gibt dann noch aus wo er gerade ist.

tucow
03.04.2007, 22:30
Wie stellst Du dir das genau vor?
Kann mir gerade nicht vorstellen wie Du das meinst.

oiermann
03.04.2007, 23:28
Na jeden Anschluss vom Schrittmotor zusätzlich noch an einen Microcontroller. Also so, dass der genauso wie der Motor die Signale bekommt. Und wenn du dem Microntroller sagst, wenn z.B. A und B = ein schritt dann zählt der einen Schritt rauf. C und D sind der nächste Schritt. Wieder eins raufzählen und über den UART dann ausgeben. Geht ja auch über alle anderen Pins, bloss dann musst du dir noch einfallen lassen, wie du es ausgeben willst. Am UART kannste halt direkt 3 oder sonstwas ausgeben lassen und am nächsten Microcontroller wieder einlesen.

sigo
03.04.2007, 23:50
Es gibt in der Industrie Schrittmotorantriebe mit Inkrementalgeber, die teilweise sogar als geschlossener Regelkreis arbeiten. Siehe z.B. BErger Lahr und andere.

Eine Kontrolle mit Inkrementalgeber ist sicher die einfachste und sicherste Möglichkeit.

Evtl. kannst du auch mit deinem Schrittmotor einen 2. kleineren Schrittmotor mit gleicher Schittzahl (oder feiner) antreiben und dann die induzierten Signale analysieren. Letztlich sind das auch phasenverschobene Spannungen, ähnlich einem Inkrementalgeber, die man zählen kann. Aber ein Inkrementalgeber ist einfacher.

Sigo

oiermann
03.04.2007, 23:56
Evtl. kannst du auch mit deinem Schrittmotor einen 2. kleineren Schrittmotor mit gleicher Schittzahl (oder feiner) antreiben und dann die induzierten Signale analysieren

Das wäre das gleiche, als wenn du deinen Motor mit einem Dynamo antreibst und dessen Spannung misst. Da kannst du genauso gut die Spannung am Motor messen (vorrausgesetzt natürlich, dass beide gleich wären).

tucow
04.04.2007, 00:02
Dann könnte ich es auch einfach so lösen, das die Software am PC nur kurze Signale schickt, wartet usw. und diese dann zählt.
Das wäre einfacher aber nicht so fehlerfrei, denke ich.
Obwohl.. wenn die Schrittmotoren anfangen Fehler zu produzieren, werden sie ausgetauscht.. und das wird sicher so schnell nicht passieren.

Ratber
04.04.2007, 16:54
Hallo zusammen,

für mein aktueles Projekt benötige ich eine Möglichkeit, die aktuelle Position zweier Schrittmotoren zu erfassen und dies muss so genau wie möglich sein.

Habt Ihr eine Idee wie ich dies lösen kann? Habe leider gerade keine Idee.



Gruß,
Andreas


Absolut oder Relativ ?

Für Absolut ist eine Mechanische oder Elektronische Positionserfasung fällig,da führt dann kein Weg dran vorbei und es ist auch nicht ganz Preiswert (Von evtl. Eigenbauten mal abgesehen)

Relativ ist es einfacher.
Einige haben schon die Externen Möglichkeitn aufgezählt.
Tachogenerator (Fertig,Umfunktionierter Drehencoder,Umfunktionierter Stepper usw.),Geber in Form von Schlitz,Codierscheiben (Als Absolut zu nutzen wenn Drehwinkel Ges. <=360° ist.) aller Bauarten (Mech. Opt. Ind. Kap.).

Eine weitere ist einen Stepper mit zusatzwicklungen zu nutzen.
Derzeit wirr von Pollin einer angeboten der noch 1 Ohmige Zusatzwicklungen hat.
Die dienen als Überwachung der Wicklungen und für die relative Positionsbestimmung.

Eine andere Variante (Für mich die Eleganteste) ist den Stepper selber als Tachogenerator zu nutzen.
Bei jedem Schritt also jeder änderung des Magnetfeldes und der daraus resultierenden Bewegung des Rotors bekommt man eine Induktive Rückmeldung.
Also so wie man die Drehzahl eines einfachen Kolektormotors an hand seiner Störsignale auf der Motorleitung ermitteln kann.
Die kann man entsprechend auswerten.

Stepperbausteine die sowas machen gib es zb. von Trinamic.
Da nennt sich das Stallguard usw.
Der Chip kann also erkennen ob der Stepper der Steuerung folgt oder ob er hängt.Desweiteren bietet der Chip zb. einen Positionszähler und auch eine Funktion zuim automatischen Anfahren einer Referenzposition beim Hochfahren.

Andere Hersteller beiten im Grunde das Gleiche.
Die Einstiegspreise bewegen sich dabei so um die 10.- pro Baustein.
Also nicht zuviel.

Sollte man sich mal angesehen haben.

tucow
06.04.2007, 03:11
Gute Nacht zusammen ;)

Ich habe nun eine wirklich sehr simple und relativ elegante Lösung gefunden, ich werde einfach ein Potentiometer mit an die Welle des Schrittmotors hängen und die entsprechenden Durchgangsströme, per Software, den entsprechenden Positionen zuordnen.

Ratber
06.04.2007, 11:16
Naja,das passt nicht so ganz recht mit deiner Forderung nach Genauigkeit zusammen aber geht natürlich auch.(Ich hätte mir den TMC249 genommen.)


Denk daran daß das Poti eine gute Qualität hat sonst verschleisst es rasant.
Dazu sollte es einen sehr geringen Linearitätsfehler haben aber das ist selbstverständlich.
Bei Getriebevorsatz sollte das Getriebe Spielfrei sein bzw. das Spiel in der Software berücksichtigt werden.