I<+>2<+>C-Workshop (Teil 27): UV-Sensor-Modul VEML6070

© happyalex, 123RF

Sonnige Zeiten

UV-Strahlung ist für das menschliche Auge unsichtbar, was sie umso gefährlicher macht. Die Höhe der tatsächlichen Belastung verrät Ihnen das Selbstbauprojekt UV-Sensor.

Die für uns unsichtbare UV-Strahlung fügt in höheren Dosen sowohl der Haut als auch den Augen Schäden zu. Zwar signalisiert ein sonnenklarer Himmel eine hohe Strahlendosis, aber schon leichte Bewölkung trübt die Wahrnehmung, obwohl die Strahlenbelastung dennoch hoch ist.

Bevor wir uns den UV-Sensor genau ansehen, beschäftigen wir uns zuerst damit, worum es sich bei UV-Strahlung überhaupt handelt. UV steht für Ultraviolett – das Licht befindet sich auf der Wellenlängenskala jenseits des violetten Bereichs, den das menschliche Auge nicht mehr wahrnimmt. Um sich gegen diese Strahlung zu schützen, bildet die Haut Farbpigmente: Wir werden braun. Darüber hinaus bildet das UV-Licht in unserer Haut Vitamin D – komplett auf die Sonnenstrahlung zu verzichten, wäre also ungesund. Die Tabelle "UV-Strahlungen" zeigt die Klassifizierung für UV-Licht.

UV-Strahlungen

Bezeichnung

Wellenlänge (in Nanometer)

Auswirkungen

UV-A

315 bis 400

geringe Energie, hohe Eindringtiefe in die Haut

UV-B

280 bis 315

mittlere Energie, Eindringtiefe etwas geringer als bei UV-A

UV-C

100 bis 280

sehr hohe Energie, Zerstreuung schon an der Hautoberfläche

Die Stärke der UV-Strahlung misst man in mW/cm2. Um einzuschätzen, welche Dosis die Haut ohne Gesundheitsrisiko verträgt, gibt es den UV-Strahlenindex (Abbildung 1) von 0 bis 11 (siehe Tabelle "UV-Strahlenindex"). Der UV-Index ist noch einmal in Kategorien mit sprechenden Namen unterteilt, was das Modell weiter vereinfacht. Die Kategorien stellen bestimmte Belastungen dar. Wenn Sie sich näher mit dem Thema UV-Strahlung beschäftigen möchten, finden Sie beim Bundesamt für Strahlenschutz [1] eine ergiebige Quelle.

