Glas-Maßstab EIA422 mit Arduino verarbeiten

Gast #3341965
Lesenswert?

Ja.


Ok. Scherz beiseite.
Etwas mehr Informationen was du machen möchtest sind schon nötig.
Insbesondere wie hoch die Auflösung und die Bewegungsgeschwindigkeit 
deines Maßstabs ist. Das entscheidet darüber ob der Prozessor die 
Signale überhaupt schnell genug verarbeiten kann.
Außerdem benötigst du noch einen Schnittstellenbaustein (Schau mal bei 
TI) der dir die Signale von RS422 in einen Arduinotauglichen Pegel 
umsetzt.
Softwareseitig kannst du mal hier im Forum unter Inkremental Encoder 
schauen. Das Prinzip der Signalauswertung ist das selbe. (Stichwort 
Quadraturdecoder)

Gruß Udo
Gast #3342347
Lesenswert?

Vielen Dank für schnelle Antwort!

Auflösung des Glas-Maßstabes ergibt sich denke aus:

Periodenteilung: 20µm (50 Linien/mm)
Auflösung 0,001mm

Geschwindigkeit: max. 215mm/min =3,6mm/sec (alte Fräsmaschine)

Nach Periodenteilung müßte also 180Hz sein
Nach Auflösung 3,6KHz

Was ist davon richtig ?

ich denke das zweite.

Damit möchte ich einen Rund-tisch mit Schrittmotor z.B. Bei Bewegung 
100mm in X-Richtung um 40° synchron drehen.



Und dann vielleicht ausprobieren, die X-Achse mit einem Schrittmotor 
anzutreiben, und mit Wegmeßsystem in closed-Loop ....... ;)

Kleiner Scherz.
Gast #3343908
Lesenswert?

Alexander Naam schrieb:
> mit Baustein ist so-was gedacht?
> 
http://www.commfront.com/TTL-RS232-RS485-Serial-Converters/RS485-RS422-TTL-Converter.htm

Das ist die fertig aufgebaute Variante. Wenn du die Schaltung selbst 
aufbaust (davon war ich bei Arduio ausgegangen) gibt es passende 
Interface Chips z.B. von Texas Insturments (TI). Der Klassiker ist z.B. 
der Am26C32.

Alexander schrieb:
> Periodenteilung: 20µm (50 Linien/mm)
> Auflösung 0,001mm

Ohne zusätzliche Auswerteelektronik (mit Interpolator) ist hier die 
Periodenteilung der interessante Wert.
Nach deiner Berechnung stimmen also die 180Hz. Normalerweise werden 
jedoch alle 4 Signalzustände ausgewertet womit wir bei 5µm Schritten und 
720 Hz wären.

Wolfgang schrieb:
> Ein Arduino Due macht das mit seiner Hardware. Der Prozessor kann dabei
> schlafen ;-)

Das ist vermutlich richtig (kenne den Prozessor im Due nicht genau) wenn 
der ARM Prozessor einen eingebauten Quadraturdecoder auf dem Chip hat.
Die einfachen Arduinos mit Atmega Prozessoren haben das nicht. 
(Zumindest die Exemplare die ich kenne).
Hier erfolgt die Auswertung in Software mit etwas Hardwareunterstützung 
(Also mit Interrupts und Timern).
Wie genau -> siehe diverse Artikel hier im Forum und als Grundlage
http://www.mikrocontroller.net/articles/Drehgeber.

Jetzt kommt es darauf an die Software so zu gestalten das sie die 
Encoder Signale schnell genug abarbeitet, sonst  ist es Essig mit der 
Genauigkeit.

Ich hoffe das hilft schonmal weiter.

Udo

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