Heidenhain Glasmaßstab an Arduino?

OP #4756539
Lesenswert?

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

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

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?
OP #4756600
Lesenswert?

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

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

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

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)
#4756804
Lesenswert?

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

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

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

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

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

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

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

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