Winkelsensor

Gast #1553062
Lesenswert?

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 #1553072
Lesenswert?

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 #1553149
Lesenswert?

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
#1553194
Lesenswert?

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 #1553210
Lesenswert?

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 #1553211
Lesenswert?

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°.
#1553218
Lesenswert?

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 #1553227
Lesenswert?

>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.
Gast #1553245
Lesenswert?

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

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren