Raspberry Pi Pico als Referenzspannungsquelle mit MCP4725

Der Raspberry Pi Pico ist ein leistungsfähiger Mikrocontroller mit vielen digitalen Ein- und Ausgängen. Allerdings besitzt er keinen analogen Ausgang. Er kann also keine echten analogen Spannungen erzeugen, sondern nur digitale Signale (z. B. PWM). Für die Ausgabe analoger Signale wird ein Digital-Analog-Wandler (DAC) benötigt. Ein solcher DAC kann im einfachsten Fall ein MCP4725-Modul sein, der vom Raspberry Pi Pico gesteuert wird.

Ein MCP4725-Modul kann dazu verwendet werden, um eine feste Spannung zu erzeugen. Diese Gleichspannung kann zwischen 0 und der DAC-Versorgungsspannung (z. B. 3,3 Volt) liegen. Damit lässt sich der Raspberry Pi Pico als einstellbare Referenzspannungsquelle nutzen. Diese Referenzspannung kann zum Beispiel dazu verwendet werden, um das Mini-Voltmeter zu kalibrieren, wenn diese Möglichkeit besteht.

Aufbau und Bauteile

Raspberry Pi Pico: MCP4725 programmieren

Raspberry Pi Pico MCP4725-Modul
3V3 Pin 36 3V3
GND Pin 33 GND
GPIO0 I2C SDA Pin 1 I2C SDA
GPIO1 I2C SCL Pin 2 I2C SCL

Programmcode

Im folgenden Programmcode nutzt der Raspberry Pi Pico einen MCP4725 (Digital-Analog-Wandler, DAC), um eine Referenzspannung zu erzeugen.
Das Programm steuert über den I2C-Bus den MCP4725, der aus einem digitalen Wert (Ganzzahl von 0 bis 4.095) eine analoge Gleichspannung zwischen 0 V und der Versorgungsspannung erzeugt.

# Bibliotheken laden
import machine
import time

# Konfiguration: Referenzspannung/Gleichspannung
V_REFERENCE = 3.0   # Ausgangsspannung in Volt
VCC_DAC     = 3.3   # VCC in Volt

# I2C-Initialisierung
DAC = machine.I2C(0, scl=machine.Pin(1), sda=machine.Pin(0), freq=400000)

# Minimal- und Maximal-Werte setzen
voltage = max(0, min(VCC_DAC, V_REFERENCE))

# Spannung in Dezimalzahl umrechnen (12 Bit: 0 - 4095)
value = int((voltage / VCC_DAC) * 4095)

# Daten an den DAC senden (Fast Mode)
DAC.writeto(0x60, bytes([(value >> 8) & 0x0F, value & 0xFF]))

Weitere verwandte Themen:

Elektronik-Sets für das Hardware-nahe Programmieren

Elektronik-Sets für das Hardware-nahe Programmieren

Programmieren mit dem Raspberry Pi Pico
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.

Termine und Newsletter-Anmeldung

Frag Elektronik-Kompendium.de