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

 
 
> термодатчик в F411, SiLabs C8051F411
AndreyS
сообщение Mar 4 2011, 16:04
Сообщение #1


Местный
***

Группа: Участник
Сообщений: 235
Регистрация: 28-01-05
Из: Санкт-Петербург
Пользователь №: 2 276



Добрый день.

Работаю с процом F411, включаю внутреннее АЦП на порт температурного датчика (мукс 0x18) и получаю код (в среднем 0x0200), который после расчетов (параметры взяты из даташита) с использованием смещения 0.9в и коэф передачи 0.00295в/градус получаю -210 градусов цельсия.
Само собой, что цифра врет.
Думал что врут настройки АЦП. Но по другим каналам (внешним входам) соответствующие напряжения, поданные на вход АЦП (т.е. после пересчета напряжений получаю соответствующие ед. АЦП). Решил измерить VDD, включил соответственно мукс на 0x19 и получил соответственно 0x0FFF, что и должно быть. Думал что не включил сам датчик (в регистр REF0CN пишу 0x17), решил записать в REF0CN 0x13 (т.е. по даташиту его выключить). Получил на этом канале значения в пределах 0x0008 (т.е. реально выключился). Вернул все обратно (т.е. включил REF0CN=0x17). И цифра опять в том же пределе 0x0200 ед АЦП.

Подскажите пожалуйста формулу пересчета ед АЦП в температуру с конкретными значениями констант и если она такая же как и у меня, то как мне добиться правильного значения термодатчика в ед АЦП?

Формула:

T=((adc_dat.U_temp_dat*ADC_Vref/ADC_razr)-ADC_offeset_temp)/ADC_slope_temp;

adc_dat.U_temp_dat - значение канала в ед АЦП
ADC_Vref - 2.2 (величина ИОН)
ADC_razr - 2^12 (4096)
ADC_offeset_temp - 0.9
ADC_slope_temp - 0.00295

PS условия измерений - комнатная температура (отлаживаю прогу). Не ожидал споткнуться на этом месте. Корректная работа термодатчика нужна в проекте.


--------------------
Удачи.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
редактор
сообщение Apr 15 2011, 12:09
Сообщение #2


Местный
***

Группа: Участник
Сообщений: 356
Регистрация: 9-06-07
Пользователь №: 28 315



Я с силабовскими АЦП обычно работаю по такому алгоритму.
Завожу таймер на 1 мс, по которому запускается преобразование АЦП. Затем в прерывании по АЦП после считывания результата выставляю следующий канал. Таким образом время до следующего преобразования получается (1мс - время преобразования).
Для заряда емкости АЦП этого в большинстве случаев достаточно.
Но это работает если не надо проводить "синхронных" измерений двух или более каналов.


--------------------
Хорошую систему делают из стандартных блоков нестандартно мыслящие инженеры.
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 30th July 2025 - 09:17
Рейтинг@Mail.ru


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