mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik ADC-Wert springt, keine Feinabstufung möglich


Autor: aortner (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo µC Freaks,

hab schon viel ausprrobiert aber irgendwie werde ich das Problem nicht 
los.
Ich lese die Temperatur über einen KTY 81-110 in den ADC. Dann wird mit 
float der Wert berechnet und an PC und LCD geschickt.
Der ADC Wert springt von

543 (22,3°C) auf
547 (23,6°C) auf
551 (24,8°C)

Und das alles immer im gleichen Bild (natürlich wenn ich den Sensor 
aufwärme)

Ich vermisse aber die Rohwerte z.B. zw. 543 und 547. Die muß es doch 
geben.Ind die kommen nie vor!

Hat einer eine Idee?

Code:

  adc_value =ADCL;
  adc_value |= ((int)ADCH<<8);

-->
  T_float=(float)((float)(ADC_value_temp-467)*200/625)-2;
  printf("\r\n Temperat_float %f", T_float);


Danke.

Autor: Marius (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Lt. Bild werden die Werte im Sekundentakt an den PC übergeben. Dass dann 
Werte dazwischen fehlen ist nicht weiter verwunderlich.

Autor: rene (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Rohwerte sind gemittelt ? Falls nicht, sollten sie. Ich nehm jeweils 
64 Additionen und dann ein shr 6.

Autor: A.K. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wird der ADC mit korrektem Takt versorgt?
Woher kommt Aref, AVcc?
Welcher Controller?

Autor: aortner (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Controller: M32
AGND verschaltet mit GND
AREF ist mit 100nF an GND gelegt
Ich nutzte die interne Referenz von 2,5xV
Die Masse und VCC sind zus. mit dickem C=1000µF verschaltet um Spannung 
konstant zu halten

Hätte ich schon geglaubt dass die Werte nicht ans Dichsplay kommen, bloß 
1 mal in 100 Fällen müssen die doch zu sehen sein...

Gruß  Andreas

Autor: Kornfisch (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sonst Sensor durch pot tauschen und drehen

Autor: Joe (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Grundsätlich würde ich den ADC Wert zunächst einmal aus mehreren 
Messungen mitteln.

Beispiel ATTINY:
  for (adc_count=0; adc_count < 64; adc_count ++)  {
    ADCSR |= (1 << ADSC);           // AD Wandler starten
    while (ADCSR & (1 << ADSC));    // AD Wandlung fertig ?
    adc_val = ADCL;                 // lowbyte auslesen
    adc_val += ADCH * 256;          // highbyte & lowbyte = 10 BIT Ergebnis
    adc_sum += adc_val;             // Mittelwert über 64 Messungen
  }adc_sum >>= 6;                   // /64 => Mittelwert


100nF direkt an den Bauelementen ? Hast du mal die Versorgungspannungen 
mit dem Oszi. angeschaut ?

Benötigst du wirklich "float" ? Für mich sieht das so aus als könnte man 
das mittels Integerarithmetik hinbekommen !?

Autor: Knut Ballhause (Firma: TravelRec.) (travelrec) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
AVcc gehört über ein L/C-Filter an Vcc. Die Masse zum Sensor 
(Analog-Masse) darf nicht von anderen Strömen durchflossen werden. Bei 
langsamen Signalen gehören 10...100nF direkt von Analog-Masse an den 
ADC-Pin.

Autor: A.K. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> mit dickem C=1000µF

Nach dem Motte "viel hilft viel"? Ist hier eher umgekehrt, der 1000-er 
nützt da wenig, ist zu träge.

Fehlt immer noch die Antwort zur Frage nach dem ADC-Takt.

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.