Raspberry Pi Pico als Komparator

Ein Komparator ist eine elektronische Schaltung, die zwei Spannungen vergleicht und einen Ausgang schaltet, wenn die Eingangsspannung eine bestimmte Referenzspannung über- oder unterschreitet. Ein Komparator hat die Eigenschaft von Kippschaltungen und nimmt beim Über- oder Unterschreiten der Referenzspannung definierte Spannungswerte (z. B. +VCC und 0 Volt) am Ausgang an.
Ein Komparator wird typischerweise als Schwellwertschalter, in der Signalverarbeitung, um analoge Signale in digitale Signale umzuwandeln, und als Taktgeber und Oszillatoren eingesetzt.

Ein Komparator kann mit Transistoren, einem Operationsverstärker oder einem speziellen IC aufgebaut werden.

Wenn man eine Komparator-Funktion braucht, dann muss man dafür keine elektronische Schaltung bauen. Ein Komparator lässt sich auch mit einem Mikrocontroller realisieren. Wenn man beim Raspberry Pi Pico die GPIOs mit ADC als Eingang verwendet, kann man die Komparator-Funktion per Software nachbilden, die einen digitalen Ausgang schaltet. Die Schaltschwelle lässt sich einfach im Programmcode als Parameter festgelegt.
Auf diese Weise spart man sich das Herleiten von Formeln, Berechnen von Widerständen oder das Einstellen der Schaltschwellen mit Hilfe eines Potentiometers.

Aufbau und Bauteile

Raspberry Pi Pico als Komparator

Um die Funktionsweise der Komparator-Funktion nachvollziehen und ein Eingangssignal gezielt einstellen zu können, empfiehlt sich ein Potentiometer zu verwenden. Alternativ eignet sich auch ein Verbindungskabel, das mit dem ADC-Pin auf dem Steckbrett verbunden ist und auf der anderen Seite in der Luft hängt. Durch Berühren und Loslassen kann man das Umschalten provozieren.

Programmcode

Der Programmcode simuliert per Software eine Komparator-Funktion. Es misst eine analoge Spannung über den ADC-Eingang, vergleicht sie mit einem festgelegten Schwellwert und schaltet einen Ausgang entsprechend ein oder aus – ähnlich wie ein elektronischer Komparator. Eine LED zeigt den Zustand des Ausgangs an.

# Biblitheken laden
import machine
import time

# Konfiguration: Pins und GPIOs
PIN_IN  = 26         # GPIO mit ADC
PIN_OUT = 'LED'      # Onboard-LED
output_state = 0     # Grundzustand

# Eingang (ADC) initialisieren 
adc = machine.ADC(PIN_IN)

# Ausgang initialisieren
out = machine.Pin(PIN_OUT, machine.Pin.OUT, value=output_state)

# Schwellwerte für die Komparator-Funktion
V_THR = 1.65       # Spannung der Schaltschwelle in Volt
V_REF = 3.3        # ADC-Referenzspannung in Volt
ADC_MAX = 65535    # ADC-Höchstwert

# Umrechnung der Schaltschwelle in den dezimalen ADC-Wert
THR_ADC = int(ADC_MAX * (V_THR / V_REF))

# Hauptprogramm
print('Komparator')
print('Schaltschwelle:', V_THR, 'V')
print()

while True:
    time.sleep(1)
    
    # ADC-Wert lesen (0 - 65535)
    adc_value = adc.read_u16()
    
    # Komparator-Funktion
    if adc_value > THR_ADC: output_state = 1   # LED EIN, Spannung über Schwellwert
    else: output_state = 0                     # LED AUS, Spannung unter Schwellwert
    
    # Ausgang aktualisieren
    out.value(output_state)
    
    # Messwert zur Kontrolle ausgeben
    print(f"ADC: {adc_value:5d} | Eingang: {(adc_value/ADC_MAX)*V_REF:.2f} V | Ausgang: {output_state}")

Weitere verwandte Themen:

  • ...

Frag Elektronik-Kompendium.de

Hardware-nahes Programmieren mit dem Raspberry Pi Pico und MicroPython

Elektronik-Set Pico Edition

Das Elektronik-Set Pico Edition ist ein Bauteile-Sortiment mit Anleitung zum Experimentieren und Programmieren mit MicroPython.

  • LED: Einschalten, ausschalten, blinken und Helligkeit steuern
  • Taster: Entprellen und Zustände anzeigen
  • LED mit Taster einschalten und ausschalten
  • Ampel- und Lauflicht-Steuerung
  • Elektronischer Würfel
  • Eigene Steuerungen programmieren

Elektronik-Set jetzt bestellen Online-Workshop buchen

Online-Workshop: Programmieren mit dem Raspberry Pi Pico

Programmieren mit dem Raspberry Pi Pico

Gemeinsam mit anderen und unter Anleitung experimentieren? Wir bieten unterschiedliche Online-Workshops zum Raspberry Pi Pico und MicroPython an. Einführung in die Programmierung, Sensoren programmieren und kalibrieren, sowie Internet of Things und Smart Home über WLAN und MQTT.

Online-Workshop buchen

Besuchen Sie unser fast monatlich stattfindendes Online-Meeting PicoTalk und lernen Sie uns kennen. Die Teilnahme ist kostenfrei.

Termine und Newsletter-Anmeldung

 

Elektronik-Sets für das Hardware-nahe Programmieren