Gleichspannung mit einem RC-Glied erzeugen
Da Mikrocontroller digital arbeiten können sie ohne eine zusätzliche Hardware keine veränderliche Gleichspannung ausgeben. Sie können nur einen entsprechenden Spannungspegel (beim Arduino sind das 5V) ein- oder ausschalten. Wird dieses Ein-und Ausschalten sehr schnell im Wechsel durchgeführt lässt sich mit einem RC-Filter eine resultierende Gleichspannung erzeugen.
Auf dem Schaltplan sieht man den prinzipiellen Aufbau eines RC-Gliedes (en. rc-filter). Als Eingangsspannung (UIN) liegt eine Wechselspannung oder in unserem Falle eine gepulste Rechteckspannung an. Sobald der Eingangspegel auf HIGH liegt beginnt sich der Kondensator (C) über den Widerstand (R) zu laden. Direkt am Kondensator wird die Ausgangsspannung (UOUT) abgegriffen.
Zu Beginn der Ladung ist diese noch 0V und nähert sich nach einer gewissen Zeit der Eingangsspannung von +5V an. Die Zeitdauer für das Laden (und auch Entladen) kann man über die Zeitkonstante τ (Tau) berechnen (τ = R x C). Nach 5 τ ist der Kondensator geladen. Die Zeitkonstante und damit die Ladedauer ist abhängig vom Widerstand (je größer der Widerstand desto langsamer lädt und entlädt der Kondensator) und von der Kondensatorkapazität (je größer die Kapazität desto langsamer lädt und entlädt der Kondensator).
Erhöht man bei ansonsten gleichem Schaltungsaufbau die Pulsdauer auf weniger als 5 τ sieht man, dass die Lade- und Entladezeit nicht mehr zur vollständige Auf- und Entladung des Kondensators reicht. Es kommt zu einer Sägezahn Bildung entlang des Mittelwerte zwischen 0 und 5V. Wird die Frequenz wie im rechten Bild noch weiter erhöht wird die Ausgangsspannung entsprechend flacher und damit zur Gleichspannung.
Der Mittelwert um welchen sich die Lade- und Entladekurve (und damit die Ausgangsspannung) einpendelt lässt sich über das Tastverhältnis (en. Duty cycle) regeln. 0% Tastverhältnis wird zu 0V Gleichspannung, 20% zu 1V, 50% zu 2,5V, 100% zu 5V.
Auslegung des RC-Filters
Die Auslegung des Widerstandes und des Kondensators sind stark von der verwendeten Frequenz des
Eingangssignals abhängig. Daneben muss berücksichtigt werden ob das RC-Glied eher einer Änderung des
Tastverhältnisses schnell folgen soll (kleineres Tau) oder eher robuster gegen eine zusätzliche Belastung am
Ausgang (größeres Tau) sein soll.
Als Größenordnung sollte aber ein Widerstand von 1-2KΩ und einen Kondensator mit rund 100µF für die
meisten Anwendungen passen.
Programmcode Gleichspannung aus einem PWM Signal
Ausgabe eines PWM Signals über Pin 3 mit dem Tastverhältnis 80 x 100 / 255 ~ 31% als Eingangsspannung UIN entsprechend dem oberen RC-Filter Schaltbildes.
void setup() {
analogWrite(3,80);
}
void loop() {
}