27. Lektion: ADC

Aus Attraktor Wiki

Wechseln zu: Navigation, Suche


Der DAC des Pico

Der Pico verfügt über einen ADC der durch einen Multiplexer (MUX) über 4 Eingänge verfügt.

  • ADC0 - GPIO26
  • ADC1 - GPIO27
  • ADC2 - GPIO28
  • ADC3 - interner Temperatur Sensor

Der ADC hat eine Auflösung von 12-bit. Allerdings ist die Kennline des ADC recht unlinear. Im Datenblatt wird eine nutzbare Genauigkeit von 8,7 bit angegeben.
Die maximale Messrate liegt bei 500kHz.

Ein simples Script

import machine
import utime
potentiometer = machine.ADC(26)
while True:
    print(potentiometer.read_u16())
    utime.sleep(1)

Ausgabe:

65535     # oberer Anschlag
53501
41050
4193
320       # unterer Anschlag
320
336

Hier ist sehen, das beim Poti am oberen Anschlag auch der maximale Wert auf 16-bit umgerechnet (65535) gemessen wird.
Am unteren Anschlag wird ein Wert 320 gemessen. Das direkte Kurzschließen von GPIO26 und GND brachte keine Veränderung.
Umgerechnet entspricht das 0.01611328 Volt. Das ist ein Verhältnis von 208,4, also weniger als die Auflösung bei 8-bit.

Probleme beim ADC

  • Rauschen des Schaltreglers
  • schlechte Kontaktgabe beim Breadboard