Forum: Mikrocontroller und Digitale Elektronik Frequenzzähler


von Ulrech (Gast)


Lesenswert?

Hallo,

ich muss zuerst gestehen, dass ich keine große ahnung von
Mikrocontrollern habe. Ich habe jedoch schon einiges dazu durchgelesen
- auch das wunderbare Tutorial auf dieser seite..

Nun zu meinem Problem bzw. meiner Jahresarbeit in der schule.
Ich will mir einen Funktionsgenerator basteln, der sägezahn, dreieck
und sinusfunktionen generieren kann - frequenzbereich 10-200000Hz...
ich will ihn hauptsächlich zum testen von endstufen (meine eigentliche
Leidenschaft) verwenden. Eine Burst-Funktion zum testen der maximal
leistung, soll auch noch dazu. Deshalb schreibe ich aber nicht hier ins
forum - den funktionsgenerator ansich habe ich eigentlich schon fertig
aufgebaut.
Ich will jedoch noch eine LCD anzeige, die mir dann die Frequenz und am
besten noch die Ausgangsspannung anzeigt. Ganz cool wäre natürlich
noch, wenn es die Funktionsart anzeigen würde.. 8)
Ich habe auch schon sehr viel gegoogelt und auch einige gute seiten
gefunden. Es wurde auch der Atmel AT90S4433, der dazu ja ganz gut
geeignet sein soll, verwendet.
Mein Problem ist nun, dass ich keine große ahnung davon habe wie man so
etwas programmiert - gibt es da vielleicht ein Roh-Programm, dass ich
nur nach meinen vorstellungen verändern müsste?

Noch ein paar infos: Der Funktionsgenerator (XR2206) hat einen Ausgang,
der immer ein Rechtecksignal ausgibt - das wäre dann der eingang für
den Zähler....imo. Ich habe den gesamten Frequenzbereich, des
Funktionsgenrators in 3 Frequenzbereiche unterteilt; man könnte also
womöglich die Torzeiten daran anpassen..

Ich würde mich sehr freuen, wenn ihr mir weiterhelfen könntet...


Viele Grüße,

Ulrech

von TecDroiD (Gast)


Lesenswert?

Schau Dir doch einfach ein AVR-ASM-Tutorial an.
Im Endeffekt musst Du dazu nichts weiter tun, als in gewissen
Zeitabständen (Timergesteuert) schauen, ob ein Signal da ist. Um die
Stärke des Signals rauszubekommen solltest Du einen AD-Wandler
benutzen, da der interne ADC der AVRs etwas langsam ist.
Allerdings weiß ich nicht, ob das überhaupt nötig ist. Immerhin kannst
Du Dir ja auch einfach anhand des Steuersignals deines Generators
einfach ne Ausgabe auf nem Display machen...
Wäre billiger...

von Peter D. (peda)


Lesenswert?

"ich muss zuerst gestehen, dass ich keine große ahnung von
Mikrocontrollern habe."

Dann  würde ich auch dazu raten, erstmal mit weniger komplexen Dingen
in die MCs reinzuriechen.


"ein Problem ist nun, dass ich keine große ahnung davon habe wie man
so
etwas programmiert - gibt es da vielleicht ein Roh-Programm, dass ich
nur nach meinen vorstellungen verändern müsste?"

Ich könnte Dir mein fertiges Programm geben. Aber ohne es zu verstehen,
wirst du es wohl nie zum Laufen bringen.
Oder eben mit genau der gleichen Schaltung und völlig unverändert. Es
ist für den AT89C2051 in C geschrieben (0,5Hz...125MHz).


"Ich habe den gesamten Frequenzbereich, des
Funktionsgenrators in 3 Frequenzbereiche unterteilt; man könnte also
womöglich die Torzeiten daran anpassen.."

Warum ?
Für das menschliche Auge sind Ausleseraten von 2..5Hz optimal. Daher
solltest Du die Meßzeit auch auf 200..500ms festlegen.


Peter

von Ulrech (Gast)


Lesenswert?

@TecDroiD: Also im Prinzip weiß ich schon was der Mikrocontroller machen
soll, aber ich weiß nicht wie ich es ihm "sagen" soll. Er muss z.B.
100ms lang die steigenden flanken des signals zählen, dann mal 10
nehmen und dann an das LCD weitergeben - so denke ich mir das...
aber wie man das Programmiert weiß ich eben nicht wirklich.
Meinst du also, dass ich nochmal ein extra display für die
ausgangsspannung anbringen sollte? Es gibt ja solche billig
mini-multimeter, die ich dann einsetzen könnte, aber das wäre eben
längst nicht so edel.
Der AT90S4433 hat doch zwei analog multimeter integriert, wenn ich das
richtig gelesen habe....
So in etwa stelle ich mir es vor:
[url]http://www.qsl.net/zl1bpu/micro/CNTR/CNTR.htm[/url]

@peter dannegger: "Dann  würde ich auch dazu raten, erstmal mit
weniger komplexen Dingen in die MCs reinzuriechen."

Ich kann dich absolut verstehen.Mich ärgert es auch immer, wenn jemand
ohne ahnung in ein Forum kommt und dann gleich nach einem fertigen plan
fragt, damit er sich auch blos keine arbeit machen muss.
Ich würde ja gerne das programmieren von MCs richtig lernen und bei
kleinen versuchen anfangen, aber mir fehlt einfach die zeit dazu - und
ob das programm dann laufen würde wenn ich es selber schreiben würde
bezweifle ich.

Ich würde mich sehr freuen, wenn du mir das Programm mailen könntest.
Hat der AT89C2051 auch ein integriertes analog multimeter? Dann könnte
ich noch versuchen die spannung in das Programm zu integrieren..
Welche Auslesezeit hast du denn in deinem Programm verwendet?

Du hast recht bei der vergleichsweise geringen Bandbreite reicht eine
Auslesezeit für den gesamten Frequenzbereich.
Ich würde dann eine Auslesezeit von 200ms wählen, 100ms wären
vielleicht noch besser. Eine Auflösung von 1Hz wäre mir schon sehr
recht bei sehr niedrigen frequenzen - bei hohen ist es dann zwar etwas
unübersichtlicher, aber das ist ja egal..


Viele Grüße,

Ulrech

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.