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

 
 
> Температурный датчик ATxmega
KIG
сообщение Jul 26 2011, 06:53
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 115
Регистрация: 25-12-06
Пользователь №: 23 884



Добрый день.

Пытаюсь измерить температуру с помощью температурного датчика встроенного в ATxmega. Запускаю одиночное преобразование АЦП и на выходе получаю цифру 39 в десятичном формате. Что это за цифра? Температура или код который необходимо умножить на коэффициент чтобы получить температуру? В интернете написано, что необходимо использовать байты из сигнатурного кода производителя. Куда их нужно загрузить? В калибровочные регистры АЦП?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Юрий_СВ
сообщение Jul 26 2011, 08:21
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 73
Регистрация: 4-05-08
Пользователь №: 37 272



AVR1300
Цитата
The internal temperature sensor is linear. Ideally the measured value at 0°K will
correspond to a “0” result from the ADC. An approximate linear line can be made from
the 0°K to the measured value in the production. This measured production value is
stored in the signature row and the value correspond to a measurement done at 85°C
(358°K) with an accuracy of +- 5°C. The inaccuracy will result in some offset when
measuring temperatures.
The measurement stored in the signature row is done in unsigned mode with 12-bit
resolution with the internal 1V reference. The ADC setup has to be the same if this
value is going to be used in the application. The stored value can be used for a 2-
point calibration where the second point will be 0°K and the ADC value will be 0.
The best way to get accurate results is to do a 2-point calibration to get the incline of
the curve. To do a 2-point calibration, select 2 temperatures where you can do the
measurements where the temperature is known and is accurate. Do a measurement
at both temperatures with the wanted setup of the ADC (mode, sample rate,
resolution). When you have these values, you can calculate the coefficient for the
curve and you can use this in you application. The formula below can be used to
calculate the temperature change per bit:
...


Сообщение отредактировал Юрий_СВ - Jul 26 2011, 08:22
Go to the top of the page
 
+Quote Post
KIG
сообщение Jul 26 2011, 12:18
Сообщение #3


Частый гость
**

Группа: Участник
Сообщений: 115
Регистрация: 25-12-06
Пользователь №: 23 884



Попробовал при 12 битном беззнаковом режиме АЦП, Опорное напряжение внутреннее 1В. Получил код: 2384 (в десятичном формате). Калибровочные регистры содержат цифру 2650. Зная, что АЦП имеет смещение в 200 ед кода, получаю след формулу для пересчета Цельсии: 'C=(2384-200)*358К/2650-273К=22. Температура в комнате 33 градуса. Неужели контроллер нагрелся только на 22 градуса??

Еще вопрос: Кто-нибудь измерял внутренний сигнал Vcc/10??

Сообщение отредактировал KIG - Jul 26 2011, 12:19
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 14:10
Рейтинг@Mail.ru


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