mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Positionserkennung mit einem Schrittmotor


Autor: Michael (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Hartmut Gröger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

elektor 12/05 s.68

MfG HG

Autor: Michael (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wie heißt denn der Artikel, kannst du mir das sagen?

Autor: EZ81__ (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: Hartmut Gröger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

"Alternative für mechanische Drehgeber"

MfG HG

Autor: Michael (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Haiko (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Haiko (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sch...

Ich meinte schau mal hier:
http://www.shop.robotikhardware.de/shop/catalog/pr...



Gruß  Haiko

Autor: Michael (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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 ;-)

Autor: Haiko (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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 ??

Autor: Michael (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Haiko (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Michael (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Profi (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Michael (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Haiko (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Johannes (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Man nehme eine alte Maus.............

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.