schnelle AD/DA-Wandlung

Gast #1018823
Moin,
mal nen paar fragen.

Wovon hängt die Konvertierungszeit des AD Wandlers ab? Beim Atmega644 zb 
steht was von 65 bis 260µs - das ist ja schon ne recht hohe Differenz. 
Ich brauche eine Umwandlungszeit von maximal 90µs. Da ich 143 Sensoren 
innerhalb von 10-13ms auslesen will. Alternative wäre noch ein 
Controller mit 2 AD Wandlern dann ist das nicht mehr so zeitkritisch. 
Aber wovon hängt das ab, ob ich nun 65 oder 260µs brauche?

Ne andere Frage: ich muss Werte auf dem µC zwischenspeichern, aber auch 
so, dass diese auch ohne Spannungsversorgung erhalten bleiben. gibt es 
da µCs die nen durch das laufende Programm beschreibbaren Flash Speicher 
oä haben?

Jazz
Gast
>Da ich 143 Sensoren innerhalb von 10-13ms auslesen will.

Willst Du die Werte nur messen oder auch etwas damit anfangen?

Da würde ich zunächst einmal sehen, wie leistungsfähig der Prozessor für 
die Auswertung sein muß und dann prüfen, ob hier ein AVR überhaupt 
angemessen ist.
Gast
>ob ich nun 65 oder 260µs brauche?

Klingt nach Atmel. Der interne ADC braucht 13 ADC-Takte für eine 
Umwandlung. Da das maximal 90µs dauern darf, musst du mind. 150kHz als 
Taktfrequenz für den ADC einstellen.
Gast
Ohne das Datenblatt studiert zu haben. Ist es bei der AD-Wandlung auf 
dem AVR nicht vom Eingangswert des Signals abhängig? Je nach dem wie 
schnell der entsprechende Wert gefunden wird, steht der gewandelter 
Digitwert zur Verfügung: Sukzessive Approximation

Gruß
Daniel
Gast
Hallo,

die Konvertierungszeit hängt von der Taktrate ab, mit der der Wandler 
betrieben wird, die wiederum hängt vom verwendeten Quarz und der 
Vorteilereinstellung ab.

Für 143 Analogwerte, wirst du 286 Byte Arbeitsspeicher benötigen, um sie 
zu speichern. AVRs gibts bis 8kB internen Arbeitsspeicher. Man kann an 
busfähige, z.B. den ATMEGA 162 oder 64, 128, 1280, 1281, 2560, 2561 bis 
zu 64kB externes Ram anschließen, das sich auch batteriepuffern lässt 
(Lithiumbatterie 3V für 10 Jahre).

Ich rate davon ab, für die Messwertspeicherung das Flash zu beschreiben, 
für jede Änderung eines einzelnen Byte muss immer eine ganze Page 
gelöscht und wieder beschrieben werden, das geht nur ca. 10000 mal, dann 
ist das Flash defekt.

Auch mit inernem Ram kann man eine Batteriepufferung realisieren, man 
muss nur erkennen, dass die Versorgungsspannung fehlt und in einen 
low-power Modus umschalten, die CPU anhalten und dann braucht der 
Controller weniger als 1µA und der Speicherinhalt bleibt erhalten. Mit 
3V geht das aber nur mit einem Low-Voltage-Typ, z.B. ATMEGA2560V.

Wenn die Speicherung nicht für Jahre funktionieren muss, kann man auch 
einen Goldcap mit 5,5V verwenden. Wenn man sofort bei Stromausfall die 
CPU anhält, sind mit 1F Speichererhaltungszeiten bis 2 Monate möglich.

Viele Grüße,

Peter
Gast
Moin, danke für die hilfe,
ich werd das wahrscheinlich so machen, dass ich die werte die 
gespeichert werden müssen auf einer sd karte speichere und beim start in 
den ram des µCs lade.
Gast
@Daniel Goosmann

>Ist es bei der AD-Wandlung auf dem AVR nicht vom Eingangswert des Signals 
>abhängig?
>...Sukzessive Approximation

Nee, gerade nicht.

@Jazz

Du kannst beim AVR den ADC ruhig so schnell, wie im Datenblatt angegeben 
betreiben: 65µs. Wenn Du keine 10Bit Genauigkeit brauchst, auch noch 
schneller.
Wenn Du aber alle 10ms alle Sensoren einlesen und auswerten willst, kann 
beim AVR die Rechenzeit knapp werden.
Da Du auch noch eine Menge externe Multiplexer verdrahten mußt, würde es 
auch nicht ins Gewicht fallen, einen separaten ADC zu verwenden.
Gast
Moin, noch ne frage, ich kann bei reichelt oä keine analogen multiplexer 
finden. weiß jemand wo ich die her bekomme - ohne mich auch dusselig zu 
bezahlen (also unter 2€ für einen 8 Kanal Multiplkexer wäre schon toll)

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 18 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

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.