attiny1614 und interner Temperatur-Sensor

OP #5962354
Lesenswert?

Hallo zusammen,

ich möchte mit einem attiny1614 den internen Temperatur-Sensor lesen.

Im DB des attiny1614 steht zwar, wie man es macht, jedoch hat man wohl 
im DB bei MUXPOS den Eintrag für den internen Temp-Sensor dort 
vergessen. Im DB vom attiny412 steht hierfür ein Wert von 0x1e. Das 
steht auch im produzierten Code von Atmel-Start.

Nun lese ich allerdings von dieser MUXPOS  ADC-Resultatwerte im zwischen 
0...2. Das scheint nicht plausibel. Andere Kanäle funktionieren 
hingegen.

Hat das jemand mit dem attiny1614 schon einmal erfolgreich gemacht?

Danke für Hinweise!
Gast #5962430
Lesenswert?

Hast du denn auch ADC0 benutzt?

Auch wenn das neuere Datenblatt den MUXPOS-Wert 0x1e nicht erwähnt, 
sieht das mehr nach einem Copy/Paste-Fehler aus, da an anderen Stellen 
die Temperaturmessung spezifiziert ist, inkl Kalibrierwerten, Grafiken, 
etc.
#5962647
Lesenswert?

Wie hast du den ADC initialisiert, wie fragst du ab? Kannst du bitte 
deinen Code posten? Man muss bei der Initialisierung des ADC für 
Temperaturmessungen einiges beachten, und das Datenblatt ist da je nach 
Version falsch bis widersprüchlich, auch die Errata sind nur bedingt 
hilfreich.
OP #5962654
Lesenswert?

Nun ist es klar: das Datenblatt ist eindeutig falsch. Ich habe eine Case 
bei MicroChip aufgemacht, mal sehen wie die Antwort ausfällt.

Meine Erkenntnis: ADC1 kann nicht vom internen Temperatursensor lesen, 
sondern nur ADC0. Dies kann man so dem DB des 1617 entnehmen, das 
scheint damit korrekt in dieser Hinsicht. ADC1 liest mit der muxpos 0x1e 
den DCA1 Ausgang.

Die restlichen besonderen Einstellungen sind nun meiner Erfahrung nach 
recht unkritisch. Nur die VRef sollte natürlich bei 1,1V sein.
#5962663
Lesenswert?

1. Die restlichen Einstellungen sind überhaupt nicht unkritisch, sie 
sind im Gegenteil sogar sehr kritisch. Wenn du das nicht beachtest, 
bekommst du zwar Werte, aber falsche. Poste bitte deinen Code.

2. Wo hast du denn gelesen, dass ADC 1 vom Temperatursensor lesen kann? 
Link? Die von die angegebene Nummer nützt nichts - wo findet man das?
OP #5962670
Lesenswert?

Dieter R. schrieb:
> 1. Die restlichen Einstellungen sind überhaupt nicht unkritisch, sie
> sind im Gegenteil sogar sehr kritisch. Wenn du das nicht beachtest,
> bekommst du zwar Werte, aber falsche. Poste bitte deinen Code.

Das einzige, was hier einen erkennbaren Einfluss gegenüber den im DB 
vorgeschlagenen Einstellungen hat, ist wie immer die Taktrate des ADC.

(Den Code willst Du nicht sehen, ist C++). Der Code entspricht genau dem 
aus dem Atmel-Start. Dort steht übrigens auch fälschlicherweise bei ADC1 
und muxpos 0x1e Temperatursensor als Quelle.

>
> 2. Wo hast du denn gelesen, dass ADC 1 vom Temperatursensor lesen kann?
> Link? Die von die angegebene Nummer nützt nichts - wo findet man das?

Nochmal: die DB beschreibt ja beide ADCs.

1): Es fehlt im DB komplett der muxpos Code 0x1e für den TempSensor
2) Es fehlt der Hinweis, dass ADC0 bei 0x1e vom TempSensor und ADC1 vom 
DAC1 liest (wie beim 1617).
#5962682
Lesenswert?

Gut, du weißt es besser. Musst du halt ggf. mit falschen Werten leben - 
oder auch zufällig richtigen, dein Code bleibt ja geheim und sowieso für 
andere unverständlich.

Atmel Start produziert (an dieser Stelle) übrigens den Code, den du mit 
deinen Eingaben vorgibst, und nicht den, der für den Temperatursensor 
erforderlich wäre. Atmel Start macht überhaupt viele schöne Dinge und 
einige völlig unbrauchbare dazu.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren