Forum: Projekte & Code einfacher 5 MHz Frequenzzähler (Assembler) ATmega8


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Bernhard S. (bernhard)


Angehängte Dateien:

Lesenswert?

Ich stell Euch heute einen kleinen, kostengünstigen und für manche
Anwendungen hinreichend genauen 5-stelligen 5 MHz Freuqenzzähler vor.

Kenndaten:

 Frequenzbereich:  1Hz bis 5 MHz (autom. Bereichsumschaltung)
 Eingangsspannung: TTL-Pegel

Zum Assemblercode:
Das Eingangsignal zählt den 2-Byte-Timer1/Counter1 kontinuierlich hoch,
nach einer 100-tel Sekunde wird dieser Timer-Wert ausgelesen und der
Messbereich bestimmt und ggf. nach einer 10-tel oder nach
1-er Sekunde erneut ausgelesen und nach jeder Sekunde angezeigt.

Was mich sehr wunderte, dass dieses Prinzip ab ca. 5,5 MHz nicht mehr
korrekt arbeitet, erwartet hatte ich 8 MHZ (halbe Taktfrequenz).

Bernhard

von Hubert (Gast)


Lesenswert?

Tolles Projekt. Man könnte vielleicht noch einen Frequenzteiler
vorschalten, um so auch hohe Frequenzen zu messen. Wäre ja nur ein
weiteres IC.

von Bernhard S. (bernhard)


Lesenswert?

@Hubert
>... noch einen Frequenzteiler vorschalten, um so auch hohe
> Frequenzen zu messen.

Das ist eine gute Idee, ein einfaches Flipp-Flopp verdoppelt sogar
schon die messbare Frequenz.

Man müsste dann nur och den Assembler-Code leicht  abändern.

von Hubert (Gast)


Lesenswert?

Oder einfach ein Binärzähler (4 Bit?), der vom unbekannten Takt
hochgezählt wird. Dann hätte man den Teiler 2, 4, 8 und 16. Wäre ein
Versuch wert, was da rauzuholen ist. Aber irgendwann ist eh mal eine
Grenze erreicht, wo man über die Eingangsbeschaltung nachdenken muß.
Externe 100MHz legt man mal nicht eben so über einen Draht an den
Frequenzzähler :)

von Benedikt (Gast)


Lesenswert?

Die Grenze für die 5Mhz kann ich vermutlich erklären:
Die 8MHz gelten nur, wenn man ein Signal mit exakt 50% Tastverhältnis
anlegt.
Aus diesem Grund verwende ich ab etwa 100kHz aufwärts einen Teiler, um
auch Signale mit kurzem Tastverhältnis (z.B. Sync Signale) messen zu
können, da diese oftmals Impulsbreiten <1us haben.

von Bernhard S. (bernhard)


Angehängte Dateien:

Lesenswert?

@Hubert

>... wo man über die Eingangsbeschaltung nachdenken muß...
>... 100MHz legt man mal nicht eben so über einen Draht an den
>    Frequenzzähler :)

... gut formuliert, über der HF-Eingangsschaltung habe ich auch schon
so manche Stunde gegrübelt. Denn kleine HF-Spannungen TTL-gerecht
aufzubereiten ist nicht ganz so einfach.

Ich stell' Euch mal ein diskretes Beispiel einer HF-Eingangsschaltung
zur Verfügung (ca. 20 MHz).

@Benedikt
>... 100kHz aufwärts einen Teiler, um
>    auch Signale mit kurzem Tastverhältnis (z.B. Sync Signale)
>    messen zu können, da diese oftmals Impulsbreiten <1us haben.

Ich ergänze mal, manche Teiler arbeiten auch erst ab einer bestimmten
Frequenz (z.B. ab 30 MHz) aber dafür bis in den GHz-Bereich hinein.
(z.B. U664)

von Bernhard S. (bernhard)


Lesenswert?

@Benedikt
> Die 8MHz gelten nur, wenn man ein Signal mit exakt 50%
> Tastverhältnis anlegt.

Das habe ich auch getan, glaube ich zumindest, werde aber mal einen
Vorteiler davorschalten und die Messung wiederholen.

