Разработка схемы и алгоритма работы портативного двухканального термометра для измерения температуры в диапазоне -50…,+150 оС, страница 2

Для терморезистора  Pt100 предельно допустимые токи составляют единицы микроампер и даже единицы миллиампер. Т.е в данном случае ток  6.25мА вполне приемлем.  

Как уже упоминалось выше, генератор тока, которым мы питаем  терморезисторы Pt100, встроен в микроконтроллер. Резистор Rext  предназначен для программирования этого генератора.

                                             I= 0.25* Uоп / Rext

                                      Rext = 0.25* 4.096/0.00625 = 160 Ом

Код, выдаваемый АЦП, не зависит от величины опорного напряжения. Качество измерений определяется стабильностью резистора Rext. Это было доказано выше.

Индикация измеренной температуры осуществляется при помощи цифрового статического LCD. Выход АЦП через порты Com и Seg подключается к LCD, на котором и будет осуществляться показ значений температуры.

3).Принципиальная схема.

 


4). Алгоритм функционирования.

1.  Исходные настройки MSP430: перед началом работы необходимо произвести начальные настройки АЦП, находящегося внутри микроконтроллера. Это делается с помощью регистра управления АЦП ACTL(114h):

Bit 0, ACTL.0: бит старта на преобразование. Этот бит необходимо программно установит в 1 непосредственно перед началом преобразования. Это будет делаться в процессе выполнения программы.

Bit 1, ACTL.1: Vref – выбор в качестве опорного напряжения внутреннего или внешнего напряжения питания. В данном случае перед началом работы необходимо программно установить этот бит 1, т.к в качестве опорного напряжения используется внешнее напряжение питания.

Bit 2-5, ACTL.2-.5: Input – выбор канала микроконтроллера с которого необходимо производить преобразование.

В данном случае преобразование необходимо производить с двух каналов MSP430 А1 и А4. В зависимости от этого в Input запишутся следующие значения:

    

Bit 6-8, ACTL.6-.8 : Current - кодирует входы, подключенные к внутреннему генератору тока. Когда микроконтроллер обрабатывает информацию, поступающую с  канала А1 MSP430, генератор тока должен подключаться к каналу А0, а если идет обработка информации с канала А4, то к каналу А3. В зависимости от этого в Current запишутся следующие значения:

 

Bit11, ACTL.11: Range – выбор 12 – разрядного или 14 – разрядного режима работы. По умолчанию установлен 14 – разрядный режим работы АЦП.

Bit12, ACTL.12: Power Down (Pd) – переводит АЦП в режим пониженного энергопотребления, если установлен в 1.            

Bits 13, 14:  ADCLK – выбор частоты тактирования АЦП. В зависимости от выбора частоты в ADCLK запишутся следующие значения:

В данном случае в ADCLK запишем комбинацию, соответствующую частоте MCLK.

Таким образом можно произвести настройки АЦП программно, записав в регистр ACTL необходимые параметры.

2. В разрабатываемом термометре переход от снятия информации с первого канала термометра к снятию информации со второго, будет происходить по прерыванию от таймера, а сигналом завершения преобразования напряжения, пропорционального сопротивлению термодатчика, зависящего от температуры, в код, будет служить прерывание от АЦП. Если какое - либо устройство запросило прерывание и включены биты общего разрешения прерываний GIE и индивидуальный бит разрешения прерывания от этого устройства, будет вызвана процедура обработки прерывания. В регистрах SFRs расположены биты доступа к некоторым модулям, биты разрешения прерываний и флаги прерываний. Регистры SFRs занимают начало адресного пространства и реализованы в однобайтном формате. Доступ к ним производится с помощью однобайтных команд. Конфигурация регистров SFRs описывается индивидуально для каждого конкретного устройства. С помощью индивидуальных битов разрешения прерывания можно отключать источники маскируемых прерываний как по отдельности, так и все сразу с использованием общего бита разрешения всех прерываний (GIE) в регистре статуса (SR). Маскируемое прерывание от таймера разрешается битом IE2.7 в регистре BTIE. Маскируемое прерывание от АЦП разрешается битом IE2.2 в регистре ADIE.  Прерывание от таймера будет устанавливать флаг прерывания – бит IFG2.7 в регистре BTIFG. Прерывание от АЦП будет устанавливать флаг прерывания – бит IFG2.2 в регистре ADIFG.

Перед началом работы необходимо обязательно установить биты разрешения прерываний от АЦП и таймера, а также GIE=1. GIE – бит общего разрешения прерываний в регистре статуса (SR).