- Die analoge Welt mit digitaler Elektronik
- Was ist ADC und wie wird es verwendet?
- Auflösung (Bits) und Kanäle im ADC
- Referenzspannung für einen ADC
- Beispiel
- ADC-Typen und Funktion
- Einige häufig auftretende Fragen zu ADC
Die analoge Welt mit digitaler Elektronik
Vor ein paar Jahren waren die gesamten elektronischen Geräte, die wir heute verwenden, wie Telefone, Computer, Fernseher usw., analoger Natur. Dann wurden langsam die Festnetztelefone durch moderne Mobiltelefone ersetzt, CRT-Fernseher und Monitore wurden durch LED-Anzeigen ersetzt, Computer mit Vakuumröhren wurden leistungsfähiger mit Mikroprozessoren und Mikrocontrollern und so weiter.
Im heutigen digitalen Zeitalter sind wir alle von fortschrittlichen digitalen elektronischen Geräten umgeben. Dies könnte uns täuschen zu glauben, dass alles um uns herum digitaler Natur ist, was nicht wahr ist. Die Welt war immer analoger Natur, zum Beispiel ist alles, was wir Menschen fühlen und erleben, wie Geschwindigkeit, Temperatur, Luftgeschwindigkeit, Sonnenlicht, Schall usw., analoger Natur. Unsere elektronischen Geräte, die auf Mikrocontrollern und Mikroprozessoren laufen, können diese analogen Werte jedoch nicht direkt lesen / interpretieren, da sie nur auf Nullen und Einsen laufen. Wir brauchen also etwas, das all diese analogen Werte in Nullen und Einsen umwandelt, damit unsere Mikrocontroller und Mikroprozessoren sie verstehen können. Dies wird als Analog-Digital-Wandler oder kurz ADC bezeichnet. In diesem Artikel werden wir lernenalles über ADC und wie man sie benutzt.
Was ist ADC und wie wird es verwendet?
Wie bereits erwähnt, steht ADC für Analog-Digital-Wandlung und wird verwendet, um analoge Werte aus der realen Welt in digitale Werte wie Einsen und Nullen umzuwandeln. Was sind diese analogen Werte? Dies sind diejenigen, die wir in unserem täglichen Leben sehen, wie Temperatur, Geschwindigkeit, Helligkeit usw. Aber warte !! Kann ein ADC Temperatur und Geschwindigkeit direkt in digitale Werte wie Nullen und Einsen umwandeln?
Nein trotzig nicht. Ein ADC kann nur analoge Spannungswerte in digitale Werte umwandeln. Welcher Parameter auch immer gemessen werden soll, er sollte zuerst in Spannung umgewandelt werden. Diese Umwandlung kann mit Hilfe von Sensoren erfolgen. Um beispielsweise Temperaturwerte in Spannung umzuwandeln, können wir einen Thermistor verwenden, um die Helligkeit in Spannung umzuwandeln. Wir können einen LDR verwenden. Sobald es in Spannung umgewandelt ist, können wir es mit Hilfe von ADCs lesen.
Um zu wissen, wie man einen ADC verwendet, sollten wir uns zunächst mit einigen grundlegenden Begriffen wie Kanalauflösung, Reichweite, Referenzspannung usw. vertraut machen.
Auflösung (Bits) und Kanäle im ADC
Wenn Sie die Spezifikation eines Mikrocontrollers oder ADC-ICs lesen, werden die Details des ADC unter Verwendung der Begriffe Kanäle und Auflösung (Bits) angegeben. Zum Beispiel hat der ATmega328 eines Arduino UNO einen 8-Kanal-10-Bit-ADC. Nicht jeder Pin eines Mikrocontrollers kann analoge Spannung lesen. Der Begriff 8-Kanal bedeutet, dass dieser ATmega328-Mikrocontroller 8 Pins enthält, die analoge Spannung lesen können, und jeder Pin kann die Spannung mit einer Auflösung von 10 Bit lesen. Dies variiert für verschiedene Arten von Mikrocontrollern.
Nehmen wir an, unser ADC-Bereich liegt zwischen 0 V und 5 V und wir haben einen 10-Bit-ADC. Dies bedeutet, dass unsere Eingangsspannung 0-5 Volt in 1024 Pegel diskreter Analogwerte aufgeteilt wird (2 10 = 1024). Das heißt, 1024 ist die Auflösung für einen 10-Bit-ADC, ähnlich wie für eine 8-Bit-ADC-Auflösung 512 (2 8) und für eine 16-Bit-ADC-Auflösung 65.536 (2 16).
Wenn die tatsächliche Eingangsspannung 0 V beträgt, liest der ADC der MCU diese als 0, und wenn sie 5 V beträgt, liest die MCU 1024, und wenn sie irgendwo zwischen 2,5 V liegt, zeigt die MCU 512 an. Wir können die folgenden Formeln verwenden um den digitalen Wert zu berechnen, der von der MCU basierend auf der Auflösung des ADC und der Betriebsspannung gelesen wird.
(ADC-Auflösung / Betriebsspannung) = (ADC-Digitalwert / Istspannungswert)
Referenzspannung für einen ADC
Ein weiterer wichtiger Begriff, den Sie kennen sollten, ist die Referenzspannung. Während einer ADC-Umwandlung wird der Wert einer unbekannten Spannung durch Vergleichen mit einer bekannten Spannung ermittelt. Diese bekannte Spannung wird als Referenzspannung bezeichnet. Normalerweise verfügt jede MCU über eine Option zum Einstellen der internen Referenzspannung. Dies bedeutet , dass Sie diese Spannung intern mithilfe einer Software (Programm) auf einen verfügbaren Wert einstellen können. In einer Arduino UNO-Karte ist die Referenzspannung intern standardmäßig auf 5 V eingestellt. Bei Bedarf kann der Benutzer diese Referenzspannung auch über den Vref-Pin extern einstellen, nachdem er die erforderlichen Änderungen in der Software vorgenommen hat.
Denken Sie immer daran, dass der gemessene analoge Spannungswert immer kleiner als der Referenzspannungswert und der Referenzspannungswert immer kleiner als der Betriebsspannungswert des Mikrocontrollers sein sollte.
Beispiel
Hier nehmen wir ein Beispiel eines ADC mit 3 Bit Auflösung und 2 V Referenzspannung. So kann die analoge 0-2V-Spannung mit 8 (2 3) verschiedenen Pegeln abgebildet werden, wie im folgenden Bild gezeigt:
Wenn also die analoge Spannung 0,25 beträgt, ist der digitale Wert 1 in Dezimal und 001 in Binär. Wenn die analoge Spannung 0,5 beträgt, ist der digitale Wert ebenfalls 2 in Dezimalzahl und 010 in Binär.
Einige Mikrocontroller haben einen eingebauten ADC wie Arduino, MSP430, PIC16F877A, aber einige Mikrocontroller haben ihn nicht wie 8051, Raspberry Pi usw. und wir müssen einige externe Analog-Digital-Wandler-ICs wie ADC0804, ADC0808 verwenden.
Nachfolgend finden Sie verschiedene Beispiele für ADC mit verschiedenen Mikrocontrollern:
- Wie verwende ich ADC in Arduino Uno?
- Raspberry Pi ADC Tutorial
- Schnittstelle zwischen ADC0808 und 8051-Mikrocontroller
- 0-25V Digital Voltmeter mit AVR Mikrocontroller
- Verwendung von ADC in STM32F103C8
- Verwendung von ADC in MSP430G2
ADC-Typen und Funktion
Es gibt viele Arten von ADCs, die am häufigsten verwendeten sind Flash-ADC, Dual-Slope-ADC, sukzessive Approximation und Dual-Slope-ADC. Zu erklären, wie die Arbeit jedes dieser ADCs und der Unterschied zwischen ihnen für diesen Artikel nicht relevant sind, da sie ziemlich komplex sind. Um eine grobe Vorstellung zu geben, verfügt der ADC über einen internen Kondensator, der durch die zu messende analoge Spannung aufgeladen wird. Dann messen wir den Spannungswert, indem wir den Kondensator über einen bestimmten Zeitraum entladen.
Einige häufig auftretende Fragen zu ADC
Wie kann ich mit meinem ADC mehr als 5 V messen?
Wie bereits erwähnt, kann ein ADC-Modul den Spannungswert nicht mehr als die Betriebsspannung des Mikrocontrollers messen. Das heißt, ein 5-V-Mikrocontroller kann mit seinem ADC-Pin nur maximal 5 V messen. Wenn Sie mehr als das messen möchten, sagen Sie, Sie möchten 0-12 V messen, dann können Sie die 0-12 V unter Verwendung eines Potentialteilers oder einer Spannungsteilerschaltung auf 0-5 V abbilden. Diese Schaltung verwendet ein Widerstandspaar, um die Werte für eine MCU abzubilden. Über die Verbindung können Sie mehr über die Spannungsteilerschaltung erfahren. In unserem obigen Beispiel sollten wir einen 1K-Widerstand und einen 720-Ohm-Widerstand in Reihe zur Spannungsquelle verwenden und die Spannung zwischen den Widerständen messen, wie im obigen Link erläutert.
Wie konvertiere ich digitale Werte von ADC in tatsächliche Spannungswerte?
Wenn Sie einen ADC-Wandler zum Messen der analogen Spannung verwenden, ist das von der MCU erhaltene Ergebnis digital. Wenn beispielsweise in einem 10-Bit-5-V-Mikrocontroller die tatsächlich zu messende Spannung 4 V beträgt, wird sie von der MCU als 820 gelesen. Wir können die oben diskutierten Formeln erneut verwenden, um den 820 in 4 V umzuwandeln, damit wir ihn in unserem verwenden können Berechnungen. Lassen Sie uns das gleiche überprüfen.
(ADC-Auflösung / Betriebsspannung) = (ADC-Digitalwert / Istspannungswert) Istspannungswert = ADC-Digitalwert * (Betriebsspannung / ADC-Auflösung) = 820 * (5/1023) = 4,007 = ~ 4V
Ich hoffe, Sie haben eine gute Vorstellung von ADC und wie Sie diese für Ihre Anwendungen verwenden können. Wenn Sie Probleme beim Verständnis der Konzepte hatten, können Sie Ihre Kommentare unten posten oder in unsere Foren schreiben.