реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> STM32F100 и встроенный датчик температуры, Неправильно считает.
west329_
сообщение Jul 26 2012, 13:25
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 378
Регистрация: 10-09-07
Из: UKR/Voz
Пользователь №: 30 423



Добрый день.

Подскажите как правильно пересчитать считанное показание на 16 канале АЦП на котором весит внутренний датчик температуры контроллера.
Даташит выкурил уже, пару раз.


Формула с даташита один к одному.
ad4 = ( (1.41-(raw_tmp*0.0007961) ) / 4.3) + 25.0;

на выходе float 25.0044689, при прогреве контроллера, вижу что значение меняется но в сотых и тысячных. Грешу на формулу.
Go to the top of the page
 
+Quote Post
VslavX
сообщение Jul 26 2012, 13:57
Сообщение #2


embarrassed systems engineer
*****

Группа: Свой
Сообщений: 1 083
Регистрация: 24-10-05
Из: Осокорки
Пользователь №: 10 038



Функция возвращает температуру в градусах +20. То есть нулевое значение соответствует -20С, значение 45 соответствует +25С.
Функция io_adc_convert() возвращают целое беззнаковое 12-битное значение считанное с канала АЦП.
CODE

#define IO_ADC_TBAT_VSENSE_25 1750 // типичные 1.41V при 25C (3.3V опорное АЦП)
#define IO_ADC_TBAT_SLOPE_100 534 // типичные 430mV на 100C (3.3V опорное АЦП)

IO_CALL_TYPE
DWORD
IO_CALL_OPTION
io_apm_temp(void)
{
DWORD ret;

ret = io_adc_convert(ADC_MUX_TBAT);
if (ret > IO_ADC_TBAT_VSENSE_25)
{
ret = ((ret - IO_ADC_TBAT_VSENSE_25)*100)/IO_ADC_TBAT_SLOPE_100;
if (ret > 45)
{
ret = 0;
}
else
{
ret = (25 + 20) - ret;
}
}
else
{
ret = ((IO_ADC_TBAT_VSENSE_25 - ret)*100)/IO_ADC_TBAT_SLOPE_100;
ret += 20 + 25;
}
return ret;
}

Go to the top of the page
 
+Quote Post
ukpyr
сообщение Jul 26 2012, 14:42
Сообщение #3


Профессионал
*****

Группа: Участник
Сообщений: 1 264
Регистрация: 17-06-08
Из: бандустан
Пользователь №: 38 347



Код
t_int = ((174968L - (adc * 100L)) / 53L) + 250;
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 27th June 2025 - 07:10
Рейтинг@Mail.ru


Страница сгенерированна за 0.01351 секунд с 7
ELECTRONIX ©2004-2016