Forum: Mikrocontroller und Digitale Elektronik Attiny ADC auswerten 8bit


von Marcel B. (gigi)


Lesenswert?

Huhu,
hab da ne Umrechnungsfrage.

Und zwar steht ja hier bei µC im Artikel dass der ADC wert sich wie 
folgt berechnet :

Spannung = Maximalwert / 1024 * ADC-Wert.

Soweit ganz klar, für 10 bit.

Im 8 Bit Modus rechne ich doch dann einfach

Spannung = Maximalwert(Uref) /255 * ADC-Wert, oder nicht ?
heisst für mich beim Attiny 13A mit interner Ref ->
Spannung = 1,1V /255 * ADC-Wert.

Irgendwie zeigt er mir nämlich falsche Werte an.

Ich habe ausgerechnet dass ich bei meinem Spannungsteiler aus
3,3k ---- adc --- 510R bei 6,3V circa 0,84V und einen ADC wert von 
folglich 200 haben muss.

Die Werte stimmen auch, habe ich nachgemessen.

Allerdings führt das Programm eine Routine aus, die bei <= 195 ADC Wert 
ausgeführt werden soll.

Hat jemand da eine Idee ?

Edit:
Auslesen geschieht bei mir folgendermassen :

void voltage()
  {
    ADCSRA |= (1<< ADEN) | (1<<ADSC);
    while (ADCSRA & (1<<ADSC));
    ADCSRA |= (1<<ADSC);
    while (ADCSRA & (1<<ADSC));
    vol = ADCH;
    ADCSRA &= ~(1<<ADEN);

  }

von S. Landolt (Gast)


Lesenswert?

1.  /256, nicht 255
2.  6.3/3810*510 /1.1 *256 = 196.26, nicht 200
3. "Internal Voltage Reference 1.0 - 1.1 - 1.2 V" lt. Datenblatt

von Marcel B. (gigi)


Lesenswert?

Ich bedanke mich recht herzlich!

LG,
Marcel

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.