Arduino and apogee pyranometer reading

Hello guys, I'm new to arduino developing. I will create soon a project that reads from this pyranometer sensor "Pyranometer - Solar Radiation Sensors | Apogee Instruments" . The SP-110 version has a max output of 220mv and each reading is 0.2mv. so it has 1100 different readings.

Amplifying by ~22 and using arduino's build in ADC is not enough (1024 points of reading). So can someone suggest what to use? I guess I need an ADC with at least 11bits output, but should I amplify the pyranometer's output? or use the direct output and use an ADC that can read 0.2mV fragments up to 220mV?

but should I amplify the pyranometer's output?

Yes.

or use the direct output and use an ADC that can read 0.2mV fragments up to 220mV?

No, you will struggle to get one that responds to such a low step size. Also if you find one then it needs care with the layout to keep the noise out of it.

so it has 1100 different readings.

No. It is capable of 1100 different readings. Given what it measures, it is unlikely that you will see all 1100 discrete values.

PaulS:

so it has 1100 different readings.

No. It is capable of 1100 different readings. Given what it measures, it is unlikely that you will see all 1100 discrete values.

Actually what I see in specs is that it could reach 350mV output , but actually it shouldn't go over 220mV (the sun won't become stronger anytime now I guess :stuck_out_tongue: ). So in anyway I should cover it so the amplifier doesn't give more than 5V. Which means I will have even less accurate readings.

So any suggestions for a good noise-free amplifier + a good arduino-friendly ADC chip?

any suggestions for a good noise-free amplifier

No such thing unfortunately.

a good arduino-friendly ADC chip?

You haven't said anything about the sampling rate. Look for a A/D with with an I2C interface if it is not so fast or an SPI interface if you want it fast.

So in anyway I should cover it so the amplifier doesn't give more than 5V. Which means I will have even less accurate readings.

Not sure I understand this.

Grumpy_Mike:

any suggestions for a good noise-free amplifier

No such thing unfortunately.

a good arduino-friendly ADC chip?

You haven't said anything about the sampling rate. Look for a A/D with with an I2C interface if it is not so fast or an SPI interface if you want it fast.

So in anyway I should cover it so the amplifier doesn't give more than 5V. Which means I will have even less accurate readings.

Not sure I understand this.

  1. Not even one schematic for example an LM741? Or a differential amplifier to propose for such case?

  2. No worries about the sample rate. Arround one reading every 10seconds. Any specific 12+bit i2c ADC chip that is arduino-friendly?

  3. Arduino analog input may not overcome 5V right? So if the sensor's output is 350mV with a 0.2mv step, that means 1750 steps. Arduino can read 1024 steps. So I cannot say that my max is 220mv (since in error cases it may reach 350mV) so as to say it is ok to loose only a couple of steps. I cannot amplify 220 mV to reach 5V. The max is to amplify the 350mV to reach 5V

I cannot amplify 220 mV to reach 5V]

Why not? Of course you can. You need a gain of 5 / 0.22

Any specific 12+bit i2c ADC chip that is arduino-friendly?

They are all as friendly. Look at your favrout supplier and see what they have got.

I would chose a rail to rail amplifier for this.

Arduino analog input may not overcome 5V right?

Very odd use of words. You can not put more than 5V into an arduino.
If you run the amp at 5V then it is safe.

Grumpy_Mike:

[quote I cannot amplify 220 mV to reach 5V]

Why not? Of course you can. You need a gain of 5 / 0.22

Any specific 12+bit i2c ADC chip that is arduino-friendly?

They are all as friendly. Look at your favrout supplier and see what they have got.

I would chose a rail to rail amplifier for this.

Arduino analog input may not overcome 5V right?

Very odd use of words. You can not put more than 5V into an arduino.
If you run the amp at 5V then it is safe.
[/quote]

You are right. If the amp has a Vdd of 5V then it won't go over that. Sorry for my English. So I will assume that anything above 220mv is max . So 220 mV with a step of 20mV is 1100 steps. Arduino can handle 1024 steps. So if I use the build-in ADC I will be accurate enough. So I need an amflifier of about 22,7 gain.

Arduino can handle 1024 steps.

Again an odd use of words, the arduino will give you 1024 steps when the input voltage goes from 0 to 5V.

