Hilfe ! Duty cycle messen mit Oszilloskop ?!

N

Nancy Moeller

Guest
Hallo,

ich arbeite zum ersten mal mit einem Breadboard und möchte darauf eine
Schaltung mit folgenden Eigenschaften aufbauen:

Als Input hab ich zum einen ein Signal mit einer konstanten Frequenz
von 1 Hz und zum anderen einen Oszillator mit einer konstanten
Frequenz von 10 Hz.
(Beides werde ich mit dem Timer 555 realisieren)

Nun soll die Schaltung so arbeiten, dass sie einen Alarm ausgibt
(realisiert durch eine LED) für den Fall, dass das Tastverhältnis
meines Eingangssignales größer als 0.5 ist.

Nun steh ich aber vor dem Problem, dass ich keine Idee habe, wie ich
mit Hilfe meines Oszillators messen kann, wie lange mein
Eingangssignal in einer Periode auf High bzw. auf Low steht ?!
Das einzige, was ich weiß, ist, dass ich den Oszillator dafür benutzen
muss.

Hat da jemand einen Vorschlag ?

Mag sein, dass die Lösung ganz einfach ist, aber ich bin ein absoluter
Neuling auf diesem Gebiet !
Folgende ICs stehen mir für die gesamte Schaltung zur Verfügung:

Hex inverters 7404
Quad 2-input NAND gates 7400
Dual 4-input NAND gates 7420
Quad 2-input XOR gates 7486
Dual 2-input NOR gates 7402
4 bit magnitude comparator 7485
Synchronous 4-bit up/down counter with dual clock 74193
Synchronous 4-bit up/down counter with mode control 74191
Dual D-type flip flop 7474
4 bit universal bi-directional shift register 74194
Binary adder 74283


Vielen Dank schon mal für jeden Hilfe !!

Gruß, Nancy
 
Das einzige, was ich weiß, ist, dass ich den Oszillator dafür benutzen
muss.
Hört sich sehr nach einer der hiesigen Bildungseeinrichtungen an.
Selbst die Bastler verwenden inzwischen 74HCxx und nichtmehr 74xx bzw.
greifen sich einen Controller.

Hat da jemand einen Vorschlag ?
Wenn der 10 Hz Oszillator das 1 Hz Signal sampelt macht er daraus 10
Samples
( wegen Phasenjitter usw. real wohl auch manchmal: 9 und 11 ).
4 Bit Binärzähler würde man also mit den 10 Hz takten.

Es sind up/down-Counter, in den Steuereingang dafür könnte man das 1 Hz
Signal
geben.
Per Resettaste auf Clear-Eingang muß man den Zähler am Anfang noch auf
0000
setzen.
Bei 50% Tastverhältnis:
Wird 5 Takte hoch zählen: 0,1,2,3,4,5 und dann 5 Takte auf 0
runterzählen.
Nominell hat man weder Borrow noch Carry, aber wegen Phasenjitters ist
das bezüglich Borrow eventuell nicht stabil machbar.

Bei weniger als 50% Tastverhältnis:
Wird einen Unterlauf ( Borrow ) auslösen.
Bei Borrow mittels Clear wieder auf 0 zurücksetzen.

Bei mehr als 50% Taktverhältnis:
Er wird munter überlaufen, kann man also an Carry feststellen.
Bei Carry mittels Clear wieder auf 0 zurücksetzen.
Gegen Phasenjitter ist man hier sicher, da er ja 10 Zählerstände
Luft bis zum Überlauf hat. Reagiert dafür etwas später.

Mag sein, dass die Lösung ganz einfach ist,
Es gibt verschiedene Zählervarianten dafür.

MfG JRD
 
Per Resettaste auf Clear-Eingang muß man den Zähler am Anfang noch auf
0000 setzen.
Wenn man über den parallen Eingang einen Startwert in der Mitte also
z.B.
7 lädt, hat man sowohl Richtung Borrow als auch Richtung Carry
symmetrisch Luft gegen Überlauf.
Man muß dann bei Überlauf den Reset nicht mit Clear auf 0 sondern
mit Load auf 7 machen.

MfG JRD
 
Rafael Deliano <Rafael_Deliano@t-online.de> schrieb:

Das einzige, was ich weiß, ist, dass ich den Oszillator dafür benutzen
muss.
Hört sich sehr nach einer der hiesigen Bildungseeinrichtungen an.
Selbst die Bastler verwenden inzwischen 74HCxx und nichtmehr 74xx bzw.
greifen sich einen Controller.
Es geht da IMHO mehr um den Lösungsweg als um eine optimale Umsetzung.

Bei 50% Tastverhältnis:
Wird 5 Takte hoch zählen: 0,1,2,3,4,5 und dann 5 Takte auf 0
runterzählen.
Meine Idee: Zähler flankengetriggert mit dem Eingangssignal auf 5
setzen und mit dem internen Takt runterzählen lassen. Bei Zähler = 0
vergleicht man mit dem Eingangssignal; wenn (noch immer) High --> LED
an.
Beide Wege haben den Nachteil, daß das Frequenzverhältnis konstant
sein muß.

Flexibler wären separate Zähler für den High- und Low-Zustand, die
über einen Taktzyklus mitlaufen, hinterher vergleicht man die
Zählerstände. Da wird aber sowohl Steuerung wie auch Auswertung
deutlich aufwendiger.
 
ganz einfach:

Signal invertieren

Original-Signal und invertiertes Signal gleichrichten und Tiefpassfiltern
(mehrstufiger RC-Tiefpass)


Damit erhält man hinter jedem Tiefpass eine Gleichspannung, der Höhe vom
Duty-cycle abhängt

Beide Signale auf einen Komparator oder einfach einen Operationsverstärker
geben.

Je nachdem, ob das Signal ein Tasterhältniss von größer oder kleiner 50%
hat, liegt der Ausgang des Komparators auf + oder -

Gruß

Stefan
 

Welcome to EDABoard.com

Sponsor

Back
Top