Forum: Mikrocontroller und Digitale Elektronik PWM-Signal dekodieren mit Atmega128


von Toby (Gast)


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

von Toby (Gast)


Lesenswert?

soll heißen ich bin recht neu, verdammt

von Rahul (Gast)


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]

von Ernst (Gast)


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

von toby (Gast)


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;

von Rahul (Gast)


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...

von Rahul (Gast)


Lesenswert?

@Ernst: Super Lösung! Ein quasi-digitales Signal nach analog zu wandeln,
um es dann wieder zu digitalisieren...

von toby (Gast)


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;

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
Noch kein Account? Hier anmelden.