Forum: Mikrocontroller und Digitale Elektronik AVR Abtastrate berechnen


von Christian S. (golffan)


Lesenswert?

Hallo,

ein freundlicher Dozent hat mit folgender Formel die Abtastrate eines 
AVR , welcher auf einer Messchaltung sitzt, bestimmt.

8Mhz/(1024∙256∙4)=7,629Hz

Der externe Oszillator liefert 8Mhz. Das Signal wird im AD-Wandler  in 
1024 Schritten aufgelöst. Nun wird jedes dieser Intervalle mit einer 
Auflösung von 8Bit digitalisiert: Das Intervall wird in 2^8 = 256 Stufen 
unterteilt.

Doch wofür steht die 4?  Entlang des Messdrahtes gibt es 4 Punkte mit 
fest einprogrammierter Entfernung, etwa 0mm, 100mm 200mm 300mm, zu denen 
der aktuelle Messwert gspeichert wird und dann die Messwerte dazwischen 
entsprechend linearisiert werden?

Für Hilfe bin ich äußerst dankbar!

Freundliche Grüße

von spess53 (Gast)


Lesenswert?

Hi

Hier scheint einiges durcheinander zu sein.

Der Takt des ADC wird durch den Controllertakt und der 
Prescalereinstellung des ADC bestimmt. Die Abtastrate ergibt sich aus 
ADC-Takt und der Anzahl der Takte pro Messung (25 oder 13).

8 MHz  und Prescaler 64 -> 125 kHz ADC-Takt

Erste Messung (25 Takte)  -> 5 kS/s
normale Messung(13 Takte) -> 9,615 kS/s

MfG Spess

von Uwe (de0508)


Lesenswert?

Hallo Spess,

ich dachte erst an einen Timer0 Overflow Interrupt als Trigger und die 
Erfassung von 4 Kanälen in diesem Zeitraster.

Vielleicht sehen wir noch das gesamte Programm, dass können wir es 
lesen.

vg Uwe

von spess53 (Gast)


Lesenswert?

Hi

>ich dachte erst an einen Timer0 Overflow Interrupt als Trigger und die
>Erfassung von 4 Kanälen in diesem Zeitraster.

Da sieht das natürlich anders aus:

1024 -> Prescaler des Timers

256  -> Timertakte zwischen zwei Overflows

4    -> Anzahl der ADC-Kanäle

MfG Spess

von Christian S. (golffan)


Lesenswert?

Vieln Dank für die Rückmeldungen. Ich denke, so wird es sein

da mir der Programmcode nicht zur Verfügung steht,
kann ich den leider nicht posten.
Der Frequenzzähler ist meinen ATmega8 aufgebaut, die Taktferquenz wird 
durch einen externen Quarz auf 8MHz festgelegt.

Nun meine Frage, wenn ich jetzt diesen gegen einen  Quarz in 16MHz 
austausche, muss in der Programmierung was geändert werden, oder läuft 
die Schaltung dann schneller?

Freundliche Grüße und vielen Dank

von Christian S. (golffan)


Lesenswert?

zumindet müsste ich die beiden Kondensatoren ändern, wie ich dem AVR 
Tutorial entnehme.
aber weis jemand, ob man den Code oder sonstiges auch ändern muss?

von spess53 (Gast)


Lesenswert?

Hi

>Nun meine Frage, wenn ich jetzt diesen gegen einen  Quarz in 16MHz
>austausche, muss in der Programmierung was geändert werden, oder läuft
>die Schaltung dann schneller?

Auf jeden Fall den ADC-Prescaler auf 128 setzen. Dann liegt der ADC-Takt 
wieder im empfohlenen Bereich. Ohne Änderung am Timer hast du dann die 
doppelte Abtastrate. Wenn das nicht gewünscht ist, muss dann halt da 
auch noch dran gedreht werden.

MfG Spess

von Karl H. (kbuchegg)


Lesenswert?

Ich hab ehrlich gesagt noch gar nicht verstanden, WAS da eigentlich 
gemessen werden soll.
Die Ansammlung von Begriffen und Zahlen im Ereöffnungsposting macht für 
mich irgendwie den Eindruck, dass da recht willkürlich einfach alles, 
was irgendwie als Formelzeichen taugt, miteinander verrechnet wird.

von Christian S. (golffan)


Lesenswert?

es wird der wasserstand über die kapazitive methode als frequenz eines 
schwingkreises gemessen

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.