Heidenhain Glasmaßstab an Arduino?

OP #4756539
Hallo!

Ich möchte gerne zwei Heidenhain LS403 mit 20 µm Teilung zählen und dann 
an einem Arduino oder ähnlichem ausgeben und bearbeiten.

Die Maßstäbe sind an einem Messgerät für Werkzeuge und wird "nur" mit 
Hand bewegt, also nicht wirklich schnell, aber es sollten keine Signale 
verloren gehen.

Den Index muss ich auch auslesen, aber das ist wohl das kleinere Problem

Mein Problem ist nur wie bekomme ich die Signale in den Arduino?
Im Arduino dann hätte ich keine Probleme mehr.

Ich habe von RS 485 Wandlern gelesen, die man dann an den Arduino 
sendet, aber ich blicke nicht wirklich durch in diesem Fall.
Gast
Burkhard M. schrieb:
> Ich habe von RS 485 Wandlern gelesen, die man dann an den Arduino
> sendet, aber ich blicke nicht wirklich durch in diesem Fall.

Dann verlinke doch mal ein vernünftiges Datenblatt zu dem Teil und 
verrate auch gleich, was du als "nicht wirklich schnell" (in cm/s) 
bezeichnest. Was meisnt du mit 20µm Teilung? Hast du eine Auflösung von 
20µm oder ist das die Periode der Gebersignale.
Gast
0,8m/s mit einer Teilung von 20µm ergeben sich 40000Hz du musst drei 
Kanäle(Kanal 1, Kanal 2 und die Refferenz Position) Sampeln also 120kSa. 
Das wird übel mit einem Arduino.

Außerdem musst du noch eine OPV Schaltung bauen, die das Signal auf 
einen für den ADC Sinnvollen Pegel konvertiert.

Du könntest natürlich auch eine Komperatorschaltung bauen, die die 
Sinussignale in Rechtecke umformt und nur die Refferenz Sampeln.

Hast du die Heidenhein Auswerte Elektronik, oder nur den Sensor?
Gast
benedikt S schrieb:
> 0,8m/s mit einer Teilung von 20µm ergeben sich 40000Hz du musst drei
> Kanäle(Kanal 1, Kanal 2 und die Refferenz Position) Sampeln also 120kSa.
> Das wird übel mit einem Arduino.

Warum?
Der Arduino Due macht das doch locker in Hardware.
OP
Max M. schrieb:
> RTFM!

True story.



Max M. schrieb:
> "Quadratur-Encoder"

Das klingt nach erster Recherche schon sehr gut.


benedikt S schrieb:
> Das wird übel mit einem Arduino.

Den Referenzeingang muss ich ja nicht samplen?
Ich möchte nur nach dem Einschalten wissen, wo die Geschichte steht.
Dann zähle ich ja die Bewegung dazu/weg.
Der genannte Schmitt-Trigger bringt das Signal ja auch auf ein 
nützliches Niveau?

benedikt S schrieb:
> Hast du die Heidenhein Auswerte Elektronik, oder nur den Sensor?
Auswertung habe ich nur von einem anderen Projekt(eine EXE 700, ist aber 
für Drehgeber)
Die alte Auswertung ist eben leider nicht mehr zuverlässig, da sie sich 
manchmal verrechnet

danke
burkhard

edit:
Die alte Auswertung ist nicht von Heidenhain.
OP
Das klingt schon gut.


Nein ich meinte ob es einen externen IC gibt, der sowas macht.

Zum Zählen im Arduino selbst werd ich wohl mit den Registern spielen, da 
digitalRead() ja zu langsam sein wird?

Kann ich einen Vorgang damit überwachen?
1
attachInterrupt(0, A_CHANGE, CHANGE);
2
attachInterrupt(1, B_CHANGE, CHANGE);

burkhard
Gast
Burkhard M. schrieb:
> Zum Zählen im Arduino selbst werd ich wohl mit den Registern spielen, da
> digitalRead() ja zu langsam sein wird?

Der Arduino Due hat die Hardware zum Auswerten des Quadratursignales 
integriert und kann damit direkt einen Zähler takten. Dafür braucht man 
keinen Interrupt und keine Software (außer für die Initialisierung der 
Register). Der Prozessor ist während des Betriebs völlig frei für andere 
Aufgaben.
Gast
Burkhard M. schrieb:
> Gibt es etwas "fertiges" was einem die Impulse zählt?
> Im sinne eines IC's

Zumindest den Encoder gibts fertig:

Der H8/3003 und H8S (2 Kanäle) H8SX (4 Kanäle), ATXmega (3 Kanäle bis 
Osz/4) und STM32F4 (6 Kanäle) machen das in Hardware, externe ICs gibt's 
dafür auch:

    http://www.lsicsi.com/encoders.htm 
(LS7082/7083/7084/7182/7183/7166/7266/7366)
    http://www.avagotech.com/docs/5988-5895EN 
(HCTL2000/2016/2020/2022/2032)

