Wie lese ich eine Frequenz beim Atmel mega32 ein?

Gast #140360
Lesenswert?

Hallo Leute!

Bei unsere Diplomarbeit haben wir folgendes Problem. Wir wissen nicht,
wie wir eine Frequenz beim Atmel mega32 einlesen sollen. Wir haben
bisher nur geschafft,dass wir einen Port auf 5V legen. Nun stellt sich
die Frage, wie wir dieses Problem bewältigen sollen, da wir im Internet
leider nichts passendes dazu finden. Wir programmieren in C und leider
finden wir nur Bsp. für Assembler, die uns auch nicht weiter helfen.


Die Frequenz liegt im Bereich 0-120 kHz!

Hoff, uns kann jemand weiter helfen! Wäre toll!

mfg
Kati
Gast #140361
Lesenswert?

Das wird am einfachsten über den ICP (Input Capture) gemacht. Wenn der
Timer 1 richtig initalisiert wird, passiert folgendes: der Inhalt der
Timerregister (High und Lowbyte) landen in den Capture-Registern. Ein
Interrupt wird ausgelöst, und dann kann man anhand des
Oszillatortaktes, des Timervorteilers und (Mapfile) die Verweilzeit
bzw. Ein- und Aussprung der Interruptroutine die Frequenz errechnen.
Bei 0-120 KHz muß evtl. auch noch der Timerüberlauf abgefragt werden.
So in etwa geht's.
MW
Gast #140366
Lesenswert?

Wie ist so ein oszillierendes Signal aufgebaut?
Es besitzt eine fallende und eine steigende Flanke, die sich
abwechseln. Bei der nächsten Flanke kommt schon die nächste Periode.
Also kann man zwischen 2 Flanken die Periodendauer messen.
Dann bildet man den Kehrwert, und erhält die Frequenz.
Problematisch sind da nur die niedrigen Frequenzen. (Wie will man 1Hz
oder 0,00001Hz messen?)


(Bei uns war das Stoff Anfang Hauptstudium bei den Maschinbauern und
Freinwerktechnik/Mechatronikern im Elektronik-Labor...)
Gast #140369
Lesenswert?

An michael:
Wieso bist du so unfreundlich? Es ist nur für den AT90S2313 und nicht
für einen mega32 und da wir uns damit noch nicht so gut auskennen,
müssen wir erst selber mal schaun, wie wir das Problem am besten lösen.
Außerdem ist es nicht einfach ein fertig programmiertes Programm zu
lesen. Wir studieren eh schon seit stunden das Datenblatt über Timer.
Gast #140370
Lesenswert?

Gut, vielleicht bin ich unfreundlich.
Aber mehr, als die C-Quelle für einen AVR - ob 2313 oder Mega32 -
angeliefert zu bekommen, kannst Du nicht erwarten. Und bei der
Erledigung von 'Hausarbeiten' wird Dir hier vermutlich nicht viel
Entgegenkommen gezeigt. Aber ich lasse mich auch vom Gegenteil
überzeugen.
Gast #140371
Lesenswert?

hallo, aber das ist keine hausaufgabe. nur weil du vl meinst, dass du
dich da so super toll auskennst, freut mich das für dich. aber es kein
grund mich vl zu beschimpfen. es gibt nun mal leute die sich nicht so
gut auskennen, aber damit wirst du wohl oder übel leben müssen.
aber wir werden das auch ohne deine hilfe schaffen. vl nicht heute,
aber dann halt nächste woche. so blöd ist mein diplomarbeitsgruppe auch
nicht!
Gast #140376
Lesenswert?

"Die Frequenz liegt im Bereich 0-120 kHz!"


Das geht schonmal garnicht !

Für 0Hz must Du nämlich unendlich lange messen.

Gib also irgendwas realistisches an.

Und dann sag erstmal, wie schnell die Messungen sein müssen und wie
genau (in % und in Digits).

Dann erst kann man überlegen, wie es gemacht werden könnte.


Für die C-Programmierung ist allerdings besser ein ATMega8 zu
empfehlen, da ein ATTiny2313 recht schnell am Anschlag ist (nur 1024
Befehle).


Peter
Gast #140378
Lesenswert?

Also 50kHz ist ja doch schon sehr weit weg von 0Hz.


Trotzdem ist noch die nötige Genauigkeit wichtig, um die Software
überhaupt anfangen zu können.

Es ist schon ein  erheblicher Unterschied, ob 120,0000kHz von
120,0001kHz unterschieden werden sollen oder nur, obs 50 oder 120kHz
sind.


Die Lösung ist umso einfacher, je besser man überhaupt erstmal die
Aufgabe definiert.


Peter
Gast #140379
Lesenswert?

meine meinung

die fragensteller haben sich noch keinen kopf gemacht, weil mehrere
crossposting mit dem selben thema aufgekommen sind soetwas macht man
nicht.

diplom hiest in unseren breitengraden  leistung pro zeiteinheit
deswegen auch eine zeitbegrenzung

und gennerell gilt  studium (lat.) sich bemühen   und nicht wie manager
andere bemühen

nimms nicht für ungut aber neeneeee

mfg

toni
Gast #140381
Lesenswert?

Der Analog-Comparator des ATmega32 kann auch als Quelle für den Timer
dienen.
Als Eingänge für den Analog-Comparator können neben den 2 normalen
Analogcomparatoreingängen auch alle Analogports verwendet werden.

Mit einem ATmega können also ohne Zusatzbeschaltung 9 Frequenzen
gemessen werden.

obiges ist aus meiner Erinnerung also bitte alles nochmal selbst im
Datenblatt nachlesen.

MfG Werner
Gast #140383
Lesenswert?

@ Benedikt & luchs
ihr brauchts net blöd mauln, wenn ihr schon so net fähig seid zu
helfen. aufspielen allein bringt euch nix. würd mi da eher saublöd
vorkommen!aber i find euch beide nur zum auslachen!
#140384
Lesenswert?

"...wenn ihr schon so net fähig seid zu helfen."

die sind schon fähig zu helfen, aber eben nicht fähig in Deinen Kopf zu
schauen !!!

Wer nicht weiß, daß man 0Hz nicht messen kann und daß es einen großen
Unterschied macht, ob man 50Hz oder 50kHz messen muß, der sollte nicht
andere auslachen sondern sich schämen, weil er bisher alle Vorlesungen
völlig umsonst besucht hat.


Und über die benötigte Genauigkeit weiß hier immer noch keiner
Bescheid.

Dir würde man warscheinlich eine Personenwaage andrehen können, die auf
0,001g genau ist (kostet eben nur schlappe 10.000€) und ein
Fieberthermometer, welches auf 10°C genau ist.

Genauigkeitsbetrachtungen gehören zu den absoluten Grundlagen jeglicher
Messung.


Peter
Gast #140385
Lesenswert?

ahja

also meiner einer hat sehr zügig in dem anderen forum geantwortet dort
is dann blos nie was zurückgekommen und was hats gebracht eine
beschöftigung von völkerstämmen  alles nur heise luft weils jemand
nicht erwarten kann   das ist nett gesagt   absolute scheiße
 viele arbeiten nebenbei und wollen helfen und machen das auch
zudem wurden nur halbfertige aufgabenstellungen angeben was es nicht
leichter macht.
und mein eindruck bleibt bestehen, das die hier ohne große vorbereitung
gefragt haben und das sollte zu erwarten sein.
oder wieso weiß man den sonst nicht das ein mega ... zur avr typenreihe
gehört
steht doch ganz oben im datenblatt ..... .

so und wer von uns beiden hat jetzt blöd gemault ??

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