Forum: Mikrocontroller und Digitale Elektronik Peak's Strommessung INA138 ATMega vom ADC


von Mirco (Gast)


Lesenswert?

Habe folgendes Problem, via INA138 Messe ich über einen Widerstand einen 
Strom. Vom INA138 gehe ich direkt auf den ADC des ATMEGA.
Wenn ich nun mit dem KO auf der Leitung zwischen dem Augang des INA138, 
dem Pull-up und dem ADC des ATMega Messe, kriege ich regelmässig alle 
etwa 2ms einen peak, eine spannungsspitze von etwa 4-500mV.
An allen andern Pin's des INA138 sind diese nicht zu messen. An der 
Versogrungsspannung des Pull-up ebenfalls nicht. Deaktiviere ich den 
ADC, sind die spannungsspitzen weg... sprich es sieht aus, als kämmen 
die Spannungsspitzen vom ATMEGA...

Folgendem Programmabschnitt wird der ADC ausgelesen

          uint8_t i;
          uint16_t result2 = 0;

          ADMUX = mux;
          ADMUX |= (0<<REFS1) | (0<<REFS0);
          ADCSRA = (1<<ADEN);// Enable bit (Auf 0 schaltet ADC aus!!)


          ADCSRA |= (1<<ADSC);   // eine ADC-Wandlung
          while ( ADCSRA & (1<<ADSC) ) {
            ;     // auf Abschluss der Konvertierung warten
          }
          result2 = ADCW;  // dummy read

          /* Mittelwert aus 4 aufeinanderfolgenden Wandlungen */
          result2 = 0;
          for( i=0; i<4; i++ )
          {
            ADCSRA |= (1<<ADSC);  // eine Wandlung "single conversion"
            while ( ADCSRA & (1<<ADSC) ) {
              ;   // auf Abschluss der Konvertierung warten
            }
            result2 += ADCH;  //ADCH      // Wandlungsergebnisse

          }
          ADCSRA &= ~(1<<ADEN);             // ADC deaktivieren (2)

          result2 /= 4;

          return (uint8_t) result2;


Beim Booten des controllers setze ich folgendes:
ADMUX = 0x46;
ADCSRA = 0xE0;
ADCSRB = 0x08;


wogarn könnte das liegen??? jemand eine idee?

von Hilfs-Sysop (Gast)


Lesenswert?

Der ADC läd bei Beginn der Messung (alle 2ms, richtig?) seinen 
S/H-Kondensator auf, und trennt den danach wieder vom Pin.
Bei hochohmigen Quellen sieht man das dann.

von Mirco (Gast)


Lesenswert?

ja kommt hin...

äh ok... nur das heisst dass mit der adc meine messung selbst 
verfälscht... wie kriege ich die spannungspitzen am besten raus?

von Falk B. (falk)


Lesenswert?

@Mirco (Gast)

>äh ok... nur das heisst dass mit der adc meine messung selbst
>verfälscht... wie kriege ich die spannungspitzen am besten raus?

Wenn du nur langsam messen willst ggf. mit einem 22nF Kondensator am 
ADC-Eingang. Das geht aber nur, wenn du nur mit wenigen Hz misst. Machst 
du aber nicht, du misst alle 2ms. Also brauchst du einen OPV als Puffer. 
Den einfach als Spannungsfolger schalten.

MFG
Falk

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.