jodicalhon
New Member
I'm playing with a simple temperature datalogger using an LM335 temp sensor into an 08M.
The LM335 gives 10mV/degK. Using normal 8bit ADC at 5 volts gives 5000/256 = 19.5 mV/step. So my temperature reading resolution is down to ~2 degC. Not so good.
Using readadc10 gives a resolution of 0.5 degC, so this would be better, but I was unsure about writing and reading datawords to eeprom, though I've taken on board the advice to jhimes in the 'eeprom data storage' thread. Besides, my data memory is limited in the 08M so I'd like to keep my readings to byte values to maximise the number of readings I can make.
Which got me thinking (hang on...nearly there...), I don't need to take measurements over a 50 deg range (5 volts), only about a 15 to 20 deg range.
Is there a way to scale the range the ADC reads? Besides varying the supply voltage that is. Any clever maths? Not so clever maths? Input conditioning?
Any ideas appreciated.
The LM335 gives 10mV/degK. Using normal 8bit ADC at 5 volts gives 5000/256 = 19.5 mV/step. So my temperature reading resolution is down to ~2 degC. Not so good.
Using readadc10 gives a resolution of 0.5 degC, so this would be better, but I was unsure about writing and reading datawords to eeprom, though I've taken on board the advice to jhimes in the 'eeprom data storage' thread. Besides, my data memory is limited in the 08M so I'd like to keep my readings to byte values to maximise the number of readings I can make.
Which got me thinking (hang on...nearly there...), I don't need to take measurements over a 50 deg range (5 volts), only about a 15 to 20 deg range.
Is there a way to scale the range the ADC reads? Besides varying the supply voltage that is. Any clever maths? Not so clever maths? Input conditioning?
Any ideas appreciated.