PWM-Signal dekodieren mit Atmega128

Gast #307505
Lesenswert?
• ▲
▼
Hallo Forianer,

ich bin recht im Thema µC-Programmierung. Ich nutze einen Atmega128
@16MHz mit der Bascom-Umgebung.
Zur Sache:

Ich hab mir einen Beschleunigungssensor bestellt, der als
Ausgangssignal ein PWM-Signal liefert. Die Tastverhältnis enthält die
Info über die Beschleunigung.
Wie kann ich denn ein solches PWM-Signal am einfachsten (mgl. wenig
CPU-Last) realisieren. Das maximale länge einer Periode kann ich wählen
zwischen 0.5ms und 10ms wobei mit 4-5ms von der Präzision meiner
Anwendung am liebsten wären.

Es geht also nur um die dekodierung der Tastrate!
Vielen Dank für eine kleine Info!

Toby
Gast #307507
Lesenswert?
• ▲
▼
Der Mega128 besitzt die Input-Capture-Unit, damit lässt sich das
ziemlich simpel mit einem Interrupt auswerten.
Ob Bascom das unterstützt, weiß ich nicht. Ein Blick in die
Bascom-Befehlssammlung sollte aber helfen (32MB PDF...).

[OT]
>mgl. wenig CPU-Last)
Das widerspricht aber BASCOM...
[/OT]
Gast #307508
Lesenswert?
• ▲
▼
Mit ganz wenig CPU-Last:

RC-Glied an dein PWM Signal, und dann mit A/D Wandler auslesen.

Da sollte dann auch Bascom/C/ASM kaum noch einen Unterschied machen.

Und ist vermutlich (je nach Frequenz und Qualität des
Widerstands/Kondensators) auch viel genauer als das Ausmessen des PWM
Signals.

/Ernst
Gast #307509
Lesenswert?
• ▲
▼
Vielen Dank für die Antworten, ich werde mich mal mit dem
Input-Compare-Register beschäftigen. Leider sind die ganzen Infos von
AVR immer auf english. Oder gibts vielleicht irgendwo diese Handbücher
auf deutsch?

Gruß!

toby;
Gast #307510
Lesenswert?
• ▲
▼
Input-_Capture_...

>Leider sind die ganzen Infos von AVR immer auf english. Oder gibts
vielleicht irgendwo diese Handbücher auf deutsch?
IMHO: Nö. Ohne Englisch bist du eh auf längere Sicht aufgeschmissen...
Gast #307512
Lesenswert?
• ▲
▼
Da könnte ich dann auch gleich den analogen Output meines ADXL202
nehmen. Das wär Käse.
Das Input CAPTURE ist wohl tastsächlich die "gängigste" Methode beim
Dekodieren. Je nach Flankentriggerung bleibt der Counterstand als
Zeitstempel abrufbar. Ideal. Also danke für den Tip!!

Gruß,
Toby;

Antwort schreiben

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.

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.