Forum: Mikrocontroller und Digitale Elektronik Positionserkennung mit einem Schrittmotor


von Michael (Gast)


Lesenswert?

Hallo,

ich habe eine Idee und möchte euch fragen, ob man das so machen kann.
Ich möchte gerne ein bipolaren Schrittmotor als Generator betreiben.
Wenn jetzt an der Welle gedreht wird, müsste man doch über die
induzierte Spannung auf die Anzahl der zurückgelegten Schritte
schließen können oder?

Die induzierte Spannung wird ja irgendwie eine Sinusspannung sein, dann
müsste doch die Anzahl der Schritte gleich der Anzahl der Perioden sein
oder?

Ist das alles so richtig? Kann man das so machen?

von Hartmut Gröger (Gast)


Lesenswert?

Hi

elektor 12/05 s.68

MfG HG

von Michael (Gast)


Lesenswert?

Wie heißt denn der Artikel, kannst du mir das sagen?

von EZ81__ (Gast)


Lesenswert?


von Hartmut Gröger (Gast)


Lesenswert?

Hi

"Alternative für mechanische Drehgeber"

MfG HG

von Michael (Gast)


Lesenswert?

Vielen Dank Hartmut. Weißt du wo man den Artikel noch herkriegt? Hast du
die Zeitschrift da und könntest mir den Artikel vielleiht einscannen?

Gruß
Michael

von Haiko (Gast)


Lesenswert?

Hallo Michael

Wenn es nur um Drehrichtung und Positionierung geht... hälst du von
einer Schlitzscheibe und einer Gabellichtschranke ??
Da hättest du aufjedemfall sauberere Datenimpulse als von einem
Schrittmotor...

Siehe Anhang


Gruß  Haiko

von Haiko (Gast)


Lesenswert?


von Michael (Gast)


Lesenswert?

"Wenn es nur um Drehrichtung und Positionierung geht..."

Nicht ganz, meine ganze Idee ist folgende:

Ich habe ein Teil, dass kann ich über einen Schrittmotor drehen lassen,
immer nur mal kurz. ansonsten ist der Schrittmotor im Leerlauf. Wenn
aber jetzt jemand an dem Teil dreht, kann ich zurückrechnen, wo ich
mich befinde. Vielleicht kann man das prinzip am Ehesten mit einer
Eieruhr vergleichen, die aufgezogen wird und dann abläuft, nur halt
elektronisch :-)

Ich hoffe, dadurch wird es ein wenig klarer.

Bis jetzt habe ich mir gedacht, ich baue eine
Standardschrittmotoransteuerung mit zwei H-Brücken. Dabei wollte ich
aber zu jeder Spule ein kleinen Shunt-Widerstand in Reihe schalten,
über den ich dann den Strom messen kann. Das ganze, klar, wird von
einem kleinen Mikrokontroller gesteuert. Soweit bin ich bis jetzt.

Wenn ihr Ideen und Tips habt, immer her damit ;-)

von Haiko (Gast)


Lesenswert?

Hmm

Das habe ich nicht verstanden...

Du meinst > Dein Schrittmotor dreht z.B. einen Zeiger auf einem
Ziffernblatt von 12 Uhr um 2 Stunden weiter. ( 14 Uhr )

Wird dann abgeschaltet. es vergeht eine unbestimmte Zeit.

Jetzt dreht jemand den Zeiger um 4 Stunden zurück.

> und du willst mit dem Controller herausfinden das der Zeiger nun auf
10 Uhr steht.

Oder willst du den Zeiger automatisch wieder auf 14 Uhr stellen ??

Ist das so richtig verstanden ??

von Michael (Gast)


Lesenswert?

Ich möchte gerne herausfinden, dass der Zeiger auf 10Uhr steht. Dann
springt der Zeiger, wenn er das nächste Mal zwei Stunden vordreht,
nicht auf 16Uhr, sondern auf 12Uhr. Der Zeiger bzw. ja eigentlich der
Schrittmotor ist quasi Ausgabe und Eingabeeinheit zugleich.

Ich hoffe das Beispiel hilft

von Haiko (Gast)


Lesenswert?

"" Ich hoffe das Beispiel hilft ""

Also ich bin mir überhaupt nicht sicher was du vorhast !!!!!!!!!

Bitte beschreib dein Vorhaben so genau wie möglich...Versuch mal ein
anders Beispiel zu finden oder schrein einfach was das Teil am Ende in
echt machen soll !!!

