www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Maximale Frequenz am ADC


Autor: Lazlo Panaflex (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

ich habe hier einen DC Motor der mit bis zu 6000 Touren dreht. Ein auf 
der Welle aufgeflanschter quadruple Encoder (A, A-, B, B-) dient dabei 
zur Poitionsbestimmung. Der Encoder ist verdammt schnell - bzw schickt 
viele Bits/Umdrehung - und da frag ich mich, was so ein ADC auswerten 
kann, ohne sich zu verschucken.

Gruß

Autor: Lothar Miller (lkmiller) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sowas wird nicht mit einem ADC ausgewertet, sondern mit normalen 
Eingangs-Pins.

> Der Encoder ist verdammt schnell - bzw schickt viele Bits/Umdrehung -
Zahlen?

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Siehe Drehgeber.

MFG
Falk

Autor: Lazlo Panaflex (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Habe gerade aufs Datenblatt geschaut; der Encoder haut 2500 Bits raus. 
Bei bis zu 6000rpm, macht das schonmal 250.000 Bits/Sec.

In Falks Link steht: Die Auswertung eines Drehgebers macht man am besten 
in einem Timer-Interrupt, der mit einer festen Frequenz ausgeführt wird. 
Die Abtastfrequenz muss so hoch sein, dass bei maximaler Drehzahl 
zwischen zwei Codewechseln mindestens 1 Abtastung erfolgt, besser jedoch 
mehr.

Interrupt und Co sind Neuland für mich.

250.000 ist schon ne ordentliche Hausnummer...

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@  Lazlo Panaflex (Gast)

>Habe gerade aufs Datenblatt geschaut; der Encoder haut 2500 Bits raus.
>Bei bis zu 6000rpm, macht das schonmal 250.000 Bits/Sec.

Hast du eine Linka auf das Datenblatt oder kannst du es als Anhang 
posten?

>Interrupt und Co sind Neuland für mich.

Tja.

>250.000 ist schon ne ordentliche Hausnummer...

Ziemlich viel. Rein in Software wird das wahrscheinlich nix. Da muss ein 
Hardwaredecoder her.

MfG
Falk

Autor: Knut Ballhause (Firma: TravelRec.) (travelrec) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Warum zum Geier fragst Du dann nicht nur eine Leitung des Drehencoders 
ab? Gibt genau einen Puls pro Umdrehung.

Autor: Lazlo Panaflex (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das ist ein - auf einem MCG Servo Motor aufgeflanschter - Encoder aus 
einem in der Halbleiterindustrie verwendeten Handlingsystem (Intel).

Was bringt es, wenn ich nur A oder B abfrage? Ich brauche beide um die 
Drehrichtung festzustellen und wo hab ich denn nur einen Puls/Umdrehung, 
wenn ich nur A oder B nutze? A sowie B geben um jeweils 90° verschoben 
(elektrisch, nicht mechanisch) 2500 - in Worten: Zweitausendfünhundert - 
Pulse pro Umdrehung aus. Ich muss also mit mindestens 500kHz abtasten.

Mutter sagte bereits: Wenn man keine Ahnung hat, einfach mal die Fresse 
halten ;)


@Falk: Hier das Datenblatt: http://www.quantumdev.com/pdf/qd145.pdf

Könntest du das mit dem Hardwaredecoder bitte etwas präzisieren, bzw mir 
einen Link zu entsprechenden Infos posten?

Autor: Karlheinz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>> Mutter sagte bereits: Wenn man keine Ahnung hat, einfach mal die Fresse
>> halten ;)

Deine Mutter hätte besser daran getan dir Manieren beizubringen.

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@  Lazlo Panaflex (Gast)

>Was bringt es, wenn ich nur A oder B abfrage?

Nix. Travel Rec meint wohl eher den Indeximpuls. Für eine 
Drehzahlmessung reicht es, zum Positionieren natürlich nicht.

>Mutter sagte bereits: Wenn man keine Ahnung hat, einfach mal die Fresse
>halten ;)

Naja, inhaltlich richtig, Form diskussionswürdig.

>Könntest du das mit dem Hardwaredecoder bitte etwas präzisieren, bzw mir
>einen Link zu entsprechenden Infos posten?

Hab ich doch schon. Der Artikel Drehgeber ist dein Freund.

MfG
Falk

Autor: tobi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Naja ein Timerinterrupt aller 2µs ist etwas ungünstig. Ein Pin Interrupt 
ist auch nicht schön. Da muss deine Interruptroutine schon verdamt kurz 
sein weil du sonst garnichts machen kannst.
Dreht der Motor nur in eine Richtung? Wenn ja würde ich ein XOR Gatter 
davorklemmen und ein Timer mit externen Takt benutzen. Wenn dir die 
Hälfte der Auflösung ausreicht, dann kannst du auch direkt ein Pin 
anschließen, ohne Gatter.
Ansonsten haben, glaub ich, die XMegas einen Hardware Decoder für solche 
Anwendungen. Die machen die Auswertung also nebenbei ohne das dafür 
Takte benötigt werden.

Autor: Lazlo Panaflex (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Manieren hin oder her; Montags liegt meine Reizschwelle ziemlich 
niedrig. Vielleicht hätte meine Mutter Sonntags weniger oft Kohleintopf 
kochen sollen, dann wäre ich Montags nicht so grantig. Und hätte weniger 
Blähungen.

Autor: Lazlo Panaflex (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke tobi. Dem mit dem XMega Decoder werd ich nachgehen.

Der Motor dreht in beide Richtungen.

Autor: Tropenhitze (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Um die Quadratursignale auszuwerten, gab/gibt es Bausteine wie den 
74HCT12024, der 24Bit zählen kann sowie kaskadierbar ist.

Eine andere Möglichkeit, die Signale zu verwurschteln, wäre ein FPGA.

Controller von Renesas, zum Beispiel die H8S-Reihe, haben zwei Hardware 
Quadraturdekoder auf dem Chip.

Wie schnell ein Xmega die Signale aufbereiten und verwenden kann, weiß 
ich nicht. Ein ATmega48 mit 20MHz schafft es jedoch, 250kHz Signale zu 
zählen. Die Zählroutinen müssen aber in Assembler geschrieben und 
optimiert werden.

Persönlich würde ich einen Renesas Controller nehmen. Eine günstige 
Lösung wäre aber auch ein ATmega48, der nur als 'Vorteiler' programmiert 
wird und Ausgangssignale wie Takt und Richtung liefert, die z. B. Faktor 
10-100 untersetzt sind, und mit einem anderen µC ausgewertet werden.

Das hängt aber davon ab, wie genau die Position bestimmt werden soll. 
Die Eingangsfrage nach der Schnelligkeit des ADC hat jedoch sehr 
irritiert.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.