mikrocontroller.net

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


Autor: Mark Hämmerling (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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/

Autor: Mark Hämmerling (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Andreas Schwarz (andreas) (Admin) Benutzerseite Flattr this
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Mark Hämmerling (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Mike (Gast)
Datum:

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

Gruß Mike

Autor: Andreas Schwarz (andreas) (Admin) Benutzerseite Flattr this
Datum:

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

Autor: Mark Hämmerling (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Mike (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Jörn-h. G. (joern_g)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Bernhard S. (bernhard)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Egon (Gast)
Datum:

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

Autor: Jörn-h. G. (joern_g)
Datum:

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

joern

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.