|
|
View previous topic :: View next topic |
Author |
Message |
evaradharaj
Joined: 15 Jan 2009 Posts: 60
|
LCD display value flickering(hunting) problem |
Posted: Sat Mar 10, 2012 9:48 am |
|
|
Hi ,
I have designed the temperature display using ntc 10k. I have used voltage divider circuit and 16f877a microcontroller. The display is fine until no vibration on the ntc. If small vibration, then the value displayed in the starts hunting.
The display is with 2 digits after decimal point. For example 30.16 is my value. If vibration comes, LCD starts oscillating from 30.16 to 30.19.
I am reading the values continuously ie (with 10ms delay)... Please help me to solve the problem.
Thanks and Regards,
Varadharaj Ellappan _________________ embedding innovation in engineers |
|
|
temtronic
Joined: 01 Jul 2010 Posts: 9245 Location: Greensville,Ontario
|
|
Posted: Sat Mar 10, 2012 11:29 am |
|
|
First, you don't say what kind of 'signal conditioning' you have between the thermistor or how it is powered but I would add a small capacitor across the thermistor, say a .1 mfd. depending on the lead length you can easily pickup 'noise'.
If you're powering the thermistor from the PIC supply voltage (+5), remember that it is NOT stable and can easily drop when say an LED is turned on, high LCD communications etc. Thermistors are far better when run in constant current, bridge configuration.
I would expect and accept the display to be +-1 digit (say 30.00 +-.01, 29.99 to 30.01), assuming 10 bit operation. This is normal for any ADC. Not seeing your program, I can't comment on any math functions you perform, 8 bit vs 10 bit ADC, etc. Typically, if program time permits, I'll sample 8 times, take the average, never rely on just one reading ! |
|
|
gpsmikey
Joined: 16 Nov 2010 Posts: 588 Location: Kirkland, WA
|
|
Posted: Sat Mar 10, 2012 1:27 pm |
|
|
Here are a few links I found helpful when I was working with my temperature sensing project (although I was using a different sensor, the principals are the same)
http://www.ccsinfo.com/forum/viewtopic.php?t=3462
http://www.ccsinfo.com/forum/viewtopic.php?t=44115
Unless you have a very small (low thermal mass) thermistor, measuring every 10 ms is only going to give you supply variations unless the thermistor is properly handled as temtronic mentioned. An averaging period that is closer to the thermal time constant of the sensor will give more realistic data. My preference is to put a small filter cap across the sensor then use software averaging so I have a realistic view of what it is seeing (it is highly unlikely it is going to change 20 degrees in 50 ms with the average sensor). Another consideration - just because you can calculate 30.16 degrees does not mean that is what it really is. Unless you have done some serious conditioning and calibration, that number is likely to be =/- a degree or two :-)
mikey _________________ mikey
-- you can't have too many gadgets or too much disk space !
old engineering saying: 1+1 = 3 for sufficiently large values of 1 or small values of 3 |
|
|
Mike Walne
Joined: 19 Feb 2004 Posts: 1785 Location: Boston Spa UK
|
More information please |
Posted: Sat Mar 10, 2012 4:03 pm |
|
|
If you're using the thermistor & a single resistor as a voltage divider, and Vcc as Vref, then your measurment system is ratiometric. In this case small variations in Vcc will not affect the measured temperature.
If you are using a small thermistor then shaking it WILL change its temperature. With 2.5V across a 10k thermistor the dissipation is 0.625 mW. Typical small bead thermistors have a dissipation constant of ~0.75mW/C. So even 0.625mW will produce a temperature rise of >0.8C. Shaking the thermistor disturbs the air flow around it, changing its temperature. Half a degree C is quite possible.
Mike |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
Powered by phpBB © 2001, 2005 phpBB Group
|