Matthias wrote:
> Ich habe hier im Forum gelesen, dass die Referenzspannung bei den
> AtTiny44 zwar stabil sein soll, der Absolutwert sich aber bei
> verschiedenen µCs leicht variiert.
Wie es speziell beim Tiny44 ist, weiß ich noch nicht, ich habe mit dem
noch nichts gemacht, aber allgemein bei AVRs mit ADC unterliegt die
interne Referenz Exemplarstreuungen, ist aber recht stabil.
> Deshalb habe ich mir ein ganz
> einfaches Programm geschrieben, welches den Kanal 1 misst und wenn der
> Wert 1023 ist, dann einen Port auf High setzt, anderenfalls den Port auf
> 0 setzt.
Also einen Komparator...
> Wenn ich über ein Poti(15k) eine Spannung anlege, dann beginnt mein Port
> ab ca. 1,070 V teilweise auf high zu schalten. Was ja bedeutet, dass
> einige Messungen als Resultat 1023 liefern, einige nicht. Erst ab 1,090V
> ist der Port immer auf High, erst jetzt ist also jede Messung gleich
> 1023.
Das ist normal.
> Wie kommt dieser Effekt zu Stande?
Der Takt des Controllers erzeugt Störungen. Diese fängt der ADC über
AREF und/oder den Eingang ein. Eine einfache Schaltung mit AVR und
ADC-Benutzung ist kein Problem, geht eigentlich immer. Soll das aber
hochpräziese sein, dann muss man das Fachgebiet des Platinendesign schon
recht virtuos beherrschen. Es gibt nicht allzuviele Leute, die das
können. Ich gehöre auch nicht dazu.
> Müsste der Port nicht ziemlich
> schnell zwischen Low und High wechseln?
Warum? Zufall ist nicht immer schnell.
> Welche Referenzspannung soll ich
> für die Berechnung meiner Spannungsteiler nehmen?
> (Am Poti habe ich einen 100n Kondensator)
Es kommt darauf an, was Du damit machen willst.
Willst Du nur ein Poti als Eingabegerät zum Einstellen von Parametern
nutzen, dann ist die Betriebsspannung wohl die richtige Referenz.
Willst Du externe Analogsignale "messen", dann könnte die interne
Referenz interessant sein. Ich habe jetzt nicht im Datenblatt
nachgeschaut, kann mich aber erinnern, dass ein Pin des TinyX4 die
Bezeichnung AREF trägt. Also muss es einen ADC-Modus geben, bei dem man
einen C (100n) an AREF anlegen kann, um die interne AREF vor Störungen
zu schützen. An diesem Pin kann man AREF auch mit einem Multimeter
messen. Bei Verwendung der internen Referenz sollte diese für jedes
Exemplar ermittelt werden und das Programm so gestaltet werden, dass man
exemplarbedingte Korrekturen vornehmen kann. Wenn ich mich nicht irre,
gibt's bei ATMEL eine AVR-Appnote, die das Thema ADC-Calibration
behandelt.
...