I'm doing an experiment for one of my engineering classes this semester and I'm in a bit of a pinch. The experiment was to place a batch of resistors in a scientific furnace and use the Arudino to measure the resistance drop off with respect to ambient temperature. Each resistor would get its own analog pin and would be placed in its own voltage divider circuit. I got it to work, however, I misunderstood how to properly calculate TCR and now I'm stuck with an apparatus that has too little resolution. Now I'm getting aliasing in my data.
My voltage divider circuit consists of one 4.7k resistor on a breadboard and one 10k resistor placed inside the scientific furnace. The Arduino's analog pin reads the voltage drop between the two resistors. I've got a thermocouple going to a separate analog pin to measure the furnace temperature. Right now it takes about 10 bits (10 out of 1023) for the resistance drop off to settle.
I'd like to get better resolution (more bits to cover the same voltage range) but I'm kind of at a loss as to how to do that. Does anybody have any suggestions?
Draw a schematic with pen and paper and take a photo with your cell phone and post it. Leave nothing out.
Show the voltage source for the part that goes in the furnace.
Post your code using the "#" code tags tool button.
TCR
If your going to ask for help , explain your terms.
Connect a multimeter to your resistor and then put the resistor in the oven. Record the resistance change for reference to see the change to be expected. You might consider a Wheatstone bridge to see if it would provide measurement of small resistance changes.
Thanks for the suggestion zoomkat. I just ran a bunch of calculations using various resistor combinations in a wheatstone bridge and it looks like I'd be getting less resolution. But thank you for suggesting that! I hadn't considered another configuration.
Regarding the reference resistance change, I'm one step ahead of you! I ran a full set of five resistors simultaneously. The span for all five resistors was between ~325 bits at room temp and ~335 bits at 450 degrees F.
Perhaps I should give this a higher voltage supply?
My voltage divider circuit consists of one 4.7k resistor on a breadboard and one 10k resistor placed inside the scientific furnace. The Arduino's analog pin reads the voltage drop between the two resistors. I've got a thermocouple going to a separate analog pin to measure the furnace temperature. Right now it takes about 10 bits (10 out of 1023) for the resistance drop off to settle.
I'd like to get better resolution (more bits to cover the same voltage range) but I'm kind of at a loss as to how to do that. Does anybody have any suggestions?
Check the datasheet for the Atmel chip that's used for your Arduino. Its possible it can do differential analog readings using 2 inputs and/or possibly has the ability to change its gain. If these features are available, it will take some high level programming to set the proper registers, etc.
Regarding the reference resistance change, I'm one step ahead of you! I ran a full set of five resistors simultaneously. The span for all five resistors was between ~325 bits at room temp and ~335 bits at 450 degrees F.
If you need finer resolution, you might check the resolution selections in the arduino site reference section. Also, you might experiment using a pot as a voltage divider on the external voltage reference pin and set the reference voltage close to the voltage on your voltage divider center output.
It should be possible to create an amplifying circuit such that the 0-5V range on your analog input represents a smaller range of resistance. Or you could use a higher precision ADC.
We don't know the Arduino he has. The Due has an ADC Channel Gain Register (ADC_CGR) and can be set to give gain = 4 and it also has Fully Differential Mode for each channel. If its an Arduino compatible with ATTINY85, it has 2 Differential ADC Channel Pairs with Programmable Gain (1x, 20x).
Oversampling and averaging will help with resolution if the readings are inconsistently changing by more than 1 count, but it will not help with the fact that there's only 10 counts resolution to work with (325 to 335) for room temp to 450 deg F.
If the Arduino board's microcontroller does not have an ADC gain option, then new or additional hardware is required.