Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

[Moved]: thermometer adc0804 blinking problem

Status
Not open for further replies.

bcelectro

Newbie level 3
Newbie level 3
Joined
Nov 23, 2014
Messages
3
Helped
0
Reputation
0
Reaction score
0
Trophy points
1
Visit site
Activity points
22
I am trying to build a basic thermometer with lm35 sensor and adc0804. Also I am using basys2 fpga. I am getting the data but the problem is its not consistent. LSB of the output of adc keeps changing and I can't show a consistent temperature. I connected the input to ground and still the adc's LSB output blinks. Is there any way to keep it consistent or can i do sth with the chdl coding of fpga so that the shown temp doesnt keep changing. I tried reducing the sample rate. But then it blinks at a lower rate.
Thanks in advance
 
Last edited by a moderator:

Welcome to the forum!

It is very normal that the LSB's of the ADC are susceptible to random variations. Assuming a reference voltage of 5V, at 10 bits you're down to less than 5 mV to trip the LSB. This can be easily caused by EMI noise, like fluorescent lights etc.

The easiest solution is to put a capacitor in parallel with the LM35 output, or even an RC filter if you don't mind a little calibration. This will flatten the noise on the line.
Another option is to keep the line between ADC and LM35 as short as possible to avoid picking up noise. Of course, don't put it too close to power components (i.e. switching regulators) because their heat dissipation will influence the LM35.

And finally, you can of course also discard the LSB's, if you can live with a lower accuracy. This is the hardware equivalent of calculating a moving average on the FPGA.
 

Thanks for your answer. I tried setting an interval but then the display keep changes if the temp is on the limit of the intervals as the number will move between to intervals. And I couldnt get why i need to calibrate when RC filter is used. Isn't gain of the RC filter 0 db when f is lower than cutoff? If i do need to calibrate the output than is there a formula? Thanks again.
 

It is really frustrating, the output of adc is constantly changing. I mean constantly. I checked analog sensor's output and stepsize. They are consistent. I will average the output of adc but it blinks so much that even the average blinks. I would really appreciate any help.
Thanks
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top