I've got a MAX31855K chip and followed the datasheet to make a circuit. I've connected it to my Arduino Duemilanove and powered it with 3.3v. I've got a K-type TC sensor connected also .I've used the Adafruit's library to get values out of it, but I always get 0 for both internal and TC sensors.
Any ideas?
Hey I'm also going to interface that ic. But the Library from ada seems to be very lame because of the software SPI with that many delays. I would suggest to use the hardware SPI.
I would look first through the transferred bytecode. If the bytecode is zero, communication is probably not working.
Hi and thanks for your reply.
How do you do that?
Bits D[30:18]
contain the converted temperature in the order of MSB
to LSB, and are presented to the SO pin within tD0 of the
falling edge of SCK
this is from the datasheet. So far I understand SPI Mode should be two. I'm not sure how fast this for loop is. But whenever it is faster then 5 MHZ on the Sclk pin or the holding time beetween low and high is to short this piece of code will never work. I've read also issues about 5MHz is already to fast for the IC...
for (i=31; i>=0; i--)
{
digitalWrite(sclk, LOW);
if (digitalRead(miso))
d |= (1 << i);
digitalWrite(sclk, HIGH);
}
digitalWrite(cs, HIGH);
You can also try reading the internal temperature of the MAX31855 chip using readInternal(). If you get a reasonable temperature, then the wiring between the MAX31855 and Arduino is probably okay.
Do you only have one MAX31855 connected? I've had a lot of problems with MAX31855 and MAX6675 when I used more than one with my project. When I just have one connected it works well.
Both internal temp and sensor temp read 0.
I only have the chip connected, nothing else.
I've checked the wiring over and over again many times.
Hi could you e using long wires between your arduino and the max 31855 board this was the case with me.