Winkelsensor

Gast #1553062
Hallo,

ich muss zwei inkremental Encoder auslesen.
Aus verschiedenen Gründen, kann ich keine Sensoren mit analog Ausgang 
verwenden.
Wie kann ich ein inkrementelles Signal auslesen?
Und an welche Pins schließe ich die beiden Sensoren an?
Ich verwende einen ATmega32.

Hat jemand vielleicht ein Bsp. Programm?


Danke
Moderator Persönliche Seite
Hans Peter schrieb:
> Hallo,
>
> ich muss zwei inkremental Encoder auslesen.
> Aus verschiedenen Gründen, kann ich keine Sensoren mit analog Ausgang
> verwenden.
> Wie kann ich ein inkrementelles Signal auslesen?

Es gibt dort verschiedene Signalarten. Verbreitet sind zwei um 90° 
phasenversetze Digitalausgänge (TTL-Pegel o.ä.), meist mit A und B 
bezeichnet.

Im Prinzip erhältst Du in Drehrichtung so etwas (AB):
00, 01, 11, 10, 00 ... usw.

und entgegengesetzt:

10, 11, 01, 00, 10 ... usw.

Nach jeweils vier Werten hast Du also wieder den Anfangszustand.

> Und an welche Pins schließe ich die beiden Sensoren an?

Da sollte sich jeder Eingangspin eignen - aber Du musst natürlich darauf 
achten, dass die Spannung bei High-Pegel passt.

> Ich verwende einen ATmega32.
>
> Hat jemand vielleicht ein Bsp. Programm?

Das solltest Du jetzt alleine schaffen :-)

Übrigens gibt es auch Absolutwertgeber. Dort wird der absolute Wert 
ausgegeben, so dass man auch ohne Referenzfahrt immer exakt die Stellung 
des Encoders erhält.

Chris D.
Gast
Hallo,

danke dann schaue ich da mal.
Den Sensor gibt es in verschiedenen Ausführungen.
Einmal mit A und B als Ausgang, und dan noch mal mit A,B und Z 
(Referenzpuls)
Welche Ausführung ist den einfacher zu verarbeiten oder genauer?

LG & DANKE
Kann man so nicht sagen.
Die Typen mit dem Referenzpuls haben noch einen zusätzlichen Ausgang, 
der dir mitteilt, wann der Encoder eine ganz bestimmte Lage einnimmt (Z 
= Zero)

Aber abgesehen davon sind beide gleich auszuwerten.
Gast
Also wenn ich die Asuführung mit A,B und Z nehme, brauche ich dann noch 
die Refernzmarke, die ich bei Spannungsausfall anfahren muss, um wieder 
neu zu zählen?


LG
Hans Peter schrieb:
> Also wenn ich die Asuführung mit A,B und Z nehme, brauche ich dann noch
> die Refernzmarke, die ich bei Spannungsausfall anfahren muss, um wieder
> neu zu zählen?

Das kommt auf deine Anwendung an.
Die Frage ist, ob dir diese Referenzmarke überhaupt irgendetwas hilft. 
Denn wenn deine Anwendung so ist, dass der Encoder mehere Umdrehungen 
machen muss, kannst du zwar die Z-Referenzmarke wieder anfahren aber du 
kannst dann immer noch um n volle Umdrehungen des Encoders daneben sein.

Stell dir ein Lautstärke-'Poti' an deiner Stereoanlage vor, welches 
rundum gedreht werden kann. Drehst da im Uhrzeiger, wirds lauter. Drehst 
du gegen den Uhrzeiger wirds leiser. Jetzt kannst du diesen Knopf, sagen 
wir 5 mal komplett im Uhrzeiger drehen um von minimaler zu maximaler 
Lautstärke zu kommen.
Dann nehmen wir noch eine Z-Markierung dazu: Ein weißer Strich auf dem 
Knopf und ein Lämpchen, das immer dann aufleuchtet, wenn der Strich 
genau senkrecht steht.
Hilft dir das in der Audio-Anwendung etwas? Wohl eher nicht. Du kannst 
zwar den Knopf wieder so drehen, dass der Strich senkrecht steht, aber 
über die dadurch eingestellte Lautstärke sagt dir das herzlich wenig.
Gast
Erzähl doch mal was über die Anwendung. Denn "Inkrementalgeber auslesen" 
kann je nach Anforderung mit einem AVR sehr einfach, aber auch völlig 
unlösbar sein, weil die direkte Auswertung per Software doch relativ 
langsam ist.

Oliver
Gast
Es geht um eine Nachführung, und durch den Sensor will ich wissen, wo 
(welcher Winkel) die Achse gerade hat. Und bei Sturm soll er in die 
senkrechte fahren, das könnte ja dann meine Referenzmarke sein.
Im datenblatt steht noch 184320 Impulse/Umdrehung.
Ich brauche nur die Winkel von 0° - 180°.
Hans Peter schrieb:
> Es geht um eine Nachführung, und durch den Sensor will ich wissen, wo
> (welcher Winkel) die Achse gerade hat.

Und der Encoder ist wie mit der Achse verbunden?
Getriebe/Kein Getriebe
Kann der Encoder mehrere Umdrehungen machen, wenn die Achse verfährt?

> Und bei Sturm soll er in die
> senkrechte fahren, das könnte ja dann meine Referenzmarke sein.

Ist völlig wurscht.
Bei der Referenzmarke geht es darum, 1 bestimmte Ausrichtung zu kennen. 
Ob die in deinem Fall bedeutet: Antenne ist waagrecht oder Antenne ist 
senkrecht, spielt kaum eine Rolle. Impulse mitzählen musst du so und so.
Und ob du bei Sturm dann in die Position "Z schlägt an" oder in die 
Position "Impulszähler steht auf 6547" fährst, spielt auch keine Rolle 
mehr.
Gast
>Ich brauche nur die Winkel von 0° - 180°.

Dann nimm doch endlich ein Poti!
Und Du mußt auch keine Angst haben, dass dadurch der Stromverbrauch 
Deiner Atmega32-Schaltung mehr als 160mA verbraucht; oder waren es 
200mA?

Das hatten wir doch alles unter "Hans Peter" in den letzten Tagen schon 
geklärt, hoffe ich.
Tauwetter schrieb:
>>Ich brauche nur die Winkel von 0° - 180°.
>
> Dann nimm doch endlich ein Poti!

:-)
Viel zu banal.
Da würde mann dann ja auch nach einem Stromausfall die absolute 
Winkellage der Achse wissen. Wo bleibt denn da die Herausforderung?
Gast
Zum Poti wäre lediglich noch anzumerken, dass man da nach Möglichkeit 
welche nehmen sollte, die für diesen Zweck gedacht sind (z.B. 
Servopoti). Normale Billig-Potis haben ein ziemlich großes Spiel(mehrere 
Grade) zwischen Achse und Schleifer,für genaue Winkelmessungen sind die 
daher nicht geeignet.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 16 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.