Danke für Deinen Tipp

von Dirk M. (avr-nix)


Lesenswert?

abo

von Hubert (Gast)


Lesenswert?

Ich will an der Stelle mal ein Lob aussprechen. Bernhard, ich finde
deine Art der Schaltungspräsentation sehr ansprechend und
übersichtlich. Mal ein anderer Weg, als ein trockenes Eagle-Sheet
hochzuladen.

von Benedikt (Gast)


Lesenswert?

@Bernhard

Ja, mit dem U664 habe ich mir auch einen Vorteiler gebastelt, aber
wieder in die Ecke gelegt, da dieser nicht so ganz funktioniert:

Je nach Eingangspegel kann es passieren, dass das IC die doppelte oder
ein anderes Vielfaches der Frequenz anzeigt. Dasselbe passiert auch
wenn man es unter 30MHz betreibt.

von Sssssss (Gast)


Lesenswert?

Hi!

Evtl von Interesse: avr 1Hz-100MHz(!) Freqzähler:
http://www.tldp.org/linuxfocus/Deutsch/September2002/article253.shtml

Da kann man sich bestimmt einiges abgucken ;)

von Bernhard S. (bernhard)


Lesenswert?

@Benidikt
>... mit dem U664 habe ich mir auch einen Vorteiler gebastelt....
> ...je nach Eingangspegel kann es passieren, dass das IC die
> doppelte oder ein anderes Vielfaches der Frequenz anzeigt. Dasselbe >
passiert auch wenn man es unter 30MHz betreibt.

Und ich habe mir letztens bei e-bay einige ersteigert, wollte mir
demnächst mal eine Testschaltung aufbauen, nun kann ich mir ja gut
vorstellen, was mich hierbei erwartet.

>Sssssss
>Da kann man sich bestimmt einiges abgucken ;)

Interessant ist hier die Vorteiler-Geschichte.
Danke für den Tipp

von Bernhard (Gast)


Angehängte Dateien:

Lesenswert?

Update 50MHz LCD:

Besonderheiten:

      - LCD Ausgabe (10-stellige Ergebnis-Darstellung)
      - Frequenzen bis 20 MHz problemlos möglich (theoretisch 128Mhz)
      - Messzeiten von 1s bis 200s (für genauere Auswertung)
      - variabler Vorteiler von (2+4+8+16)
      - relativ einfach HF-Vertärkung und Triggerung

Anmerkung:

Die größten Probleme gibt es mit der Temperaturstabilität des Quarzes.
Bei einer Messfrequenz von 10 MHz wanderte mein Messergebnis
um ca. 3 Digits, als ich den Quarz und umliegende Bauelemente um
ca. 20 K erwärmte.

Die HF-Eingangsstufe, der Trigger und der erste 2:1 Vorteiler ist am
kritischsten, es ist nicht ganz einfach, aus einem 50 MHz - Sinus einen
halbwegs vernünftigen Rechteck zu generieren.

Gruß

Bernhard

von dirk (Gast)


Lesenswert?

Hallo Bernhard,

ich habe noch paar Fragen zu diesen schönen Projekt.

1. Warum hast du 2 Kapzi.-Trimmer eingebaut.
2. Welche Funktion haben die Tasten und LEDs und Beep
3. Was Empfängt man am USART
4. Welcher Transistor ist im HF-Vorvertärker eingebaut?
5. UND mit OC : D103 gibt da kein aus der 74 Reihe?
6. hast du paar Fotos vom LCD-Display - wird nur die Frequenz
angezeigt?
7. Die Pullups an den Schaltern, könntest du doch sparen wenn du per
Software die Interne Pullup einschaltes.

von Paul Baumann (Gast)


Lesenswert?

Der D100 ist der DDR-Typ des 7400 und der D103 ist der 7403. Für den
bipolaren Transistor habe ich den SF245 genommen.

MfG Paul

von Bernhard (Gast)


Angehängte Dateien:

Lesenswert?

@dirk

>1. Warum hast du 2 Kapzi.-Trimmer eingebaut.

 Der eine für den Grobabgleich,
 der andere (mit 5pF) für den Feinabgleich

