PAR / Wand Notes ...



The prototype PAR wands data acquisition was built around the Crossbow Mica2 mote running the Mantis Operating System (MOS). NCAR developed an interface board for the Mica2 with a serial driver/translator, simple dc-power regulator (LDO) for generating the required 3.3vdc used by the mote, and an I2C interface connections for actual interactions with the Wand's themselves. Power for the wand interfaces was provided by direct connection to an ADAM that was operating off line power. Within the wands, a small ADC board was placed to obtain data from the 3 Photovoltaically Active Radiometers (PARs) positioned at .1m, .5m, and 1m from the trees. A level sensor with another ADC was also on the wand board.

PAR Diodes / OpAmps:

The PhotoSynthetically Active Radiometer (PAR) sensor used was a S1087 ($6.70ea) silicon photo diode manufactured by Hamamatsu. A small, inexpensive device responding to 320nm to 730nm light in the visible spectrum with peak sensativity at 560nm: Data Sheet

The other Hamamtsu part considered but rejected was the G1118 ($14.50ea GaAsp). It is more robust than the S1087, but its resin coating appeared to be a limiting factor in performance, plus cost. Having a metal cannister though, implies for long-term use, there would be less UV degradation of the packaging. That concern for the S1087 was mitigated as follows.

Each PAR diode was interfaced to a small op-amp board used to boost current source signal levels into the range needed by the ADC used. The diode and op-amp board were installed in a modified 38-special shell casing. A small diffuser material was added to improve the response to sunlight, especially at low angles. The diode/op-amp were packed into the casing using cotton and a synthetic rubber material used for ear plugs. This method allowed the diodes to be removed easily for repair, while the packing helped insure good fit between the diode and diffuser and provided water resistance. This method worked well but resulted in the bullet assembly protruding beneath the wand itself. A rubber cap was used to protect the wires and hold the bottom of the shell in place on the wand. For Production Wands, a more permanent installation method will be investigated.


In the op-amp circuit below, the gain resistor, R1, was 50-kOhm as determined by direct measurement in sunlight to ensure that output voltage did not exceed but had peak output near the full-scale range of the ADC (2.048). A larger value resulted in too low a signal and a smaller value over drove the ADC. The OpAmp used was a Texas Instruments TLV2711: Data Sheet


Wand Boards:    Schematic

Three PAR sensors were installed in a Wand; .1m, .5m, and 1m from the base mounted to the tree. These were attached to a three channel ADC from Texas Instruments, the ADS1112 ( Data Sheet ) mounted on a small board installed in the wand. The wand board also had another ADS1112 used to sample an analog STMicroelectronics LIS2L02AL ( Data Sheet ) accelerometer to provide level information for the wands when mounted in the trees. The ADS1112 ADCs were interfaced to the mote via an I2C 2-wire bus. Shown below is a top view of the ADC PCB layout before the individual boards were cut apart. Four were placed on a single PCB each wired differently for their I2C addresses: (0x48/0x49, 0x4A/0x4B, 0x4C,0x4D, 0c4E/0x4F).

All wires from the bullets to the wand board had one of three color-coding patterns. The I2C interface cables were all similar.

The individual boards were mounted inside the wands to simplify cabling, construction and minimize the size of board needed attached directly to the mote. In practise the boards were installed upside-down in the wands because of restricted space to attach the wires from the PAR bullets. It was unclear whether having these boards mounted in the wands reduced overall effort compared to a different solution of having all the ADC's located with the motes. It did result in shorter analog signal runs from the PAR though.

