PDA

View Full Version : How to use LM34 to full range with PBP



polymer52
- 7th January 2010, 11:47
How can I go about reading in an LM34 at full range with a 12F683 and PBP?
It outputs -500mv at -50deg anf +3000mv at 300 deg.
Can a pic read a negative voltage and how would PBP tell the the difference between -500 and +500?

Charles Linquis
- 7th January 2010, 12:05
You can do this several ways.

But probably the best way is the method given in a National Semi application note: Put two diodes between the "-" terminal of the LM34 and GND. This offsets the voltage by about 1V. You will also note that - because the diodes have a temperature coefficient of their own, you should also measure the voltage at the junction of the diodes and the LM34 and take a differential reading. Of course, this will take two channels of A/D.

Look for National Semi Application Note AN-460, and check out Figure 10.

Charles Linquis
- 7th January 2010, 12:14
And yet another method that I have used:

Your system probably has a precision reference voltage (for example: I use a 4.096V reference for the A/Ds). Use a resistive divider off that reference to give you about 1.0V, and then buffer that voltage with an op-amp. Use the output of the buffer for the negative supply of the LM34.

spcw1234
- 8th January 2010, 09:59
Can a pic read a negative voltage and how would PBP tell the the difference between -500 and +500?

No a pic can not read negative voltages. However the voltage may be shifted to a range the pic can read.

One simple way I see of doing this to offset the voltage is by using a voltage divider to great a "fake" ground for the LM34. If you set this fake ground to +1VDC in refference to your pic's ground that will shift the output of the lm34 up 1000mv. The new range would be +500mv for -50*F and +4000mv for 300*F. Then in PBP remember to offset this value for the correct temp.

polymer52
- 8th January 2010, 11:49
No a pic can not read negative voltages. However the voltage may be shifted to a range the pic can read.

One simple way I see of doing this to offset the voltage is by using a voltage divider to great a "fake" ground for the LM34. If you set this fake ground to +1VDC in refference to your pic's ground that will shift the output of the lm34 up 1000mv. The new range would be +500mv for -50*F and +4000mv for 300*F. Then in PBP remember to offset this value for the correct temp.

How do I connect the floating ground to the pic? Does it need a separate isolated supply? I can't ground the floating ground correct?

Charles Linquis
- 8th January 2010, 13:32
The link I gave you from National Semi handles all the voltage offsets. It is all you need.

polymer52
- 8th January 2010, 16:33
The link I gave you from National Semi handles all the voltage offsets. It is all you need.

I read that but that basically gives me 2 grounds. The supply ground and the new floating ground. Do I have to use 2 analog channels and read the difference or use a separate isolated supply? I was hoping to get away with just a single supply but that may not be possible.

Pic_User
- 8th January 2010, 20:28
I read that but that basically gives me 2 grounds. The supply ground and the new floating ground. Do I have to use 2 analog channels and read the difference or use a separate isolated supply? I was hoping to get away with just a single supply but that may not be possible.Hi polymer52,

I was confused by the same thing. Think this is how it goes:
<IMG SRC="http://www.picbasic.co.uk/forum/attachment.php?attachmentid=3869&stc=1&d=1262982428">

polymer52
- 8th January 2010, 20:37
Hi polymer52,

I was confused by the same thing. Think this is how it goes:
<IMG SRC="http://www.picbasic.co.uk/forum/attachment.php?attachmentid=3869&stc=1&d=1262982428">

Ohh. I get it.
So it will take 2 A/D channels for each sensor. I'm using an 8 pin pic with 3 A/D channels in use and the 4th is used for the voltage ref. Looks like if I want full scale I'll have to go to an 18 pin pic or use the Dallas 1 wire devices which may be an option.
Thanks guys.

Charles Linquis
- 9th January 2010, 02:44
Yes, the Nat Semi app note method requires two channels. If the temperature is above "0" then the output will be above the GND terminal of the LM34, if the temperature is below "0", then the the output will be below the GND terminal of the LM34, but both of them will be positive with respect to PIC GND.
Read both channels. Subtract the smaller reading from the larger and compute the temp. If the channel 1 reading is larger than the channel 2 reading the temp is positive. Otherwise the temp is negative.

Another way that takes only one channel: Replace the two diodes shown in the application note with a 1.25V precision reference. Since you now know that the GND terminal of the LM34 is at 1.25V, "0" degrees will give you 1.25V into the A/D. -20 degrees will give you 1.05V (1.25V - (10mv/degree * 20 degrees)).

polymer52
- 9th January 2010, 13:43
Yes, the Nat Semi app note method requires two channels. If the temperature is above "0" then the output will be above the GND terminal of the LM34, if the temperature is below "0", then the the output will be below the GND terminal of the LM34, but both of them will be positive with respect to PIC GND.
Read both channels. Subtract the smaller reading from the larger and compute the temp. If the channel 1 reading is larger than the channel 2 reading the temp is positive. Otherwise the temp is negative.

Another way that takes only one channel: Replace the two diodes shown in the application note with a 1.25V precision reference. Since you now know that the GND terminal of the LM34 is at 1.25V, "0" degrees will give you 1.25V into the A/D. -20 degrees will give you 1.05V (1.25V - (10mv/degree * 20 degrees)).

Yes! That sounds like what I need.
I'm using all the analog inputs on my little 12F683 and I don't have any extra pins to use 2 per sensor.
The 1.25v reference sounds perfect. I have some LM385's around here which are 1.235V if I can just find them.
Thanks.