Я использую плату Numleo STM32F401RE для измерения температуры окружающей среды. После процесса выборки я получаю цифровое значение от ADC_CHANNEL_TEMPERATURE, и я хочу преобразовать это цифровое значение в C °. Я искал в Интернете для этого, и я нашел два различных метода:Правильная формула для расчета датчика температуры с использованием STMF401RE Nucleo?
Метод 1: Page 226 в http://www.st.com/content/ccc/resource/technical/document
Temp(degree) = (V_sense - V_25)/Avg_slope + 25
Метод 2: Page 251 в http://www.st.com/content/ccc/resource/technical/document
Temp(degree) = (((110 - 30)*(TS_DATA - TS_CAL1))/(TS_CAL_2 - TS_CAL_1)) + 30
Where:
- TS_CAL2: temperature sensor calibration value at 110 C°
- TS_CAL1: temperature sensor calibration value at 30 C°
- TS_DATA: temperature sensor output from ADC
Это меня смущает, который одна из них является правильной формулой для вычисления температуры в С °. Хотя метод 1 из справочного руководства по STM32F401, результат температуры выглядит неправильно. Хотя метод 2 из справочного руководства по сериям STM32F0, он выглядит более разумным.
Все еще я не знаю, какую формулу следует применять при использовании платы Nucleo STM32F401RE?
Из любопытства, что вы измеряете с помощью двух методов и что вы используете в качестве эталонной температуры? –
Второе уравнение неверно, оно должно быть «80» или «110 - 30». –
Привет, во втором уравнении была опечатка (исправлено). У меня есть печь, где я могу контролировать температуру. Я использовал температуру в помещении (20oC), -10oC, 60oC в качестве контрольных температур. Результаты, полученные мной из уравнения 2, более разумны для эталонных температур. – bienle