Module/Hygrosens TEMOD-I2C-R1

From PaparazziUAV
Jump to navigation Jump to search
TEMOD-I2C-R1 with PT1000 and level shifter
back side

Overview

The Hygrosens TEMOD-I2C-R1 is a converter board to measure temperature by a PT1000 sensor and output the data through an I2C interface. It is the standard fast temperature sensor for the SUMO.

There are -R2 (-32°C .. +224°C) and -R3 (-32°C .. +480°C) modules available that have a higher maximum temperature but lower resolution.

Module name meteo/temp_temod
Sensor type temperature
Range -32°C .. +96°C
Resolution (1/256)°C
Refresh rate 8Hz
I2C address 0xF0

Product data sheet

Hygrosens product homepage

Heraeus PT1000

Hardware

The data sheet mentions a minimum supply voltage of 6V but it seems to work ok with 5V. The board does have a 5V I2C interface. It can not be directly interfaced to the Paparazzi autpilot 3.3V I2C interfaces. A level shifting adapter board is needed. The PT1000 sensor is not included with the module. The Heraeus M222 sensor is used as it has a small mass.

Module supplier: Conrad

Level shifter supplier: Sparkfun

PT1000 sensor supplier: Conrad

Wiring

Autopilot I2C pin Autopilot I2C Level Shifter TEMOD-I2C-R1 TEMOD-I2C-R1 pin
1 GND LV_GND
2 +5V HV_HV Vdd 1
3 +3.3V LV_LV
4 SDA LV_TXI_Chan1
5 SCL LV_TXI_Chan2
HV_GND GND 2
HV_TXO_Chan1 SDA 3
HV_TXO_Chan2 SCL 4


Usage

To use the temperature sensor add the module to your airframe file.

File: conf/airframes/myplane.xml
  <modules>
    <load name="temp_temod.xml"/>
  </modules>

The standard module is the TEMOD-I2C-R1 with the highest resolution. The -R2/-R3 type can be configured.

File: conf/airframes/myplane.xml
  <modules>
    <load name="temp_temod.xml"/>
      <configure name="TEMOD_TYPE" value="TEMOD_I2C_R2"/>
    </load>
  </modules>


Result message

The raw data (itemp) and the converted result (temp) is written to the log file. The message is automatically sent when new data is received, it does not have to be added to the telemetry file.

File: conf/messages.xml
  <message name="TMP_STATUS" id="86">
    <field name="itemp" type="uint16"/>
    <field name="temp" type="float" unit="deg_celsius" format="%.2f"/>
  </message>


Sample log file lines

5.980 123 TMP_STATUS 13486 20.68
6.081 123 TMP_STATUS 13483 20.67
6.106 123 TMP_STATUS 13486 20.68
6.313 123 TMP_STATUS 13489 20.69

NOTES

The location of the sensor on the aircraft does matter. There are various papers that analyze the best location. So far we have installed them within tubes (to protect from sunlight/heating) on the wings. That might not be the optimum place.