www.mikrocontroller.net

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


Autor: Mirco (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Hilfs-Sysop (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Mirco (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht 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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.