Nutzung des A/D-Wandlers von ATmega16/32-Microcontrollern

Beschreibung

Im Folgenden findet sich eine C-Funktion zur Nutzung des A/D-Konverters, wie er in ATmega-Microcontrollern wie zum Beispiel dem ATmega16 oder ATmega32 zur Verfügung steht. Realisiert ist die Erfassung eines Messwerts als Einzelmessung (wobei diese Einzelmessung durchaus aus mehreren gemittelten Messwerten bestehen kann).

Quellen

Beispiel

Der Aufruf der Funktion single_adc_read() unter Nutzung der internen Spannungsreferenz VREF (2,56 V), bei einer minimalen Abtastfrequenz von 100 kHz und der Erfassung und Mittelung von 5 Messwerten sieht dann folgendermaßen aus:

ad_value = single_adc_read(ADC_REF_VREF, 2560, 5, 100);

Der Rückgabewert ist ein 32 Bit unsigned Integer und enthält die gemessene Spannung in mV. Die Höhe der Referenzspannung ist in mV anzugeben. Die Definitionen für die Einstellung der Spannungsreferenz (zum Beispiel ADC_REF_VREF) sind in der Datei adc.h zu finden.

Fehlerquellen

Folgende Punkte sind bei der A/D-Wandlung zu beachten:

Lizenz

Alle hier veröffentlichten Quellen stehen unter der LGPLv3.

Versionsinfo

Anregungen oder weitere Informationen

Für Anregungen oder die Beantwortung von Fragen zum Projekt steht ein Forum zur Verfügung.