AVR Programmierung

Gast #5722502
Hallo,

ich möchte gerne einen inkremental Encoder auswerten (A-,B-,N-Signal). 
Hierfür benutze ich einen µC aus der UC3A-Baureihe(32Bit).
Zudem soll der gemessene Winkel mit einem Zeitstempel versehen werden.

Kurze Infos:
Drehzahl: 116,67 1/s
Impulse pro Umdrehung: 1800

Kann mir einer sagen , wie ich das am besten lösen kann?
Benötige jetzt kein Programm , mir reicht eine schrittweise Erklärung 
vollkommen.
Könnte der Capture Mode eventuell nützlich sein ?
(Firma: Funkenflug Industries) #5722513
> UC3A-Baureihe(32Bit)
Uiuiui, bißchen knapp, oder? Das schafft der doch nie.

Im Grund wertet man eine (z.B. die fallende) Flanke von einem Kanal aus 
und schaut bei deren Erkennung nach, wie der Pegel des anderen Kanals 
ist. Daraus erkennt man die Richtung.

Edit: Aber ich denke das wird sowieso nichts, Du erzeugst da Impulse mit 
210kHz. Wenn ich da für jeden Impuls einen Zeitpunkt speichern möchte, 
fallen da einige Megabyte Daten pro Sekunde an. Wozu?
#5722525
Ben B. schrieb:
> Edit: Aber ich denke das wird sowieso nichts, Du erzeugst da Impulse mit
> 210kHz. Wenn ich da für jeden Impuls einen Zeitpunkt speichern möchte,
> fallen da einige Megabyte Daten pro Sekunde an. Wozu?

Es ist doch nicht gesagt, dass bei jeder Flanke ein Winkel mit 
Zeitstempel erhoben werden muss (oder doch?).
#5722531
M.A. S. schrieb:
> Ben B. schrieb:
>> Edit: Aber ich denke das wird sowieso nichts, Du erzeugst da Impulse mit
>> 210kHz. Wenn ich da für jeden Impuls einen Zeitpunkt speichern möchte,
>> fallen da einige Megabyte Daten pro Sekunde an. Wozu?
>
> Es ist doch nicht gesagt, dass bei jeder Flanke ein Winkel mit
> Zeitstempel erhoben werden muss (oder doch?).

Der Zeitstempel dient dazu um mehrdeutige Winkelinformationen zu 
vermeiden.
#5722617
M.A. S. schrieb:
> Toliam T. schrieb:
>> Der Zeitstempel dient dazu um mehrdeutige Winkelinformationen zu
>> vermeiden.
>
> TT schrieb:
>> ich möchte gerne einen inkremental Encoder auswerten...
>
> "Auswerten" ist keine sehr eindeutige Information. Wie viele Winkelwerte
> pro Zeit sollen denn nun genommen werden? Was wird damit gemacht?


Die Messdauer beträgt 10s. Sinn ist von einem Motor die Winkel zu 
bestimmen.
Mit einer Winkelauflösung von 0,2°. Maximale Drehzahl wäre 7000 U/min.
Die Messdaten werden auf einem MT48LC16M16A2-75 zwischengespeichtert.
Danach sollen die Daten auf einem USB Speicher abgeliefert werden in 
Form einer Textdatei. Auswertung erfolgt offline.
(Firma: Funkenflug Industries) #5722624
7000 U/min bei 1800 Impulsen pro Umdrehung? Was soll das werden, ein 
Maschinensender? Sowas kann man inzwischen schon in Röhrentechnik bauen.

Nee ernsthaft, hast Du das überhaupt mal durchgerechnet? Ich verstehe 
nicht mal was Du damit meinst von einem Motor die Winkel zu bestimmen.
#5722663
Ben B. schrieb:
> 7000 U/min bei 1800 Impulsen pro Umdrehung? Was soll das werden, ein
> Maschinensender? Sowas kann man inzwischen schon in Röhrentechnik bauen.
>
> Nee ernsthaft, hast Du das überhaupt mal durchgerechnet? Ich verstehe
> nicht mal was Du damit meinst von einem Motor die Winkel zu bestimmen.

Geht um einen Bremsmotor von dem ich die exakte Position bestimmen soll.
Wären soweit ich richtig gerechnet habe 210kHz.
Mit Einbezug auf das Abtasttheorem müsste ich dann jede 2,4 µs abtasten.
Gast #5722732
Ich rate mal, daß man die Winkelgeschwindigkeit eines Hubkolbenmotors in 
der Abwürge-Rampe bestimmen kann, inkl. Drehschwingungen.
ISt aber nur geraten. Bestimmt ein Studentenprojekt.
Gast #5722810
Brauchst du noch einen DMS auf der Welle für das Drehmoment mit gleichem 
Zeitstempel.? Oder macht das der kommilitone? Werden die zeitstempel 
synchronisiert?
Wird ein Sample pro Winkel genommen, oder pro Zeiteinheit?
Schreibst Du diesen thread ins Literaturverzeichnis von deiner 
'Batschellerarbeit'??!!
#5723077
Toliam T. schrieb:
> Geht um einen Bremsmotor von dem ich die exakte Position bestimmen soll.

Und wie oft sollst du die Position bestimmen?
Wirklich jedes mal wenn einer der 1800 Impulse pro Umdrehung auftritt?

Oder vielleicht doch nur z.B. jede Millisekunde.

Wir haben hier auch Bremsmotore mit 2048 Impulsen pro Umdrehung. 
Trotzdem wird die Drehzahl nur alle 10ms abgespeichert.
#5723106
Thomas F. schrieb:
> Und wie oft sollst du die Position bestimmen?
> Wirklich jedes mal wenn einer der 1800 Impulse pro Umdrehung auftritt?
>
> Oder vielleicht doch nur z.B. jede Millisekunde.
>
> Wir haben hier auch Bremsmotore mit 2048 Impulsen pro Umdrehung.
> Trotzdem wird die Drehzahl nur alle 10ms abgespeichert.

Eben.
@TO: Was denn nun?

Antwort schreiben

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