A solar sensor module was built to provide hands-on experience for beginning undergraduate engineering students. Hands-on experience includes programming hardware for data collection and sampling, and setting up and programming simple sensor networks for coopertive sensing. Finally, students learn statistical methods to analyze the collected data.

Two versions of the solar sensor module are built: Arduino-based and MSP430-based. Arduino UNO was selected for its wide community support and ease of hardware/software development. MSP430-based solution was

Solar Sensor Module - MSP430-based, Wireless


MSP430-based design was developed for its low power consumption and low cost. Hence the TI Launchpad was considered. In addition, MSP430-based wireless module was also available which made the Launchpad even more attractive due to uniformity in the hardware and the development environment.

The wireless sensor module is based on the Texas Instrument (TI) Launchpad and the Wireless Development Tool. Both boards are based on the MSP430 low power microcontroller and can be programmed using a single development tool. The wireless interface allows biderational communication between the sensor and the gateway/host computer. The sensor senses the output of a small solar cell on board. The small solar cell is connected to a load, which is emulated by a digital potentiometer. The voltage across the digital potentiometer is sampled and digitized by the internal ADC on the MSP430 on the Launchpad. Finally, the sample is then transmitted to the gateway via the wireless interface.

The wireless interface communicates with the host computer using the CC2500 chip, operating in the 2.4 GHz ISM band. The digital potentiometer (Maxim DS1803) is controlled by the MSP430 via the I2C interface. The entier sensor node is powered by a single 9V battery.

On the host computer, transmitted sensor data is received by the USB dongle (part of the TI Wireless Development Tool) and converted back to serial data. The USB port is emulating a serial terminal. The serial data is then read and processed by student-written MATLAB code.

Information on the Wireless Solar Module is below.

Hardware

TI MSP430 Launchpad -- information on the Launchpad.
TI Wireless Development Tool -- information on the wireless interface hardware.
Schematic -- schematic for constructing the wireless sensor module.
Block Diagram -- block diagram for the wireless sensor module.
BOM -- bill of materials for the wireless sensor module.

Software

Code for the Launchpad.
Code for the Wireless Module.
MATLAB Class.

Picture of the MSP430 Wireless Solar Sensor

Launchpad is on the bottom. The board on the top is a custom daughter board/shield containing solar cell, digital potentiometer, 9V battery, and connection to wireless module.

Side view 1.

Side view 2.

Top view.



Solar Sensor Module - Arduino-based

An Arduino-based solar sensor module was built so students can obtain hands-on experience with controlling hardware, taking measurements from hardware, and perform analysis on measured data.

The hardware module consists of Arduino UNO board, small solar cell, and a digital potentiometer (load for the solar cell). The potentiometer is controlled by the Arduino through I2C.
The Arduino communicates with the host computer through a serial interface emulated on the USB port. The Arduino is also powered from the USB port and it runs the Arduino server code (adiosrv.ino). The server code is based on the code available here.

Information on the Arduino Solar Module is below.

Hardware

Connection Diagram -- connection diagram of the Arduino Solar Module.
Build and Test Plan -- plan to build and test the 40 modules.
Bill of Materials -- BOM for building 40 Arduino Solar Modules.
Digital Potentiometer Datasheet -- Maxim DS1803. Caution!! the DS1803 cannot sustain large wiper current (must be < 1mA) produced by solar cell under bright sunlight! Must configure one potentiometer for limiting current!
AD5161 Digital Potentiometer Datasheet -- AD5161 is capable of sustaining 20mA of continuous wiper current, which is much better!
24 x 22mm Monocrystalline Solar Cell - SCC2422 (does not come with connectors)

Software

Modified Arduino server to interface with DS1803 through I2C. Modifications: code to setup WIRE interface, and cases 50, 60, and 70 in the switch statement.
Modified Arduino MATLAB class definition to interface w/DS1803. Added "pWrite" function
Sample MATLAB code to demonstrate a sweep using the hardware module.

Getting Started

Lab exercise to get started
Solution (.zip) to above lab.
Sample problems to prepare for the solar cell characterization lab.

Links

Arduino UNO Page - contains hardware information on the module
Arduino IDE Software (download)
Arduino IO Package (download)
Arduino IO package: Slides and Examples

40 Arduino Solar Modules and Solar Cells with connectors built.

Arduino Solar Module With USB Cable.

Arduino Solar Module With Solar Cell and Digital Potentiometer.

Arduino Solar Module with Blue Jumper. The blue jumper disconnects the solar cell from the potentiometer.