Alternative Accelerometers:
Other 'level' sensors were considered, most notably the Memsic Devices MXC6202 and MXC602 versions. These have an I2C interface which would have made them ideal for the PAR application. A few prototype test PCboards were made for testing these parts. Unfortunately they were considered to have much too high of a temperature drift component to be satisfactory. Another good alternative was the ADXL204, also prototyped and evaluated. It's problem was primarily cost: noted below. Other accelerometers that could be 'in-the-ballpark' (check these numbers if considering in future!):
Manuf. p/n Range mV/G Voffset Acc. Packg ~Cost-Dig.
FreeScale MMA6270QT +/-1.5-6G 800/400/300/200 1.6V % 16qfn $8.40
FreeScale MMA6260QT +/-1.5 800 1.65V % 16qfn $6.37
FreeScale MMA6271QT +/-2.5- 480/360/180 1.65V % 16qfn $5.70
AnalogDevices ADXL204 +/-1.7 620 1.65V 4% 8LGA $19.40
AnalogDevices ADXL322 +/-2.0 420 1.5V 10% 16LFCSP $8.60
VTI SCA3000-D02-10 +/-2.0 I2C:1333/G na na 18 $27.00
STMicro.Elec. LIS302DLTR +/-2.0 I2C:128/G na na 14LGA $12.20
STMicro.Elec. LIS2L02AL +/-2.0 Vdd/5 Vdd/2 % 8LGA $9.20
Because prototype testing of Analog Devices ADXL204 was successful though the part was expensive, we decided to evaluate the LIS2L02 accelerometer/level sensor because it conformed to the same footprint. These also met acceptance criteria for accuracy and stability in our initial tests and we decided to use them. However, their 8LGA package is tricky to solder using an iron because the only contacts are under the package. This mounting challenge ended up resulting in a significant number of failures during final assembly of the wandboards probably due to over-heating with the soldering iron, and/or imperfect contact. These parts should be satisfactory with another attachment method, perhaps using solder paste, or oven. STmicro does offer a technical note about soldering.



Mote Interface Board for Mica2:    Schematic

The simple Mica2 interface board built and assembled along with the mote inside a small nema4x box for mounting in the trees. Four connections were provided to the outside via 8-pin Bulgin connectors for wand power and I2C interfaces. A fifth Bulgin connector was used to supply primary power and serial interfacing with the ADAM.

The interface board included a Maxim MAX3221 RS232 Transceiver ( Data Sheet ) to allow signal translation for communications between the Mica2 and the ADAM data system. This feature allowed the mote to be reprogrammed directly from a PC without needing to rely upon a Crossbow programming board. Although it was not done, the opportunity existed to change the mote program while installed in a tree without having to include the 'over-air' programming code available with MOS, saving valuable code space.

The mote interface board included two TPS7603x linear low dropout voltage regulators (LDO) by Texas Instruments ( Data Sheet ). One provided the 3.3vdc needed for primary mote operations. The second was optional (and not used in practise) to provide a lower voltage to the wands. The rationale for that was to reduce the dc-offset voltage for the level sensors (1/2 of vsupply, +/- 600mV=90degrees) so that a larger range than ~40 degrees could be measured by the ADC limited to max 2.048v.

The mote interface board had other features that were not used during the NIWOT07 PAR deployment: connections for interfacing Mica2 internal adc channels 2-5, a connection for a Sensiron SHT15 temp/rh sensor including a switched '+12vdc' FET that was intended to cycle on/off an aspiration fan, and a connection for mote leds and reset lines.

Shown below is the PCB layout of the mote interface board. Note the jumper options. Also note the temporary labeling used to identify that this box has calibrations for wand set #7 (see calibrations below).

Mote Software

The MOS base mote software listings are referenced below, as they stood in August-07 during the actual deployment.
wandSpecificCals.h Sample version of a Calibration File
PAR_ADboard_Niwot.c Main DAQ Program
Sprintff.c Support Code I wrote to allow floating output, etc.
i2c_support.c I2C support code for MOS
ads1112_defs.h Common Definitions for the ADS1112 ADC
SConscript
PAR_ADboard_CurrentMonitor.c Modified version for monitoring Iload with a Shunt Resistor
helloWorld.c Simple thing for testing various iloads




Message Format
Serial PAR data messages were sent every 1-second to the
ADAM from the motes.  The appearance of these messages was:

PAR1st: 982.331 1008.73 970.016 988.128 966.018 941.408 966.663 978.635 970.429 983.607 971.158 961.4120
PAR1st: 980.573 1007.03 968.504 986.331 964.413 939.875 964.909 976.934 968.920 981.845 969.503 959.8586
PAR1st: 979.656 1006.04 967.641 985.396 963.464 939.072 963.994 976.042 968.057 980.964 968.600 959.0481

