Raspberry Pi Pico: GPIO-Eingang mit 5 Volt beschalten

Der Eingangs- und Ausgangspegel eines GPIOs am Raspberry Pi Pico für "High" liegt bei einer Spannung von +3,3 Volt. Wenn man aber ein Signal mit einem größeren Eingangspegel hat, beispielsweise mit 5 Volt, dann darf man dieses Signal nicht direkt an einen GPIO-Eingang legen. Der GPIO-Eingang würde überlastet und kann kaputt gehen. Die Lösung ist ein einfacher Spannungsteiler, der eine Eingangspannung von 5 Volt auf 3,3 Volt herunterteilt.

GPIO-Beschaltung bei einem Eingangssignal von 5 Volt

GPIO-Beschaltung bei einem Eingangssignal von 5 Volt

Da ein GPIO-Eingang nur maximal +3,3 V verträgt, muss die Eingangsspannung verringert werden. Dazu eignet sich ein Spannungsteiler, der im einfachsten Fall aus zwei Widerständen besteht. Vom Prinzip her ist ein Spannungsteiler eine Reihenschaltung. Da der Strom in einer Reihenschaltung überall gleich groß ist, verursachen ungleiche Widerstände in der Reihenschaltung unterschiedliche Spannungsabfälle an den Widerständen. Diese Spannungsabfälle, auch Teilspannungen (U1, U2, ...) genannt, verhalten sich dabei wie die dazugehörigen Widerstände (R1, R2, ...). Das bedeutet, am größten Widerstand fällt der größte Teil der Gesamtspannung (5 Volt) ab. Am kleinsten Widerstand fällt der kleinste Teil der Gesamtspannung (5 Volt) ab.

Welche Widerstandswerte sind sinnvoll?

Im Prinzip brauchen wir zwei Widerstände an denen sich die Spannung von 5 Volt in 1,7 Volt und 3,3 Volt aufteilt (5 Volt = 1,7 Volt + 3,3 Volt). Das kann man ausrechnen. Bevor wir das tun, sollten wir noch wissen, wo das obere und das untere Limit der 3,3 Volt liegen. Es geht um zwei Fragen.

  1. Wie hoch darf die Spannung an einem GPIO-Eingang maximal sein?
  2. Wie hoch muss eine Spannung an einem GPIO-Eingang sein, damit er noch als High-Signal gilt.

Die Antworten findet man im Datenblatt des Mikrocontrollers RP2040 und sie lauten:

  1. Bei den „Absolute Maximum Ratings“ in der Tabelle 629 ist die „Voltage at IO“ mit maximal +3,8 Volt angegeben (bei IOVVD = 3,3V).
  2. Bei den „IO Electrical Characteristics“ in der Tabelle 632 ist 2 Volt als Minimum angegeben (bei IOVVD = 3,3V), bei dem ein High-Signal erkannt wird (Input Voltage High, V_IH).

Bewertung der ermittelten Angaben:

1. 3,8 Volt sind das Maximum, was ein GPIO-Eingang sicher verträgt.
2. 2,0 Volt sind das Minimum, was im Normalbetrieb als High-Signal erkannt wird.

Vor allem die letzte Information ist jetzt wichtig. Denn sie hilft uns dabei, auf eine komplizierte Berechnung der Widerstände zu verzichten. Stattdessen wählen wir einen pragmatischen Ansatz.

In einer Reihenschaltung von Widerständen gilt folgende Regel:

An zwei gleichen Widerständen teilen sich die Teilspannung zu gleichen Teilen auf.

Nehmen wir also zwei gleich große Widerstände, zum Beispiel zweimal 10 kOhm, und bilden damit eine Reihenschaltung, was nicht anderes ist als ein Spannungsteiler, teilt sich eine Gesamtspannung von 5 Volt in die Teilspannungen von jeweils 2,5 Volt auf. Und diese 2,5 Volt reichen aus, um sicher als High-Signal erkannt zu werden.

Wie sieht die Beschaltung auf dem Steckbrett aus?

GPIO-Eingang mit Spannungsteiler für +5 Volt

Die Beschaltung des GPIO-Eingangs sieht wie folgt aus:

  • Als Signal-Eingang dient nicht der GPIO direkt, sondern die eine Seite eines Widerstands (R1, 10 kOhm).
  • Die andere Seite dieses Widerstands wird mit dem GPIO-Eingang verbunden.
  • Über einen zweiten Widerstand (R2, 10 kOhm) wird der GPIO-Eingang mit Ground (GND) verbunden.

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