Forum: Mikrocontroller und Digitale Elektronik ADC MEGA 8 immer 0


von herrmann (Gast)


Lesenswert?

Hallo

Habe ein Proplem MIT ADC und Mega 8

AM ADC 1 hängt ein Spannungsteiler um SPannungen bis 18V zu messen der 
Geht.
AM ADC 2 hängt ein INA 139 der mit GAIN 50 eingestellt ist über R.
AM ADC 3 hängt ein INA 139 der mit GAIN 50 eingestellt ist über R.

Beide INAS Als Differenz messung für Ladung Entladung.

Am Ausgang des INAS und Eingang des ADC2 kommen z.B 13mV an
ADC sollte nun 4.8mV ein ADC Wert also zwichen 2 und 3 ausgeben.
Ausgeben tut er 0 an ADC 2 und ADC3.

Initialisierung wie Bei ADC1.

Takt 16Mhz ADC Teiler 128
AVCC Ref.


Hatte mal den ADC MUX Port statt mit 2 oder 3 als Channel mit 0xd und 
0xe initialisiert!.

ISt da was schief gegangen ahtte gedacht den GAin im ADC von 10 zu 
nutzen.
Aber Mega 8 hat kein Gain im ADC.

Gruß

Herrmann

von Floh (Gast)


Lesenswert?

Zeig doch bitte mal deinen Code.:-)

von Herrmann (Gast)


Lesenswert?

Hallo

Aslo der Takt ist 8MHZ intern Cryst.

uint16_t readADC(uint16_t channel)

 {
  uint16_t result;

  ADCSRA = (1<<ADEN) | (1<<ADPS2) | (1<<ADPS1) |(1<<ADPS0) ;    //
  ADMUX = channel;

  ADMUX |=  (0<<REFS1)|(1<<REFS0);

  ADCSRA |= (1<<ADSC);
  while ( ADCSRA & (1<<ADSC) )
 {
 ;
 }
  result = ADCW;
  result = 0;
  ADCSRA |= (1<<ADSC);
  while ( ADCSRA & (1<<ADSC) )
  {
  ;
  }

  result= ADCW;
  result = 0;

 ADCSRA |= (1<<ADSC);
 while ( ADCSRA & (1<<ADSC) ) {
 ;
 }

 result= ADCW;
 ADCSRA &= ~(1<<ADEN);
 return result;
}

double amp1=readADC(2);
double amp2=readADC(3);


Differenzmessung INA 1 und INA 2

INA 1 ist am Ausgang EIngang ADC2 = 17mV (Load von Batterie)
INA 2 ist am Ausgang Eingang ADC3 = 0mV (Keine Ladung angeschlossen)

Der ADC gibt 0 aus.

das heißt ich kann erst ab ca 1A messen.
Bei Sunt 50A /75mV
heist ein ADC von 1=4,8mV.
Bei 17mV=ADC von 3 oder 4.
d.h


Wert=(ADC Wert*4.88)/GAIN 50 vom INA
Wert=(Wert*50A)/75mV

Bei ADC von 13 wären es 0,8A das würde auch hinkommen mit meiner 
Multimeter Messung aber da kommt beim ADC eine 0.
Erst wenn ich eine Last ab 1,2 A dranhabe geht es.

Messwert mit Multimeter ist konstant keine schwankungen am ADC EIngang 
zu messen.

Hat jemand eine Idee???

Vielen Dank

Gruß

herrmann

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.