These fields represent in order (labels for each wand noted):
	wand-0x48, .1m, .5m, 1m
	wand-0x4A, .1m, .5m, 1m
	wand-0x4C, .1m, .5m, 1m
	wand-0x4e, .1m, .5m, 1m
with the values in microMols/sq-Meter/second.
Nominal values would be expected to peak at roughly 2000 or so in full sun.

Interspersed with these messages were Level data every 5-seconds.
The appearance of the Level sensor messages was:

LVL1st:  3.0626 -4.1584  3.9080  6.4149  1.1936 -11.950 11.7497 10.5539

These fields represent in order:
	wand-0x48, Xlevel, Ylevel
	wand-0x4A, Xlevel, Ylevel
	wand-0x4C, Xlevel, Ylevel
	wand-0x4e, Xlevel, Ylevel
with the values 'calibrated' in tenths of degrees
(eek ... I think, not whole degrees!)

The ADAM data system time-tagged each message as received.   There are
slight inaccuracies in these rates due to mote clock/mos timing and my
ability to measure and estimate the 'fudge-factor' for time taken up in
the sampling loop.  I.e. the 'sleep-time' between sample/message output
cycles was adjusted from the desired-rate minus a factor for # sampling
the ADCs and minus a factor for latency of software calibrations and
print timing. 


Installation

The PAR wands were deployed in two trees by Russ, Maggie and a student on
Aug.16th,2007 and removed Oct,3rd.    They placed a scaffolding tower between a fir and spruce
tree of interest, and used it for installing the three levels.

Wand Heights:
-------------
ACTUAL: "3.5m", "6.0m", and "8.5m"

but in the original ADAM xml file (in the ADAM) they were denoted "0.5m", "3.5m", and "7m".
These were changed on the server version on 9/24 and covars were rerun.


Wand Orientation:
-----------------
Not exactly oriented to NSEW (see Maggie's notes) but were roughly at:
0x48-x = North; w1
0x4A-x = West;  w2
0x4C-x = East;  w3
0x4E-x = South; w4


ADAM Port Configuration:
-------------------------
Tree-0: Fir, 12.9m tall, 19cm DBH, located to the West of the scaffold.
Port	Actual		Wand#
ttyS5	West.3.5m	wand5	id=100 (Raw), id=101 (PAR) id=102 (LVL)
ttyS6	West.6.0m	wand1	id=110 (Raw), id=111 (PAR) id=112 (LVL)
ttyS7	West.8.5m	wand4 	id=120 (Raw), id=121 (PAR) id=122 (LVL)

Tree-1: Spruce, 11.5m tall, 15.9cm DBH, located to the East of the scaffold
ttyS8	East.3.5m	wand6	id=130 (Raw), id=131 (PAR) id=132 (LVL)
ttyS9	East.6.0m	wand3	id=140 (Raw), id=141 (PAR) id=142 (LVL)
ttyS10	East.8.5m	wand2	id=150 (Raw), id=151 (PAR) id=152 (LVL)

Never Installed due to scaffolding:
t0w3p1-3.3.5m (West Tree, East Wand, lower 2 levels)
t0w3p1-3.6m   
t1w2p1-3.3.5m (East Tree, West Wand, lower 2 levels)
t1w2p1-3.6m   

Note that because of the scaffold, tree0(on the West side)-3.5m/6m
wands '0x4C-East', and tree1(on the East side)-0.5m,3.5m wands
'0x4A-West'were never installed...


Attachment / Ideas:
--------------------
Although the wands themselves were made from aluminum extrusions, they
were braced against the tree with wooden diagonal braces.  The braces
offered a wide range of adjustability for leveling.   Each wand was
strapped with either/both large plastic cable ties and/or nylon webbing
straps in 2-4 locations.   This did provide structural security and the
wands did not move (except when pushed by nearby trees/limbs???),


Click to Enlarge

Ideas:
------

Even with the scaffold tower, the effort required to put four wands on
the tree was awkward and required two people: probably unacceptable for
the 2008 deployment in 9 trees.

Possible alternatives:
	1)  A modified ladder with improved stabilization support on both
	    the ground and tree might be used.   The question with that idea
		is whether the tree would bend too much.   A second ladder or
		something similar on the opposite side may provide enough
		stability, and a second work platform for a second person
	2)  A temporary guyed Rohn tower would be more easily relocated
		than scaffolding, but could be just as awkward to work from.



