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:

Teilen:

Programmieren mit dem Raspberry Pi Pico
Online-Workshop

Programmieren mit dem Raspberry Pi Pico

Online-Workshop mit einer Einführung ins Physical Computing mit Leuchtdioden, Taster und Temperatursensor.

  • Hardware-nahes Programmieren mit dem Raspberry Pi Pico und MicroPython ohne Vorkenntnisse
  • Optimaler Einstieg, um eigene Ideen zu verwirklichen und Steuerungen zu programmieren
  • Inklusive Elektronik-Set mit einem Raspberry Pi Pico, Zubehör und elektronischen Bauteilen

Mehr Informationen Am Online-Workshop teilnehmen

Programmieren mit dem Raspberry Pi Pico
Online-Workshop

Programmieren mit dem Raspberry Pi Pico

Online-Workshop mit einer Einführung ins Physical Computing mit Leuchtdioden, Taster und Temperatursensor.

  • Hardware-nahes Programmieren mit dem Raspberry Pi Pico und MicroPython ohne Vorkenntnisse
  • Optimaler Einstieg, um eigene Ideen zu verwirklichen und Steuerungen zu programmieren
  • Inklusive Elektronik-Set mit einem Raspberry Pi Pico, Zubehör und elektronischen Bauteilen

Mehr Informationen Am Online-Workshop teilnehmen

Elektronik-Fibel

Elektronik einfach und leicht verständlich

Die Elektronik-Fibel ist ein Buch über die Grundlagen der Elektronik, Bauelemente, Schaltungstechnik und Digitaltechnik.

Das will ich haben!