Mit einem uC kann ich analoge Spannungspegel eingeben. Wie gebe ich sie aus?

7

Mit einem uC kann ich analoge Spannungspegel eingeben. Wie gebe ich sie aus?

Ich habe einen einfachen Arduino Uno R3, den ich aufgenommen habe, der einige Pin-Typen (Analogeingang, Digitalausgang / PWM, seriell) hat und eine Art Spannungsausgangssteuerung erfordert.

Im Moment geht es darum, Dinge in einem Hobby mit einer Schwelle zu vergleichen (ich habe ein paar Operationsverstärker für Komparatoren herumliegen) und nur als einfache schnelle variable Referenz zu verwenden oder Geräte zu untersteuern und Effekte als Bonus zu messen.

Welche integrierten Schaltkreise benötige ich dazu? Ich habe noch nie davon gehört, dass es sich innerhalb der Uno befindet. Ich bin mir nicht sicher, ob es einen DAC oder ähnliches benötigt, was einige Zeit in Anspruch nehmen kann, um in meine Situation zu kommen.

Ich würde es lieben, wenn diese Funktionalität aufgebaut würde. Je weniger "1-Schritt-IC" und mehr "Subcircuit", desto besser :)

Hoffnungsvoller Bastler
quelle
1
Ist die Präzision wichtig? Wenn nicht, schreibe ich über einen PWM-basierten DAC.
Vorübergehend
1
Ähm, nicht zu genau, solange es als gute Vergleichsspannung funktioniert.
Hoffnungsvoller Bastler
Es tut mir leid, wofür steht uC? Mir wurde empfohlen, uC in einem Forum zu verwenden, aber ich weiß nicht, was es ist. Die Google-Suche hat mir Ihre Frage gezeigt. Bitte hilf mir!
Nulik
@Nulik uC ist Mikrocontroller. (u wird verwendet, um μ darzustellen) Aber es ist wahrscheinlicher, dass Sie Antworten erhalten, indem Sie eine tatsächliche Frage stellen, als eine Frage von vor fünf Jahren zu kommentieren!
Herd

Antworten:

18

Was ist Ihre erforderliche Präzision / Genauigkeit?
Ich werde die Grundlagen einer einfachen Methode behandeln und gegebenenfalls aktualisieren.


Teile:
Möglicherweise haben Sie bereits das Notwendige;)

Schauen wir uns Ihre PWM-Ausgänge an. Abhängig vom Arbeitszyklus oder davon, wie lange der Impuls im Vergleich zu "niedrig" "hoch" ist, kann ein Durchschnittspegel erreicht werden.

Sie können diese Tabelle im Auge behalten, wenn Sie folgen:

PWM-Zyklusvergleiche

Wenn Sie bei einem Tastverhältnis von 50% eine 5-V-Wellenform zerhacken, um das Loch zu füllen, haben Sie ungefähr 2,5 V. Hierfür können Sie einen einfachen RC-Filter verwenden:

RC Filter

Dies ist nur ein kurzer Vorgeschmack. Nachdem Sie dies gelesen haben (oder bevor Sie fortfahren), können Sie nach Herzenslust etwas über RC-Filterung lernen.

http://en.wikipedia.org/wiki/RC_circuit
http://en.wikipedia.org/wiki/Low-pass_filter (was wir hier machen!)

Simulation:

Eine LTspice (freie) Simulation unter der Annahme von 100 MHz PWM nur für dieses Beispiel mit 10% Tastverhältnis, 15,8 k Widerstand und 1 uF Kondensator:

(Cutoff = 12πRC= 10Hz)

LTspice-Simulation eines RC-Filters für PWM

Die Grafik zeigt:

  • Die Stabilisierung dauert ungefähr 100 ms
  • Das Ergebnis ist 10% von 5 oder 500 mV (wie erwartet)
  • Das Rauschen scheint minimal zu sein (~ 5 mV Spitze-Spitze)

In der Praxis haben Sie Fehler und mehr Variablen, über die Sie sich Sorgen machen müssen, und sind etwas schlimmer, wenn Sie der allgemeinen Kurve folgen.

Bereinigen des Signals:
Sie können weitere Filterstufen hinzufügen, um das Rauschen zu verringern, manchmal auf Kosten einer längeren Zeit, um sich mit zunehmender Kapazität zu stabilisieren. Sie sollten mindestens einen konstanten Messwert auf Ihrem Multimeter erhalten. Sie können sogar parallel zu einem ADC kalibrieren. Beachten Sie jedoch, dass die Spannungsreferenzen des Mikrocontrollers möglicherweise zunächst nicht so genau sind.

Ein Operationsverstärker in nicht invertierender Konfiguration (mit oder ohne Verstärkung) kann folgen, um das zu tun, was Sie möchten, z. B. den Quellstrom, falls erforderlich, für Ihre Tests mit geringem Stromverbrauch an Geräten.


Ein DAC kann geeignet sein, wenn Sie weniger Rauschen und eine schnellere Reaktionszeit benötigen. Ein guter DAC kann 2-3 US-Dollar kosten, was gerechtfertigt sein kann, wenn ein RC-Filter nicht effektiv genug ist. Sie können Ihre eigenen Methoden erstellen und sich über viele Methoden informieren, um zu verstehen, wie sie implementiert werden.

Vorübergehend
quelle
3
+1 schöne vollständige Antwort mit Grafiken! Jetzt muss jemand einen für den DAC machen.
Sybreon