Power Consumption

These notes may be incomplete due to testing still in progress to
evaluate

Mote Power Switch Note:
	Turn-On to save ~2mA when using the Interface Board!

	For the PAR application, the mote interface board supplies regulated
	3.3v to the mote via the 51pin Hirose inter-board connector. If the
	mote's battery switch is turned off, and extra load is imposed, that
	is not present with the switch on.   The reason is unclear from
	casual inspection of the Mica2 schematic.   It should make no
	difference and I don't have the patience to poke around and see
	what's missing on the schematic from the actual board.

PAR Application: Mote + Interface
	25mA		Continuous 1-sec messages through interface board,
				using best 'mos-sleep' setting, but radio still
				energized.
	26.5mA		With wands attached

	28mA		12.2vin = .60W (initial measurements without best sleep)
	25mA		 5.0vin = .13W
	27mA		 3.3vin = .09W

	11.5mA		 3.3vin = .04W  With radio off.


Mote Interface Board Alone: (whether input is 5 or 12V)
	2.55mA		with MAX3221 energized but not transmitting
	 .10mA		without it.

Efficiency and Limits with the LDO TPS76033:
	The LDO being a linear regulating device has limited efficiency.
	The biggest factor in efficiency is what the input voltage is
	versus the output.   About the same amount of current drawn for the
	output will be supplied by the input, so the higher the input
	the lower the efficiency and the excess heat will need to be
	accomodated.
	VinMax = 13.5V	35microA quiescent	50mA max in SOT23-5 pkg
	This device has junction-over-temperature protection set at 160
	and should recover when it drops.

	MAXIMUM DISSIPATION at 25C=380mW, 70C=212mW, 85C=154mW
	Some devices provide calculations for max.junction temperature
	before shutdown/fail, but with this method, look at the current and
	the input voltages.   If supplying 12 to the PAR mote:
	(12-3.3) * 25mA = 217mW dissipation (300mW supplied, 83mW consumed)

	For the PAR application, I put a 5V DC-DC in the ADAM box
	for driving the motes so it should be OK.:
	(5-3.3) * 25mA ~=  50mW dissipation (125mW supplied, 82mW consumed)

	Efficiency, Crudely: ~= vout/vin ~= 3.3/12.7 = 25%
					 ~= 3.3/5    = 66%

HelloWorld Application (Mote only)
----------------------
	.01mA		Deep sleep with radio off, 1 thread only.
	This was observed while running a quickie program to ascertain the
	utility of the 'currentMonitor': confirming that MOS will
	power down a mica as well as TOS given the same 'operating' mode.



Tsoil Application Comparison
----------------------------

	TinyOS Tsoil Application: Mote only (As run on Niwot04-NCAR)
	--------------
	25.0mA	Transmit (<.5sec,and daq)
	17.3mA	Receive (5sec avg)
	  .05mA	Sleep (25sec avg)
	= 3.1mA	*3.3vdc = .01W Average for 30second cycling

	~= 75mAH/day or 13.5days for 1000mAH battery usage


    Tsoil Mica2: (original readings during some mode tests)
		   13.8mA	With LEDs, RF going
		   11.4mA	(nom. without power-down)
		    2.5mA	w.o LEDs, no RF
		    3.3mA	nominal power during DAQ, no RF
		   < .03mA	with PMEnable() power-down, no RF

	Note:
	    Atmega output pins source 5-10mA
	    Stop Services to have them enter low power mode.
	    	When all services are stopped and Task Que is empty,
		TOS goes into Power Down, and
		Wakes up on next Event from TimerM.nc



	MOS Tsoil Application: Mote only (As run Niwot07-CU)
	--------------
	~5.5mA	Average (as I recall) for 1-minute cycling

	~= 132mAH/day or 7.5 days for 1000mAH battery usage

	NOTE: as of Sep07 these numbers were rough.   Ongoing tests
	by Ramesh and Mike are refining this.  The value
	may be somewhat optimistic given actual observed performance,
	from verbal reports by Lynette and others.  It's likely that the
	more sophisticated algorithm used in their star-radio network caused
	extra radio 'listen' time increasing the value shown above.


