====== Pmod TC1 Reference Manual ====== The Digilent Pmod TC1 (Revision A) is a cold-junction thermocouple-to-digital converter module designed for a classic K-Type thermocouple wire. With Maxim Integrated's MAX31855, this module reports the measured temperature in 14-bits with 0.25°C resolution. {{Digilent Image Gallery | image = {{:reference:pmod:pmodtc1:pmodtc1-0.png?direct |}} | image = {{:reference:pmod:pmodtc1:pmodtc1-1.png?direct |}} | image = {{:reference:pmod:pmodtc1:pmodtc1-2.png?direct |}} | image = {{:reference:pmod:pmodtc1:pmodtc1-4.png?direct |}} | image = {{:reference:pmod:pmodtc1:pmodtc1-5.png?direct |}} | image = {{:reference:pmod:pmodtc1:pmodtc1-6.png?direct |}} }} == Download This Reference Manual == * {{:reference:pmod:pmodtc1:pmodtc1_rm.pdf| PDF}} ---- ===== Features ===== * K-type thermocouple-to-digital converter * Wide temperature range of -73°C to 482°C with provided wire * ±2°C accuracy from -200°C to 700°C * 14-bit with 0.25°C resolution * Cold-junction temperature compensation * 6-pin Pmod port with SPI interface * Follows Digilent Pmod Interface Specification Type 2 ---- =====Functional Description ===== The %%Pmod TC1%% utilizes a K-Type thermocouple wire to measure a wide range of temperatures. The {{reference:pmod:pmodtc1:PmodTC1_ThermocoupleWire.pdf|wire provided}} with the %%PmodTC1%% is capable of measuring temperatures ranging from -73°C to 482°C, although the module itself is capable of measuring temperatures ranging from -270°C up to 1372°C. A thermocouple wire needs to be attached onto the screw terminal. The polarity of the thermocouple matters, therefore it is required to have the wire screwed down in the correct orientation for accurate temperature readings. The Pmod TC1 has designated silk screen to aid you in matching the polarity of the wire. The wire is made up of two wires twisted around eachother wrapped with a thermal resistant thread. Locate the end of the wire, untwist and you should see a red and a yellow colors at the base of the thread. These colors match the silk screening, RED and YELLOW on the Pmod TC1 screw terminals. The device measures the difference in temperature between the two ends of the thermocouple wire, of which one is the internal temperature and serves as the reference junction. Once a temperature reading is established, the data passes onto a 14-bit %%ADC%% and is then passed out through SPI. ---- ===== Interfacing with the Pmod===== The %%Pmod TC1%% communicates with the host board via the [[pmod:communication_protocols:spi|SPI protocol]]. The module sends a variety of information to the host board in 32 clock cycles including the temperature measured by the thermocouple, the temperature of the "cold junction", as well as signals indicating if there is a fault with the thermocouple. The %%Pmod TC1%% uses a 6-pin port to connect to the host board. To read data, the system board drives the slave select (SS) pin low and drives a clock to the slave device, the Pmod TC1. The first bit (and the sign bit) of the 14-bits of temperature data is loaded onto the Master-In-Slave-Out (MISO) line on the falling edge of the Chip Select (CS) and can be read by the host board on the rising edge of the Serial Clock (SCLK) line. Similarly, each consecutive bit of data, starting with the most significant bit (MSB), are placed onto the data line on each falling edge of SCLK and is read on the subsequent rising edge of SCLK. Users can choose to stop reading information from the Pmod TC1 by driving the CS line high. Temperature data is updated only when the chip select (CS) pin is held high, therefore it is recommended to drive CS high after reading. A complete temperature reading of just the thermocouple requires 14 clock cycles. 32 clock cycles are required to read both the thermocouple and reference junction temperatures. The remaining bits of data not associated with the temperatures consist of a reserved bit that always reads low (bit 17) and a fault bit that reads high when one of the fault indicators (bits 2, 1, or 0) are reporting a fault. The faults refer to an issue detected with the thermocouple, such as a short. A table illustrating the 32 bits of information that would be received by the host board is provided below: ==== Incoming Data Example ==== ^ Incoming Data Example ||||||||| | ^ 14-Bit Thermocouple Data |||||^ Res ^ Fault Bit | ^ Bit | D31 | D30 | D29 | ... | D19 | D18 | D17 | D16 | ^ Value | Sign Bit | MSB 210 (1024°C) | 29 (512°C) | ... | 2-1 (0.5°C) | 2-2 (0.25°C) | Reserved | 1 = Fault Present | ^ Incoming Data Example ||||||||||| | ^ 12-Bit Internal Temperature Data |||||^ Res ^ SCV Bit ^ SCG Bit ^ OC Bit | ^ Bit | D15 | D14 | D13 | ... | D5 | D4 | D3 | D2 | D1 | D0 | ^ Value | Sign Bit | MSB 26 (64°C) | 25 (32°C) | ... | 2-3 (0.125°C) | 2-4 (0.0625°C) | Reserved | 1 = Short to Vcc | 1 = Short to GND | 1 = Open Circuit | ** Note 1* ** Table information modified from Table 2 in the [[http://datasheets.maximintegrated.com/en/ds/MAX31855.pdf|MAX31855 datasheet]]\\ ** Note 2* ** Bits D2, D1, and D0 refer to the thermocouple is shorted to VCC, shorted to GND, and the thermocouple has an open connection, respectively. ==== Pinout Description Table ==== {{ :pmod:pmod:tc1:pmodtc1_blockDiagram.jpg?450|PmodTC1 Block Diagram}} ^ Pin ^ Signal ^ Description | | 1 | CS | Chip Select | | 2 | NC | Not Connected | | 3 | MISO | Master-In-Slave-Out | | 4 | SCLK | Serial Clock | | 5 | GND | Power Supply Ground | | 6 | VCC | Positive Power Supply (3.3V) | ==== Digital Temperature Data Format ==== Two tables (Tables 4 and 5 from the MAX31855 datasheet) are provided below to show the temperature that corresponds to the [[:twos_complement|two's complement]] bit values received by the host board: ^ 14-bit Thermocouple Temperature Data || ^ 12-bit Cold-Junction Temperature data || ^ Temperature (°C) ^ Digital Output (D31-D18) |:::^ Temperature (°C) ^ Digital Output (D15-D4) | | +1600.00°C | 0110 0100 0000 00 |:::| +127.0000°C | 0111 1111 0000 | | +1000.00°C | 0011 1110 1000 00 |:::| +100.5625°C | 0110 0100 1001 | | +100.75°C | 0000 0110 0100 11 |:::| +25.0000°C | 0001 1001 0000 | | +25.00°C | 0000 0001 1001 00 |:::| 0.0000°C | 0000 0000 0000 | | 0.00°C | 0000 0000 0000 00 |:::| -0.0625°C | 1111 1111 1111 | | -0.25°C | 1111 1111 1111 11 |:::| -1.0000°C | 1111 1111 0000 | | -1.00°C | 1111 1111 1111 00 |:::| -20.0000°C | 1110 1100 0000 | | -250.00°C | 1111 0000 0110 00 |:::| -55.0000°C | 1100 1001 0000 | The on-board chip on the Pmod TC1 requires at least 200 ms to power up before being able to conduct accurate temperature readings and each temperature conversion takes up 100 ms to complete. Any external power applied to the %%Pmod TC1%% must be within 3.0V and 3.6V; it is recommended that Pmod is operated at 3.3V. ---- ===== Physical Dimensions ===== The pins on the pin header are spaced 100 mil apart. The PCB is 1 inch long on the sides parallel to the pins on the pin header and 0.8 inches long on the sides perpendicular to the pin header. ---- ===== Additional Information ===== The schematics of the %%Pmod TC1%% are available {{reference:pmod:pmodtc1:pmodtc1_sch.pdf|here}}. Additional information about the Thermocouple-to-digital converter including specific timings of the chip can be found by checking out its datasheet [[http://datasheets.maximintegrated.com/en/ds/MAX31855.pdf|here]]. Example code demonstrating how to get information from the %%Pmod TC1%% can be found [[pmod:pmodtc1:start#example_projects|here]]. If you have any questions or comments about the %%Pmod TC1%%, feel free to post them under the appropriate section ("Add-on Boards") of the [[https://forum.digilent.com/|Digilent Forum]].