Gast
#4519344
Hallo, ich hatte gestern Mittag bereits ein Thread eröffnet um zu verstehen, wie die Datenkommunikation mit dem MAX31885 funktioniert. Jetzt habe ich mal die ersten versuche gewagt und scheitere am Thermofühler, das dieser mir die korrekten Werte liefert.. Das Datenblatt: http://datasheets.maximintegrated.com/en/ds/MAX31855.pdf Mein Programmcode sieht wie folgt aus: digitalWrite(CS_MAX_, HIGH); digitalWrite(SCK_, LOW); delay(2000); digitalWrite(CS_MAX_, LOW); delay(700); //Initialisierung zu ende for (int i = 0; i < 32; i++) { //Beginne Bit für Bit auszulesen 31-0 //Setzen Tackt auf High um antwort zu erhalten! digitalWrite(SCK_, HIGH); delay(200); //READ MISO MAX_ANTW = digitalRead(MISO_); //BITS einsortieren if (i > 15 && i < 17) { lcd.setCursor(0, 1); // } lcd.print(MAX_ANTW); digitalWrite(SCK_, LOW); delay(200); Das Board sowie den Schaltplan habe ich anbei hochgeladen, sowie noch zwei Screenshots mit angestecktem Fühler und ohne. am letzten Bit kann man erkennen, das der Chip den Temperaturfühler erkennt, jedoch liefert dieser meist/immer falsche Werte. In der zweiten Zeile vom Display wird unter anderem die interne Temperatur ausgegeben, die soweit ganz gut passt Z.B. 00011010.... was 26Grad entspricht... Leider passt die Temperatur vom Temperaturfühler nicht. Die Ausgabe fängt meist mit 11111 an. Siehe Fotos.. Die Ausgabe auf dem Display beginnt von oben links nach unten rechts. Druecke bzw. halte ich meinen Finger auf dem eingezeigten bereich(Siehe Foto) passen die werte vom Temperaturfühler ganz gut.. Nun die Frage: Woran kann das liegen?





