Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
Better thermocouple interface
The initial design idea of this project was to reuse as much as possible of the hardware with only an optional bare minimum modification, and that is still the case. The firmware autodetects the presence of the cold-junction compensation temperature sensor. This regulates fairly OK, but I got a bit inspired by the ESTechnical ideas (they were using the MAX31855K thermocouple interface IC) and I thought it would be nice to allow measurements on the actual boards as well so I made a small extension board that I’ve done some tests with:
Component list for this board:
- U[1-4] : MAX31850K
- C[1,3,5,7] : 10nF X7R 0603 capacitors as recommended by Maxim for noise suppression on the TC wires
- C[2,4,6,8] : 100nF X7R 0603 capacitors as recommended by Maxim to reduce supply-coupled noise
- R1 : 4k7 0603 1-wire pullup resistor (if not already present on the controller board it can be mounted here)
- P1 : Phoenix Contact 1725711 (or similar terminal block with 2.54mm pitch)
The TC IF hooks up to the same pads where the cold-junction temperature sensor can be hooked up (plus the ground pad to the right. Note that this is actually properly powered, no parasite power. Pullup is still placed on the controller board and not on the add-on interface board as I already had one placed there. Also the cold-junction sensor is still present on my board, but not used when the external TC IF is detected:
The test setup with the built-in thermocouples and two external ones hooked up to the board:
It’s not the MAX31855K I’m using but the MAX31850K (4 of them). I figured I can use two channels for the existing thermocouples and two that can be attached to boards and then see how much the temperatures differ (selecting which combination of sensors that will be used for feedback might be handy). The MAX31850K utilizes a 1-wire interface as well which makes it a lot easier to interface to the existing board. Master branch code is already capable of detecting and using this interface if present.
If someone really wants to use the MAX31855K chips you will need four pins or three pins + some logic if you want to run two of them as they need their own separate chip select. It IS possible to get to four pins on the board if you don’t use the analog inputs but it’s a lot more work to do than utilizing the 850’s. See "Better thermocouple interface 2" for a neat way to hook up a maximum of 4 855's using I2C!