[islandlabs] Data acquisition system for the high-flyer.

John Kuczewski jkuczewski at bnl.gov
Thu Jan 14 15:09:50 EST 2010

Hash: SHA1

Hey all,

So, I was looking at what microchip had to offer in PICs, and I found
this powerful one PIC16F877A [1] that has 2 8-bit timer/counter and 1
16-bit timer/counter, 2 capture compare and Pulse-width modulation
modules. Has SPI and also supports I2C and USART. This is a RISC
processor and takes a clock up to 20 MHz. It only has 35 instructions
so, it will be easy to pick up in assembly. It also has a 10-bit, 8
channel ADC (Analogue to Digital Converter), which would also be useful
for getting data from non-SPI components.

Power Management:

o  Hardware: We might want to look into using a Buck or boost converter
[2]. This would be depending on the power density [3] and other specs
(mA hours... etc) of the battery we are using. Bill, do you know the
specs of the batteries you mention? The PIC has a very wide operation
voltage (2.0V - 5.0 V) and has some instructions for putting it to sleep.

o  Software: The PIC would sleep for most of the time, and would only
wake up upon a interrupt, service the interrupt and fall back to sleep
again. I would hope that this system would be interrupt driven only, to
conserve power that's unless if we want to add GPS or some long rage
wireless radio to communicate with the system. Do we?

Local Storage:

Doing some homework, I found that SD can be put into communicating via
SPI [4,5] and not the proprietary way of talking. And even better,
Microchip has some code for talking to an SD card via SPI [6] -- this
would be a great starting place for us. Any objections or other ideas?
BTW, Sparkfun has this [6.1] that we might want to use as a socket.
Anything cheaper out there? (Digikey.. mouser... I haven't checked)


o Temperature: Thermistor vs. LM35 vs. LM74 IC. The thermistor works on
the Steinhart–Hart equation [7] where resistance is a function of
temperature. This would mean that the PIC would need to do some
calculations before writing the temperature to disk. The LM35 IC [8] is
a part from National Semiconductor where voltage is linearly
proportional to temperature in Celsius. So one would read this with a
ADC (like the thermistor) but don't have to do any math in the PIC. The
LM35 IC has a operating voltage of 4V to 30V, this might be power
costly. Of course we could always write the output from the ADC to disk
and do some post-processing of the data. There is also LM74 [9] that
talks via SPI. It is up to you guys.

o Barometric Pressure: We might want to use the MPX2100AP [10] from
freescale that I found in this paper [11]. Any thoughts?

o Accelerometers: I know that sparkfun has a whole lot, even gyros!
(yum! :). Might want to look there?

o Humidity, wind: If you guys have an recommendations on cheap sensors,
let me know! I haven't look into these yet (almost the end of lunch).

Alright, I think that is enough to start with. Any thoughts on this
system? I haven't gotten into the software design just yet, maybe this
evening I will post again with some ways of putting it together on the
software side.



[1] - http://ww1.microchip.com/downloads/en/DeviceDoc/39582b.pdf
[2] - http://en.wikipedia.org/wiki/Buck–boost_converter
[3] - http://en.wikipedia.org/wiki/Energy_density#True_energy_densities
[4] - http://en.wikipedia.org/wiki/Secure_Digital#Technical_explanation
[5] -
[6] - http://www.microchipc.com/sourcecode/index.php#mmc
[6.1] - http://www.sparkfun.com/commerce/product_info.php?products_id=136
[7] - http://en.wikipedia.org/wiki/Steinhart–Hart_equation
[8] - http://www.national.com/mpf/LM/LM35.html#Overview
[9] - http://www.national.com/mpf/LM/LM74.html#Overview
[10] - http://www.freescale.com/files/sensors/doc/data_sheet/MPX2100.pdf
[11] - http://www.freescale.com/files/sensors/doc/app_note/AN1326.pdf
Version: GnuPG v1.4.10 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/


More information about the List mailing list