Программа Сервисный Центр
0

Универсальный преобразователь напряжения в последовательность импульсов на микроконтроллере PIC12F683


Если для преобразования выходного сигнала аналогового датчика в последовательность импульсов использовать обычный стандартный микроконтроллер, его выход будет совместим с цифровыми портами ввода/вывода.

Когда возникает необходимость преобразования значений напряжения аналогового датчика в серию импульсов, универсальным решением может стать простейший микроконтроллер. В схеме на Рисунке 1 использован 8-выводной микроконтроллер PIC12F683, формирующий последовательность импульсов, длина которой пропорциональна измеряемому входному напряжению. Подобная схема может оказаться полезной, например, для преобразования сигнала датчика в формат, совместимый со стандартным цифровым входом. Рабочему диапазону входных напряжений от 0 до 5.00 В соответствует диапазон длин последовательностей от 0 до 500 импульсов.

Универсальный преобразователь напряжения в последовательность импульсов на микроконтроллере PIC12F683
Рисунок 1.Количество импульсов на выходе GP2 микроконтроллера пропорционально
напряжению, измеренному на входе AN3. Счетчик запоминает число, соответствующее
длине последовательности, которое затем декодируется и отображается на
мультиплексируемом светодиодном дисплее с общим катодом.

К примеру, входное постоянное напряжение (VIN) 1.25 В будет преобразовано в последовательность из 125 импульсов, количество которых (Pt) в общем случае вычисляется по формуле

Pt = VIN × 100,

где VIN – выраженные в вольтах целые, десятые и сотые доли входного напряжения. В данной схеме каждый импульс имеет длительность 1 мс при коэффициенте заполнения 50%. Время обновления (Rt) определяется выражением

Rt = VIN × 1 мс + задержка 50 мс.

Наибольшее время обновления составит 0.499 с (плюс задержка 50 мс) при входном сигнале 4.99 В, в то время как наименьшее время 51 мс соответствует входному напряжению 0.01 В. 50-миллисекундная задержка добавлена ко всем отсчетам специально, чтобы исключить мерцание дисплея.

Входное аналоговое напряжение с движка подстроечного резистора 47 кОм поступает на аналоговый вход микроконтроллера (AN3). Разрядность внутреннего аналого-цифрового преобразователя (АЦП) установлена равной 8.

Для проверки программы микроконтроллера в схему включен трехдекадный счетчик MC14553, подсчитывающий число импульсов в последовательности. Код длины последовательности защелкивается во внутреннем регистре счетчика и мультиплексно, по четыре разряда, выводится на дешифратор MC14543 (CD4543), управляющий мультиплексируемым четырехразрядным светодиодным дисплеем через три ключевых транзистора. Внешний вид схемы, собранной на макетной плате, показан на Рисунке 2.

Универсальный преобразователь напряжения в последовательность импульсов на микроконтроллере PIC12F683
Рисунок 2.Отсутствие критических требований к топологии или
высокочастотных цепей позволило собрать и испытать
схему на стандартной макетной плате.

Для формирования на выводе GP2 последовательности импульсов с длиной, пропорциональной входному напряжению, программа микроконтроллера (см. ссылку на листинг в конце статьи) берет результат преобразования АЦП с весом единицы младшего разряда (LSB) 19.60 мВ и преобразует его в двоично-десятичную форму. Затем, используя инструкции DIG3, DIG2 и DIG1, соответственно, программа вычисляет десятичные эквиваленты единиц, десятых и сотых долей полученного числа. Значение DIG1 запоминается в переменной “units” для использования в цикле формирования числа единиц импульсов. Аналогично, значение DIG2 умножается на 10 и записывается в переменную “decimals” для генерации десятков импульсов. И в конце значение DIG3 запоминается в переменной «units», которая умножается на 100 для получения сотен импульсов.

Универсальный преобразователь напряжения в последовательность импульсов на микроконтроллере PIC12F683
Рисунок 3.Временная диаграмма сформированной импульсной последовательности.
Уровень сигнала, отображаемого желтым цветом, остается высоким на
протяжении всего времени трансляции последовательности.

Таким образом, например, измеренные 2.54 В будут состоять из 4, затем 50, и затем 200 импульсов, из которых будет получено всего 254 импульса, следующих с периодом 1 мс. Соответственно, для передачи этой последовательности импульсов потребуется примерно 254 мс. Если одна из цифр равно нулю, программа пропускает соответствующий цикл. На Рисунке 3 показаны осциллограммы последовательности импульсов и соответствующего сигнала, формируемого на выходе GP5.

Универсальный преобразователь напряжения в последовательность импульсов на микроконтроллере PIC12F683
Рисунок 4.Импульсы LE (запись) и MR (сброс), сформированные микроконтроллером
по окончании цепочки импульсов, используются для сохранения
результатов измерения и очистки счетчика, соответственно.

По завершении передачи последовательности на выходе GP0 формируется отрицательный импульс длительностью 1 мс, переписывающий содержимое счетчиков во внутренние регистры MC14553. Вслед за ним на выходе GP1 появляется второй импульс такой же длины, но положительной полярности, сбрасывающий в ноль все регистры счетчика (Рисунок 4). Для регистров дешифратора MC14543 установлен прозрачный режим. Выход GP5 используется микроконтроллером для индикации процесса передачи импульсной последовательности.

Три p-n-p транзистора 2N2907 (Q1 … Q3), непрерывно сканирующих светодиодный дисплей, управляются счетчиком MC14553. Транзистор включает десятичную точку, формируя 5-вольтовый импульс только в те моменты времени, когда сигнал на выходе /DS1 имеет низкий уровень. На Рисунке 5 показана последовательность из 11 импульсов, соответствующая входному напряжению 0.11 В, и импульс записи LE, генерируемый в конце передачи импульсной последовательности.

Универсальный преобразователь напряжения в последовательность импульсов на микроконтроллере PIC12F683
Рисунок 5.При входном напряжении 0.11 В микроконтроллер генерирует 11
импульсов, за которыми следует импульс записи LE,
сохраняющий результат измерения.

Для приложений более высокой точности (например, 4.88 мВ на LSB), вы можете выбрать 10-разрядную конфигурацию АЦП. Тогда период выходного сигнала может быть сокращен до 0.5 мс, чтобы избежать увеличенных задержек при максимальных входных напряжениях. В этом случае при входном напряжении 1.000 В длина цепочки составит 1000 импульсов. При батарейном питании схемы рекомендуется использовать цифровой жидкокристаллический дисплей, для которого потребуются три дешифратора MC14543.

 
 
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии в данной новости.
 
 
 
Обратная связь

Наши партнеры

 

Опросы

Есть ли справедливость в жизни?
Конечно есть, уверен!
Вроде как должна быть, но...
Затрудняюсь ответить...
Какая справедливость? О чем Вы?
Эх.., нет правды на свете!

 

Облако тегов

Требуется для просмотраFlash Player 9 или выше.

Показать все теги
 

Календарь публикаций

«    Октябрь 2017    »
ПнВтСрЧтПтСбВс
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
 
 

Архив новостей

Сентябрь 2017 (4)
Август 2017 (36)
Июль 2017 (32)
Июнь 2017 (42)
Май 2017 (45)
Апрель 2017 (47)
 
Наверх Сервисные мануалы Даташиты Ремонт LCD, ЖК телевизоров LG Samsung Скрипт программы "Сервисный центр"