Archiv verlassen und diese Seite im Standarddesign anzeigen : einfacher Frequenzzähler 50 MHz ATmega8 (Assembler)
Bernhard.Erfurt
23.03.2006, 20:42
Ich stell Euch heute einen kleinen und kostengünstigen und hinreichend genauen Frequenzzähler vor.
Besonderheiten:
- µC: Atmega8 / 16 MHz
- 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.
Bernhard
Hallo Bernhard, ich hab mir mal dein Projekt angesehen. Das gefällt mir sehr gut. Es ist schön zu sehen, was man alles mit nem kleinen AT8 machen kann. Ich werd dein Projekt evtl. mal nachbauen.
Temperaturdrift:
Wie wärs denn einen kleinen Aluklotz an den Quarz zu kleben und mit einem Temperaturfühler vor und nach einer Messung die die Gehäusetemperatur zu messen. Dann das Ergebnis anhand einer aufgenommenen Kennlinie kompensieren..
Sigo
Die klassische Alternative, einen Quarzofen zu nehmen oder zu bauen, hat den Nachteil, dass man man warten muss, bis das Teil sich eingeschwungen hat.
Mit drei Digits meinst Du irgendwas zwischen 100 und 999Hz? Das sind bei 10MHz gerade mal 10 bis 100ppm, das ist für einen unstabilisierten Quarz doch super! 5ppm/K lässt doch kaum noch Wünsche offen, mein konventioneller Zähler (also ohne Controller) driftet mehr, nur der gute alte Philips mit der Nixie-Anzeige nicht - der hat auch nen Ofen.
Bernhard.Erfurt
02.05.2006, 08:29
@Sigo
> Wie wärs denn einen kleinen Aluklotz an den Quarz zu kleben und mit
> einem Temperaturfühler vor und nach einer Messung die die
>Gehäusetemperatur zu messen. Dann das Ergebnis anhand einer
> aufgenommenen Kennlinie kompensieren..
Das ist eine sehr gute Idee, die Temperatur (Quarz und Kapazitäten) messen, eine Kennlinie im µC hinterlegen und das Messergebnis entsprechend umrechnen.
Nachteil: Wie sich das Altern der Bauelemente auf die Temperatur-Trifft auswirkt ist schwer vorherzusagen
Bernhard
@Bernhard
Langzeitdrift ist ein anderes Thema aber auch eine andere systematische Fehlerquelle.
Die unangenehmere kurzzeitige Temperaturdrift lässt sich so jedenfalls teilweise kompensieren und AD-Eingänge hat der ATmega ja.
Zusätzlich könnte man ja dann noch mit PWM ne Heizung oder n Pelier....
Die Frage ist, ob mans braucht..
Der Psyche tuts aber gut, wenn die Frequenz nicht wegläuft..
Und: Präzision macht einfach Spaß.
sigo
Hallo Bernhard,
in deinem Schaltplan hast du Gatter von Typ D100 und D103 eingezeichnet, was sind das für Bauteile? Hab ich nirgends gefunden. Was ist das für ein Transistor in de Vorstufe ??
Mit welchem Programm ist der Schaltplan gezeichnet ?
felack
DerWarze
29.09.2006, 21:50
Hallo
@felack
Ja das dürfte die alte 74xx er reihe aus der DDR sein.
danach wäre D100 74F00 und D103 74F03
ansonsten sieht man's ja an den Schaltsymbolen.
Gefält mir ansonsten sehr! Schönes Beispiel wie mit minimalen Aufwand viel erreicht werden kann. Die Präzision reicht doch für die allermeisten Fälle aus.
Mit SMD könnte das Teil sogar ein richtiges Westentaschengerät so für unterwegs werden. Wenn ich dazu komme mach ich mal ne Platine dafür.
Bernhard.Erfurt
02.10.2006, 11:53
Hallo felack,
>in deinem Schaltplan hast du Gatter von Typ D100 und D103 >eingezeichnet, was sind das für Bauteile? Hab ich nirgends gefunden.
Das sind die 7400 NAND-Gatter
>Was ist das für ein Transistor in de Vorstufe ??
z.B. BC546, 547,548 o.ä.
Mit welchem Programm ist der Schaltplan gezeichnet ?
Mit SPLAN 4.0 (sehr einfach und unkompliziert)
Benhard
Bernhard.Erfurt
02.10.2006, 23:45
@alle
Darstellung ohne LCD, dafür auf einem TV - Bildschirm:
(preiswerter geht's kaum)
http://www.mikrocontroller.net/forum/read-4-427581.html
Bernhard
Lob !!! Beim Link noch mehr davon :-)
Ginge auch ein LCD dran .. so a la Pollin 4x27 .. sprich ISP+TVOut+LEDs aufs Display ... (ich habe keinen TV !) ?
Liebe Grüße,
Vajk
Bernhard.Erfurt
03.10.2006, 00:28
@Vajk
>Ginge auch ein LCD dran ?
Für ein LCD kannst Du das oben hinterlegte Projekt verwenden.
Gruß
Bernhard
michael.bend
07.10.2006, 18:16
... super, danke dir! Ich wollte das auch schon selber machen, du hast mir viel arbeit erspart! (Michael)
Bernhard.Erfurt
09.10.2006, 11:03
...meine Bankverbindung gebe ich Dir später ;)
michael.bend
17.10.2006, 19:24
... nix da, die Euros habe ich in ein 100er Sortiment 74xx von Pollin investiert damit auch meine Enkel noch technisch den Anschluß an ältere Baupläne behalten können.
:-) nix für ungut, (Michael)
sulawesi
03.01.2010, 17:26
Super Sache hier !!!
Eine Frage noch zum Schaltplan. ( Werde ich Eagle nachmalen )
im Bereich vom Trigger. Die 2 Nand Eingänge sind war kurzgeschlossen, aber der Widerstand links daneben 100 Ohm hat keine Verbindung zum Eingang..ist es richtig ?????
Wieviel Ohm haben die Pull-Up Widerstände ( PB6,PB7...)
Die EIngänge PD0,PD2,PD3,PD4 ( Atmega ) sind mit den Eingängen von den Gatter ( Vorteiler ) Verbunden auch legen die am plus 5 V ? , Roter Punkt
Was macht der USART Ausgang ???
Hallo!
Für sehr genaue Frequenzmessungen verwende ich als Referenzfrequenz ein Träger von nächsten Langwellensender. Siehe dazu:
https://www.roboternetz.de/phpBB2/zeigebeitrag.php?t=13706&highlight=frequenzz%E4hler
MfG
hanneseilers
16.09.2010, 16:17
@sulawesi:
im Bereich vom Trigger. Die 2 Nand Eingänge sind war kurzgeschlossen, aber der Widerstand links daneben 100 Ohm hat keine Verbindung zum Eingang..ist es richtig ?????
ich denke nicht :-)
Wieviel Ohm haben die Pull-Up Widerstände ( PB6,PB7...)
Das hängt von der verwendeten LED ab. R = U/I
Die EIngänge PD0,PD2,PD3,PD4 ( Atmega ) sind mit den Eingängen von den Gatter ( Vorteiler ) Verbunden auch legen die am plus 5 V ? , Roter Punkt
Ich glaube das ist richtig so. Warum bekomme ich aber gerade auch nciht mehr hin.
bulldog06
09.12.2010, 19:13
Hallo Bernhard, ich hab mir mal dein Projekt angesehen. Das gefällt mir sehr gut. Es ist schön zu sehen, was man alles mit nem kleinen AT8 machen kann. Ich werd dein Projekt evtl. mal nachbauen.
Temperaturdrift:
Wie wärs denn einen kleinen Aluklotz an den Quarz zu kleben und mit einem Temperaturfühler vor und nach einer Messung die die Gehäusetemperatur zu messen. Dann das Ergebnis anhand einer aufgenommenen Kennlinie kompensieren..
Sigo
Die klassische Alternative, einen Quarzofen zu nehmen oder zu bauen, hat den Nachteil, dass man man warten muss, bis das Teil sich eingeschwungen hat.
Man könnte aber auch den Temperaturdrift ausgleichen indem man ein DCF 77 Modul mit dranhängt.
tolles Projekt!
Könnte man statt dem Atmega nicht auch einen kleinen FPGA nehmen?
Dann könnte man das hochfrequente Signal nach dem Triggern direkt in den FPGA leiten und dort verarbeiten. 200MHz und mehr sind für den ja nen Klacks.
Besserwessi
12.12.2010, 21:30
Für höhere Frequenzen geht so ein Zähler schon relativ gut. Man nutzt die Möglichkeiten die einem ein µC bietet aber nicht wirklich aus.
Es ginge einfacher und besser, wenn man die ICP-Funktion nutzt. Ohne Vorteiler kann man damit zwischen etwa 1 Hz und 200 kHz die Frequenz über die Periodendauer gut messen und hat auch bei niedriger Frequenz eine hohe Auflösung (besser als mit dem reinen Zählen wie hier). Für höhere Frequenzen braucht man dann einen Vorteiler, der aber nicht so fein zu schalten sein muss. Ein Teiler mit z.B. einem Faktor von 256 reicht dann bis rund 50 MHz und runter bis in den Bereich von ein paar kHz. Die Umschaltung zum Teiler kann der interne MUX des AD-wandlers übernehmen, oder 3/4 eines 74HC132 (Schmidt-trigger-Nand), das 4. Gatter kann dann als Trigger dienen.
Klar könnte man einen FPGA nehmen - der Aufwand, Preis und auch Stromverbrauch sind aber deutlich höher. Extra schnelle Vorteiler bis in GHz Bereich kann man auch einfacher haben, z.B. den alten U813BS.
wfhw1121
23.03.2012, 17:01
hallo,
ich bin gerade nach einer Google Suche auf diese Seite gestoßen, habe mich registriert und die Files des Zählers heruntergeladen.
Schaltplan: welcher Schalter bewirkt was???
LCD: die niederwertigen Bits (D0 bis D3) sollten an Masse gelegt werden.
Es fehlt das Poti zur Helligkeitseinstellung!
Auch die Versorgungsspannungspins für das LCD (mit der Digitalversorgung verbunden?) ist nicht eingezeichnet.
Hofentlich funktioniert die initialisierung des LCD!+
Ich hatte erhebliche Probleme bei einem PIC- Zähler (nach DL5MGD) diesen Zähler zum Laufen zu bringen, LCD wird wohl nciht richtig initialisiert.?
Gruss
wfhw1121
radbruch
23.03.2012, 17:31
LCD: die niederwertigen Bits (D0 bis D3) sollten an Masse gelegt werden.Bei meinen LCDisplays lasse ich die nicht verwendeten Pins (4 Bit Ansteuerung) frei, weil ich nicht dafür garantieren kann, dass das Display nicht doch irgendwann mal etwas an diesen Pins ausgeben möchte.
Willkommen im RN-Forum.
Gruß
mic
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.