Aus RN-Wissen.de
Wechseln zu: Navigation, Suche
Laderegler Test Tueftler Seite

(AVR ATMega32 Programmierbeispiel)
(Allgemeines)
 
(10 dazwischenliegende Versionen von 6 Benutzern werden nicht angezeigt)
Zeile 3: Zeile 3:
 
== Allgemeines ==
 
== Allgemeines ==
  
Da es in der digitalen Welt nur zwei Zustände gibt um Informationen darzustellen, benötigt man einen A/D-Wandler um analoge Größen in digitale Werte umzuwandeln.
+
Da es in der digitalen Welt nur zwei Zustände gibt, um Informationen darzustellen, wird ein A/D-Wandler benötigt, um analoge Größen in digitale Werte umzuwandeln. Er ist somit das Gegenteil zum [[DAC]] (Digital-Analog-Wandler), der digitale Werte in analoge Größen wandelt.
  
 
;Merkmale eines A/D-Wandlers
 
;Merkmale eines A/D-Wandlers
:Auflösung in Bit
+
* Auflösung in Bit
:Geschwindigkeit der Umwandlung
+
* Geschwindigkeit der Umwandlung
:Spannungsbereich in dem Gemessen werden kann
+
* Spannungsbereich bzw. Referenzspannung
:Größe der Referenzspannung
+
* Genauigkeit (Drift, Wiederhohlgenauigkeit, Linearität)
:Wiederholgenauigkeit
+
  
  
In der Regel werden verschieden hohe Spannungen analysiert und je nach Genauigkeit des Wandlers (Auflösung) ein entsprechender Wert als Zahl zurückgegeben.
+
In der Regel werden verschieden hohe Spannungen analysiert und je nach Auflösung des Wandlers ein entsprechender Wert als Zahl zurückgegeben.
  
 
   
 
   
 
;Beispiel der Auflösung eines Wandlers
 
;Beispiel der Auflösung eines Wandlers
:liegt der Messbereich zwischen 0V und 5V, bei einer Genauigkeit von 8 Bit, und einer Referenzspannung von ebenfalls 5V, so ergibt der analoge Wert von 0V am Eingang den digitalen Wert 0. Entsprechend 5V am Eingang den Wert 255. Der kleinste messbare Spannungsunterschied liegt so bei ca. 0,02 Volt. Bei einer Auflösung von 10 Bit verringert sich dieser Wert schon auf etwa 0,005 Volt, also 4mal genauer weil 2 Bit mehr Auflösung.
+
Liegt der Messbereich zwischen 0V und 5V, bei einer Auflösung von 8 Bit, so ergibt der analoge Wert von 0V am Eingang den digitalen Wert 0. Entsprechend 5V am Eingang den Wert 255. Der kleinste messbare Spannungsunterschied liegt so bei ca. 0,02 Volt. Bei einer Auflösung von 10 Bit verringert sich dieser Wert schon auf etwa 0,005 Volt, also 4 mal kleiner weil 2 Bit mehr Auflösung 4 mal so viele Stufen ergeben.
 
+
  
 
;Beispielgeräte mit integriertem A/D-Wandler
 
;Beispielgeräte mit integriertem A/D-Wandler
:Soundkarten
+
* Soundkarten
:ISDN-Telefone
+
* ISDN-Telefone
:DVD-Brenner
+
* Digital Multimeter
:Scanner
+
* Scanner
:Fax-Geräte
+
* Fax-Geräte
:TV- und Videokarten
+
  
 +
In vielen [[Microcontroller|Microcontrollern]] sind A/D-Wandler enthalten, meistens mit mehreren Eingängen und einer Auflösung von 8 bis 10 Bit. Es gibt aber auch eigenständige Bausteine (ICs), die es mit einer Vielzahl von verschiedenen Schnittstellen gibt, um an das digitale Ergebnis zu kommen, wie u.a. [[I2C]].
  
In vielen [[Microcontroller|Microcontrollern]] sind A/D-Wandler enthalten, meistens mit mehreren Eingängen und einer Genauigkeit von 8 bis 10 Bit. Es gibt aber auch eigenständige Bausteine (ICs) die es mit einer Vielzahl von verschiedenen Schnittstellen gibt um an das digitale Ergebnis zu kommen, wie u.a. [[I2C]].
+
== ADC im µC ==
 