Tiny Solar Boxes
----------------
		Blue Boxes with old crystaline pvs:
	    TinyPV Panel:  Isc=~20mA (ea.), Voc~=4.5V	Full Sun

		TravelPal Solar Chargers used for MOS Tsoil
			Isc = 110mA
			Voc = 7.7V
			Ic  = 50-60mA	4NiMh at 5.4V
			Ic	= 15mA		4Alk, fully charged, 6.5V


Mote-MaxStream RF Repeater (Mica2 to Maxstream Radio repeater)
--------------------------
		TOSbase on MIB510:	28mA
		MaxStream, Listen:	54mA
			   Transmit:	88mA
		Total,
		Listen:	 =  82mA @12.7V ~= 1.0 Watt
		Transmit = 105mA @12.7V ~= 1.5 W



Data Handling at NCAR

Niwot07 data was retrieved by hand, swapping USB disks on the adam. This was adequate for the short '07 deployment but will be replaced by having the adam on the CU network for 2008.

NOTE: Raw data files generated by the adam are in ext3 format, and cannot be read on a windows, only linux machines.

Data locations: /net/isff/projects/NIWOT07/raw_data
/net/isff/projects/NIWOT07/raw_data raw isff file dir, linked to /scr/aster/projects/NIWOT07/raw_data
on SteveOncley's scratch disk
/net/isff/projects/NIWOT07/ISFF/netcdf 'manually' generated 5-minute covar files




How to Generate NETCDF Files: statsproc
Standard 5-minute covariances were not generated locally on the ADAM in
part because we didn't think they would be used.   However, they
are easily created at NCAR-FL using the EOL servers.

1) setup environment variables 
$ set_project				and chose NIWOT07, and just to make sure...
$ setenv DATAMNT /net/isff
$ setenv RAWDATADIR /net/isff/projects/NIWOT07/raw_data
$ setenv NIWOTXML isff_par.xml

2) load raw data onto server under $DATAMNT/projects/$PROJECT/raw_data

3) run the statsproc
$ set datestr = `utime -L "2007 aug 23 00:00"`
$ echo $datestr
$ statsproc -B $datestr                        uses the 'current' xml
OR explicit xml file:
$ statsproc -x $ISFF/projects/$PROJECT/ISFF/config/isff_par.xml -B "$datestr"

NOTE: the statsproc should grab all of the data files found in the
raw_data dir beginning with the date specified for the first 2 methods, 
OR for explicit time window and file:
$ cd /net/isff/projects/NIWOT07/raw_data
$ statsproc -B "2007 aug 16 00:00" -E "2007 aug 31 12:00" par_200708*

5) check the data files
$ nc_dump -h /net/isff/projects/NIWOT07/ISFF/netcdf/isff_20070830.nc

This method generates 5-minute covariances as defined by the xml file.


Using SPLUS to plot 5-minute NETCDF data:
This should probably be run on the EOL-host 'shiraz' which is
intended for numerical applications.

$ Splus7
> cmotif()		bring up display screen
> dpar(start="2007 aug 29 00:00",lenday=2,lenhr=12)
> plot(dat("Rpar"))	yikes there's a whole bunch of variables!

