Auf der Suche nach dem MaxWert ( ADC )

Gast #396267
Lesenswert?
• ▲
▼
Mahlzeit,
folgendes  ich scanne mit meinem ADC (8051 Derivat) mehrere Kanäle und
schreibe die Werte für jeden Kanal in eine Tabelle mit 100 Werten. Dann
durchsuche ich die Tabelle auf den größten gemessenen Wert was auch gut
klappt.
Jetzt mein Problem ich möchte gerne den gemessenen Werten die Zeit zu
dennen Sie gemessen worden sind zuordnen.
Wie stelle ich das an? Die Zeit für eine Wandlung dauert ca 6µs.
Gast #396268
Lesenswert?
• ▲
▼
Brauchst du die Werte noh für andere Sachen, dass du sie in eine Tabelle
schreibst?
Sonst brauchst nämlich nur eine Variable für jeden ADC-Kanal:
alterWert.
Der Vergleich läuft dann so ab:
ist alterWert < aktuellerWert?
ja: speicher Zeit ab und setzt alterWert = aktuellerWert
Nein: dann tue nichts.
Für die Zeit musst du halt irgendwelche Variable bei jeder ADC-Messung
inkrementieren... (Zeitbasis sind dann die 6µs).
Gast #396270
Lesenswert?
• ▲
▼
Ich verstehe das Problem nicht. Wenn es 100 Messungen sind mit jeweils 6
µs, mußt du nur einen Zeitpunkt (z.B. den Anfang) speichern. Danach
kannst du den Zeitpunkt jeder Messung daraus ausrechnen (Start + 6 µs *
(Index * Kanalzahl + aktueller Kanal))
Gast #396271
Lesenswert?
• ▲
▼
>Wie meinst du das genau mit speicher Zeit ab woweg nehmen?

Was darf mir diese Frage sagen?

Vermutung: Es hat irgendwas mit der "Uhrzeit" zutun.

Man hat eine Zeitbasis, also ein Ereignis, dass in regelmässigen
Abständen auftritt.
Wenn man die Folge dieser Ereignisse mitzählt, kommt man zu einer Art
Uhr (eine "normale" Uhr hat als Zeitbasis eine Sekunde).
Lässt man diese Uhr nun im Controller laufen, dann kann man die
Uhrzeit, zu der ein grösserer Wert aufgelaufen ist, in einer Variablen
abspeichern (die Variable kann auch im EEPROM liegen...).
Wenn du jetzt kontinuierlich den ADC ausliest, könnte man die Messdauer
als Zeitbasis benutzen...
Oder man geht den anderen Weg und lässt den ADC durch ein
Timer-Interrupt auslösen (AFAIK können das eine AVR).
Gast #396272
Lesenswert?
• ▲
▼
ja das ist ja soweit auch richtig meinte mit den 6µs nicht das jede
Messung genau diese Zeit braucht da sind schon differenzen drin!
Möchte halt eine Zeit zum Messwert haben die nicht berechnet ist!
Gast #396274
Lesenswert?
• ▲
▼
Warum hast du uns das den anfangs verheimlicht? Du kannst natürlich,
wenn du noch genug Speicher übrig hast, den Zeitpunkt jeder Messung
auch mit in der Tabelle abspeichern. Den ermittelst du mit einem Timer.
Wie das bei deinem µC genau geht, kann ich dir nicht sagen.

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