Hallo an alle, ich habe hier ein I²C Infrarot Thermometer MLX90614. Ich habe alles ordnungsgemäß angeschlossen (Sensor ist die 3,3V Version, AVR (ATmega32) 5V, Spannung wird mit LM317 heruntergesetzt auf 3,3V, I²C wird mit Pegelwandler PCA9517 wieder an 5V Pegel angepasst). Leider bekomme ich als Ergebnis, nachdem 0x07 an die Adresse 0x5A gesendet wurde und nachdem nach einem Repeated Start drei Bytes abgefragt werden, immer nur 0. Sowohl das MSB, als auch das LSB und das PEC. In Bild_1 (Oszilloskop) sieht man sehr gut, was vom Master gesendet wird und was der Slave antwortet. Die drei Flanken zum Schluss im blauen Signal (SDA, gelb = SCL) scheinen ja die drei Acks vom Slave zu sein. Dazwischen ist wie gesagt alles 0. Im Datenblatt des Sensors sieht man unter ,,Figure 7" auch ein Diagramm, wie die I²C Kommunikation ablaufen sollte. Wenn ich den Sensor über die Adresse 0x00 anspreche (Bild_2) ist das Bild genauso, wie im Datenblatt, bis auf die Tatsache, dass das MSB, das LSB und das PEC eben 0 sind. Woran liegt das? Habe ich vergessen, vorher ein bestimmtes Register zu konfigurieren oder anzusprechen? Vielen Dank für Eure Hilfe und Viele Grüße Jan B.
Hallo Jan, der MLX90614 ist von haus aus richtig konfiguriert (P'n'P sozusagen). Wenn Du an die Adresse 0x00 schickst, dann erhälst Du keine sinnigen Daten? Mach mal eine Abfrage, die er auf jeden Fall beantworten muss: :s002es0103p Also Startbit, Adresse 0x00, Register 2e, Repeatet-Startbit, Adresse + 1 0x01, 3 Byte lesen, Stopp-Bit. Wenn hier nur NACK oder gar keine sinnigen Daten kommen, ist der MLX wohl defekt. 0 kommt eigentlich nur dann zurück, wenn die Adresse falsch ist. Grüße M. Schwaikert
Hello! I had the same problem. And i understand where the problem was. After you sendig slave adr and command, there is too much time passed to restart and read. it has to be almost in time with stop-bit. great regards, Konstantin.
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.