>2. Welche Funktion haben die Tasten und LEDs und Beep

 Taste1 ==> Vorteiler
 Taste2 ==> Messzeit+Vorteiler(Clear)
 (damit kann man schneller Vorteiler und Messzeit ändern)
 Taste3 ==> Messzeit

 LED-BLAU   ==> zeigt an, ob ein Eingangssignal empfangen wird
 LED-GRÜN(e)==> Tastenbeleuchtung (zuletzt betätigte Taste)
 LED-GELB(e)==> aktivierter Vorteiler
 LRD-ROT    ==> Eingangssignal am Ausgang des Vorteilers

 Beep       ==> ertönt bei
           - Programmstart (3 mal)
           - Tastendruck
           - beim Empfang eines Eingangssignals (1 mal)

>3. Was Empfängt man am USART

  Die Frequenz im ASC-CODE

>4. Welcher Transistor ist im HF-Vorvertärker eingebaut?

 Ein halbwegs vernünftiger HF-Transistor (Z.B. SF...  danke Paul)


>5. UND mit OC : D103 gibt da kein aus der 74 Reihe?

 Paul: "Der D100 ist der DDR-Typ des 7400 und der D103 ist der 7403"

>6. hast du paar Fotos vom LCD-Display - wird nur die Frequenz
>angezeigt?

 Habe ich jetzt mit angefügt.
 Die Frequenz wird ordentlich formatiert (mit 1000er-Trennzeichen)
 ausgegeben und der
 momentan aktive Vorteiler und
 die aktive Messzeit und
 die momentan abgelaufene Messzeit
 und die Maßeinheit.

Erscheint ein "!" hinter der Frequenzangabe, dann ist das
 Messergebnis mit Vorsicht zu behandeln.

 Bsp: Vorteiler 2 und Messzeit 1s
 In diesem Fall habe ich das Messergebnis mit 2 multipiziert.
 Wenn eine Frequenz von 50 Hz angezeigt wird, dann kann das
 Eingangssignal ohne weiteres zwischen 48 und 52Hz liegen.

 Vorteil:  Messung geht schneller
 Nachteil: ungenau


>7. Die Pullups an den Schaltern, könntest du doch sparen wenn du per
>Software die Interne Pullup einschaltest.

 Stimmt, da muss ich nocheinmal im Datenblatt nachschauen,
 welches Bit gesetzt werden muss.
 Danke für den Tipp.

von dirk (Gast)


Lesenswert?

Danke!

Bernhard noch ne Frage, muß der D100 - Trigger Schaltung am 100und 470
Ohm Widerstnad angeschlossen werden, weil keine verbindung besteht.

Wenn es Richtig ist dann was sollen die zwei NANDs bewirken?

Und der Pfeil von AREF PIN 21 - wohin geht er - am zweiten Pluspol?
Und wozu dient es bzw Warum brauchst du die AREF ( wenn es sein
sollte)?

Und das RW des LCD geht an Plus richtig ?

So, das Teil werde ich mir mal nachbauen , Klasse!
Sieht gut aus das Gerät : -)

Noch einen guten Rutsch ins neue Jahr 2006!

von dirk (Gast)


Lesenswert?

Noch ne Frage den SF245 bekommt man nicht (od. so leicht ), welchen
Ersatztyp kann man benutzen?

Die Dioden, kann nauch 1n4148 benutzen, oder nicht?

von Bernhard (Gast)


Angehängte Dateien:

Lesenswert?

>Bernhard noch ne Frage, muß der D100 - Trigger Schaltung am 100und
>470 Ohm Widerstnad angeschlossen werden, weil keine verbindung
>besteht.Wenn es Richtig ist dann was sollen die zwei NANDs bewirken?

 Oh, hab's auch gerade gesehen. Natürlich muss da eine Verbindung
 bestehen.
 Habe den Schaltplan gleich korrigiert.  Danke

 Die beiden NANDs sind "Mitgekoppelt" und bewirken dadurch eine
 Triggerung des Signals.


>Und der Pfeil von AREF PIN 21 - wohin geht er - am zweiten Pluspol?
>Und wozu dient es bzw Warum brauchst du die AREF ( wenn es sein
>sollte)?

 AREF einfach mit an +5V legen

