LM35 data acquisition system.

Given a 2 uF cap at each mux input, I doubt you need a post-mux filter. If you do see more noise than you like, just average a bunch of ADC shots.

This is temperature after all, and LM35s aren't especially accurate anyhow.

John

Reply to
John Larkin
Loading thread data ...

Note that (a) the residual 1% will be coming from the previous channel, which is where John's inter channel crosstalk comes from, and (b) 1% accuracy is a hair less than 7 bits worth -- so if you're trying to make measurements good to more than that you need to wait longer than the apocryphal five time constants.

--

Tim Wescott
Wescott Design Services
http://www.wescottdesign.com

Do you need to implement control loops in software?
"Applied Control Theory for Embedded Systems" was written for you.
See details at http://www.wescottdesign.com/actfes/actfes.html
Reply to
Tim Wescott

Of course, it depends, 2+2=4, etc. etc. etc. You don't need more then 1% accuracy with LM35. The OP got LPF after the mux. Bad idea. Needs slow switching. Rules out digital filtering.

Vladimir Vassilevsky DSP and Mixed Signal Design Consultant

formatting link

Reply to
Vladimir Vassilevsky

Thanks a lot for all the suggestions. Very informative for me.

Since I understand that my Sallen-Key filter placed after the MUX is a bad idea and it imposes more timing constraints on me, i think I am planning to avoid that part. I will provide a RC filter of 4.7K and

2.2uF at the LM35 wire to MUX.. Out of the MUX without any filters goes to PIC ADC. Here I have a problem. can we directly connect MUX out to ADC in? Do we need a opamp buffer there? Or can we simply terminate the MUX out with a below 10K resistor and Drive ADC?

After this I will sample 20 times in 20 milliseconds and average to result. This will handle 50Hz noise, that is OK. But what about the other circuit noises? Do they have a role in here? If so How? Thanks

Reply to
Serpent

s

Good advice there, you've paid for the digital parts, let them solve problems for you. You can sample each of the twelve inputs dozens of times in filling up a 1/10 second cycle, so it isn't just one temperature determination per 1/10 second, but ALL temperatures determined each 1/10 second, which (it's TEMPERATURE, right?) should be fast enough.

The most important reason for a filter is to keep high frequency (from the MUX chip) off the external wiring; putting it between the MUX and the ADC is just plain wrong. Doesn't the ADC have its own hold circuit?

Reply to
whit3rd

Suppose I am sampling at 2ms intervels so that in 20ms (Period of my

50Hz AC) I get 10 samples to average.

I can do it in two ways. Either I will take reading of 1 channel continuously for 20ms and then move on to next channel sample it 10 times of 2ms gap. So all the channels I read. Then I have other option. read channel 0 and load a ring buffer, next

2ms read channel 1 and load its buffer and do the same for all 12 channles and after that incriment the buffer index and load all channle buffers in the same way. After 12 cycles I can average to get a more widely placed average(??).

Which would be the logical method?

What I understand is if I use first method I can filter out 50Hz noise, but if I use second method it is not possible as channle samples are not within period and requires more RAM. Right?

Thanks

Serpent

Reply to
Serpent

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.