Winkelencoder, spezielle Auswertung gesucht

Hallo,

ich suche ein Messgerät um das Signal von einem Winkelencoder auszuwerten. Der Encoder liefert ein Quadratur-Signal (zwei TTL Signale). Der Encoder dreht sich mit (fast) konstanter Geschwindigkeit, aber gegenüber einem Bezugssystem mit gleichmässiger Winkelgeschwindigkeit eilt der Drehwinkel manchmal etwas vor oder nach. Diese Phasenverschiebung möchte ich als Diagramm über der Zeit darstellen. Die mittlere Drehgechwindigkeit ist genau bekannt.

Mit einem "Time Interval Analyzer", z.B. HP5371A, kann man zumindest schon mal die Frequenz über der Zeit darstellen. Davon müsste man dann aber noch die mittlere Frequenz subtrahieren und dann integrieren, um die Phasenverschiebung zu erhalten.

Gibt es so ein Messgerät fertig zu kaufen, oder ist Selbstbau angesagt?

Michael

Reply to
Michael Koch
Loading thread data ...

Gibt es einen Grund, warum Du ein Standalone-Me=DFger=E4t ben=F6tigst?=20 Ansonsten sollte sich das mit einem PC (gerne auch =E4lter), ein paar=20 Zeilen Code und Standard-Tools (z.B. Gnuplot) recht einfach machen=20 lassen.=20

Gru=DF,=20 Michael

Reply to
=?ISO-8859-15?Q?Michael_J=2E_S

Hallo

ich vergass zu erwähnen dass ich die Phasenverschiebung wenn möglich in Echtzeit sehen möchte, und nicht erst dann wenn die Aufzeichnung abgeschlossen ist (das kann einige Minuten dauern).

"Gnuplot" sagt mir (noch) nichts, danach muss ich mal suchen. Über welche Schnittstelle kommen die Daten in den PC rein?

Michael

Reply to
Michael Koch

Für das Labor: Gute Oszis mit "Analogrechner" a'la LeCroy kann man so programmieren, dass die das auswerten. Die Jitter Messung ist davon nicht soweit weg. Wahrscheinlich könnte man auch einen guten Universalzähler wie den HP53131/2 dazu bringen, das auszumessen, eine Phasenmessung beherscht das Teil. Allerdings sollte man ein Referenzsignal vorliegen haben (Generator).

Für Stückzahlen: Die TI DSP's, die als Motor Controller gedacht sind haben sowohl Hardware für Quadratur Encoder wie auch diverse Capture/Compare Units aller Art on Board, inkl. A/D, der zu einem geeigneten Zeitpunkt synchron *per Hardware* getriggert wird und dann z.B. auch noch U/I misst. Der TMS320LF2407 kostet ca. $10 und liefert die Daten dann per integrierter serieller Schnittstelle, CAN oder SPI frei Haus. Nur die Entwicklung ist dann eben *deutlich* aufwendiger.

Gruß Oliver

--
Oliver Bartels + Erding, Germany + obartels@bartels.de
http://www.bartels.de + Phone: +49-8122-9729-0 Fax: -10
Reply to
Oliver Bartels

Dann ist Gnuplot nicht so optimal. Trotzdem w=FCrde ich die PC-Methode in= =20 Betracht ziehen: Encoder-Ausg=E4nge an zwei Eing=E4nge des Parallelports=20 h=E4ngen und entweder unter DOS oder unter Linux mit eigenem Treiber=20 auswerten. Linux w=FCrde ich bevorzugen, wenn nebenbei noch grafische=20 Auswertungen o.=E4. gemacht werden sollen.=20 =20 Gru=DF,=20 Michael

Reply to
=?ISO-8859-15?Q?Michael_J=2E_S

Hallo Oliver,

Referenzsignal per Generator wäre kein Problem.

Aber das funktioniert nur, solange die Phasenverschiebung kleiner als +-180 Grad ist. Diese Voraussetzung trifft in meinem konkreten Fall leider nicht zu. Und der Zähler hat vermutlich keinen analogen Ausgang um den Phasenwinkel über längere Zeit aufzuzeichen.