So if I use the build-in ADC I will be accurate enough.

You tell me it's your project.

So I need an amflifier of about 22,7 gain.

Yes. You can use a resistor and a pot in series to adjust the gain to exactly what you want it to be.

Grumpy_Mike:

Arduino can handle 1024 steps.

Again an odd use of words, the arduino will give you 1024 steps when the input voltage goes from 0 to 5V.

So if I use the build-in ADC I will be accurate enough.

You tell me it's your project.

So I need an amflifier of about 22,7 gain.

Yes. You can use a resistor and a pot in series to adjust the gain to exactly what you want it to be.

  1. Yes, the point is to use the full range so as to have the maximum steps in order to improve accuracy.

  2. I must think of this case a bit more. It is a 7% difference. So we must make sure that such error in reading won't cause us any problems. Maybe I Should go for higher accuracy.

  3. :slight_smile:

Hi, well, I have four pyranometros cs 300 http://s.campbellsci.com/documents/us/manuals/cs300.pdf, the idea is to read the data from 4 different zones radiation and send a coordinator connected this to a PC, and vizualizarlo in labview. As the plot sending each sensor API if I have connected each with XBEE S2B. ? I send it byte by byte or is there a library that allows me to do this?

I know this is an old topic but just in case someone else is looking for information on a pyranometer I just wanted to add a little to this topic since I've been researching this and I know a bit about apogee products. I don't have any question but just something that may make reading values into the arduino a little easier.

Here is the link to the datasheet:
http://www.apogeeinstruments.com/content/SP-110manual.pdf

The first thing is that this was a post on an SP-110. This is the self powered pyranometer. It is in essence a tiny little solar cell that generates a voltage. I have this particular pyranometer because I got it for free. It can theoretically work with the analog read function but given the fact that the maximum voltage generated from this pyranometer is 1000mV. In reality it will read a maximum of about 450mV meaning using the ADC on the arduino will generate a value in the range of 0-92. In full sun under 40mil polycarbonate greenhouse glazing I get values around 33. Needless to say this doesn't make for very good sensitivity. I've only been able to implement it for on off control but I do want to eventually use it for actual measurements.

If anyone is interested in using a pyranometer there is actually a better sensor for the arduino than the SP-110. The SP-212 amplified pyranometer is the same device, reads W/m^2, but returns a 0-5V value that can utilize the full sweep of the ADC on the arduino.

Here is the datasheet for the SP-212:
http://www.apogeeinstruments.com/content/SP-212_215manual.pdf

Most critical is the voltage and current draw this operates on 5-24VDC and current draw of 0.3mA perfect for connecting to an arduino.

panagath:
Hello guys, I'm new to arduino developing. I will create soon a project that reads from this pyranometer sensor "Pyranometer - Solar Radiation Sensors | Apogee Instruments" . The SP-110 version has a max output of 220mv and each reading is 0.2mv. so it has 1100 different readings.

Amplifying by ~22 and using arduino's build in ADC is not enough (1024 points of reading). So can someone suggest what to use? I guess I need an ADC with at least 11bits output, but should I amplify the pyranometer's output? or use the direct output and use an ADC that can read 0.2mV fragments up to 220mV?

I know this is a very old post, but I was stumbled across while looking for other thing :wink:

I'm familiar with your problem:

You need a good instrumentation amplifier, with the following characteristics:

  • Low sensitivity (In the uV order)
  • Very high gain (Typically from A>=1000)
  • High noise immunity
  • Very low offset

An general purpose Op-Amp (LM741, LM358, etc...) is not suitable for this use for a bunch of reasons, so you need a special device like the AD630 or similar.

If you want do design your own Instrumentation Amp PCB circuit, you must be very careful to avoid insert noise sources that can affect your readings, remember the fact your are dealing with signals in the micro Volts Range.

This link will illustrate a application example: http://www.kswichit.com/logger3/insolation.html

However, if your Pyranometer is located at some distance from your ADC/Logging device, probably will more suitable to convert the low voltage output from the sensor to current using a combination of Instrumentation Amp plus a Voltage to Current converter, has noted in this example: http://www.kswichit.com/pyrano/pyrano.htm

Just my two cents.