Module/Sensirion SHT75

From PaparazziUAV
Revision as of 14:38, 13 March 2013 by Martinmm (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search
SHT75 directly soldered
SHT75 breakout board, top
SHT75 breakout board, bottom view

Overview

The Sensirion SHT75 is a digital temperature and relative humidity sensor. Adaption speed is not perfect but the sensor has proven to work even in very low temperatures. It is the standard humidity sensor for the SUMO.

Module name meteo/humid_sht
Sensor type humidity, temperature
Range (humidity) 0 .. 100 %RH
Range (temperature) -40°C .. +125°C
Resolution (humidity) 0.05 %RH
Resolution (temperature) 0.01°C
Refresh rate 4Hz

SHT75 product homepage


Hardware

The communication happens through an I2C-like communication bus. As it is not exactly I2C the communication is done through dedicated GPIO pins by pulling the pins in software. The SHT75 is sold with four connectors. A 10k pull-up resistor is needed for the data line. There will be an adapter board available in the Paparazzi hardware repository.

Breakout board: Paparazzi hardware repo

Supplier:

Farnell

Conrad

Wiring

The standard GPIO pins for Clock/Data is the ADC1 connector (P0.4/P0.30) for the Tiny/TWOG. It can be configured, see below.

Tiny/TWOG ADC1 pin Tiny/TWOG ADC1 SHT75 SHT75 pin
1 GND GND 3
2
3 +3.3V VDD 2
4 ADC4 (P0.4) DATA 4
5 ADC3 (P0.30) SCK 1


Usage

To use the humidity sensor add:

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

The GPIO pins can be configured through defines, for the Umarim lite v2.0 they should be set to P0.13/P0.15 for AUX1/AUX2:

File: conf/airframes/myplane.xml
  <modules>
    <load name="humid_sht.xml">
      <define name="DAT_PIN" value="15"/>
      <define name="SCK_PIN" value="13"/>
    </load>
  </modules>


Result message

The raw data (ihumid/itemp) and the converted result (humid/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="SHT_STATUS" id="89">
    <field name="ihumid" type="uint16"/>
    <field name="itemp" type="uint16"/>
    <field name="humid" type="float" unit="rel_hum" format="%.2f"/>
    <field name="temp" type="float" unit="deg_celsius" format="%.2f"/>
  </message>


Sample log file lines

7.988 123 SHT_STATUS 26876 25272 45.26 20.91
8.234 123 SHT_STATUS 26856 25268 45.22 20.9
8.485 123 SHT_STATUS 26840 25264 45.19 20.89
8.732 123 SHT_STATUS 26820 25260 45.16 20.88

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. The SHT75 is preferred over the SHT15 as it does have holes on the back that allows the air to flow through.