Raspberry Pi Pico als Ohmmeter
Ein Ohmmeter ist ein Messgerät, das verwendet wird, um den elektrischen Widerstand eines Bauteils zu messen. Der Widerstand wird in der Einheit Ohm angegeben Das Ohmmeter ermittelt und zeigt diesen Wert an. Während der Messung darf das Bauteil, in der Regel ein Festwiderstand, nicht an einer Spannungsquelle angeschlossen sein. Der Grund ist, **dass die Widerstandsmessung über das Verhältnis zweier Spannung berechnet wird**, weshalb der Widerstand schon vom Messgerät mit Strom versorgt wird. Deshalb muss das Bauteil spannungsfrei sein, weil sonst das Messgerät Schaden nehmen kann.

In diesem Aufbau verwenden wir den Raspberry Pi Pico mit einem ADC zur Widerstandsmessung. Dazu bedarf es eines Spannungsteilers zwischen einem Festwiderstand R_REF (zum Beispiel 10 kOhm) und dem unbekannten Widerstand R_M. Das Programm misst die Spannung über den unbekannten Widerstand R_M und anschließend wird dessen Wert in Ohm umgerechnet.
Aufbau und Bauteile


- Widerstand R_REF: Zum Ermitteln des unbekannten Widerstands mit einem Dreisatz ist ein bekannter Widerstand notwendig. Wir verwenden einen Widerstand mit einer möglichst geringen Toleranz von 10 kOhm.
- Kondensator C_REF parallel zu R_REF: Parallel zum Widerstand R_REF wird ein Kondensator empfohlen. Ein Keramik-Kondensator zwischen 10 nF und 100 nF eignen sich für stabile Gleichspannungsmessungen.
Programmcode
Das Programm misst periodisch den Spannungswert an einem analogen Eingangspin, rechnet diesen in eine Spannung und anschließend in einen Widerstand um.
Die Parameter:
- R_REF: Bekannter Festwiderstand im Spannungsteiler
- U_REF: Referenzspannung des ADCs
- ADC_MAX: Maximale Auflösung des 16-Bit-ADCs
# Bibliotheken laden
import machine
import time
# ADC-Parameter
R_REF = 10000 # Ohm
U_REF = 3.3 # Volt
ADC_MAX = 65535 + 1 # Auflösung bei 16 Bit
# Initialisierung des ADC0 (GPIO26)
adc = machine.ADC(machine.Pin(26, machine.Pin.IN, pull=None)) # Pulldown-Widerstand abschalten
# Hauptprogramm
while True:
time.sleep(2)
# ADC als Dezimalzahl lesen
adc_ref = adc.read_u16()
# AC-Wert in Widerstand umrechnen
resistor = int(R_REF * (adc_ref / (ADC_MAX - adc_ref)))
# Ausgabe in der Kommandozeile
print(f"{resistor:6d} Ohm", end=" \r")
Einschränkungen
Begrenzte Auflösung und Genauigkeit des ADC: Der ADC (Analog-Digital-Converter) im Raspberry Pi Pico hat eine nominale Auflösung von 12 Bit (4.096 Stufen). In MicroPython wird der Wert auf 16 Bit (65.536 Stufen) interpoliert.
Fehlende Kalibrierung: Der ADC ist nicht kalibriert, d. h. es gibt systematische Abweichungen (±10 mV oder mehr), weshalb der berechnete Widerstandswert nicht exakt ist.
Fehler durch die Referenzspannung (U_REF): Im Programmcode wird die Referenzspannung fest angenommen (3,3 V). In Wirklichkeit kann diese Spannung auch darüber oder darunter liegen. Diese Abweichung wirkt sich direkt proportional auf den berechneten Widerstand aus. Abhilfe schafft eine externe, präzise Referenzspannung oder Kalibrierung.
Toleranz des Referenzwiderstands: Der Referenzwiderstand R_REF hat eine Toleranz (z. B. ±1 %) wodurch ein systematischer Messfehler entsteht, besonders wenn der Referenzwiderstand und der Messwiderstand stark unterschiedlich groß sind.
Temperaturabhängigkeit: Sowohl der Referenzwiderstand als auch der Messwiderstand und die Elektronik ändern ihren Widerstand leicht mit der Temperatur.
Eingangsrauschen und Störungen: Der ADC ist empfindlich gegenüber elektrischen Störungen (USB-Rauschen, EMV, Kabelinduktion). Ein Tiefpassfilter (Kondensator zwischen ADC und GND) kompensiert diese Effekte etwas.
Begrenzter Messbereich: Bei sehr kleinen Widerständen (< 100 Ohm) fällt fast die gesamte Spannung über den Referenzwiderstand ab, wodurch die Spannung am ADC kaum noch messbar ist. Bei sehr großen Widerständen (> 100 kOhm) fließt so wenig Strom, dass der ADC-Eingang nicht mehr zuverlässig misst.
Weitere verwandte Themen:
- Messen mit dem Raspberry Pi Pico
- Raspberry Pi Pico: GPIO als ADC (Experimente mit ADC)
- Raspberry Pi Pico: Widerstand messen
- Raspberry Pi Pico: Grundlagen zu ADC (Analog-Digital-Converter)
- Raspberry Pi Pico: Experimente mit ADC
Elektronik-Sets für das Hardware-nahe Programmieren
Elektronik-Sets für das Hardware-nahe Programmieren
Online-Meeting
Programmieren mit dem Raspberry Pi Pico
Besuchen Sie unser fast monatlich stattfindendes Online-Meeting PicoTalk und lernen Sie uns kennen. Die Teilnahme ist kostenfrei.




