CCS C Software and Maintenance Offers
FAQFAQ   FAQForum Help   FAQOfficial CCS Support   SearchSearch  RegisterRegister 

ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

CCS does not monitor this forum on a regular basis.

Please do not post bug reports on this forum. Send them to CCS Technical Support

LCD display value flickering(hunting) problem

 
Post new topic   Reply to topic    CCS Forum Index -> General CCS C Discussion
View previous topic :: View next topic  
Author Message
evaradharaj



Joined: 15 Jan 2009
Posts: 60

View user's profile Send private message Visit poster's website

LCD display value flickering(hunting) problem
PostPosted: Sat Mar 10, 2012 9:48 am     Reply with quote

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: 9241
Location: Greensville,Ontario

View user's profile Send private message

PostPosted: Sat Mar 10, 2012 11:29 am     Reply with quote

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

View user's profile Send private message

PostPosted: Sat Mar 10, 2012 1:27 pm     Reply with quote

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

View user's profile Send private message

More information please
PostPosted: Sat Mar 10, 2012 4:03 pm     Reply with quote

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
Display posts from previous:   
Post new topic   Reply to topic    CCS Forum Index -> General CCS C Discussion All times are GMT - 6 Hours
Page 1 of 1

 
Jump to:  
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