Thermocouple interface with BS2p
lindseydallas
Posts: 14
Hello,
I need to interface two J-type thermocouples with a BS2p. I would like to use a 1-wire serial interface to do this. Looking through the forums, it looks like people used to use the MAX6675 thermocouple to digital converter IC chip or the DS2760 Thermocouple Kit from Parallax, but both of these solutions are no longer available. Maxim Integrated does offer the MAX31850 thermocouple to digital converter chip but it is not your standard chip with through-hole legs. It comes in a TDFN package, which seems to mean really tiny and basically impossible to solder without special equipment.
That being said:
What are people using these days to read thermocouples with a BS2p?
Thanks!
I need to interface two J-type thermocouples with a BS2p. I would like to use a 1-wire serial interface to do this. Looking through the forums, it looks like people used to use the MAX6675 thermocouple to digital converter IC chip or the DS2760 Thermocouple Kit from Parallax, but both of these solutions are no longer available. Maxim Integrated does offer the MAX31850 thermocouple to digital converter chip but it is not your standard chip with through-hole legs. It comes in a TDFN package, which seems to mean really tiny and basically impossible to solder without special equipment.
That being said:
What are people using these days to read thermocouples with a BS2p?
Thanks!
Comments
The MAX31850 would be an interesting update, but yes, the TDFN. Why do you want to do this one-wire?
The MAX31855 is a good alternative using SPI. More wires of course. Myself, I use mainlhy the ADS1115, a 16 bit ADC with internal programmable gain amplifier that can read thermocouples directly over I2C. There is also the ADS1118 which has an internal temperature reference and is meant specifically to read two fully differential thermocouple channels.
We want to stay with the 1-wire setup because we are already connecting to a A2D converter, the I2C 12-Bit, 8-CH Analog-to-Digital Converter from GraviTech, and it uses I2C serial connection, which is actually two pins, clock and data, but as I understand it we will be able to connect to these same pins with a thermocouple to digital converter that allows the 1-wire setup. So the basic answer is that we are trying to save pin space. The basic basic answer is that the 1-wire setup is what my boss told me to find and I'm still learning how to do this type of design. I'll look into the A2Ds that you suggest below, and also the options on the other post.
We do have RS-485 capabilities since we are communicating with a Modbus device and if nothing else I can probably find something from Omega or similar that would be another drop on that network. But, the code I wrote for that is kind of clunky, not straightforward like the I2CIN/I2COUT commands so I've been hoping it doesn't come to that. Plus it would be much cheaper to design in our own chip that to buy a stand alone option.
Thanks again!
I ended up using a MAX31850J chip that I bought from DigiKey. Now, Adafruit has a breakout board for the Max31850 K chip that is really nifty and makes this problem really easy. BUT, since we wanted to use a J thermocouple, it was decided that it was easier to build our own circuit rather than desolder the K chip from the breakout board and resolder the J chip. So, that's what we did ("we" meaning that my boss told me to do it). If you do this, I suggest you use the EAGLE files on the breakout board supplied by Adafruit and also carefully read the spec sheet on the MAX31850 since there are some caps you'll need to filter noise. And, it IS POSSIBLE to solder a surface mount chip!!!! I purchased a hot air soldering torch (I went with Dremel because it had lots of other cool attachments besides the hot air tip) and some flux and just had to BE PATIENT! Don't get the torch too close to the chip or you will melt it and don't try pulling the chip off the pads unless they are completely desoldered or you will just rip the pads off the board. This was a very frustrating and very rewarding task but I can verify that it is possible even those these TDFN chips are so darn tiny.
Now, on to the code: first, you're going to need to get the unique ID for each chip. If you only have one chip its not a problem, but I was using two. I think it was Tracy Allen in another post that recommended connecting each one by itself and getting the ID, then putting the ID in your main code.
here is my code for that:
Oh, forgot to mention that the Max31850 chip will also need a level converter since it talks at 3.3V and the BS talks at 5V.