Forum: Mikrocontroller und Digitale Elektronik 6bit ADC (aus AppNote AVR400) einfach auf 8bit erweiterbar?


von Mark Hämmerling (Gast)


Lesenswert?

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/

von Mark Hämmerling (Gast)


Lesenswert?

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

von Andreas S. (andreas) (Admin) Benutzerseite


Lesenswert?

Das Ganze wird daran scheitern dass die Ladekurve nur annähernd linear 
ist (siehe Diagramm in der Appnote), und an der Genauigkeit des 
Kondensators.

von Mark Hämmerling (Gast)


Lesenswert?

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

von Mike (Gast)


Lesenswert?

Ich würde einen guten C nehmen (Leckstromarm) und einfach mal 
probieren..

Gruß Mike

von Andreas S. (andreas) (Admin) Benutzerseite


Lesenswert?

Wenn du keine Absolutwerte brauchst und einen guten Kondensator nimmst 
(Styroflex?) könnte es schon klappen.

von Mark Hämmerling (Gast)


Lesenswert?

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

von Mike (Gast)


Lesenswert?

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

von Jörn-H. G. (joern_g)


Lesenswert?

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

von Bernhard S. (bernhard)


Lesenswert?

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

von Egon (Gast)


Lesenswert?

@Jörn,
hast Du mal das Datum der Frage gesehen ? Vor vier Jahren gab es den
tiny13 glaube ich noch nicht :-)

von Jörn-H. G. (joern_g)


Lesenswert?

Ups ;-) das passiert wenn man eifrig in der Suche rumwühlt - dann
verliert man Zeit und Raum...

joern

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.