Zu aufwendig :-( dann wäre es einfacher es auf einem Mikrocontroller zu programmieren. Die Frequenz vom Encoder ist nicht gross (

Reply to
Michael Koch

Wie wäre folgendes: Ein Signal des Quadratur-Signals (Drehrichtung ist ja konstant) und das Ref-Signal integrieren. Beide Signale mit einem Oszi im Differenzmode über den Schirm rollen lassen.. Mit einem Speicheroszi lassen sich die Werte auch in den PC übertragen.

Ist natürlich analog. Ansonsten einen Microcontroller mit 2 Zählereingängen und die Differenz per RS232 an den PC. Mit der Demoversion von z.B.

formatting link
dann in Pseudo-Echtzeit darstellen.

Tschö Dirk

Reply to
Dirk Ruth

Hallo Dirk,

Das verstehe ich noch nicht. Wie soll ich mir das "Integrieren" bei einer Impulsfolge vorstellen?

Michael

Reply to
Michael Koch

Du schriebst von einem Winkelencoder. Die üblichen, von denen ich jetzt ausgegangen bin, haben 2 Ausgangsleitungen, bei der z.B. die 2 Leitung die gleichen Impulse wie die 1. Leitung nur um + oder -90° Phasenverschoben (je nach Drehrichtung) abgeben. Die Kodierung ist also ein Maß für die Drehrichtung und die Frequenz ein Maß für die Geschwindigkeit. Da Du geschrieben hast, das die Geschwindigkeit relativ konstant ist, bin ich davon ausgegangen, dass sich die Drehrichtung nicht ändert. Du brauchst also keine 2 Leitungen, weil Du die Drehrichtung nicht änderst, sondern nur eine Leitung, die Dir auch die Geschwindigkeitsinformation liefert.

Wenn Du dieses Signal nun integrierst (im einfachsten Fall 2 Widerstände, Kondensator, Diode (weil Tastverhältnis=const)) erhälst Du eine analoge Spannung als Maß der Geschwindigkeit.

Subtrahierst Du im Oszi (Differenzmessung) das genau so integrierte Referenzsignal erhälst Du als Ergebnis die Abweichung, die Du über den Bildschirm rollen lassen und somit in Echtzeit sehen kannst..

Das ganze ist aber nicht überagend genau (dafür einfach), weshalb ich die Controller-Lösung noch vorgeschlagen habe.

Tschö Dirk

Reply to
Dirk Ruth

Hallo Dirk,

Soweit ist alles korrekt.

Das verstehe ich nicht. Wie soll die Schaltung aussehen?

Ich möchte aber nicht die Geschwindigkeits-Differenz sehen sondern die Winkel-Differenz.

Genau, so mache ich das jetzt :-)

Gruss Michael

****************************************************** ASTRO ELECTRONIC Dipl.-Ing. Michael Koch
formatting link
Raabestr. 43 D-37412 Herzberg Germany Tel. +49 (0)5521 854265 Fax +49 (0)5521 854266 ******************************************************
Reply to
Michael Koch

Einfach etwas, das bei jedem Impuls ein wenig aufgeladen und dann über einen Widerstand langsam wieder entladen wird. Aber du willst das ja gar nicht haben, wie im weiteren Text klar wird.

Dann mußt du eben die Impulse zählen und umrechnen, das ist doch naheliegend, wenn für einen bestimmten Drehwinkel eine bestimmte Anzahl Impulse ausgegeben wird, findest du nicht? Magst du mir die encoder geben? Ich hätte bestimmt eine Verwendung für so etwas. :-)

Das würde ich annehmen, aber warum dieser Smiley?

Der bist du? Jetzt verstehe ich gar nichts mehr! Du bist Dipl.Ing? Hast die FS2-Steureung gebaut, bietest Winkelencoder an etc.? Du müßtest dich doch im Gegensatz zu mir bestens mit der ganzen Materie auskennen? Tiefpaß, Hochpaß, Integratorschaltungen gehören doch außerdem zum Grundstudium. Ich hätte vermutet, du setzt dich ein paar Tage hin und schreibst eine neue Software für deine Steuerung, die die Encodersignale inklusive Drehrichtung mal eben ausweret und für eine Goto-Steuerung berücksichtigt?

Gruß Lars

Reply to
Lars Mueller

Nimm eine FPGA Karte mit USB Schnittstelle. Dann kannst du die Anzahl der Systemtakte zwischen aufeinanderfolgenden Drehgebersignalen zählen und zum PC übertragen. Mit ein paar Zeilen C-code ist die "Echtzeit" Anzeige dann realisierbar. Allerdings müsstest du dir auch "VHDL" draufschaffen falls du keinen Bekannten hast, der die die Zähler in VHDL hinschreiben kann.

- Manfred Kraus

Sorry, kanns mir nicht verkneifen: P.S. FPGA Karten gibts z.B. bei mir :-)

formatting link

"Michael Koch" schrieb im Newsbeitrag news: snipped-for-privacy@t-online.de...

Reply to
Manfred Kraus

Hallo Lars,

technisch gesehen ist es natürlich gar kein Problem diese Messung auf einem Mikrocontroller zu programmieren. Ist aber ein paar Tage Arbeit. Und bevor man das macht, fragt man besser erst mal nach ob es nicht schon ein fertiges Messgerät dafür gibt. Das scheint aber nicht der Fall zu sein, also wird jetzt selber programmiert.

Gruss Michael

Reply to
Michael Koch

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.