Задание: Разработать принципиальную схему и алгоритм функционирования прибора для измерения температуры со следующими характеристиками:
ü 4 канала для подключения термометров сопротивления типа Pt100;
ü погрешность измерителя температуры не более 0.1°С в диапазоне 0…150°С.
ФУНКЦИОНАЛЬНАЯ СХЕМА
Алгоритм функционирования
В данном задании предлагается реализовать 4-х канальный измеритель температуры.
Это сделано следующим образом:
1. Снимаем напряжение с терморезисторов
2. Преобразуем напряжение из аналоговой формы в цифровую с помощью АЦП;
3. Полученный код преобразуется в температуру и выводится на индикатор.
При включении питания происходит определенная настройка всех модулей MSP430. Для того чтобы приступить к измерению температуры с терморезисторов необходимо произвести настройку модулей для обеспечения нормальной работы при данном задании.
1) Настройка основного модуля тактирования:
Основной модуль тактирования обеспечивает тактирование устройств семейства MSP430.
От основного модуля тактирования можно получить тактовые сигналы, например:
§ ACLK – это источник тактовых импульсов с делителем на 1, 2, 4 и 8. ACLK программно выбирается для соответствующих модулей.
§ MCLK – основное тактирование. MCLK выбирается программно. MCLK делится на 1, 2, 4 или 8. Используется ЦПУ и системой.
Управляющие биты регистра статуса SCG0, SCG1, OSCOFF и CPUOFF конфигурируют рабочие режимы MSP430 и позволяют включать или отключать отдельные части основного модуля тактирования. С помощью регистров DCOCTL, BCSCTL1 и BCSCTL2 осуществляется конфигурирование основного модуля тактирования. Основное тактирование может конфигурироваться и реконфигурироваться программным обеспечением в любой момент времени в ходе выполнения программы.
С – флаг переноса;
N – флаг отрицательного результата;
Z – флаг нулевого результата;
V – флаг переполнения.
GIE – глобальное разрешение прерываний. В данном случае устанавливается в «1» для того, чтобы разрешить прерывания.
SCG0/SCG1 – программируют один из режимов малого энергопотребления;
CPUOFF – останавливает/запускает работу ЦПУ;
OSCOFF – отключает/включает базовый тактовый генератор.
2) Настройки АЦП:
Разрядность АЦП выбираем равную 14, при которой АЦП работает в 2 такта:
1такт – определяем поддиапазон рабочих напряжений, куда попадает входное напряжение;
2такт – осуществляется 12-тиразрядное преобразование внутри выбранного диапазона.
q – степень квантования. Показывает на сколько должно измениться входное напряжение, чтобы код изменился на единицу.
Определим ступень квантования (q):
где N – разрядность АЦП.
Тогда:
ΔU – изменение напряжения при изменении температуры на 1 оС.
следовательно, ∆U=10*0.00018=0.0018В.
Регистр управления АЦП:
ACTL:
ADCLK– программирует частоту для тактирования АЦП
Соответственно, АЦП будет тактироваться частотой MCLK.
Функцию формирования частоты MCLK берет на себя базовый таймер.
Информация, которая хранится в регистре BTCTL, определяет функции базового таймера.
SSEL и DIV – кодируют входную частоту BTCNT2. Необходимо сформировать частоту MCLK, следовательно:
Таким образом, формируется частота MCLK, которая будет тактировать АЦП.
FRQ1 и FRQ2 – определяют частоту fLCD.
Для оптимальной производительности с низким энергопотреблением модуль ACLK конфигурируется на работу от часового кварцевого резонатора на 32768Гц.
Pd – переводит АЦП в режим малого энергопотребления;
Range – предназначен для выбора поддиапазона;
ACTL.11 = 1, автоматически выбирается поддиапазон для 14-разрядного преобразования.
Current – кодирует входной канал АЦП, к которому подключен выход генератора тока;
INPUT – кодирует один из 6 каналов АЦП напряжение, с которых необходимо перевести в цифровую форму;
Напряжение снимается как разность U4-U5 (что позволяет избавиться от сопротивления проводов), но так как сигнал, который будет идти с мультиплексора 2 на А5 равен нулю (терморезисторы заземлены), то соответственно А4 будет являться каналом, с которого аналоговое напряжение будет передаваться на АЦП.
Vref – обеспечивает использование в качестве Uоп внешнее или внутреннее Uпит.
ACTL.1 = 0– используем внешнее Uпит;
CS – с помощью этого бита дается команда на старт преобразования. Если «1», следовательно, осуществляется запуск. CS = 1. команда на старт преобразования дана.
Так как источником прерывания является АЦП, то необходимо установить бит ADIE разрешающий прерывание от АЦП.
Используется терморезистор Pt100, его сопротивление изменяется на 0.4 Ом на 1 оС.
Таким образом:
∆U=∆R*I → I=0.0018/0.4=0.0046A
Выберем необходимое сопротивление Rext, которое программирует генератор тока.
Так как измерения проводятся с использованием генератора тока, то качество АЦП определяется только качеством Rext.
N=(Rsens*214)/Rext à не зависит от Uоп. Поэтому можно выбрать Uпит в данной работе выбрано Uпит=3В.
3) Мультиплексор:
В данной работе используются 2 мультиплексора ADG604, которые являются аналоговыми, состоящими из 4-х одинарных каналов. ADG604 коммутирует один из 4-х входов на общий выход D, в соответствии с состоянием управляющих и адресных сигналов A0, A1 и EN. Низкий логический уровень «0» на входе EN отключает устройство. Таким образом, на входы EN обоих мультиплексоров изначально подаем высокий логический уровень «1».
Таблица истинности:
A1 |
A0 |
EN |
Открытый Канал |
Х |
Х |
0 |
Нет |
0 |
0 |
1 |
1 |
0 |
1 |
1 |
2 |
1 |
0 |
1 |
3 |
1 |
1 |
1 |
4 |
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.