Forum: Mikrocontroller und Digitale Elektronik Atmega 325 ADC mit Interne Referenz 1.1V


von Seb (Gast)


Lesenswert?

Guten Morgen zusammen,

Ich habe hier einen ATmega 325 mit dem ich gerne den AD-Wandler 
ausprobieren würde.
Dazu habe ich erstmal ins Datenblatt geschaut um den ADC zu 
initialisieren. Das hat soweit
auch alles funktioniert. Mit dem setzen des REFS1 und REFS0 wurde die 
Interne Referenz
ausgewählt. An AREF hängt ein 50nF Kondensator gegen Masse und AVCC geht 
über ne 22µH
Spule an VCC (+5V). An AREF messe ich 1,085V

Ich habe nur irgendwie ein Problem mit der Genauigkeit. Ich habe eine 
Auflösung von 10bit
das heißt ja das 1bit ca. 1mV entspricht.

Nun habe ich eine 5V Referenzspannung genommen und dort ein R(71,5k) + 
Rpoti(20K) in Reihe angeschlossen
und den Schleifer des Potis auf AD-Eingang 0 gelegt.

Nun kann ich über das Poti die Werte 0 bis 1,1V bequem an den Eingang 
des ADC legen.

Auf einem LCD gebe ich nun den zusammen gefassten Wert von ADCL und ADCH 
aus.
1
while(1)
2
  {
3
  result= 0x00;
4
  ADCSRA    |=  ((1<<ADSC));
5
  _delay_ms(10);
6
  result = ((result+ADCL) +(ADCH<<8));
7
8
9
  set_cursor(0,4);
10
  sprintf( Out, "result: %d     ", result );
11
  lcd_string( Out );
12
  
13
  set_cursor(0,2);
14
  sprintf( Out, "ADC: %d     ", ADC );
15
  lcd_string( Out );
16
17
18
  }
Dort sehe ich auch Werte von 0 (Poti im Linksanschlag) bis 1023 (Poti im 
Rechtsanschlag) und einige
Zwischenwerte. Das Problem besteht darin das die Zwischenschritte 
irgendwie immer Feste schritte sind
Also so im 6 bis 20 Schritte auf einmal. Bzw anders erklärt ich  drehe 
ganz langsam am Poti und im Display
Springt der Wert von 0 auf 6 dann auf 14 dann auf 24 usw.

Ich sehe NIE zum Beispiel ne 18 oder 20. Warum sind da so extreme 
Sprünge drin wenn ich doch eingentlich ne
Auflösung von 1mV/bit habe ?


Könnte mir da bitte jemand helfen.

Gruß
Seb

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.