SHT: Unterschied zwischen den Versionen

Aus Ethersex_Wiki
Wechseln zu: Navigation, Suche
(Konfiguration erklärt)
K (Sensoren Version 4)
 
(4 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
== SHT ==
 
 
Ansteuerung der digitalen Temperatur- und Luftfeuchtesensoren der Serien SHT 1x und 7x von  
 
Ansteuerung der digitalen Temperatur- und Luftfeuchtesensoren der Serien SHT 1x und 7x von  
 
[http://www.sensirion.com/ Sensirion]
 
[http://www.sensirion.com/ Sensirion]
 +
 
=== SHT-Sensoren ===
 
=== SHT-Sensoren ===
 
[[Bild:Sht71.jpg|thumb|SHT71 mit Pullup]]
 
[[Bild:Sht71.jpg|thumb|SHT71 mit Pullup]]
Zeile 14: Zeile 14:
 
Nachteil:
 
Nachteil:
 
* nicht ganz umsonst, ca. 20 € für den SHT11
 
* nicht ganz umsonst, ca. 20 € für den SHT11
* kein Bus, es werden 2 IO-Pins benötigt (wenn man mehrere Sensoren verwendet könnte davon einer gemeinsam genutzt werden)
+
* kein Bus, es werden 2 IO-Pins benötigt (wenn man mehrere Sensoren verwendet, könnte davon einer gemeinsam genutzt werden)
  
 
Abgefragt werden können derzeit die Sensoren SHT11, SHT15, SHT71 u. SHT75. Der Sensor SHT21 wird '''nicht''' unterstützt, da er ein anderes Protokoll (I2C) verwendet.
 
Abgefragt werden können derzeit die Sensoren SHT11, SHT15, SHT71 u. SHT75. Der Sensor SHT21 wird '''nicht''' unterstützt, da er ein anderes Protokoll (I2C) verwendet.
 +
 +
Der Umrechnungscode stimmt nur für Sensoren der Version 4 (ab 2007), es wird die volle Temperaturkompensation berechnet.
  
 
=== Ansteuerung per ECMD ===
 
=== Ansteuerung per ECMD ===
Zeile 22: Zeile 24:
 
! Kommando !! Funktion  
 
! Kommando !! Funktion  
 
|-  
 
|-  
|sht raw || Gibt die Temperatur (erste Zeile) und Luftfeuchtigkeit als unkonvertierte Hexwerte  zurück.
+
|sht raw || Gibt die Temperatur (erste Zeile) und Luftfeuchtigkeit (zweite Zeile) als unkonvertierte Hexwerte  zurück.
 
|-  
 
|-  
 
|-  
 
|-  
|sht temp || Gibt die Temperatur in °C zurück, Ausgabe also z.B. "-3.17"
+
|sht temp || Gibt die Temperatur in °C zurück, Ausgabe also z.B. "-3.17".
 
|-  
 
|-  
 
|-  
 
|-  
|sht humid || Gibt die relative Luftfeuchtigkeit in % zurück, Ausgabe also z.B. "66.8"
+
|sht humid || Gibt die relative Luftfeuchtigkeit in % zurück, Ausgabe also z.B. "66.8".
 
|}
 
|}
  
Zeile 47: Zeile 49:
 
</pre>
 
</pre>
 
* Bei unüblichen Betriebsspannungen ins Datenblatt schauen und entsprechend definieren
 
* Bei unüblichen Betriebsspannungen ins Datenblatt schauen und entsprechend definieren
 +
 +
=== Leitungslänge ===
 +
* Die Sensoren werden ähnlich wie I2C angeschlossen:
 +
** Pullup an der DATA-Leitung (Datenblatt empfiehlt 10 KOhm)
 +
** Clock (SCK) nur vom Controller verändert, daher kein Pullup nötig (stört aber nicht)
 +
** Die DATA-Leitung wird von Controller und Sensor verändert, aber immer nur auf GND gezogen
 +
* Damit sind die Sensoren relativ empfindlich für die Leitungslänge
 +
* Es gibt 2 Parameter um das zu kompensieren
 +
** Geringere Geschwindigkeit verwenden; die Geschwindigkeit ist im Konfigurationsmenü einstellbar
 +
** Einen kleineren Pullup-Wiederstand für die DATA-Leitung verwenden; man darf nur max 4 mA nicht überschreiten
 +
* Ich verwende einen SHT71 erfolgreich über 10 Meter einfaches Telefonkabel:
 +
** Pullup 4,7 KOhm (direkt am Sensor, nicht am Controller)
 +
** 50 KHz Clockfrequenz
 +
* Bei SHT1x die 100nF direkt am Sensor nicht vergessen, SHT7x haben das schon mit dabei
  
 
=== Bezugsquellen ===
 
=== Bezugsquellen ===
Zeile 52: Zeile 68:
  
 
=== Datenblätter ===
 
=== Datenblätter ===
 +
[http://www.sensirion.com/en/pdf/product_information/Datasheet-humidity-sensor-SHT1x.pdf Datenblatt SHT1x]
  
 +
[http://www.sensirion.com/en/pdf/product_information/CRC_Calculation_Humidity_Sensor_E.pdf CRC-Berechnung der SHT-Sensoren]
  
 
[[Category:Ethersex]]
 
[[Category:Ethersex]]
 
[[Category:ECMD]]
 
[[Category:ECMD]]

Aktuelle Version vom 2. Jänner 2010, 03:49 Uhr

Ansteuerung der digitalen Temperatur- und Luftfeuchtesensoren der Serien SHT 1x und 7x von Sensirion

SHT-Sensoren

SHT71 mit Pullup

Die SHT-Sensoren haben im Vergleich zu anderen Luftfeuchtesensoren folgende Vorteile:

  • ordentliche Genauigkeit
  • fertig kalibriert
  • einfach digital abzufragen
  • zusätzlicher Temperatursensor integriert
  • 2.4V bis 5.5V Versorgungsspannung möglich

Nachteil:

  • nicht ganz umsonst, ca. 20 € für den SHT11
  • kein Bus, es werden 2 IO-Pins benötigt (wenn man mehrere Sensoren verwendet, könnte davon einer gemeinsam genutzt werden)

Abgefragt werden können derzeit die Sensoren SHT11, SHT15, SHT71 u. SHT75. Der Sensor SHT21 wird nicht unterstützt, da er ein anderes Protokoll (I2C) verwendet.

Der Umrechnungscode stimmt nur für Sensoren der Version 4 (ab 2007), es wird die volle Temperaturkompensation berechnet.

Ansteuerung per ECMD

Kommando Funktion
sht raw Gibt die Temperatur (erste Zeile) und Luftfeuchtigkeit (zweite Zeile) als unkonvertierte Hexwerte zurück.
sht temp Gibt die Temperatur in °C zurück, Ausgabe also z.B. "-3.17".
sht humid Gibt die relative Luftfeuchtigkeit in % zurück, Ausgabe also z.B. "66.8".

Konfiguration

  • derzeit kann nur ein SHT-Sensor gleichzeitig angeschlossen werden
  • in pinning/hardware/<deine hardware>.m4 werden die Anschlüsse definiert:
pin(SHT_SCK, PD7, OUTPUT)
pin(SHT_DATA, PB0, OUTPUT)
  • dort muß auch die Betriebsspannung für die Umrechnung hinterlegt werden:
SHT_VOLTAGE_COMPENSATION(3_3V)

oder

SHT_VOLTAGE_COMPENSATION(5V)
  • Bei unüblichen Betriebsspannungen ins Datenblatt schauen und entsprechend definieren

Leitungslänge

  • Die Sensoren werden ähnlich wie I2C angeschlossen:
    • Pullup an der DATA-Leitung (Datenblatt empfiehlt 10 KOhm)
    • Clock (SCK) nur vom Controller verändert, daher kein Pullup nötig (stört aber nicht)
    • Die DATA-Leitung wird von Controller und Sensor verändert, aber immer nur auf GND gezogen
  • Damit sind die Sensoren relativ empfindlich für die Leitungslänge
  • Es gibt 2 Parameter um das zu kompensieren
    • Geringere Geschwindigkeit verwenden; die Geschwindigkeit ist im Konfigurationsmenü einstellbar
    • Einen kleineren Pullup-Wiederstand für die DATA-Leitung verwenden; man darf nur max 4 mA nicht überschreiten
  • Ich verwende einen SHT71 erfolgreich über 10 Meter einfaches Telefonkabel:
    • Pullup 4,7 KOhm (direkt am Sensor, nicht am Controller)
    • 50 KHz Clockfrequenz
  • Bei SHT1x die 100nF direkt am Sensor nicht vergessen, SHT7x haben das schon mit dabei

Bezugsquellen

  • u.a. Conrad und CSD-Electronics

Datenblätter

Datenblatt SHT1x

CRC-Berechnung der SHT-Sensoren