Abbildung 1: Dieses Diagramm zeigt die benötigte Energie, um ein bestimmtes UV-Level zu erreichen. Es stammt aus den Application Notes des Sensorherstellers. (Quelle: http://www.vishay.com)

UV-Strahlenindex

UV-Index

UV-Belastung

empfohlene Maßnahmen

1 bis 2

niedrig

Keine.

3 bis 5

mittel

Schatten suchen, Sonnencreme verwenden, Sonnenbrille und Kopfbedeckung aufsetzen.

6 bis 7

hoch

Schatten suchen, Sonnencreme verwenden, Sonnenbrille und Kopfbedeckung aufsetzen.

8 bis 10

sehr hoch

Nicht ins Freie gehen, alle Maßnahmen der niedrigeren Stufen anwenden.

11 und mehr

extrem

Nicht ins Freie gehen, alle Maßnahmen der niedrigeren Stufen anwenden.

Zum Berechnen der UV-Belastung verwenden wir hier die vom Hersteller des verwendeten Sensors VEML6070 implementierte Funktion, die auf festen Intervallen basiert. Als Rückgabewert erhalten wir die Strahlenbelastung.

VEML6070

Der Sensor VEML6070 residiert in einem winzig kleinen SMD-Gehäuse mit den Maßen 2,35 x 1,8 x 1,0 mm. Für Bastler gibt es aber ein Modul, das schon alle nötigen Peripheriebausteine mitbringt und sich wie gewohnt auf einem Breadboard verwenden lässt. Mit etwas Wartezeit verbunden, lässt sich das Modul günstig in China bestellen [2]. Alternativ bekommen Sie es für den dreifachen Preis (etwa 8 Euro) als Prime-Artikel bei Amazon.

Der VEML6070 meldet sich am I2C-Bus unter den Adressen 0x38h und 0x39h. Beachten Sie, dass sich nur über die Adresse 0x38h darauf schreiben lässt, denn dort befindet sich das Steuerregister (siehe Tabelle "VEML6070: Steuerregister") des VEML6070. Beim Auslesen des Messwerts findet sich das LSB (least significant byte) an der Speicheradresse 0x38h, das MSB (most significant byte) liegt an der Speicheradresse 0x39h. Der Sensor besitzt keine zusätzlichen Adresseingänge und lässt sich somit auch nicht an anderen Adressen des I2C-Busses verwenden. Er bringt jedoch einen programmierbaren Ausgang (ACK) mit, mit dem er auf Wunsch das Überschreiten eines bestimmten UV-Werts signalisiert.

Der VEML6070 arbeitet mit einer Betriebsspannung von 2,7 bis 5,5 Volt und einer typischen Stromaufnahme von 100 µA. Zusätzlich verfügt er über einen Energiesparmodus, der den Stromverbrauch auf ein 1 µA senkt, was ihn für den Einsatz in mobilen Geräten prädestiniert. Die Auflösung des Sensors beträgt in der Grundeinstellung 0,05 mW/cm2, der maximale Messwert liegt bei 328 mW/cm2. Auflösung wie auch Genauigkeit hängen allerdings von der Größe des Widerstands am RSET-Eingang sowie der Konfiguration von IT0 und TT1 ab. Um der Wahrheit die Ehre zu geben: Das ist eine Wissenschaft für sich. Daher bleiben wir in diesem Artikel bei der Grundeinstellung. Der Widerstand RSET auf dem Modul besitzt einen Widerstand von 270 Kiloohm und lässt sich auch nur schwer verändern.

Das Hauptanwendungsgebiet des Sensors stellt der Einsatz in Messgeräten für UV-Strahlung dar. Für weitere Informationen werfen Sie bitte einen Blick in das Datenblatt [3]. Daneben stellt der Hersteller noch sehr nützliche Application Notes [4] zu seinem Sensor bereit.

VEML6070: Steuerregister

Bit

Name

Beschreibung

0

SD

Shutdown. Auf 1 setzen, um den Energiesparmodus zu aktivieren.

1

reserviert

2

IT0

Integration Time. Steuert mit IT0 und IT1 das Timing.

3

IT1

0:0=1/2T, 0:1=1T, 1:0=2T, 1:1=4T.

4

ACK_THD

Schwellwert für ACK (0 = 102 steps, 1 = 145 steps)

5

ACK

ACT aktiv

6

reserviert

7

reserviert

Testaufbau

In Teil 18 dieser Reihe haben wir eine funktionierende I2C-Testumgebung aufgebaut [5], auf die wir auch dieses Mal wieder zurückgreifen. Das Modul lässt sich der Beschriftung entsprechend eins zu eins an den I2C-Bus des Raspberry Pi anschließen (Abbildung 2). Um zu testen, ob die Anschlüsse stimmen, verwenden wir den Aufruf i2cdetect -y 1 (Listing 1).

Listing 1

 

pi@raspberrypi:~ $ i2cdetect -y 1
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- 38 39 -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --

Als ersten Funktionstest des Sensors lesen Sie mit dem Kommando i2cget -y 1 0x38 das LSB aus. Liegt der Sensor in der Sonne, sollte er dabei höhere Werte liefern als im Schatten.

Raspberry Pi Geek kaufen

Einzelne Ausgabe
 
Abonnements
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Aktuelle Ausgabe

12/2019
RasPi-Alternativen

Diese Ausgabe als PDF kaufen

Preis € 9,99
(inkl. 19% MwSt.)

Stellenmarkt

Neuigkeiten

  • Grußbotschaften

    Mit Sonic Pi zaubern Sie komplexe Sounds, die Sie bei Bedarf sogar noch während des Abspielens modifizieren.

  • Das Runde und das Eckige

    Mit dem MCP4725 ergänzen Sie einen RasPi um einem D/A-Wandler, der bei Bedarf noch weitere Funktionen erfüllt.

  • Alles unter Kontrolle

    Schon ein einfaches Mikrocontrollerboard wie das CY8CKIT-049-42xx bietet erstaunlich viele Möglichkeiten beim Ansteuern von Hardware.

  • Viele Kerne

    Das Spresense Development Board von Sony lässt sich mit der Arduino IDE programmieren und bringt auch ein eigenes Entwickler-SDK mit.

  • Exotische Früchte

    Der aus China stammende Orange Pi positioniert sich mit einem guten Preis und interessanten Features gegen die RasPi-Truppe. Kann er sich auch behaupten?

  • Flexibler Surfer

    Mit dem neuen RasPi 4 setzen Sie einen öffentlichen Webkiosk schnell und kostengünstig auf.

  • Auskunftsfreudig

    Viele Devices, so auch der E.ON-Aura-Controller, verwenden eine Schnittstelle namens REST, um Zustandsdaten zu übermitteln. Mit ein wenig Bastelei lesen Sie diese auch über Ihr Smartphone aus.

  • Doppelt gemessen

    Mit wenig Aufwand und einem Pi Zero realisieren Sie einen mobilen Zweikanal-Spannungsprüfer.

  • Elegant zusammengeführt

    Tizonia streamt Musik von Online-Quellen und lokalen Sammlungen. Die schlanke Architektur macht den Player zur guten Wahl für den Einsatz auf dem RasPi.

  • Kommunikativ

    Nicht jeder traut sich zu, sein eigenes Smartphone zu bauen. Allerdings kann jeder Linux-Nutzer den Raspberry Pi im Handumdrehen zu einem VoIP-Telefon aufrüsten.