Messungen mit dem ATtiny202         


Elektronik-Labor   Projekte   AVR


TinyAVR Serie 0 und 1 im Einsatz Kap 5

Die kleinen Controller der Tiny0/1-Serie eignen sich hervorragend für kleine Messaufgaben im Elektronik-Labor. Insbesondere der AD-Wandler mit seiner Auflösung von 10 Bit und der DA-Wandler mit 8 Bit ermöglichen viele interessante Anwendungen, wobei diese preiswerten Controller Aufgaben teurer Laborgeräte übernehmen können.

Der Bereich einer Spannungsmessung wird durch die gewählte Referenz bestimmt. Mit der kleinsten Referenz von 0,55 V erreicht man bei der Auflösung von 10 Bit eine kleinste Stufe von ca. 0,5 mV. Zusätzlich gibt es die Möglichkeit, bis zu 64 Messungen zu akkumulieren, sodass man theoretisch eine Auflösung von 16 Bit erreicht, womit man Stufen von 10 µV auflösen könnte. Allerdings sind dann die letzten Bits durch die Mittelung zufälliger Abweichungen entstanden, sodass die tatsächliche Auflösung nur bei ca. 100 µV liegt.

//uV202 Pin 4, 100 µV…550 mV
#include <Arduino.h> 

void setup() {
  Serial.begin (9600);
  analogReference(INTERNAL0V55);

void loop() {
  ADC0.CTRLB = ADC_SAMPNUM_ACC32_gc;
  uint32_t u=analogRead(2);
  u=u*538/32;
  {Serial.print((u)); Serial.println(" uV  ");}
  delay(500);
}

 

Das Programm stellt im Register ADC0.CTRLB eine 32 Messungen lange Akkumulierung ein. Hier wird die Verwendung von Realzahlen vermieden, damit alles in den kleinen ATTin202 passt.

Das Messgerät kann mit einem passenden Widerstand auch kleinste Stromstärken erfassen. Hier wurde der Fotostrom einer LED gemessen. Mit 100 kΩ ist die LED so stark belastet, dass sie im Kurzschlussbetrieb arbeitet, d.h. die Fotospannung liegt weit unterhalb der Leerlaufspannung. Bei einer gemessenen Spannung von 100 µV beträgt der Fotostrom gerade 1 nA. Bei mittlerer Umgebungshelligkeit wurden 10 nA gemessen. Bei vollem Sonnenlicht können manche LEDs bis zu 1 µA liefern.

 

Kapazitätsmesser 20 pF bis 600 nF

TinyAVR Serie 0 und 1 im Einsatz Kap 5


Dieses sehr einfache Kapazitätsmessgerät ist nicht besonders genau, kommt aber ohne zusätzliche Bauteile aus, weil der interne Pullup-Widerstand des Controllers eingesetzt wird. Das Messobjekt wird einfach zwischen Pin 4 (PA2) und GND gesetzt. Wie beim Berührungssensor nach Kap. 4.2 hängt die Ladezeit vom internen Pullup ab. Im Interesse der Genauigkeit soll eine stabilisierte Betriebsspannung von 3,3 V verwendet werden.

Der Faktor20 für die Umrechnung in pF und der Quotient 50 für die Umrechnung in nF  sind experimentell ermittelt und können zum Zweck der individuellen Kalibrierung angepasst werden.

//Cmess202, Pin 5, 20 pF ... 600 nF U=3,3 V
#include <Arduino.h>
int n; 

void setup () {
    PORTA.DIRSET = 0x04;    //Ausgang PA2
    PORTA.PIN2CTRL = 0x08;  //Pullup PA2
    Serial.begin(9600);
}

 void loop () {
    n=0;
    PORTA.DIRCLR = 0x04;
    while(!(VPORTA.IN & 4)){n++;}
    PORTA.DIRSET = 0x04;
    if (n>1){
        if (n<500){
            Serial.print((n-1)*20);
            Serial.println (" pF");
        }
        else{
            Serial.print(n/50);
            Serial.println (" nF");
        }
       
delay(500);
    }
}

 

Die Ausgabe erscheint zeilenweise. Ein Folienkondensator mit nominell 150 nF wurde mit 140/141 nF angezeigt, was noch innerhalb der üblichen Toleranz von 10% liegt. Wer genaue Referenzkondensatoren oder ein präzises Kapazitätsmessgerät hat, kann das Programm für eine höhere Genauigkeit kalibrieren.

Keramische Kondensatoren hoher Kapazität haben bekanntlich einen großen Temperaturkoeffizienten. Das konnte mit einem relativ kleinen Scheibenkondensator von 100 nF mit dem Arduino-Plotter dargestellt werden. Durch die Erwärmung zwischen zwei Fingern sank die Kapazität bis unter 70 nF und stieg dann mit der Abkühlung langsam wieder über 90 nF.


Wenn eine bessere Auflösung bis herunter auf 1 pF benötigt wird, kann man statt des internen Pullup-Widerstands einen externen Widerstand von 1 MΩ verwenden. Der Port muss dann als Eingang ohne Pullup betrieben werden.






Taschenbuch: https://www.amazon.de/dp/B0D5798R53

E-Book: https://www.amazon.de/dp/B0D54Q9D7L



Elektronik-Labor   Projekte   AVR