>Und das RW des LCD geht an Plus richtig ?

 Ja, kann problemlos permanent auf High gelegt werden, da das
 LCD-Display nicht ausgelesen werden muss.
 Aber vorsichtshalber nochmal im Datenblatt des LCD nachlesen,
 wenn's nicht funktioniert ;)


>Noch ne Frage den SF245 bekommt man nicht (od. so leicht ), welchen
>Ersatztyp kann man benutzen?

 z.B. BC546, BC547, BC548

 Zum testen der Schaltung kannst Du auch irgend einen NPN-Typ
 nutzen und ihn später durch einen besseren HF-Typ ersetzen.


>Die Dioden, kann nauch 1n4148 benutzen, oder nicht?

 Ja, Hauptsache sie haben eine geringe Sperrschicht-Kapazität
 und Sollten eine Si-Ausführung sein (Kennlinie)


>So, das Teil werde ich mir mal nachbauen , Klasse!
>Sieht gut aus das Gerät : -)

 Und es ist relativ kostengünstig.

 Ein kleiner Tipp:
 Wenn Du die Schaltung nachbaust, trenne den HF-Teil vom
 Digital-Teil,
 denn der ATmega8-16 mit seinen 4 Vorteilern und seinem 16 Mhz-Takt
 und mit dieser Software kann theoretisch über 100 Mhz messen.

 Die Qualität der HF-Verstärkung und Triggerung ist sehr stark
 vom Aufbau (Abschirmung/Fremdeinflüsse/Rückkopplungen) abhängig und
 kann im höheren Frequenzbereich viele schlaflose Nächte verursachen.

 Denn 100MHz bekommt man nicht so ohne weiteres durch einen Draht.


>Noch einen guten Rutsch ins neue Jahr 2006!

 Danke, das wünsch' ich Dir/Euch auch.

von Paul Baumann (Gast)


Lesenswert?

@Bernhard
Eine feine Sache hast Du da gebaut! Alle Achtung. Frage: Hast Du das
Gehäuse von HÜBNER? Wenn ich Dich im richtigen Ort vermute, dann kennst
Du die Firma und wir wären 56 Kilometer voneinander entfernt.

Guten Rutsch wünscht Paul

von Bernhard S. (bernhard)


Lesenswert?

@Paul Baumann

>Hast Du das Gehäuse von HÜBNER?

JA, ich kaufte es letzte woche bei HÜBNER in der Johannes-Straße.
Nutze gerne diese "EURO-Boxen" für Tischgeräte.

>Wenn ich Dich im richtigen Ort vermute, dann kennst
>Du die Firma und wir wären 56 Kilometer voneinander entfernt.

Na dann möchte ich an dieser Stelle einen Thüringer grüßen,
vielleicht sieht man sich mal, denn wir treffen uns manchmal in
Sömmerda zum Erfahrungsaustausch.

Gruß

Bernhard

von Paul Baumann (Gast)


Lesenswert?

@Bernhard
Wo trefft ihr Euch in SÖM? Beim Scotty? Ich sitze in MHL.

MfG Paul

von Bernhard S. (bernhard)


Angehängte Dateien:

Lesenswert?

Natürlich muss der Frequenzzähler auch geeicht werden.

Zum Grobeichen reicht die Netztfrequenz,
also das 50Hz -Signal
(bzw. 100Hz hinter der Zweiweggleichrichtung) aus.

Möchte man es aber wesentlich genauer haben, dann kann
das DCF77-Signal verwendet werden.

Mit wenigen Bauelementen kann das DCF77 Signal auf einige 10-tel
Millivolt verstärkt werden und mit einem einfachen Oszi und einem
Sinus/Rechteck-Generator verglichen werden (Lissajousfigur oder
2-Kanal-Darstellung).

Das Ziel ist, den Sinus/Rechteck-Generator auf genau 77,5kHz oder ein
Vielfaches davon einzustellen, um mit diesem Signal den Frequenzzähler
zu eichen.

@Paul
>Wo trefft ihr Euch in SÖM? Beim Scotty? Ich sitze in MHL.

