I ran some tests with some additional temperature sensor modules (BME280, SHT11, HTU21, ds18b20) physically adjacent to the r3 wind sensor (using the calibrated example code with an Arduino Mega2560 & external 5v power).
When airflow inside the duct is zero (ie, blower not running) and the air temperature inside is approximately 65-75 degrees (F), the temperature calculated from the wind sensor's onboard thermistor is generally within 2-3 degrees of the temperatures reported by the other sensors.
When the blower is running & air temperature inside the duct is approximately 45-50 degrees (F), the temperature calculated from the wind sensor's onboard thermistor reads about 10-15 degrees (F) lower than the other sensors (~39.8F thermistor vs ~48.9F ds18b20).
Since I can easily mount a ds18b20 sensor within an inch or two of the r3 wind sensor, would I get more accurate windspeed measurements if I modified the code to just ignore the windspeed sensor's onboard thermistor output & base the temperature portion of the windspeed calculations on the value obtained from the DS18B20 instead?
Example:
Code: Select all
// instead of calculating TempCtimes100 from the windspeed sensor's thermistor,
// fetch it directly from the DS18b20
TempCtimes100 = thermometers.getTempC(t1) * 100;
// now work backwards & use it to generate an equivalent TMP_Therm_ADunits value
TMP_Therm_ADunits = (16.862 - sqrt((16.862 * 16.862) - (0.02 * (9075.4 - TempCtimes100)))) / .01;
if (TMP_Therm_ADunits < 0)
TMP_Therm_ADunits = (16.862 + sqrt((16.862 * 16.862) - (0.02 * (9075.4 - TempCtimes100)))) / .01;
// ... continue with remainder of calculation per example code