www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Wie Impulslänge überprüfen?


Autor: Cha_Ko (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Leute,

ich habe eine Schaltung die mir kurze Impulse liefert...Ich muss aber 
feststellen, ob ein Impuls eine bestimmte Länge hat und dann soll 
meinetwegen ein Asugang auf High gesetzt werden...Die Schaltung die ich 
Suche bekommt am Eingang also einen Impuls, guckt ob er lang genug ist 
und wenn er lang genug ist, setzt er den Ausgang auf high.

Hat da jemand ne Idee?

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@  Cha_Ko (Gast)

>ich habe eine Schaltung die mir kurze Impulse liefert...Ich muss aber

Wie kurz?

>feststellen, ob ein Impuls eine bestimmte Länge hat und dann soll
>meinetwegen ein Asugang auf High gesetzt werden...Die Schaltung die ich

Mindestlänge? maximallänge? Ein Bereich von bis?

>Suche bekommt am Eingang also einen Impuls, guckt ob er lang genug ist
>und wenn er lang genug ist, setzt er den Ausgang auf high.

Für immer? Oder nur begrenzte Zeit bis zum nächsten Puls?

Siehe Netiquette.

MfG
Falk

Autor: Dietmar E (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Welcher Microcontroller und welcher Pin?
- Mit einem Pin, der Input-Capture-fähig ist, ist es am genauesten: dann 
merkt sich die Hardware den Zählerstand beim Pegelwechsel und aus dem 
Zählerstand kannst Du die Länge berechnen (weil Du die Geschwindigkeit 
des Zählers kennst). Alles Notwendige steht im Micrcontroller-Datenblatt 
unter Input Capture Unit.
- Wenn der Pin mindestens Interrupt-fähig ist (INTn oder 
Pin-Change-Interrupt - beim ATMega644 jeder IO-Pin), dann einen Timer 
(Zähler) mit angemessener Geschwindikeit starten und im 
Pin-Change-Interrupt selber den aktuellen Zählerstand merken 
(Pegelwechsel zu Pegelwechsel): Input Capture per Software.
- Wenn der Pin nicht interrupt-fähig ist, musst Du es per Polling 
machen: Timer (Zähler) starten. Auf Pegelwechsel (low->high) warten und 
Zählerstand merken. Warten bis Signal wieder low geht. Zählerstand 
merken. Aus der Differenz der Zählerstände Zeit des Signals berechnen.

Autor: Spess53 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

Monoflop

MfG Spess

Autor: Cha_Ko (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Oh Sorry, ich hab mich wohl etwas kurz gehalten.

Also eigentlich würde ich gerne auf den Einsatz einer uC verzichten, da 
ich es für übertrieben halte, nur für diese Funktion einen uC zu 
verwenden.

Zur Impulslänge: die minimala Impulsdauer sind wenige Mikrosekunden. 
Eine maximale Begrenzung gibts nicht...Es soll, nachdem festgestellt 
wurde, dass der Impuls lang genug ist, der Ausgang auf high oder low 
(erstmal egal) gelegt werden und solange gehalten werden, bis der 
Impuls(wenn er lang genug war) zuende ist.

Autor: Cha_Ko (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hat keiner ne Idee?

Autor: Falk Brunner (falk)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
@  Cha_Ko (Gast)

>Hat keiner ne Idee?

Das kann man mit einem Schmitt-Trigger + RS-Flip-Flop machen. Über 
einen RC-Tiefpass wird die Zeit gemessen. Wenn der Puls lang genug ist 
erreicht die Spannung am Schmnitt-Trigger die Schaltschwelle und der 
Ausgang geht (kurz) auf LOW. Das setzt das RS-FlopFlop. Reset muss im 
Normalfall HIGH sein, mit LOW wird das RS-FlipFlop zurückgesetzt.

Siehe Anhang.

MFG
Falk

Autor: universaldilettant (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
So müsste das gehen. Minimale Impulszeit ca. 1µs. R1 vergrößern für 
längere Mindestimpulse.

Rainer

Autor: Spess53 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

Wie oben schon gesagt Monoflop. Du triggerst ein Monoflop, das auf deine 
minimale Impulsdauer eingestellt ist, mit der positiven Flanke. Der 
Ausgang des Monoflops verknüpfst per AND mit deinem Signal. Wenn die 
Signallänge länger als die Haltezeit des MF ist wird der Ausgang des 
AND-Gatter für die Restzeit des Impulses H.

MfG Spess

Autor: universaldilettant (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ooops, da war ich zu langsam und zu schnell gleichzeitig. C1 muss an den 
Ausgang von IC1C angeschlossen werden, sonst tut's nicht.

Rainer

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.