Ja, bei Scotti, wir treffen uns immer in der Gaststätte "Istwan"
Ich denke, im Frühjahr werden wir uns wieder zusammen setzen.

Gruß

Bernhard

von Michael (Gast)


Lesenswert?

Eichen macht das Eichamt,
Kalibrieren ein Labor,
wir dürfen nur Abgleichen :-)

von Benedikt (Gast)


Lesenswert?

Davon abgesehen, ist jeder Quarz genauer als die Netzfrequenz. Zumindest
kurzzeitig.
Davon abgesehen: super Projektm auch wenn die Auflösungen unzweckmäßig
ist, wenn von 8 Stellen die letzten 4 bereits kleiner sind als der
Messfehler.

von Paul Baumann (Gast)


Lesenswert?

@Bernhard
Das ist ja gut! Das erfahre ich dann über Bernd (den Du dann sicher
auch kennst). Da werde ich wohl auch mal hinkommen.
MfG Paul

von Paul Baumann (Gast)


Angehängte Dateien:

Lesenswert?

Hallo!
Ich füge hier mal die Schaltung als Eagle-Datei an, falls sie noch
jemand nachbauen möchte.
Aber Vorsicht: Es ist meine erste umfangreichere Zeichnung mit Eagle.
Ich habe sie geprüft, kann aber für Fehlerfreiheit keine Haftung
übernehmen. Also bitte nicht hauen :-))
Layout habe ich nicht angefügt, weil ich Eure Gehäusegröße nicht
kenne.

Also FF (fiel Fergnügen) :-))

MfG Paul

von dirk (Gast)


Angehängte Dateien:

Lesenswert?

Hallo P. Baumann: Wie baust du deine Schaltung auf ?

Auf Lochraster? soll keine negative Keine Kritik
 sein.

Ihr habt immer gute praxisnahe Kosten günstige Ideen.
ich denke die Leute wissen nicht welche Werte Sie einbauen müssen.

ich habe auch mal die Schaltung in Eagel gemacht ( noch nicht ganz
fertig ).

Aber für deine Einsatzbereichschaft , ein dickes Lob!

von Paul Baumann (Gast)


Lesenswert?

@Dirk
Natürlich habe ich das nicht umsonst gezeichnet. Ich habe auch eine
Platine geroutet. Aber wie gesagt - das Layout kann sich ja jeder
selber routen. Die Werte sthen doch in Bernhards Schaltplan.
MfG Paul

von dirk (Gast)


Lesenswert?

@Paul:
Klar stehen die darin, aber Anfänger stehen da auf den Schlauch.
Das sollte doch nicht das Problem sein die paar Werte einzufügen.

Wäre doch Schade wenn da einer versucht nach zubauen und saht sich -
"Au Mann was haben die das den gemacht "

Weil wie soll sich jemand da zu recht finden?

Und das gehört einfach dazu, die Werte nicht zu erraten sondern zu
sehen , gel!

von Paul Baumann (Gast)


Lesenswert?

....die alte Weisheit: Tu niemand Gutes, dann geschieht Dir nichts
Böses. :-(
Paul

von dirk (Gast)


Lesenswert?

Oh paule, nicht so negativ, ich habe dein Einstatz gelobt!
Das sollte als positive Kritik verstanden werden, da ich mal davon
ausgehe das jeder lernfähig ist. : -)

von Paul Baumann (Gast)


Lesenswert?

... na wenn das so ist! Alles klar Dirk!
Mfg Paul

von Uwe (Gast)


Angehängte Dateien:

Lesenswert?

Hi!
Für ganz Verrückte mit viel Geduld ein BBV bis 190MHz @10mV.
Alles in SMD in einem Tunergehäuse und 4 Trennwänden.
1.Kammer Eingang bis J3s
2.Kammer Verstärker bis T15e
3.Kammer Trigger
4.Kammer Gal16V8-7 als Vorteiler 10:1/1:1.
So ein Gal geht locker bis 150MHz wenn man den CLK-Eingang benutzt.
Der ist 2ns schnell, nur die Ausgänge brauchen die angegeben Zeiten.
Das Teil macht aber auch Problem wenn NF-Signale etwas verrauscht sind.
Der ist so schnell das auf das Rauschen getriggert wird. Leider ist es
mir nicht gelungen die Hysterese verstellbar zu gestalten.
Übrigens fast alle AP-relevanten Werte müssen den Transistoren
angepasst werden um ein optimales Verhalten zu erreichen.

