SHT
Ansteuerung der digitalen Temperatur- und Luftfeuchtesensoren der Serien SHT 1x und 7x von Sensirion
Inhaltsverzeichnis
SHT-Sensoren
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.
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
- Ich verwende erfolgreich 4,7 KOhm
- kann man auch kleiner machen, man darf nur die max. 4 mA die der Sensor hergibt nicht überschreiten
Bezugsquellen
- u.a. Conrad und CSD-Electronics