Salut,
für ein kleines Projekt brauche ich einen ADC. Die einfache Methode aus
der Atmel Application Note AVR400 gefällt mir eigentlich ganz gut.
Angenehm simpel im Gegensatz zur AVR401 (da schreckt mich schonmal der
Code ab - multiply hier, divide da...).
Nun frage ich mich, ob die 6 bit nicht auf 8 bit erhöht werden könnten,
indem ich einfach die Zeitkonstante erhöhe. Den Code würde ich
allerdings interruptfrei gestalten, da die Routine im 100Hz-Takt je vor
oder nach der (interruptgetriggerten) Zündung eines Triac laufen soll.
Die Messung kann also ruhig 1 bis 2ms dauern. Wenn's dadurch präziser
wird, warum nicht.
Schreibt mal, was dagegen oder dafür spricht. Wie gesagt, an
irgendwelchen Timer-Überläufen soll's nicht liegen. Der 8-bit Timer
(Target ist ein 2313) ist schon vergeben, also kann ich auch mit 16 bit
zählen und prescalen oder nachher ein paar bits wegshiften.
Hab mich mit dieser Art ADC bisher noch nicht praktisch
auseinandersetzen können und würde mich freuen, wenn Ihr mir dabei
helft.
Danke!
Mark H. -- http://markh.de/avr/
Salut,
mag sein, daß mein Problem sehr trivial ist. Werde immer vorsichtiger
mit blöden Fragen, wenn ich mir so die Hell-Master- u.ä. Threads
durchlese... ;)
Aber auch auf die Gefahr hin, möchte ich nochmal ganz kurz auf obiges
Problem zu sprechen kommen... wie gesagt, Zielplattform ist ein
AT90S2313 mit Analog-Komparator.
Spricht was dagegen, die Werte des R und C so anzupassen, daß die
maximale Meßdauer (bis 2/5 Vcc) vervierfacht wird und ich somit zwei
Bits an Genauigkeit gewinne? Wenn das allerdings problemlos möglich ist,
verstehe ich nicht, warum die Entwickler der AppNote nur 6 bit
verwenden. Das ist auch schon der tiefere Grund meiner Frage. :)
Würde mich sehr freuen, wenn mir jemand einen Tip geben kann. Vielen
Dank im Voraus!
Mark H. -- http://markh.de
Salut,
aber an der Linearität (bzw. Nichtlinearität) der Ladekurve ändert sich
doch durch Vergrößern der Zeitkonstante RC nichts. Der C wird ja
nachwievor nur bis 2V geladen. Oder hab ich da in E-Technik wieder
geschlafen? ;)
Der Nichtlinearität an sich bin ich mir schon bewußt. Die bereitet mir
aber keine großen Sorgen, weil der ADC nur in einem Up-/Down-Regler eine
Helligkeit konstant halten soll. Da verschiebt sich also nichts, was
einer Linearität bedürfte. Und ne Lookup-Table wäre im schlimmsten Fall
auch noch drin.
Eine Frage noch: In welchem Rahmen sollte sich die Varianz des C
bewegen? 10% ist zu kühn, oder? Ganz blöde Frage: Die Varianz ist doch
fest pro Exemplar, oder? Läßt die sich nicht per Eichung wegrechnen?
Danke für Deine (ermutigende, wie ich finde) Antwort! :)
Mark H. -- http://markh.de
Salut,
danke für Eure Hilfe! Weiß gar nicht, warum ich mich so spät in diesem
genialen Forum eingefunden habe. :)
Ganz kurz nochmal eine Nachfrage... wie ist das nun mit der Varianz?
Bezeichnet die Abweichungen von Exemplar zu Exemplar oder Abweichungen
während des Betriebes (durch thermische Einwirkung)? Wenn ich an
Widerstände denke, würde ich auf ersteres tippen... zumal man in Prozent
keine Angabe über das Verhalten innerhalb eines undeklarierten
Temperaturbereichs machen kann.
Sich heute mal etwas blöd anstellend, :)
Mark H. -- http://markh.de
Hallo,
Varianz aus dem Lat. heist Streuung:
Mathematik
das Quadrat der Standardabweichung σ. Die (statistische) Streuung
ist ein Maß für die Größe der Abweichung der Einzelwerte einer
Zufallsgröße von deren Mittelwert μ. Die Streuung einer diskreten
Zufallsgröße erhält man, indem man das Quadrat jeder Abweichung vom
Mittelwert mit der entsprechenden Wahrscheinlichkeit pi multipliziert
und alle so gewonnenen Produkte addiert. (aus wissen.de)
Das heist mehrere Kondis, ist für dich unwichtig, bei dir ist es nur
einer. Also ein guter und fertig.
Gruß Mike
www.mike-tronik.de
Was spricht gegen einen ATTiny13 für 1,60 EUR von reichelt mit fertigem
10bit ADC, den man nur starten und auslesen muß?
Mit dem Schalten des Multiplexers dazu, kommst du da gerade mal auf
drei Zeile Code.
cu joern
Ein sehr interessantes Thema!
Die nichtlinearität der Ladekurve des C könnte man durch eine
Konstantstromquelle kompensieren.
D.h. Wird ein C durch einen konstanten Strom geladen, dann steigt seine
Spannung linear an.
Entscheidend für die Genauigkeit der Messung ist:
- die Linearität und Konstantheit der Konstantstromquelle
- die Eigenschaften des C (.z.B. Leckstrom)
- die Eigenschaften der Komparatorschaltung
Ich denke das Hauptproblem wird beim Komparator liegen, er muss
zielsicher die Eingangsspannung und die Spannung am C auswerten
können.
Bernhard