Difference between revisions of "Module/Sensirion SHT75"
(Sensirion SHT75 humidity/temperature sensor) |
m |
||
(2 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
__NOTOC__ | __NOTOC__ | ||
[[Image:Sht75.jpg|thumb|right|SHT75]] | [[Image:Sht75.jpg|thumb|right|SHT75 directly soldered]] | ||
[[Image:Sht75_breakout_top.jpg|thumb|right|SHT75 breakout board, top]] | |||
[[Image:Sht75_breakout_bot.jpg|thumb|right|SHT75 breakout board, bottom view]] | |||
===Overview=== | ===Overview=== | ||
The Sensirion SHT75 is a digital temperature and 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. | 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. | ||
{|border="1" | |||
|-valign="top" | |||
||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 | |||
|} | |||
[http://www.sensirion.com/en/products/humidity-temperature/humidity-sensor-sht75 SHT75 product homepage] | [http://www.sensirion.com/en/products/humidity-temperature/humidity-sensor-sht75 SHT75 product homepage] | ||
===Hardware=== | ===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. | 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: [http://github.com/paparazzi/paparazzi-hardware/tree/master/misc/sht75_small Paparazzi hardware repo] | |||
Supplier: | Supplier: | ||
[http://uk.farnell.com/sensirion/sht75/sensor-humidity-temp-3-3v/dp/1590514 Farnell] | [http://uk.farnell.com/sensirion/sht75/sensor-humidity-temp-3-3v/dp/1590514 Farnell] | ||
[http://www.conrad.de/ce/de/product/503493 Conrad] | [http://www.conrad.de/ce/de/product/503493 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. | |||
{|border="1" | |||
|-valign="top" | |||
||'''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=== | ===Usage=== | ||
Line 27: | Line 89: | ||
}} | }} | ||
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: | |||
{{Box Code|conf/airframes/myplane.xml| | {{Box Code|conf/airframes/myplane.xml| | ||
<source lang="xml"> | <source lang="xml"> | ||
Line 41: | Line 102: | ||
===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. | |||
{{Box Code|conf/messages.xml| | |||
<source lang="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> | |||
</source> | |||
}} | |||
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=== | ===NOTES=== | ||
Latest revision as of 14:38, 13 March 2013
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 |
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:
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.