DS1621 gibt immer die gleiche Temperatur zurück

#5812733
Lesenswert?

Hallo zusammen,

ich habe aktuell ein großes Problem mit dem DS1621 Temperatursensor.

Hier einmal das Datenballt für alle:

https://pdfserv.maximintegrated.com/en/ds/DS1621.pdf

Ich verwende als Mikrocontroller einen STM32 F429BI und von JumpStart 
die Cortex M IDE.

Ich kann den Chip ansteuern, die Register auslesen und rein schreib, 
genau so wie es in dem Datenblatt auf Seite 9 gezeigt wird. Ich habe 
alles auf meinem Oszi kontrolliert.

Dabei habe ich aber das Problem, das der Chip bei der Ausgabe der 
Temperatur immer den gleichen Wert (197 glaube ich, kann ich gerade 
nicht mehr nachschauen) zurück gibt, egal ob ich einen Heißluftföhn ohne 
Kältspray hinhalte. Dazu macht der Wert aufgrund seiner hohe absolut 
keinen Sinn.

Ich steuere den Chip an, in dem ich als erstes 0xEE an den Chip schicke, 
damit er wie auf Seite 10-11 beschrieben die Temperaturausgabe startet.

Danach frage ich mit dem Register 0xAA immer die zwei bytes ab, die 
immer den gleichen Wert haben. Habe den Chip bisher 3 mal getauscht, 
damit ich einen Produktionsfehler ausschließen kann (aber alles andere 
geht halt ganz normal am Chip).

Jetzt bin ich leider am Ende mit meinem Wissen.

Was könnte den ein Fehler für den immer gleichen Rückgabewert sein ?

Danke für eure Hilfe.
Gast #5813627
Lesenswert?

Raphael K. schrieb:
> Ich steuere den Chip an, in dem ich als erstes 0xEE an den Chip schicke,
> damit er wie auf Seite 10-11 beschrieben die Temperaturausgabe startet.
>
> Danach frage ich mit dem Register 0xAA immer die zwei bytes ab,

Wieviel Zeit gibts du den DS1621 von Start_Convert_T zum READ_Temprature 
zum wandeln?? Entnehme das du keine Wandlungszeit einhälst...

mindestens 750ms siehe Seite 15/16 deiner PDF
#5813750
Lesenswert?

Raphael K. schrieb:
> Dabei habe ich aber das Problem, das der Chip bei der Ausgabe der
> Temperatur immer den gleichen Wert (197 glaube ich, kann ich gerade
> nicht mehr nachschauen) zurück gibt

was sind diese 197? Rohdaten? Grad C? in dezimal oder hex?

Raphael K. schrieb:
> Danach frage ich mit dem Register 0xAA immer die zwei bytes ab, die
> immer den gleichen Wert haben.
du hast doch ein Oszi. kann das I2C decodieren, und wenn ja, was kommt 
als Antwort auf den 0xAA Befehl (nichts interpretiertes, nur die Bytes 
so wie sie auf dem Bus kommen)?

STM Apprentice schrieb:
> Einen Schaltplan müsstest du auch noch zeigen. Vermutlich hast
> du gar keine Pullups vorgesehen.
dann würde kein ack kommen und das Ergebnis nicht konstant 197 oder was 
auch immer sein.

STM Apprentice schrieb:
> Der Fehler sitzt vor deinem Bildschirm.
>
> Solange du deinen Code nicht zeigst ist weiteres Raten angesagt.
Dem muss ich leider zustimmen. Zeig was über den Bus kommt (und was du 
rausschickst, mit dem Oszi), zeig den Schaltplan und den Code, dann 
sieht man wo der Fehler liegt.

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