T-type thermocouple for bud temperature monitoring

Because plant organs absorb and radiate energy, bud temperature substantially differs from air. Here, I present an homemade thermocouple and Arduino shield that I created for monitoring bud temperature in the field.

The list of components for this project can be found at the end of the post.


Type-T thermocouple

thermocouple is an electrical device consisting of two dissimilar electrical conductors forming an electrical junction. Type-T thermocouples are composed by two wires made of constantin and copper. They are really stable and can measure temperature with a good accuracy and repeatability between -200 and 200 °C. However, additional thermocouple junctions are formed when connecting to the wire ends (here our datalogger), so the total potential measured depends on the temperatures of those junctions as well as the junction at the measurement end of the thermocouple. Consequently, thermocouple voltages are relative values which must be measured with respect to a junction at a known temperature, called the cold or reference junction

To avoid parasitic signaling, commercial thermocouples are entirely made of copper and constantin. Because constantin is an expensive alloy, such sensors cost around 15 € each, for only 2m of cable. I thus designed a low-cost type-T thermocouple in which I combined the measure of the cold junction with the measure of air temperature near the bud: 

  1. Around 10 cm of type-T thermocouple wires (0.2 mm) were soldered to a 5 m copper 24 AWG cable. 
  2. The tips of the constantin and copper wires are twisted together. The contact between the two wire is the thermocouple. 
  3. A 10kΩ thermistor was positioned next to the cold junction using heat shrinking tubes. This thermistor will measure the temperature at the cold junction, which will also be a proxy of air temperature near the bud.
  4. A white heat shrinking tube was used as a radiation shield to protect the thermocouple and the thermistor from solar radiation.
  5. Finally the tip of each sensor was simply coated with cyanoacrylate glue. This strengthen the sensor and avoid oxidation. Usually, the thermocouple can be protected by inserting the two wires in a metal cap such as a surgical needle (see Granier’s method for sapflow). However, because buds are too small for this approach, I decided to insert the two wires directly into the buds. 

JST connectors were crimped at the other side of the cable to simplify the connection with the Arduino. 


Thermocouple Shield

Bud and air temperature are measured with an Arduino Nano R3 micro-controller. Because T-type thermocouples have a sensitivity between 17 and 58 µV/°C, bud temperature cannot be directly measured with the Arduino which has a sensitivity of 5V / 1024 bits –> 0.49 mV. We will thus use the MAX 31856 amplifier. The MAX 31856 is an universal thermocouple amplifier, including a 8x and 32x voltage gain mode. The MAX 31856 amplifier was coupled to an 8-relays module, allowing to record temperatures of 4 different sensors (air + bud) with only one module. Temperature data are recorded in .csv format on a 4Gb micro SD card every 15 min. The acquisition is controlled by a RTCDS3231 clock and between each measurement the Arduino goes back to sleep mode for power saving. The whole system is powered by 5 AA rechargeable batteries (1.5V, 2800mAh).

I designed this board to be easily reproducible. Note that this first (quick & dirty) version has many connections between thermocouples and the arduino, which increases the risks of parasitic signaling. A better version of this shield will use NPN transistors instead of relays, with the MAX31856 amplifier directly integrated into the circuit. 

Arduino code, EAGLE schematics and voltage/temperature post-processing code (in R) are hosted on Github. Note: Install this modified Adafruit_MAX31856 library in order to use the thermocouple in Voltage mode. 


Mounting the thermocouples on buds

The whole device is stored in a waterproof enclosure. Thermocouples are very delicate and mounting the sensors on branches is difficult. I pre-drilled the buds with a needle to insert the wires directly into it, and then sealed it with super glue. Inserting the wires in a surgical needle can help strengthen the sensor, however some buds are too small and wires need to be directly inserted into the bud. Finally, cables were secured along branches with zip ties.

When mounting the sensors on trees, be sure not to cover the buds. I tried to install thermocouples on the North face of branches to reduce the amount of radiations received by the sensors.  


Post-process & first results

Only raw voltage will be stored on the SD card. Thermocouple voltage can easily be converted to temperature using a calibration table, while temperature from the thermistor can be calculated by the Steinhart-Hart equation. I wrote a post-processing R script that combine hourly raw files and generate a table with air and bud temperature. 

Bud-Air temperature difference estimated from Thermocouple 1 for Ficus carica for two cloudy days in January (2021-01-17, near Paris, France)

Components:

  • Arduino Nano R3 (clone) : 1.5 € (Aliexpress)
  • 5V (or 3.3V) 8-relays module: 3 € (Aliexpress)
  • RTC DS3231 module: 0.9 € (Aliexpress)
  • microSD module: 0.3 € (Aliexpress)
  • 4Gb microSD card: 2€ (Amazon)
  • MAX31856 module: 6.5 € (Aliexpress)
  • 10kΩ thermistor: 1.2€ (Conrad)
  • 10 m T-type thermocouple wires: 13€ (~ 100 thermocouples -> 0.13€/sensor) (Farnell)
  • 100 m twin twisted pair 24 AWG cable: 61€ (~50 thermocouples -> 1€/sensor) (Farnell) Recycled RJ45 cables work great and are free…
  • JST and screw connectors: ~ 0.05 €/unit (Aliexpress)
  • 1 10 x 10 cm copper clad PCB: 0.2€
  • 9V battery: 5€
  • Enclosure: 5 €

Total cost: ~ 25/30 € for 4 Type-T thermocouples + air temperature using clones of arduino and modules. The total price will reach around 100€ if using original modules and board (which might be more reliable at some point).

Cost of a scientific installation for 4 sensors (= 8 entries, air + bud temperature) > 1600€ (CR1000X datalogger – 1500€ + 4*5m thermocouple- 60 € + CFM100 compact flash module)


References: