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.
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.
http://www.fbmsrl.com/docs/441/Istruzioni%20di%20montaggio%20LS%20403%20-%20LS%20403C.pdf Auf der Seite 14 und 15 sind die Daten. Ich dachte an max. 2m/s Ich danke schon im Vorraus burkhard edit: Verzeihung habe das falsch verstanden. Das mit dem Wandler kann ich leider nicht mehr finden!
:
Bearbeitet durch User
Burkhard M. schrieb: > Ich dachte an max. 2m/s Das ist zuviel. Im Datenblatt lese ich max. 48m/min ergo max. 0,8m/s Gruß, mögig
Oh da hab ich mich vertan. Die Mechanik mit den Gegengewichten in der Maschine geht ja gar nicht so schnell. D: Habs grad ausprobiert und es lässt sich nur mit ca. 0,4m/s verschieben sorry
Burkhard M. schrieb: > dachte an max. 2m/s Mit dachte is das so ne Sache! RTFM! Der Masstab liefert 2 90Grad versetzte Sinus. Schmitt-Trigger drann. Zum Thema "Quadratur-Encoder" gibts genug Treads!
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?
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.
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.
:
Bearbeitet durch User
0,8m/s und 0,00002m Periode ergeben 160000 Flankenwechsel/s. Das könnte eng werden für den Arduino.
Welche Aufbereitung des Signals scheint eine Streitfrage zu sein :D Gibt es etwas "fertiges" was einem die Impulse zählt? Im sinne eines IC's Max M. schrieb: > Das könnte eng werden für den Arduino. Wobei 0,8m/s ja nicht vorkommen. Nur natürlich wenn ihm etwas engeht hab ich ein Problem.
Max M. schrieb: > Das könnte eng werden für den Arduino. Nein, ein Arduino kann deutlich mehr. Ich habe selber zumindest einen Drehgeber mit 400000 Flanken/s schon am Due dran gehabt.
Burkhard M. schrieb: > Gibt es etwas "fertiges" was einem die Impulse zählt? Der Zähler in einem Arduino? Saubere Digitalsignal musst man aus dem was da aus dem Geber raus kommt, allerdings schon machen.
Max M. schrieb: > hinz schrieb: >> Nö, Komparator mit geringer Offsetspannung. > > Warum? Diffenzielles Signal von ein paar mV Amplitude.
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
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.
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)
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: > Asynchronzähler zählen nicht so weit? 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?
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.
Burkhard M. schrieb: > Blöde Frage, aber woher bekomme ich diese IC's? > Beim Tekkie seit 1923 find ich davon nichts Da wirst du vieles vergeblich suchen. Aber es gibt ja Farnell, RS, Mouser, Digikey....
Danke für die Infos! Ich werde mich mit Mi No in Verbindung setzen und vermutlich auf seine Lösung zurückgreifen. burkhard
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
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.
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.
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
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.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.