Probleme mit ADC und Sensor

OP (Firma: keine) #1589660
Evtl ist es ein triviales Problem, aber irgendwie komm ich nicht 
dahinter:

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

6
  ADMUX |= (1<<MUX0);
7
  ADMUX |= (1<<REFS0);
8
   ADCSRA = (1<<ADEN) | (1<<ADPS1) | (1<<ADPS0);
9
   ADCSRA |= (1<<ADSC);
10

11
   //dummy messung
12
   while ( ADCSRA & (1<<ADSC) ) {
13
     ;
14
   }
15
   result = ADCW;
16
   result = 0;
17
   for( i=0; i<4; i++ ) 
18
   {
19
      ADCSRA |= (1<<ADSC);
20
      while ( ADCSRA & (1<<ADSC) ) {
21
         ;
22
      }
23
      result += ADCW;
24
   }
25
   ADCSRA &= ~(1<<ADEN);
26
   result /= 4;          //mittelwert
27
return result;
28

29
}

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?
OP (Firma: keine) #1589701
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!
Gast #1589705
>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).
OP (Firma: keine) #1589738
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?
Persönliche Seite #1589779
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

Eine eigene Frage? Dieser Thread ist über 16 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.