+
Viele µC enthalten bereits einen AD-Wandler. Meist ist dies ein Wandler nach dem Funktionisprinzip der ''Sukzessiven Approximation'' [http://de.wikipedia.org/wiki/Analog-digital-Umsetzer#Sukzessive_Approximation] für etwa 8 - 12 Bit.
== ADC des AVR ==
+
In den klassischen [[AVR]]s und  der PIC16/PIC18 Serie sind es 10 Bit Wandler bis etwa 15 kHz Samplingrate.
 
+
Für weitere Details und Programmbeispiele über den ADC der AVRs, siehe [[ADC (Avr)|ADC der AVRs]].
In den [[Atmel]] [[AVR]]s wird das Funktionisprinzip der ''Sukzessiven Approximation''
+
[http://de.wikipedia.org/wiki/Analog-digital-Umsetzer#Sukzessive_Approximation]  
+
angewandt. Bei einer Auflösung von 10 Bit und einer Frequenz von max. 200kHz. Daraus ergibt sich eine Samplingrate von etwa 15kHz. Eine höhere Frequenz (bis zu 1MHz) ist zwar möglich, resultiert aber in einer Verringerung der Genauigkeit.
+
 
+
== AVR ATMega32 Programmierbeispiel ==
+
 
+
Das Programm misst die Spannung am ersten ADC Pin des Mikrocontrollers und gibt sie über ein Terminal aus.
+
Dann wartet es 800ms und gibt die Spannung am zweiten Pin aus, wartet wieder 800ms, usw.
+
+
$baud = 9600
+
$crystal = 1000000
+
$regfile "m32def.dat"
+
Config Adc = Single , Prescaler = Auto
+
Start Adc
+
Dim W As Word , Channel As Byte
+
Channel = 0
+
Do
+
  W = Getadc(channel)
+
  Print "ADC-Pin " ; Channel ; ": Wert " ; W
+
  Incr Channel
+
  If Channel > 7 Then Channel = 0
+
  Waitms 800
+
Loop
+
End
+
  
Die gemessene Spannung wird in der Variablen W gespeichert.
+
Für höhere Anforderungen werden externe ADCs etwa über [[SPI]] oder [[I2C]] angeschlossen.
Channel ist der Pin, an dem die Spannung gemessen werden soll.
+
  
 
== Weblinks ==
 
== Weblinks ==

Aktuelle Version vom 25. September 2014, 19:22 Uhr

Abkürzung des englischen Begriffs Analog to Digital Converter, im deutschen Sprachgebrauch A/D-Wandler (Analog nach Digital Wandler) oder A/D-Umsetzer genannt.

Allgemeines

Da es in der digitalen Welt nur zwei Zustände gibt, um Informationen darzustellen, wird ein A/D-Wandler benötigt, um analoge Größen in digitale Werte umzuwandeln. Er ist somit das Gegenteil zum DAC (Digital-Analog-Wandler), der digitale Werte in analoge Größen wandelt.

Merkmale eines A/D-Wandlers
  • Auflösung in Bit
  • Geschwindigkeit der Umwandlung
  • Spannungsbereich bzw. Referenzspannung
  • Genauigkeit (Drift, Wiederhohlgenauigkeit, Linearität)


In der Regel werden verschieden hohe Spannungen analysiert und je nach Auflösung des Wandlers ein entsprechender Wert als Zahl zurückgegeben.


Beispiel der Auflösung eines Wandlers

Liegt der Messbereich zwischen 0V und 5V, bei einer Auflösung von 8 Bit, so ergibt der analoge Wert von 0V am Eingang den digitalen Wert 0. Entsprechend 5V am Eingang den Wert 255. Der kleinste messbare Spannungsunterschied liegt so bei ca. 0,02 Volt. Bei einer Auflösung von 10 Bit verringert sich dieser Wert schon auf etwa 0,005 Volt, also 4 mal kleiner weil 2 Bit mehr Auflösung 4 mal so viele Stufen ergeben.

Beispielgeräte mit integriertem A/D-Wandler
  • Soundkarten
  • ISDN-Telefone
  • Digital Multimeter
  • Scanner
  • Fax-Geräte

In vielen Microcontrollern sind A/D-Wandler enthalten, meistens mit mehreren Eingängen und einer Auflösung von 8 bis 10 Bit. Es gibt aber auch eigenständige Bausteine (ICs), die es mit einer Vielzahl von verschiedenen Schnittstellen gibt, um an das digitale Ergebnis zu kommen, wie u.a. I2C.

ADC im µC

Viele µC enthalten bereits einen AD-Wandler. Meist ist dies ein Wandler nach dem Funktionisprinzip der Sukzessiven Approximation [1] für etwa 8 - 12 Bit. In den klassischen AVRs und der PIC16/PIC18 Serie sind es 10 Bit Wandler bis etwa 15 kHz Samplingrate. Für weitere Details und Programmbeispiele über den ADC der AVRs, siehe ADC der AVRs.

Für höhere Anforderungen werden externe ADCs etwa über SPI oder I2C angeschlossen.

Weblinks

  • Analog-digital-Umsetzer - hier wird genauer erklärt wie ein AD-Wandler funktioniert, und welche Funktionsprinzipen es gibt.
  • [2] - Informationen über Referenzspannungsquellen

LiFePO4 Speicher Test