mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Probleme mit ADC und Sensor


Autor: Peterle Anonym (Firma: keine) (wanderameise)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Evtl ist es ein triviales Problem, aber irgendwie komm ich nicht 
dahinter:

Ich missbrauche meinen AT90CAN128 als AD-Wandler; dazu folgende 
einstellungen:
uint16_t adc_val()
{
  int i;
  uint16_t result;

  ADMUX |= (1<<MUX0);
  ADMUX |= (1<<REFS0);
   ADCSRA = (1<<ADEN) | (1<<ADPS1) | (1<<ADPS0);
   ADCSRA |= (1<<ADSC);

   //dummy messung
   while ( ADCSRA & (1<<ADSC) ) {
     ;
   }
   result = ADCW;
   result = 0;
   for( i=0; i<4; i++ ) 
   {
      ADCSRA |= (1<<ADSC);
      while ( ADCSRA & (1<<ADSC) ) {
         ;
      }
      result += ADCW;
   }
   ADCSRA &= ~(1<<ADEN);
   result /= 4;          //mittelwert
return result;

}


Das klappt alles wunderbar, wenn ich ein Netzteil, das mir stabile 2,7V 
- 5 V liefert, anschließe.
Wenn ich jedoch eine Platine, auf der ein Sensor(ADXL335) sitzt, 
anschließe, bekomme ich ständig 0 angezeigt. Das Voltmeter zeigt 
wunderbare 1,65 Volt.
Wieso geht es mit dem Netzteil und nicht mit dem Sensor?
Was mache ich falsch!
Habt ihr eine Idee auf die Schnelle?

Autor: holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Wieso geht es mit dem Netzteil und nicht mit dem Sensor?
>Was mache ich falsch!

Masse anschließen.

Autor: Peterle Anonym (Firma: keine) (wanderameise)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
wenns so einfach wäre...

Autor: holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>wenns so einfach wäre...

Meistens ist es das;)

Autor: Peterle Anonym (Firma: keine) (wanderameise)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
anbei mal ein bild des aufbaus

Autor: Stefan B. (stefan) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Das Voltmeter zeigt wunderbare 1,65 Volt.

Wo gemessen?

Autor: holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>anbei mal ein bild des aufbaus

Man sieht drei Platinen und Drahtvogelnester. ROFL;)

Autor: Peterle Anonym (Firma: keine) (wanderameise)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Stefan B. schrieb:
>> Das Voltmeter zeigt wunderbare 1,65 Volt.
>
> Wo gemessen?

sensorausgang.

ich muss dazu sagen, das sich der adc merkwürdig verhält. bei größeren 
werten schwanken diese stark. keine ahnung woran das liegen könnte!

Autor: Anja (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Wieso geht es mit dem Netzteil und nicht mit dem Sensor?
Der Sensor ist relativ hochohmig (33k) im Verhältnis zum Netzteil.

Wie ist denn Dein Filterkondensator für den Sensor dimensioniert?

Eventuell ist die Sample-Time für den ADC zu gering (bei der hohen 
Eingangsimpedanz).

Autor: Stefan B. (stefan) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Welcher Filterkondensator als Tiefpass ist denn am Sensor verbaut? Und 
die Spannung würde ich dringend mal direkt am ADC:Eingang des AVR messen 
(GND = AVR-GND). Dort soll sie ja digitalisiert werden.

Autor: Peterle Anonym (Firma: keine) (wanderameise)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
anbei mal die werte bei knapp 5V. die werte schwanken stark.

als Tiefpass sind 0,1 µF kondensatoren an die Sensorausgängen 
angeschloßen.
sample time liegt bei 16MHZ/8 .

Autor: holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>anbei mal die werte bei knapp 5V. die werte schwanken stark.

799-826 würde ich nicht als stark schwankend bezeichnen.

Autor: Peterle Anonym (Firma: keine) (wanderameise)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
holger schrieb:
>>anbei mal die werte bei knapp 5V. die werte schwanken stark.
>
> 799-826 würde ich nicht als stark schwankend bezeichnen.

Naja bei 2.7 Volt schwankt es um 2 digits, daher meine skepsis. Und 
müssten es nicht ~1024 heissen bei 5 V?

Autor: Stefan B. (stefan) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Peterle Anonym schrieb:

> sample time liegt bei 16MHZ/8 .

Im AVR Datenblatt werden 50 bis 200 KHz empfohlen. Bei Vref = AVcc = 5V 
solltest du bei 5V Signaleingang ADCW=1023 bekommen. Deine Werte 
(799-826) wären zu klein. Könnte mit der zu hohen Samplefrequenz 
zusammenhängen. Bei kleineren zu messenden Spannungen könnte das sich 
verbosen.

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.