Hallo, Ich habe gerade den ADC meines ATmega16 ausprobiert, und zwar mit folgenden Einstellungen: /* set prescaler */ ADCSRA = prescaler; /* set reference voltage */ ADMUX |= (1 << REFS0); /* enable the ADC */ ADCSRA |= (1 << ADEN); Ich wollte ausprobieren, was eigentlich die verschiedenen Prescaler bei ein und derselben Messung bewirken. Dazu verwende ich ein Potentiometer, das zwischen 0V und 5V liefert. Mache ich nun eine Messung bei 0V, so ergeben sich folgende Ergebnisse auf den Siebensegmentanzeigen: Prescaler = 128: 0x0000 Prescaler = 2: 0x03FF Prescaler = 4: 0x001F Prescaler = 8: 0x0013 Prescaler = 16: 0x0007 Prescaler = 32: 0x0000 Prescaler = 64: 0x0000 Bei 5V: Prescaler = 128: 0x03FF Prescaler = 2: 0x03FF Prescaler = 4: 0x03E0 Prescaler = 8: 0x03E7 Prescaler = 16: 0x03F8 Prescaler = 32: 0x03FF Prescaler = 64: 0x03FF Ich finde das zwar faszinierend doch kann ich diese Ergebnisse nicht deuten. Ich habe nur gelesen, dass der Prescaler auf die UmwandlungsZEIT Einfluss hat, aber dass sich dadurch die Messergebnisse unterscheiden verwirrt mich... Kann mir bitte jemand erklären, was diese Messergebnisse bedeuten?
Da die Messungen um so stärker vom erwarteten Ergebnis abweichen je kleiner der Prescalerwert wird, vermute ich mal, dass einfach die Taktrate zu hoch ist (PICs zeigen ähnliches Verhalten). Am besten mal das Datenblatt dazu befragen. Dieter
@ testfall Datenblatt Mega16 sagt auf Seite 205 ausdrücklich, dass die Eingangsfrequenz für den ADC zwischen 50 und 200 kHz liegen sollte. Der Vorteiler ist dazu entsprechend der Taktfrequenz einzustellen.
@compucat Das habe ich natürlich auch gelesen; Ich habe ja auch geschrieben, dass zu diesem speziellen Verhalten nichts zu finden ist, und ich gerne wüsste, wie man dieses interpretiert!
@testfall wenn eine sequentielle Näherungsschaltung eine schaltungsbedingte bestimmte (maximale) Eingangstaktfrequenz für eine bestimmte Auflösung hat, ist die Umwandlung bei einer höheren Taktfrequenz nicht mehr möglich. Wie im Datenblatt angegeben ist, ist bei höherer Taktfrequenz eine kleinere Auflösung zu wählen.
Das ist doch ein schönes Ergebnis. Damit gibt es beim Teiler 32 entsprechend 500kHz noch keine Abweichungen. Das ist immerhin um den Faktor 2,5 schneller, als von Atmel spezifiziert. Warum Du aber oberhalb von 500kHz diese Abweichungen bekommst, weiss ich auch nicht. Hast Du eine Einzelmessung gemacht, oder mehrfach hintereinander gemessen? Vielleicht reicht bei einer Einzelmessung die Zeit zum Laden der S&H-Stufe nicht aus. Gruß Gerd
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.