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?
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