Hallo Forum! Ich versuche gerade bei einem Atmega 168 den internen Temperatursensor zu verwenden. Dabei bin ich über den Satz gestolpert: "When the temperature sensor is enabled, the ADC converter can be used in single conversion mode to measure the voltage over the temperature sensor." Ich schließe daraus, dass ich die Temperatur nicht im Freerunning-Modus messen kann. Was passiert, wenn ich es doch tue? Hintergrund: Alle anderen ADCs lese ich im Free-Running-Modus aus und möchte nicht ständig umschalten. Alternative: Einen Timerinterrupt opfern und damit den ADC manuell im Singlemodus triggern?
Vorab: Ich bin mir nicht ganz sicher, aber möchte meine Vermutung trotzdem loswerden. Meines Wissens nach braucht der interne Sensor eine spezielle Vref (1,1V o.ä.). Für die anderen ADC-Eingänge wirst du sicher eine andere Referenz verwenden als die interne Vref die der Temp-Sensor nutzt. Daher muss für den Messvorgang die Vref umgeschaltet werden, weshalb kein free-run funktionieren würde. So in etwa ist meine Vermutung...
Ich verwende auch für die anderen ADCs die 1,1V Refspannung.
Hi >Ich versuche gerade bei einem Atmega 168 den internen Temperatursensor >zu verwenden. Dann lies dir das mal durch: http://www.atmel.com/Images/doc8108.pdf >Dabei bin ich über den Satz gestolpert: >"When the temperature sensor is enabled, the ADC converter can be used >in single conversion >mode to measure the voltage over the temperature sensor." >Ich schließe daraus, dass ich die Temperatur nicht im Freerunning-Modus >messen kann. Da steht 'can' und nicht 'must'. MfG Spess
O.K. dann schließe ich nur daraus, daß er im Single Modus messen kann, weiß aber immer noch nicht, ob es auch im Free-Running-Mode geht. Die AppNote zum internen Sensor ist sehr interessant. Danke.
Hi >O.K. dann schließe ich nur daraus, daß er im Single Modus messen kann, >weiß aber immer noch nicht, ob es auch im Free-Running-Mode geht. Vielleicht, weil es einfach sinnfrei ist, einen Temperatursensor im kHz-Takt auszulesen? MfG Spess
Ich lese alle anderen ADCs im Khz Takt aus, da müßte ich jedesmal umschalten, wenn ich die Temperatur seltener auslesen wollte(siehe erster Post). Mfg
Hi
Was gibt es denn da groß umzuschalten? Im einfachsten Fall eine
Zählvariable laufen lassen, die nur bei einem X-beliebigen Wert die
Temperaturmessung zuschaltet.
>Die AppNote zum internen Sensor ist sehr interessant. Danke.
Ich hoffe du hast dort gelesen, das der 'gemessene' Temperaturwert ohne
Kalibrierung um +-10° abweichen darf. Da ist mein Finger genauer.
MfG Spess
spess53 schrieb: > Ich hoffe du hast dort gelesen, das der 'gemessene' Temperaturwert ohne > Kalibrierung um +-10° abweichen darf. Da ist mein Finger genauer. Aber nur in einem recht engen Temperaturbereich um 37°C herum. ;o)
spess53 schrieb: > Was gibt es denn da groß umzuschalten? Im einfachsten Fall eine > Zählvariable laufen lassen, die nur bei einem X-beliebigen Wert die > Temperaturmessung zuschaltet. oder einfach X-Werte ignorieren, dadurch bleibt die Abtastfrequenz konstant. spess53 schrieb: > Ich hoffe du hast dort gelesen, das der 'gemessene' Temperaturwert ohne > Kalibrierung um +-10° abweichen darf. Da ist mein Finger genauer. Du hast aber nur 10 und ich brauche mehr Systeme :)
Zur ursprünglichen Frage: ich verwende beim ATmega88A den Free-Running Modus und es funktioniert...
Funker schrieb: > Alternative: Einen Timerinterrupt opfern Oder den ADC-Interupt dafür benutzen. ADC_ISR: { ADC-Wert(n) = ADC n++; Wenn (n > Benutzte Kanäle) n = 0 ADC-Steuerregister = Parameter_tabelle(n) Wandlung starten } Easy ... ;-) Gruß Jobst
> Ich lese alle anderen ADCs im Khz Takt aus, da müßte ich jedesmal > umschalten, Man koennte jetzt natuerlich fragen wie ungenau die Temperaturfuehler werden wenn sie andauernd eingeschaltet sind, aber zum Glueck gehen sie ja sowieso eher nach dem Mond. :-) Olaf
Hi Da hat bob (Gast) einen fast 2 Jahre alten Thread ausgegraben, um zu erzählen wie das die minder bemittelten machen. MfG Spess
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.