(aus der dse-FAQ)
OP
Arduino Due klingt gut.

Da bräuchte ich "nur" mehr zwei Komperatoren mit OPV
Kann mir da jemand bei der Auswahl helfen?
Bin auf dem Gebiet nicht so "frisch"



hinz schrieb:
> Zumindest den Encoder gibts fertig:

Blöde Frage, aber woher bekomme ich diese IC's?
Beim Tekkie seit 1923 find ich davon nichts


Asynchronzähler zählen nicht so weit?
Burkhard M. schrieb:
> Nein ich meinte ob es einen externen IC gibt, der sowas macht.

Ich kann Dir ATmega48 programmieren (32 Bit Zähler mit 0,2 µm Auflösung 
bei Sinussignalen), oder Du nimmst einen ATtiny25: 
http://mino-elektronik.de/mt12_iic/mt12_iic.htm
Beide werden per IIC-Bus abgefragt.

Alternativ kann ich Dir THCT12024 anbieten (schenken gegen Übernahme von 
Porto). Diese haben 24 Bit Zähler und einen 8-Bit Datenbus.
OP
Wolfgang schrieb:
> Wie weit willst du denn zählen?
> Um einen µC kommst du doch sowieso nicht rum, oder was willst du mit den
> Zähldaten anstellen?


20µm hat der Glasmaßstab
Ausgewertet soll bis 1µm werden.
Das müsste sich ja interpolieren lassen
60cm Verfahrweg wären dann 600.000 Signale wenn ich das richtig 
aufgefasst habe..

Ja den µC brauch ich um die Werte anzuzeigen oder zum Nullstellen, 
mehrere Werte zu speichern und ggf. an einen PC weitergeben
Gast
Burkhard M. schrieb:
> 20µm hat der Glasmaßstab
> Ausgewertet soll bis 1µm werden.
> Das müsste sich ja interpolieren lassen
> 60cm Verfahrweg wären dann 600.000 Signale wenn ich das richtig
> aufgefasst habe..

Brauchst du die 1µm während das Ding zügig verfährt?
Sonst würde es doch reichen, das Quadatursignal zu digitalisieren, damit 
die digitale Encoder- un Zähllogik anzusteuern und wenn das Ding steht, 
eine Analogmessung mit Phasenauswertung nachzuschieben.

Der Zähler braucht nur die unteren paar Bits zu erfassen und kann bei 
Überlauf über Software die höheren Bits zählen.
OP
Das genaue Signal brauche ich nur wenn das Ding steht.

Ja das kann auch nachher(im Stehen) ausgewertet werden.
Das geht auch, wie du meinst.
Dass wenn der sich vollgezält hat der µC den vollen Wert bei sich 
speichert.
Dann hat der µC ja nur mehr einen Bruchteil zu tun.
Und so wie er es schafft würde er den Zähler auslesen.
(Firma: mechapro GmbH) Persönliche Seite
Du hast aber gesehen, dass der Messkopf Stromsignale liefert und keine 
Spannung? Ich würde an deiner Stelle bei IC-Haus oder Gemac nach 
passenden Interpolator-ICs schauen. Die kann man dann per SPI auslesen. 
Das ist deutlich einfacher und genauer als wenn man das komplett selbst 
macht. Das Übereinanderlegen der Zählimpulse und der Feininterpolation 
ist in der Praxis nicht so einfach wie man sich das anfangs vorstellt. 
Zumindest wenn das nicht nur im Stillstand passieren soll.

Mit freundlichen Grüßen
Thorsten Ostermann
Gast
Thorsten O. schrieb:
> Du hast aber gesehen, dass der Messkopf Stromsignale liefert und keine
> Spannung?

Seit der Erfindung des Widerstandes (ak. Bürde) sollte damit irgendwie 
klar zu kommen sein ;-)

Thorsten O. schrieb:
> Zumindest wenn das nicht nur im Stillstand passieren soll.

Es muss aber nicht in der Bewegung passieren. Und im Stillstand kann man 
das Signal ganz gemütlich mit dem ADC messen und auswerten, so man dann 
Amplitude und Offset kennt. 1/20 oder einfacher 1/32 ist nun auch nicht 
die Feinstauflösung. Da kommt man locker mit effektiven 8 Bit ADC 
zurecht.
Wolfgang schrieb:
> Seit der Erfindung des Widerstandes (ak. Bürde) sollte damit irgendwie
> klar zu kommen sein ;-)

Ein OPV als Strom/Spannungswandler ist schon notwendig.

> Und im Stillstand kann man
> das Signal ganz gemütlich mit dem ADC messen und auswerten

Warte mal ab, bis die Spezies auftauchen, die ein Pendeln, Zittern, 
Surren, Schwirren, ... usw. entdecken und Fehlzählungen unterstellen ;-)


> 1/20 oder einfacher 1/32 ist nun auch nicht
> die Feinstauflösung.

Für 1 µm Auflösung reicht bei 4-fach Auswertung eine 5-fach 
Interpolation.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 10 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.