www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Drehgeber-Auswertung


Autor: Peter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich bestimme derzeit mit einem optischen Encoder (500 Impulse) die 
Drehzahl meines Motors. Bei einer Abtastrate von 1ms bekomme ich somit 
derzeit mit einer Ein-Flankenauswertung eine maximale Auflösung von 
120U/min(Sprünge).
Das System erfordert allerdings jetzt ein Abtastrate von 100us. Kann mir 
jemand sagen, wie ich das realisieren kann, ohne dass die 
Drehzahlsprünge/Auflösung stark zunimmt?

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Peter (Gast)

>ich bestimme derzeit mit einem optischen Encoder (500 Impulse) die
>Drehzahl meines Motors. Bei einer Abtastrate von 1ms bekomme ich somit
>derzeit mit einer Ein-Flankenauswertung eine maximale Auflösung von
>120U/min(Sprünge).

Was meinst du mit Sprünge?

>Das System erfordert allerdings jetzt ein Abtastrate von 100us. Kann mir
>jemand sagen, wie ich das realisieren kann, ohne dass die
>Drehzahlsprünge/Auflösung stark zunimmt?

Mach es richtig. Siehe Drehgeber.

MfG
Falk

Autor: Matthias Lipinsky (lippy)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Einer Ein-Flankenauswertung
>von 1ms bekomme

Was denn nun? Flankenauswertung oder Abtastung alle 1ms???

>Abtastrate von 100us
Taste doch einfach alle 100µs ab und baue nen Quadraturencoder auf..

siehe Wiki: Drehgeber

Nachtrag:
Aaaah, Falk ist wieder unterwegs ;-)

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn Du nur die Drehzahl wissen willst, gib einen Ausgang auf nen 
Timereingang und mach ne Frequenzmessung (2. Timer = Zeitbasis).


100µs sind beim AVR 2000 Zyklen bei 20MHz, also durchaus zu schaffen. 
Allerdings darf dann kein anderer Interrutp zu lange blockieren.
Man kann aber auch den Pin-Change Interrupt nehmen.


Peter

Autor: Peter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ok, vielleicht hab ich mich ein bisschen schlecht ausgedrückt...

>Einer Ein-Flankenauswertung
>von 1ms bekomme

>Was denn nun? Flankenauswertung oder Abtastung alle 1ms???

Also ich werte derzeit in dem Zeitraum von 1ms die Flanke A des Encoders 
aus
und zähle die ansteigenden Flanken. Daüber lässt sich dann über eine 
einfache Multiplikation die Drehzahl ja berechnen.

>Abtastrate von 100us
Taste doch einfach alle 100µs ab und baue nen Quadraturencoder auf..

siehe Wiki: Drehgeber


Problem ist, dass ich selbst bei einer Impulsvervierfachung über 
Quadraturencoder bei kleinen Drehzahlen (<300U/min) innerhalb von 100us 
keinen Flankenänderung habe und somit nicht auswerten kann....

Autor: Winfried (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Letzteres ist doch aber ein Widerspruch. Oben schreibst du, dass alles 
gut wäre, wenn du mit 100us abtastest und jetzt, dass das nicht 
funktioniert. Funktioniert es praktisch nicht, sollte aber theoretisch 
funktionieren? Dann musst du genaueren Einblick in deine Umsetzung 
geben. Es fehlen sowieso eine Menge an Randinformationen, z.B. ob du 
überhaupt mit einem Mikrocontroller arbeitest und wenn ja, mit was für 
einen.

Autor: Jörg B. (manos)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Peter wrote:
> Problem ist, dass ich selbst bei einer Impulsvervierfachung über
> Quadraturencoder bei kleinen Drehzahlen (<300U/min) innerhalb von 100us
> keinen Flankenänderung habe und somit nicht auswerten kann....
Wenn Du innerhalb Deines Messfensters Zustände haben kannst in denen 
kein Messwert ermittelt werden kann musst Du entweder die 
Aufgabenstellung oder die Hardware überdenken.
Die Frage, die sich mir sowieso stellt ist ob bei so kurzen Messfenstern 
überhaupt das Zählen der Impulse Sinn macht. Evtl. bekommst Du mal einen 
Impuls, in der nächsten Messung zwei (obwohl es sich mit konstanter 
Geschwindigkeit dreht). In solch einem Fall würde ich eher einen Timer 
starten und die Takte zwischen zwei Flanken zählen.

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.