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.
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
Raphael K. schrieb: > Was könnte den ein Fehler für den immer gleichen Rückgabewert sein ? Der Fehler sitzt vor deinem Bildschirm. Solange du deinen Code nicht zeigst ist weiteres Raten angesagt.
Raphael K. schrieb: > ich habe aktuell ein großes Problem mit dem DS1621 Temperatursensor. Einen Schaltplan müsstest du auch noch zeigen. Vermutlich hast du gar keine Pullups vorgesehen. Merkst du es? Alles Ratespiel solange keine Fakten vorliegen.
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.
:
Bearbeitet durch User
K. S. schrieb: > dann würde kein ack kommen und das Ergebnis nicht konstant 197 oder was > auch immer sein. Ein ACK kommt auch dann (automatisch) wenn es der Bus nicht schafft einmal den High-Pegel zu erreichen.
STM Apprentice schrieb: > Ein ACK kommt auch dann (automatisch) wenn es der Bus nicht > schafft einmal den High-Pegel zu erreichen. damit hast du recht, aber dann kommt halt das Nack am Ende nicht, und der Bus müsste auch wegen Clock stretching stecken bleiben.
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.