I have a commercial UV Index sensor running but I found an IC sensor chip that would measure UVA and UVB separately and thought it would be interesting to see how the two UV bands varied with respect to each other.
The sensor IC is a Vishay VEML6075. This is a very tiny surface mount chip that would be very difficult for me to successfully mount on a board. Luckily I found a breakout board with the VEML6075 mounted. This board is the UV 2 Click by MikroElektronika a Serbian company. They make a variety of boards like this and microprocessor development systems.
Currently my favorite microprocessor board for this type of project the the Teensy 3.2 by PJRC. This board uses a NXP Cortex M4 processor chip and has plenty of power and IO including 12 bit A/D converter. This board communicates and is powered via a USB port. There is an add on for the Arduino software development system that allows code for the Teensy to be written. It is really convenient that there are quit a number of companies making modules like the Teensy and UV 2 Click. It makes projects like this possible without having to work with tiny surface mount parts. All these modules have holes on 0.1″ centers making it possible to plug them into a piece of perf board and wire them up.
The sensor IC is digital and uses I2C to communicate with the processor. Luckily I also found some code to control the sensor written for the Arduino environment. That saves a lot of time and head scratching getting up and running.
All of my environmental sensor are online. To do this for this sensor it is connected to a Win 10 PC out at the weather station tower via USB. A Python script running on the PC reads the serial data from the sensor and sends it to a MySQL server on the web. A web page script gets the data from the MySQL server, plots the data and serves up a web page.
A sensor like this should accurately measure the energy falling on a horizontal surface. It should see the whole sky from horizon to horizon. It will have a cosine response to the angle of light from the sun. To do this a diffuser or cosine filter is used. This cosine filter uses a Teflon disk mounted at the surface of the housing so nothing blocks the light from the sun from horizon to horizon. The filter is a 3/8″ diameter disk of 1/32″ Teflon mounted in an aluminum holder. The holder is slightly cone shaped to help keep rain water from staying on the disk.
My favorite housing for outdoor sensors is plastic electrical junction boxes. For this sensor I used a 4″ X 4″ X 2″ box. These boxes are designed to be used outdoors making them water tight and UV resistant.
The cosine filter is attached to the junction box with some silicone sealant. The perf board with the sensor and processor attach to the inside of the box cover with plastic hex standoffs and screws.
The processor is mounted to the bottom of the perf board to allow the sensor board to be mounted close to the cosine filter and allow easy access to the USB cable and programming button. Unfortunately the button has to be pressed to put the processor in the program mode. So I can’t program it when it is mounted on the tower in its box.
The completed UVA/UVB sensor on the right mounted on the tower along with some other sensors that look straight up. I need to put a spacer under the sensor to bring it up to the same level as the others. Right now the taller sensor is blocking part of the sky.
UVA/UVB sensor data http://www.ocrslc.net/sensors/uvab.php