Viel Spass, Uwe

von Bernhard S. (bernhard)


Lesenswert?

@UWE

Das ist wirklich eine sehr interessante Schaltung,

interessant für mich ist es, dass der Schmittdrigger bei diesen hohen
Frequenzen noch vernünftig arbeitet.

>Alles in SMD in einem Tunergehäuse und 4 Trennwänden.

Hier ist wieder mal der praktische Aufbau von höchster Bedeutung,
denn bei 160MHz liegen die Oberwellen schon im GHz Bereich.

>So ein Gal geht locker bis 150MHz wenn man den CLK-Eingang benutzt.

Wie sieht es bei niedrigen Frequenzen aus, arbeitet er dann noch
"sauber", oder teilt er sein Eingangssignal so, wie er es gerade mal
möchte?

>Leider ist es mir nicht gelungen die Hysterese verstellbar zu
>gestalten.

Die Hysterese wird vorrangig durch den R16 bestimmt (zumindest bei
niedrigen Frequenzen),
wenn Du diesen R z.B. durch eine steuerbare Konstantstromquelle
ersetzt, dann könntest Du die die Hysterese ändern.
Mit anderen Worten, je höher der Kollektorstrom T9, desto größer die
Hysterese.




@Paul
>Da werde ich wohl auch mal hinkommen.

Würde mich sehr freuen, bring vorallem viel Zeit mit, denn es gibt
immer viel neues und interssantes zu berichten.

@Michael
>wir dürfen nur Abgleichen :-)

Stimmt! Da gebe ich Dir Recht, Danke für den freundlichen Hinweis.
(Deutsches Spraches, schweres Spraches)

Bernhard

von Uwe (Gast)


Lesenswert?

Hallo Bernhard!
>Wie sieht es bei niedrigen Frequenzen aus, arbeitet er dann noch
>"sauber", oder teilt er sein Eingangssignal so, wie er es gerade
mal
>möchte?
Ja, er arbeitet sauber wenn die Eingangsflanke schneller als 1us ist.
>Die Hysterese wird vorrangig durch den R16 bestimmt (zumindest bei
>niedrigen Frequenzen),wenn Du diesen R z.B. durch eine steuerbare
>Konstantstromquelle ersetzt, dann könntest Du die die Hysterese
>ändern.
Der Gedanke ist richtig, aber die 330R sind schon auf optimalen
L_Pegel(486mV) abgestimmt. Obwohl, bis 0,8V ist noch Luft. Das muss ich
direkt mal testen. Meine Bemühungen waren immer im Bereich R18, was aber
immer die Arbeitspunkte total verschob.

Was mir gerade noch so einfällt,die Spulen an T7/T9 musste ich in der
fertigen Schaltung deutlich erhöhen weil im Bereich 40-70MHz ein
deutliches Verstärkungsloch auftrat und real geht die Schaltung auch
"nur" bis ca. 140MHz mit 10 mV. Nun ja virtuell/real.

Danke und einen schönen Tag noch, Uwe

von Joe M. (joe_m)


Lesenswert?

Auch wenn der Thread schon etwas älter ist. Ich habe das Ding von 
Bernhard mal vom Prinzip nach gebaut.
Bei mir ging das LCD Display nicht. Erst nachdem ich R/W mit Masse und 
nicht mit +5V verbunden hatte, ging es.

von Bernhard S. (bernhard)



Lesenswert?

Update 2015:

- 10-stellige Darstellung

- Messzeit einstellbar: 1...200s

- Vorteiler einstellbar: 1/4/8/16

- Frequenzbereich bei Vorteiler-2: 0...15MHz

- Frequenzbereich bei Vorteiler-4: 0...30MHz

Hinweis: Die Genauigkeit der Frequenzmessung ist stark abhängig von der 
Quarzstabiliät, ggf. ist eine Temperatur-Regelung erforderlich.

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.