Forum: Mikrocontroller und Digitale Elektronik Differential ADC AVR GAIN


von avr007 (Gast)


Lesenswert?

Hallo Leute,

laut Datenblatt von AT90USB646 kann man zum Beispiel zwischen die Kanäle 
2 und 3 (oder 0 und 1) Differentiel x10 verstärken. (Die Auflösung ist 
dann 8-Bit)

Wenn ich zum Beispiel ADC2 mit GND verbinde und ADC3 mit einer positiven 
Spannung z.B 0.3V

Der ADC-Wert entspricht in diesem Fall : 153,stimmt? (AREF ist auf 5V 
gesetzt)

Welchen Kanal muss man bei der Abfrage in main einlesen: readADC(?) 2 
oder 3? oder es ist egal?


Danke im Vorraus.

von spess53 (Gast)


Lesenswert?

Hi

>Welchen Kanal muss man bei der Abfrage in main einlesen: readADC(?) 2
>oder 3? oder es ist egal?

13.

MfG Spess

von avr007 (Gast)


Lesenswert?

#include <avr/io.h>
#include <inttypes.h>

uint16_t readADC(uint8_t channel) {
  uint8_t i;
  uint16_t result = 0;

  // Den ADC aktivieren und Teilungsfaktor auf 64 stellen
  ADCSRA = (1<<ADEN) | (1<<ADPS2) | (1<<ADPS1);

  // Kanal des Multiplexers waehlen
  // Interne Referenzspannung verwenden (also 2,56 V)
  ADMUX = channel | (1<<REFS1) | (1<<REFS0);
....

int main(void) {
  uint16_t result = readADC(0);  //Auslesen der analogen Spannungen an 
Pin 0,
          // also ADC0. In result steht das Ergebnis.
  return 0;
}

Bei der ADMUX  habe ich schon 13 eingestellt.soll ich die Funktion auch 
so abfragen?

uint16_t result = readADC(0);

von avr007 (Gast)


Lesenswert?

Sorry,danke für deine Antwort.

Ich bin ziemlich durcheinander.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.