Gruß  Haiko

von Michael (Gast)


Lesenswert?

Hmm...okay, ich versuchs mal:

Es geht um ein Stellsystem. Dabei gibt es einen Parameter, den man
bisher manuell an einem Rädchen einstellen muss. Nun soll es zum Teil
automatisiert werden. Es ist geplant, die verschiedenen Parameter
zentral zu steuern und einzustellen. Dies soll über ein Bussystem und
einem entsprechenden Schrittmotor dann vor Ort gemacht werden.
Allerdings ist es nötig, das nach wie vor manuell eingegriffen werden
kann, vor allem aus Sicherheitsgründen. Ich hatte mir das so
vorgestellt, dass man über einen Hebel, der auf der gleichen Achse
liegt wie der Schrittmotor, eingreifen kann. Sagen wir, bis jetzt stand
das Stellglied auf der Stufe 5, ich reiß es jetzt aber manuell auf den
Wert 3, dann soll das der Motor erkennen und mit dem Wert 3 als
aktuellen Wert weiterarbeiten.

von Profi (Gast)


Lesenswert?

Ist der Motor im Stillstand bestromt?

Wenn ja, kannst Du das Chopping-Signal untersuchen: Wenn der Motor
gedreht wird, ändert sich die Induktivität der einzelnen Spulen ein
wenig, und das Chopper-PWM-Signal ebenfalls. Das kannst Du erkennen.

Wenn kein Strom: einfach die 2 Induktionsspannungen verstärken, geht
tadellos. Phasenversatz ergibt Drehrichtung, Anzahl der Nulldurchgänge
= Anzahl der gedrehten Schritte.

von Michael (Gast)


Lesenswert?

Der Motor ist im Stillstand ohne Strom. Du meinst also einfach Sapnnung
messen, oder doch besser ein Shunt Widerstand einbauen und den Strom
messen?

Dabei komme ich zu einem anderen Problem, und zwar soll das manuelle
Stellen eine größere Priorität haben als der Schrittmotor. Wenn sich
der Motor in dem Moment stellen möchte, in dem gerade auch manuell
eingegriffen wird. In dem Moment müsste doch das benötigte Drehmoment
größer werden (Hebel wird festgehalten), dadurch müsste der Motor einen
höheren Strom als sonst aufbringen. Nun hatte ich die Idee, wenn der
Motor einen höheren Strom als sonst für die Bewegung benötigt, dreht
sich der Motor nicht weiter sondern hört auf die manuelle Einstellung.

Kann das so klappen?

von Haiko (Gast)


Lesenswert?

Ahh

Ich würde sagen das ist machbar !!!

Am anfang deines Programmes muss der Microcontroller feststellen wo
dein Hebel steht. Das macht er indem er in eine Vorgegebene Richtung
fährt bis die Scheibe welche auf der Hebelwelle montirt wurde einen
Masterzahn erreicht, darauf wartet der Microcontroller und das ist der
Nullpunkt!!

Nun kannst du Ihm sagen gehe 157 Schritte rechtsherum und warte dort
auf weitere Anweisungen. Sobald er dort angekommen ist muss er also
auch die Gabellichtschranke überwachen um mögliche manuelle änderungen
zu erkennen. Ändern sich jetzt irgendwelche eingangssignale so wird der
Microcontroller reagieren und den Hebel in Bewegung setzen so wie es in
deinem Programm festgelegt wurde.

Nun musst du aus sicherheitsrelevanten Gründen eingreifen und drehst
den Hebel nach links. Das merkt der Microcontroller über die
Gabellichtschranke und zählt die ausgegebenen Impulse. Nun muss du das
Programm so schreiben das jetzt die eingelesenen impulse von dem
Nullpunktwert abgezogen werden und dein Programm läuft weiter nach dem
neuen Nullpunkt.

In der Industrie werden Gabellichtschranken mit einer geätzten
Glasscheibe für solche zwecke verwendet. Je feiner die Lichtschranke
die impulse generieren kann umso genauer wird deine Positionsbestimmung
des Hebels.

Weiter kannst du so auch feststellen ob der Motor wirklich seine
vorgegebenen schritte gemacht hatt.


P.S. bin an einer ähnlichen sache drann CNC Fräse selberbauen.


Gruß  Haiko

von Johannes (Gast)


Lesenswert?

Man nehme eine alte Maus.............

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.