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

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.