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


von Cha_Ko (Gast)


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?

von Falk B. (falk)


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

von Dietmar E (Gast)


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.

von Spess53 (Gast)


Lesenswert?

Hi

Monoflop

MfG Spess

von Cha_Ko (Gast)


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.

von Cha_Ko (Gast)


Lesenswert?

Hat keiner ne Idee?

von Falk B. (falk)


Angehängte Dateien:

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

von universaldilettant (Gast)


Angehängte Dateien:

Lesenswert?

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

Rainer

von Spess53 (Gast)


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

von universaldilettant (Gast)


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

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.