Forum: Mikrocontroller und Digitale Elektronik Flankenerkennung


von Daniel (Gast)


Lesenswert?

Hallo,

ich würde gerne eine fallende Flanke mit einem uC erkennen. Int wollte
ich keinen verwenden, daher taste ich das Eingangssignal regelmäßig
(mit 10kHz) ab.

Leider funktioniert die Erkennung nicht ganz tadellos, daher meine
Frage:
Wie sicher wird denn ein anliegender High od. Low Pegel vom uC erkannt?
Kann es sein, dass wenn ich "zu schnell" abtaste bei einer fallenden
Flanke zuerst ein High, dann ein Low und dann, weil sich der uC nicht
ganz sicher ist noch ein High kommt?

Vielen Dank,

Daniel

von crazy horse (Gast)


Lesenswert?

welcher MC?
Warum keinen Int? Es macht keinen Sinn, einen Eingang so oft abzufragen
(und dann im Zweifelsfall doch Ereignisse zu verlieren).

von Daniel (Gast)


Lesenswert?

Ich verwende einen ATMega8.
Das soll eine bidirektionale Eindraht Kommunikation werden. Int ist
deshalb blöd, weil ich den dann auch jedes mal umschalten müsste (soll
ja zum senden und empfangen gehen) und außerdem weiß ich nicht, ob all
meine Endgeräte immer einen Int frei haben (Bisher basieren die auf
einem Tiny26). Ich möchte die Routine halt möglichst universell
gestalten.

Nochmal zurück zu meiner Frage:
Gibt es einen Volt-Bereich, bei dem der uC "sich nicht entscheiden"
kann, ob es eine 1 oder eine 0 ist, oder ist die Abgrenzung eindeutig?

Vielen Dank,

Daniel

von Alisa 1387 (Gast)


Lesenswert?

Also ich bin kein Physikexperte, aber rein logisch gesehen ist die
Abgrenzung eindeutig! Egal was passiert, der uC wird immer entweder 0
oder 1 als Zustand erkennen - schließlich kennt er keinen anderen
Zustand.
Was ist denn das für ein Eingangssignal, dessen fallende Flanke Du
erkennen möchtest (vor allem: wie schnell ist es - hat es ne höhere
Schaltfrequenz als 10KHz)?
Lohnt sich der Einsatz eines externen Integrators oder muß es
low-budget-mäßig integriert werden?

von beta-frank (Gast)


Lesenswert?

Wenn Du gerade bei einer Flanke (die ja nicht unendlich kurz ist)
abtastest, bekommst Du trotzdem ein eindeutiges low oder high. So bei
halber Betriebsspannung (je nach MC) ist der Punkt, wo es sich
entscheidet. Wenn Du oft genug abtastest, geht Dir also nix verloren,
abgesehen vom exakten Zeitpunkt der aufgetretenen Flanke.

von Alisa 1387 (Gast)


Lesenswert?

Naja mit ext. Komponenten ginge es wohl auch nur in eine Richtung (Thema
Umschalten...), das ist damit wohl raus...

Aber wenn die Frequenz unter 10 KHz wäre (was sie wohl nicht ist oder
woher kommen die Probleme? kenne mich mit C nicht aus), dann wäre die
Lösung unter ASM doch recht simpel, oder? (bzw. mir fallen gleich
mehrere Lösungen ein)

von Daniel (Gast)


Lesenswert?

doch doch die Frequenz liegt bei unter 1kHz. Woher die Probleme kommen
bin ich mir auch nicht sicher. Es war halt nur so eine Vermutung, dass
es daran liegen könnte. Auf jeden Fall werden die übertragenen Bits
nicht richtig erkannt und im Debugger arbeitet es sich auch schlecht,
weil die Zeiten zwischen den Bits so lang sind.
Also bleibt nur "manueller Debugger" und alles per Hand durchgehen,
irgendwo muss ja der Fehler liegen...;-(

Viele Grüße,

Daniel

von Peter Dannegger (Gast)


Lesenswert?

Es gilt das Abtasttheorem:

Wenn Du mit 100µs (10kHz) abtastest, muß ein low- bzw. ein high-Pegel
immer länger als 100µs sein, damit er sicher erkannt wird.


Effektiv darf Dein Eingangssignal also nicht über 4kHz liegen (mit
Tastverhältnis 1:1).


Peter

von Alisa 1387 (Gast)


Lesenswert?

Ach ja das Abtasttheorem. Theoretisch ist die maximal abtastbare
Frequenz die halbe Abtastfrequenz, praktisch sollte sie noch etwas
niedriger liegen (wie Peter schon sagte)

Aber 1KHz ist weit drunter also liegt´s daran schonmal nicht.

von beta-frank (Gast)


Lesenswert?

Bei ner Rechteckschwingung müßte die Abtastfrequenz demnach theoretisch
unendlich hoch sein ...Zum Glück reicht die Erfassung der Grundwelle -
wenn das Tastverhältnis 50% ist.

Allg. also muß das Abtastintervall mindestens kürzer als der kürzeste
zu erwartende Impuls (ob hi oder lo) sein.

von Guillermo B. (benites)


Lesenswert?

Es wäre nett, wenn das obige Programm zur Flankenerkennung in diesem
Forum verfügbar wäre.

Gruss

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.