Wie messe ich Zeit? (Pulslänge via IC)

#3171021
Lesenswert?

mit einem Logikgatter: Ein Eingang nimmt 1MHz auf, also je Mikrosekunde 
einen Takt. Der andere Eingang nimmt den zu messenden Impuls auf: 
während seiner Dauer können die durchkommenden Takte gezählt werden. Das 
Zählergebnis ist dann die Dauer in mikrosekunden.

Wenns viele Impulse nacheinadner sind, muss dann eine Steuerung dazu:

...-Nullsetzen des Zählers - freigeben des Zählers fürs Zählen - Impuls 
messen - an Anzeige übergeben, - Wartezeit zum Ablesen - Nullsetzen des 
Zählers...

da brauchts halt mehrere FF's und Verknüpfungen zusätzlich.

Selbstverständelich lässt sich das auch mit einem Kontroller lösen, 
dessen Takt per Quarz genau gemacht ist.
OP #3171350
Lesenswert?

Danke für die Antworten. Es geht immer nur um einen Impuls aus einem 
Comparator, das Signal ist damit dann recht sauber und logisch.

Ist ein Arduino Uno geeignet? Ich hab gelesen das dessen Zeitmessung 
nicht sehr genau soll. 3% Genauigkeit hätte ich schon gerne.

Arduino würde sonst auch gut passen weil ich die Zeit auch gerne via LCD 
angezeigt haben will.
Gast #3171391
Lesenswert?

Der Arduino Uno ist gut geeignet. Die Anforderungen sind recht gering - 
da reicht fast jedes µC Board oder µC wo man ein Display anschließen 
kann. Für 3% Genauigkeit braucht man ggf. noch nicht mal einen Quarz.

Im Prinzip gibt es auch alte Spezielle ICs für so eine Aufgabe, so das 
es auch ohne µC und Programmierung gehen würde. Allerdings sind die ICs 
relativ teuer - da ist ggf. eine µC Platine günstiger.

Viele µC haben eine Spezielle HW Funktion um Zeiten zu messen (ICP beim 
AVR bzw.  Arduino Uno). Damit sollte man auch mit dem  Arduino Uno eine 
Auflösung von wenigstens 1 µs (mit Quarz auch unter 100ns) erreichen - 
die Genauigkeit wird je nach Taktquelle bei rund 1-2% mit dem internen 
RC Takt und rund 0,01% mit einem Quarz liegen, bzw. bei kurzen Zeiten 
durch die Auflösung begrenzt.

Auch ein analoger Komparator ähnlich 1/4 des LM339 ist oft schon im µC 
drin.
Gast #3171394
Lesenswert?

jan bader schrieb:
> Ist ein Arduino Uno geeignet? Ich hab gelesen das dessen Zeitmessung
> nicht sehr genau soll. 3% Genauigkeit hätte ich schon gerne.
Der Arduino Uno hat normalerweise einen Quarzoszillator?
So ein Quarz hat ungünstigstenfalls immer noch eine Genauigkeit von 
0,01%. Wenn das Programm dazu ungeschickt geschrieben ist, kann man da 
natürlich beliebig viel versauen.
OP #3171980
Lesenswert?

So, bin etwas weiter....

Der Camparator steht und liefert laut Oszi wunderbare Signale. Arduino 
Uno (Kopie) ist angeschlossen und läuft mit diesem Code:

https://www.inkling.com/read/arduino-cookbook-michael-margolis-2nd/chapter-18/recipe-18-8

Verstehe noch nicht ganz warum ich da immer zwei Werte bekomme, wovon 
der 2. Wert dann der ist den ich brauch. Ich werde den Code mal 
studieren...

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren