![]() |
![]() |
||||||||||||
Двухканальный термометр с ЖК - дисплеем
Автор: Романович Никита Поздравляю Кота с 16-летием, желаю ему успехов и процветания. И в честь такой праздничной даты хочу подарить ему необходимое в каждом доме устройство – цифровой термометр. Данный термометр измеряет температуру с двух датчиков, один внутренний, а другой внешний, и распаян на отдельной плате. Показания выводятся на 9-и символьный ЖКИ. Таким образом реализована возможность контроля температуры в двух точках. Питание осуществляется от батарейки типоразмера CR2032. Диапазон напряжения питания от 3 до 5 Вольт. Общий вид платы устройства показан на рисунке ниже: Отличительной особенностью данного термометра является применение ЖК – индикатора с мультиплексом 1:4. В качестве управляющего микроконтроллера применён 8-битный микроконтроллер фирмы Microchip с технологией nanoWatt - PIC16F684. Это позволило снизить энергопотребление в рабочем режиме до 350мкА, в ждущем режиме ток потребления мой китайский мультиметр измерить не смог. В качестве датчиков температуры используются датчики STLM75 в корпусе MSOP8. Микросхема HT1621B - драйвер ЖКИ. Принципиальная схема: Принцип работы Термометр всё время находится в спящем режиме. При нажатии кнопки SB1 микроконтроллер выходит из режима сна, будит первый датчик и считывает данные температуры, после повторяет то же самое со вторым датчиком. После преобразования данные отправляются в микросхему-драйвер ЖКИ, по истечению 3 секунд флаг прерывания от кнопки сбрасывается и микроконтроллер переходит в основной цикл программы, в котором он переводит в режим сна все датчики и драйвер ЖКИ и уходит в сон. Хочу рассказать подробнее про работу с микросхемой-драйвером ЖКИ. HT1621B представляет собой контроллер для LCD дисплея 32х4 с управлением памятью, и позволяет управлять мультиплексированными дисплеями с количеством сегментов до 32-х. Она управляется по SPI интерфейсу, имеет встроенный генератор тактовой частоты и рабочее напряжение 2,4-5,2 В. Код команды для настройки микросхемы имеет вид: 0b100 хххх-хххх-х. Для инициализации микросхемы достаточно отправить команды: SYS EN, RC256K, BIAS1/3. Команда SYS EN - включает внутренний генератор, RC256K - выбирает источник тактового сигнала (в данном случае внутренний RC), BIAS1/3 - позволяет выбрать необходимый режим мультиплексирования ЖКИ. Команды для начальной инициализации драйвера (взяты из datasheet): Для отправки данных служит команда вида: 0b101 A5A4A3A2A1A0 D0D1D2D3, где A5A4A3A2A1A0 - указывают адрес RAM (включает нужные сегменты), D0D1D2D3 - указывают на включение нужного общего провода ЖКИ. Организация памяти HT1621B: Резистор R7 служит для установки напряжения питания дисплея. Сопротивление резистора зависит от напряжения питания схемы и необходимого напряжения для работы ЖКИ. Так как термометр питается от 3 Вольт и напряжение питания ЖКИ то же 3 Вольта, то вместо резистора устанавливается перемычка. Если напряжение питания схемы будет 5 Вольт, то сопротивление резистора R7 необходимо выбрать в районе 30кОм. В качестве датчиков температуры используются микросхемы STLM75. Они работают по интерфейсу I2C, имеют низкий рабочий ток около 125 мкА, измеряют температуру от -55 до +125 градусов с точностью измерений 0,5 градуса, напряжение питания 2,7-5,5 Вольт. Работа с этим датчиком ничем особенным не выделяется. Оцифрованное значение температуры готово уже сразу после включения питания микросхемы. Необходимо только выдержать паузу около 150 мс для проведения преобразования. Для получения данных о температуре нужно отправить команду записи с адресом микросхемы. Данная команда имеет вид: 0b1001A2A1A0 0, где A2A1A0 - адрес микросхемы, который устанавливается подключением выводов 5,6 и 7 к минусу или плюсу питания. Затем отправляется команда чтения 0b10010001 и после этого датчик отправляет 16 бит со значением температуры. Вывод 3 микросхемы DD1 можно к микроконтроллеру не подключать, он служит как выход прерывания которое срабатывает при превышении запрограммированного порога температуры, а эта функция пока в прошивке не реализована. Но резисторы подтяжки R3 и R4 необходимо оставить, так как этот вывод имеет выход с открытым стоком. Конструкция устройства Термометр выполнен на односторонней печатной плате с двумя перемычками. Плата разрабатывалась в САПР DipTrace. Также в архиве есть проект созданный в САПР AltiumDesigner. На фото выше плата имеет некоторые ошибки, в архиве они исправлены. Чертёж печатной платы: Чертёж печатной платы внешнего датчика температуры: Внешний датчик температуры подключается к основной плате проводами. В устройстве используется ЖКИ производства минского НПО"Интеграл" ИЖЦ 6-9/7Ф, эти индикаторы применяются в газовых счётчиках. Понятно, что не все, при желании повторения данного устройства, смогут найти необходимый ЖКИ. Но это не является проблемой. Подойдёт любой ЖКИ с нужным количеством символов. Естественно прошивку мк придётся немного переделать, исходный файл есть в архиве. В этой статье автор рассказывает о технологии приклеивания контактов к ЖКИ которые не имеют собственных контактов, поэтому можно использовать ЖКИ со старых нерабочих (или рабочих:)) калькуляторов. На фото ниже показан такой дисплей, к которому я приклеил контакты по данной технологии: Прошивка написана на Си в среде MPLab. Интерфейсы ISP и I2C реализованы на программном уровне. Для прошивки микроконтроллера использовался программатор Pickit3. Всем хорошего настроения и удачи. Если возникнут вопросы, задавайте их на форуме.
Файлы: Все вопросы в Форум.
|
|
||||||||||||
![]() |
![]() |


![]() |
![]() |
|||
|
||||
![]() |
![]() |