Перейти к содержанию
    

Датчик температуры STM32F4xx

Термостат не ужас а реальность, если это конечно нужно. Но нужно это не всегда. Тестили мы в термостате и что же, выход из слипа и начало роста температуры за минуту до 5 градусов. Уход в слип и падение температуры. В зависимости от тактовой, программы, периферии и много чего температуры разные. Не очень объективно измерять температуру таким образом.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Да всего-то нужно определить температуру кристалла после включения девайса и детектировать +85 или +105, но от этого хоть можно отказаться.

Получается, что верхняя температура кристалла +125 должна однозначно определиться при любом наклоне, - а в доке на сей счет туману много. Как в случае с uart baud rate :) - мудрёности много, а суть так и не изложена.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Добавлю, что в STM32F3 есть два калибровочных значения при 30С и 110С (сырые данные АЦП).

Это к вопросу объективности измерений - как и раньше не объективно, но положительная динамика наблюдается))

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А для чего мерите температуру?

Мы мерим для определения температуры в районе 85 градусов. Чтоб всего лишь "сообщить оператору" о высокой температуре кристалла. Использовать его как датчик температуры девайса не есть хорошо!

Поэтому ничего страшного если вместо 85 показывает 80 или 90 - или Вы будете отключать устройство?

По моим наблюдениям 400 серия более точнее, чем 10x серия, да и по разбросам и чувствительности 400 лучше (см. даташит).

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я использую макрос __LL_ADC_CALC_TEMPERATURE из stm32f4xx_ll_adc.h. Библиотека использует калибровочные данные из адресов 

#define TEMPSENSOR_CAL1_ADDR               ((uint16_t*) (0x1FFF7A2CU)) /* Internal temperature sensor, address of parameter TS_CAL1: On STM32F4, temperature sensor ADC raw data acquired at temperature  30 DegC (tolerance: +-5 DegC), Vref+ = 3.3 V (tolerance: +-10 mV). */
#define TEMPSENSOR_CAL2_ADDR               ((uint16_t*) (0x1FFF7A2EU)) /* Internal temperature sensor, address of parameter TS_CAL2: On STM32F4, temperature sensor ADC raw data acquired at temperature 110 DegC (tolerance: +-5 DegC), Vref+ = 3.3 V (tolerance: +-10 mV). */

 

Пример использования есть в STM32Cube\Repository\STM32Cube_FW_F4_V1.24.0\Projects\STM32F411RE-Nucleo\Examples_LL\ADC\ADC_TemperatureSensor\

Для F7 серии STM32Cube\Repository\STM32Cube_FW_F7_V1.15.0\Projects\STM32F767ZI-Nucleo\Examples_LL\ADC\ADC_TemperatureSensor\

F3 STM32Cube\Repository\STM32Cube_FW_F3_V1.10.0\Projects\STM32F334R8-Nucleo\Examples_LL\ADC\ADC_TemperatureSensor\

F2 STM32Cube\Repository\STM32Cube_FW_F2_V1.7.0\Projects\STM32F207ZG-Nucleo\Examples_LL\ADC\ADC_TemperatureSensor\

F1 STM32Cube\Repository\STM32Cube_FW_F1_V1.7.0\Projects\STM32F103RB-Nucleo\Examples_LL\ADC\ADC_TemperatureSensor\

F0 STM32Cube\Repository\STM32Cube_FW_F0_V1.9.0\Projects\STM32F072RB-Nucleo\Examples_LL\ADC\ADC_TemperatureSensor\

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...