> dpar(hts=8.5)		ok, let's only look at the tree tops
> p = dat("Rpar")
> x = dat("x")
> y = dat("y")
> plot(p[,1:3])		tree0, north wand, 3 sensors
> plot(p[........

0x48-x = North
0x4A-x = West
0x4C-x = East
0x4E-x = South

t0w3p1-3.3.5m (West Tree, East Wand, lower 2 levels)
t0w3p1-3.6m   
t1w2p1-3.3.5m (East Tree, West Wand, lower 2 levels)
t1w2p1-3.6m   



Results and Observations

Corrosion:
----------

DURING THE DEPLOYMENT, some PAR sensors failed and were examined:

Wand48-5: Maggie retrieved on ~14Sep07, reporting she had seen bad
values.  In the lab, PAR#3 (1m) was pegged out, and PAR#2 appeared to be
reading slighly high, and #1 had bad been showing erroneous data.

There was significant corrosion on the solder joints where the par wires
connect to the ADC board, ie. nearest to the 'tree end of the wand' and
vulnerable to water being blown in.  Upon cleaning, pars #1,#2 came back
to life, but par#3 then read '0' and was unresponsive.

Inside PAR#3's bullet, there was evidence of corrosion on the cotton
packing and it seemed to have moisture on the cotton even after 1-week.
It also had slight corrosion where the wires attach to the op-amp board
and on a diode lead (cathode).  While cleaning the board, that photodiode wire
broke.  This may have been corroded or was weak all along, however, once
reconnected the output was still bad.  In further attempts, the par
diode never recovered, though it is possible that it may have gone bad
during soldering/overheating.  A crummy picture of the par#3 (corrosion
appears brown and was...  

AFTER THE DEPLOYMENT all wands were inspected:
Without going into great detail about the testing, it appears the major
problem with the PARs was a leak between the diffuser and the shell
casing. Each sensor was taken apart and checked. Out of 72 sensors, 52
had signs of leaking. In some cases the leaking had not damaged the
sensor but others were totally damaged. The shells were checked for
leakage by attaching a hose line to the top of the shell, putting the
bottom of the shell in water then applying pressure to the hose
line. Bubbles in the water confirmed a leak.

PROBABLE CAUSE:
The diffuser was designed to be a press fit into the shell. For added
protection, a small amount of super glue was added when the two pieces
were put together. No leaks were found in the initial units made. The
problem may have been in the "production process". During the machining
of the diffuser there was the need to leave a small piece of material on
the edge of the diffuser. After the diffuser was mounted this small
piece was removed. We decided the easiest way to do this was to use a
lathe. It may have been the vibration of the lathe the caused the super
glue to fail. This is my best guess at what had happened.

FIXES:
- Epoxy glue and fill instead of super glue
- Bevel the edge of the bullets to improve gluing
- Reduce the size of the bullets
Instead of super glue we are running tests using a 2 part epoxy. The 4
shells made, with the epoxy, showed no leaks; however, the application
of the glue was done crudely (too much glue getting on diffuser
surface). The next step is to use a fine paintbrush to apply the glue,
test for leaks, if no leaks then use the lathe and repeat the leak
test. In addition, John did a new board layout which will allow us to
reduce the size of the shell such that PAR sensor will be encased
totally in the wand.

APOGEE ALTERNATIVE:
Apogee is a manufacturer of integrated quantum sensor 'wands' and is
willing to make a custom unit to our specifications using their diffuser
and sensors. This would not include calibrations. The cost per wand
would be ~$180 per wand in a quantity of a least 50.



MOS Mote Problems:
------------------
The version of MOS used for the Tsoil and PAR applications has low level
bugs that causes motes to lock up.  This effected the Tsoil deployment
dramatically, but not as severely for the PAR most likely because there
was no RF, and only 1 thread running.
	Wand-1	ttyS6, locked up on multiple occassions and required a manual reset.
	Wand-4	ttyS7, locked up on multiple occassions and required a manual reset.
	Wand-2	ttyS10, died and lost its program.

During roof tests at FL:
	Wand-1	ttyS6, died and lost its program and needed 'set_mos' to fix
	Wand-6	ttyS8, appeared to retain its program, but experienced outages/
			lockups on ttyS7.
	Wand-4	ttyS7, Strange: while trying to reprogram it to add 'W4' to
			the end of its message failed even though all other motes
			worked when this was done.....It did still work as before though;
			however, when first using a 'set_mos' before reprogramming worked!

For Reference, 
West-Tree-0: Fir
Port	Wand#
ttyS7	wand4 	id=120
ttyS6	wand1	id=110
ttyS5	wand5	id=100

East-Tree-1: Spruce
ttyS10	wand2	id=150
ttyS9	wand3	id=140
ttyS8	wand6	id=130




Last modified: Aug, 2007