www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Flankenerkennung


Autor: Daniel (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: crazy horse (Gast)
Datum:

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

Autor: Daniel (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Alisa 1387 (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: beta-frank (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Alisa 1387 (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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)

Autor: Daniel (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Peter Dannegger (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Alisa 1387 (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: beta-frank (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Guillermo Benites (benites)
Datum:

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

Gruss

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.