Ht1621B схема включения. Подключение LCD-дисплея от кассового аппарата Меркурий 130К к микроконтроллеру: схема и особенности работы с HT1621B

Как подключить LCD-дисплей от кассового аппарата к микроконтроллеру. Какая схема включения HT1621B используется. Какие особенности нужно учитывать при работе с этим контроллером дисплея.

Содержание

Особенности LCD-дисплея от кассового аппарата Меркурий 130К

LCD-дисплей от кассового аппарата Меркурий 130К представляет собой готовый дисплейный модуль, который можно использовать в радиолюбительских проектах. Этот дисплей имеет несколько важных характеристик:

  • Построен на базе контроллера Holtek HT1621B
  • Напряжение питания 5В
  • Работает по последовательной шине
  • Размещен на отдельной плате небольшого размера
  • Легко демонтируется из кассового аппарата

Благодаря этим особенностям, дисплей от Меркурий 130К хорошо подходит для подключения к различным микроконтроллерам и использования в самодельных устройствах.

Схема подключения HT1621B к микроконтроллеру

Для работы с LCD-дисплеем на базе HT1621B требуется подключить его к микроконтроллеру по следующей схеме:


  • VCC — напряжение питания 5В
  • GND — общий провод
  • CS — выбор микросхемы, подключается к выводу микроконтроллера
  • WR — сигнал записи данных, подключается к выводу микроконтроллера
  • DATA — линия передачи данных, подключается к выводу микроконтроллера

Дополнительно можно подключить вывод RD (чтение данных) и IRQ (прерывание), если они требуются в проекте. Важно использовать подтягивающие резисторы на линиях CS, WR и DATA.

Протокол обмена данными с HT1621B

HT1621B использует последовательный протокол для обмена данными. Основные особенности протокола:

  • Передача начинается после перевода CS в низкий уровень
  • Данные передаются побитно по линии DATA
  • Запись данных происходит по переднему фронту сигнала WR
  • Чтение данных (если используется) — по заднему фронту RD
  • Окончание передачи — CS переводится в высокий уровень

Для управления дисплеем используются команды и данные. Сначала передается идентификатор режима (команда или данные), затем адрес и сами данные.

Особенности программирования микроконтроллера для работы с HT1621B

При разработке программы для микроконтроллера, управляющего дисплеем на HT1621B, следует учитывать несколько моментов:


  1. Необходимо реализовать программные функции для формирования сигналов CS, WR и DATA
  2. Требуется написать процедуры отправки команд и данных по протоколу HT1621B
  3. Нужно определить адреса и битовые маски для всех сегментов дисплея
  4. Рекомендуется создать библиотеку с функциями вывода цифр, символов и т.д.
  5. Важно правильно инициализировать HT1621B перед началом работы

Наличие готовой библиотеки значительно упрощает работу с дисплеем в конкретном проекте.

Возможности отображения информации на дисплее Меркурий 130К

LCD-дисплей от кассового аппарата Меркурий 130К позволяет отображать различную информацию:

  • Цифры от 0 до 9
  • Некоторые буквы и символы
  • Десятичные точки
  • Специальные индикаторы (например, режим работы)

Точный набор отображаемых элементов зависит от конкретной модели дисплея. Для определения возможностей можно использовать тестовую программу, перебирающую все сегменты.

Преимущества использования LCD-дисплея от кассового аппарата в самодельных проектах

Применение дисплея от Меркурий 130К в радиолюбительских конструкциях имеет ряд плюсов:


  • Доступность — много списанных кассовых аппаратов
  • Низкая стоимость по сравнению с новыми модулями
  • Хорошая читаемость информации
  • Низкое энергопотребление
  • Компактные размеры
  • Простота подключения к микроконтроллеру

Эти преимущества делают такой дисплей отличным выбором для создания различных измерительных приборов, часов, термометров и других устройств.

Типичные проблемы при работе с HT1621B и способы их решения

При подключении и программировании дисплея на базе HT1621B могут возникнуть некоторые сложности:

  • Отсутствие изображения на дисплее — проверьте правильность подключения и инициализации
  • Некорректное отображение символов — уточните адреса и маски сегментов
  • Произвольное включение сегментов — проблемы с тайминнгами передачи данных
  • Пропадание изображения — проверьте стабильность питания

Большинство проблем решается внимательной проверкой схемы подключения и отладкой программы микроконтроллера. Полезно использовать осциллограф для контроля сигналов на шине.

Альтернативные варианты LCD-дисплеев для самодельных устройств

Помимо дисплея от Меркурий 130К, для создания самодельных приборов можно рассмотреть и другие варианты:


  • Символьные LCD-модули на контроллере HD44780 — простые в управлении, но громоздкие
  • OLED-дисплеи — яркие, контрастные, но дороже
  • TFT-модули — полноцветные, но сложнее в управлении
  • Семисегментные индикаторы — дешевые, но с ограниченными возможностями

Выбор типа дисплея зависит от конкретных требований проекта — стоимости, энергопотребления, информативности и т.д. LCD от кассовых аппаратов часто оказываются оптимальным вариантом.

Особенности работы с разными моделями HT1621

Контроллер HT1621 выпускается в нескольких модификациях, которые имеют некоторые отличия:

  • HT1621 — базовая версия
  • HT1621A — расширенный температурный диапазон
  • HT1621B — увеличенное число выводов и сегментов

При работе с разными версиями следует учитывать особенности конкретной модификации и сверяться с актуальной документацией производителя. Это поможет избежать ошибок при проектировании устройства.

Расширение возможностей дисплея с помощью дополнительных компонентов

Функционал LCD-дисплея от кассового аппарата можно расширить, добавив некоторые элементы:


  • Подсветка — для работы в темноте
  • Датчик освещенности — для автоматической регулировки яркости
  • Сенсорная панель — для создания интерактивного интерфейса
  • Защитное стекло — для использования в жестких условиях

Такие доработки позволяют адаптировать готовый дисплейный модуль под конкретные требования проекта и улучшить пользовательский опыт.

Оптимизация энергопотребления устройства с LCD-дисплеем

Для снижения энергопотребления устройства с LCD-дисплеем на базе HT1621B можно использовать следующие приемы:

  1. Использовать режим ожидания HT1621B, когда дисплей не нужен
  2. Отключать подсветку, если она есть, когда она не требуется
  3. Обновлять информацию на дисплее только при ее изменении
  4. Использовать прерывания вместо постоянного опроса дисплея
  5. Оптимизировать код микроконтроллера для снижения времени активной работы

Эти методы особенно важны для устройств с батарейным питанием, где критично время автономной работы.

Создание пользовательского интерфейса на базе LCD-дисплея от кассового аппарата

Несмотря на ограниченные возможности, LCD-дисплей от Меркурий 130К позволяет создать удобный пользовательский интерфейс:


  • Использование разных участков дисплея для отображения различной информации
  • Создание простых анимаций за счет последовательного включения сегментов
  • Отображение меню с помощью специальных символов
  • Индикация режимов работы устройства
  • Вывод числовых значений с плавающей точкой

Грамотно спроектированный интерфейс даже на таком простом дисплее может сделать устройство удобным в использовании.

Применение LCD-дисплеев в промышленной автоматике

LCD-дисплеи на базе HT1621B находят применение не только в любительских проектах, но и в промышленной автоматике:

  • Панели управления производственным оборудованием
  • Индикаторы состояния в системах мониторинга
  • Дисплеи в измерительных приборах
  • Информационные табло на производстве

Их надежность, низкое энергопотребление и хорошая читаемость делают такие дисплеи отличным выбором для промышленных применений.

Перспективы развития технологий LCD-дисплеев

Хотя LCD-дисплеи на контроллерах типа HT1621B уже считаются устаревшей технологией, они все еще находят применение благодаря своей простоте и надежности. Тем не менее, развитие технологий приводит к появлению новых типов дисплеев:


  • E-ink дисплеи — с крайне низким энергопотреблением
  • Микро-LED дисплеи — яркие и долговечные
  • Гибкие OLED-дисплеи — для носимой электроники

Эти технологии постепенно вытесняют классические LCD, но в некоторых нишах сегментные ЖК-дисплеи еще долго будут оставаться актуальными.


Подключение дисплея от кассового аппарата Меркурий 130К к микроконтроллеру

После введения онлайн касс, у многих в загашниках завалялись старые кассовые аппараты. Вот и я стал обладателем нескольких аппаратов Меркурий 130К.

Внутри аппарата нет практически ничего ценного — древний микроконтроллер, никому ненужный термопринтер, свинцовый аккумулятор, итд. Но кое-что в нём меня всё же заинтересовало — это ЖК дисплей. Вернее их два: один дисплей является основным, а второй служит в роли дисплея покупателя.

Основной дисплей меня не очень интересовал, так как он впаян в основную плату кассового аппарата. А вот дисплей покупателя очень заинтересовал, так как он установлен на отдельной плате небольшого размера, по сути является готовым дисплейным модулем для радиолюбительских самоделок.

После демонтажа дисплея выяснилось, что он сделан на базе микросхемы контроллера ЖК дисплея Holtek HT1621B. Это широко известный контроллер дисплея, в интернете про него есть много информации.

Даташит на микросхему был найден на сайте производителя. Далее при помощи даташита и прозвонки мультиметром, была определена распиновка дисплея. Напряжение питания дисплея составляет 5В, это я выяснил включив кассовый аппарат.

Дисплей работает по последовательной шине. О принципах работы микросхемы HT1621 рассказывать не буду, так как про этот чип есть много информации в интернете. Я подключил дисплей к макетной плате с микроконтроллером ATmega48PA по следующей схеме.

Вот так это выглядит «в железе».

В даташите на микросхему HT1621 описан протокол обмена, но мне не удалось найти схему коммутации сегментов внутри стекла дисплея. Чтобы не прозванивать каждый сегмент мультиметром, с целью определить комбинацию адреса и бита для каждого сегмента, я написал простенькую программу для перебора всех адресов и всех битов каждого адреса. Всего у микросхемы 32 адреса по 4 бита в каждом, то есть микросхема поддерживает управление до 128 сегментами. В итоге получилась вот такая раскладка сегментов.

Первая цифра обозначает адрес данного сегмента, вторая цифра — значение, или битовая маска для включения сегмента. Для удобной работы микроконтроллера с дисплеем, я объединил каждую пару адресов, получив при этом 16 адресов по 8 бит. Раскладка сегментов получилась следующая:

Далее была написана библиотека для работы с дисплеем. В библиотеке используется программная реализация последовательного интерфейса. При помощи библиотеки можно отображать на дисплее: цифры, знаковые и беззнаковые числа, символы, верхние и нижние точки. В общем реализована полная поддержка всех сегментов данного дисплея. На фотографиях ниже можно ознакомиться с примерами отображения.

Напоследок — выкладываю исходный код, который был написан в AVR Studio 5 версии.
Ну и конечно желаю всем успешных самоделок!

Теги:
  • LCD
  • Atmel Studio
  • Микроконтроллер

LCD USB Тестер + Нагрузка 1-2А

По рекомендациям здешних пользователей, прикупил данное устройство на опыты 🙂
Устройство ранее уже было описано и испытано, это лишь дополнение…

Заказал сразу комплект с нагрузочным модулем.
Прислали как обычно — в пакетике





Модель: KCX-017
Собран тестер аккуратно, на экране защитная плёнка.
Длина USB кабеля 15см.
На экранчике одновременно отображаются: напряжение (V), ток (A), проходящая энергия электрического заряда (mAh), номер ячейки памяти (0-9).
Подробно устройство уже было неоднократно описано, поэтому постараюсь писать только дополнительную информацию.
Корпус скрепяется на 4-х защёлках и разбирается просто.









Качество монтажа — нормальное, флюс не отмыт.
Плата измерителя содержит следующие компоненты:
— Инверсный LCD дисплей с задней белой подсветкой
— LCD контроллер HT1621B
www.holtek.com.tw/pdf/consumer/ht1621v310.pdf
— PIC контроллер PIC16F1933-I/SS
ww1.microchip.com/downloads/en/DeviceDoc/41575C.pdf
— Операционный усилитель LM358 (Ku=21)
www.ti.com/lit/ds/symlink/lm358. pdf
— Стабилизатор напряжения 3V
— Управляющая микрокнопка
— Токовый шунт 0,025 Ом
— Делитель напряжения (K=7,66)
— Разъёмы и кабель подключения

Сама схема питается до измерителя тока, напряжение также контролируется до него.
Собственное потребление тока 6,6мА (33мВт)
Срисованная с платы схема LCD USB тестера

Для упрощения схемотехники, измерительнвй шунт поставили в цепи общего провода.

Операционный усилитель усиливает небольшое падение напряжения на токовом шунте 0,025 Ом для повышения точности преобразования встроенного АЦП.
Провод подключения очень тонкий (на вид 28AWG) и вызывает дополнительное падение напряжения при значительной нагрузке. Полное проходное сопротивление LCD USB тестера 0,115Ом, т.е при токе 2А на выходе напряжение будет примерно на 0,25В меньше, чем на входе 🙁

Индикатор немного занижает отображаемое напряжение (на 2%) и ток (на 3%).
Зависимость Реальное напряжение — Отображаемое напряжение:
2,60 – индикатор не светиться
2,70 – 2,64
2,80 – 2,76
3,00 – 2,95
3,50 – 3,44
4,00 – 3,94
4,50 – 4,44
5,00 – 4,93
5,50 – 5,43
6,00 – 5,91
7,00 – 6,90
8,00 – 7,88
9,00 – 8,86
10,00 – 9,85

Способность прибора проводить измерения с приемлемой точностью в широком диапазоне напряжений (от 2,70В до10,0В) и токов (от 0,05А до 3,50А) позволяет измерять параметры не только USB, но и напрямую параметры литиевых аккумуляторов.
Измеритель тока имеет зону нечувствительности 50мА, т.е. ток менее этого значения будет отображаться как нулевой.
При напряжении менее 4,6В и более 5,35В, подсветка индикатора начинает моргать, показывая недопустимое значение напряжения на входе.
Предельный измеряемый ток — 3,67А, далее показания не увеличиваются, т.к. операционный усилитель входит в насыщение по выходу. При уменьшении питающего напряжения, граница измерения предельного тока снижается.
Предельное измеряемое напряжение 9,99В, при дальнейшем повышении напряжения, индикатор теряет значение десятка вольт, но остальные значения отображаются верно — проверял вплоть до 12В.
Интерфейсные проводники D+ D- проходят через тестер транзитом.
Также следует иметь в виду, что измеряется именно мАч без учёта значения напряжения. Т.е. показания индикатора I(мА)*T(ч), есть ток — есть и увеличение накопленных показаний мАч.
Очень большим плюсом тестера является запоминание накопленных значений в памяти при отключении питания устройства. Это происходит с периодичностью около 10мАч — накопленные значения запоминаются в памяти.

Нагрузочный модуль имеет такую нехитрую схему.

В режиме нагрузки 1А, горит зелёный индикатор.
В режиме нагрузки 2А, горит красный индикатор.
Есть неприятная особенность — очень сильный нагрев резисторов, поэтому располагайте нагрузочный модуль так, чтобы он не касался горючих веществ и пластиков.
Также незьзя трогать резисторы работающего модуля руками — мигом обожгётесь.
В режиме 1А измеренный максимальный нагрев резисторов 183ºС.
В режиме 2А измеренный максимальный нагрев резисторов 235ºС. В этом режиме от платы довольно сильно пахнет палёным — обгорает эмаль резисторов и сама перегретая плата.
Сопротивление нагрузки при температуре 20ºС: 5,141Ом/2,587Ом и соответственно расчётный ток при напряжении 5В — 0,972А/1,932А


Сопротивление нагрузки при температуре около 180ºС: 5,119Ом/2,576Ом и соответственно расчётный ток при напряжении 5В — 0,977А/1,941А


С нагревов сопротивление нагрузки уменьшается всего на 0,5%, поэтому изменение тока можно не учитывать.
Примечательно, что сопротивление резисторов с нагревом не увеличивается — это означает, что материал проволоки резисторов термокомпенсированный (скорее всего константан или манганин).
Для снижения нагрева платы, приклеил теплопроводным клеем парочку радиаторов на плату



Температура платы значительно снизилась, вонять нагрузка стала меньше, вынимать нагретую плату стало безопасней.

Итоговые выводы: оба устройства годные, но имеющие особенности и незначительные недостатки, описанные выше.

ht1621b техническое описание (9/20 страниц) HOLTEK | RAM Mapping 32×4 LCD Controller for I/O MCU

Временные диаграммы

Режим чтения (код команды: 110)

HT1621

Rev. 1.30

9

9000 2 6 августа 2003 г.

эратор. С другой стороны, команда LCD ON включает

ЖК-дисплей, активируя генератор смещения ЖК-дисплея.

Команды BIAS и COM относятся к ЖК-панели.

Команды. С помощью команд, связанных с ЖК-дисплеем, HT1621

может быть совместим с большинством типов ЖК-панелей.

Формат команды

HT1621 можно настроить с помощью настройки ПО. Там

есть две команды режима для настройки источников ресурсов HT1621 и для передачи данных ЖК-дисплея. Режим конфигурации

HT1621 называется командным режимом, а

его идентификатор командного режима равен 100. Конфигурация командного режима

состоит из команды конфигурации системы, команды выбора частоты системы

, ком-

mand, команда выбора частоты тона, команда установки таймера/WDT

и рабочая команда. С другой стороны, режим данных

включает операции ЧТЕНИЕ, ЗАПИСЬ и

ЧТЕНИЕ-ИЗМЕНЕНИЕ-ЗАПИСЬ. Ниже приведены идентификаторы режима данных

и идентификатор командного режима:

Операция

Режим

ID

Чтение

Данные

1 1 0

Запись

Данные

1 0 1

Чтение- Изменить-Записать

Данные

1 0 1

Команда

Команда

1 0 0

Команда режима должна быть выдана до передачи данных

или команды. Если были даны последовательные команды

, идентификатор командного режима, а именно 100,

, можно опустить. Пока система работает в непоследовательной команде

или в режиме непоследовательных адресных данных

, вывод CS должен быть установлен на

²1², а

также будет сброшен предыдущий режим работы. Как только контакт CS

возвращается к

²0², сначала должен быть выдан новый идентификатор режима работы

.

Интерфейс

Для интерфейса с

HT1621 требуется всего четыре линии. Линия CS используется для инициализации схемы последовательного интерфейса

и для завершения связи между

хост-контроллером и HT1621. Если для вывода CS установлено значение 1,

данные и команды выдаются между хост-контроллером

и HT1621 сначала отключаются, а затем инициализируются. Be-

перед выдачей команды режима или переключением режима требуется импульс высокого уровня

для инициализации последовательного интерфейса

HT1621. Линия DATA — это последовательная линия ввода/вывода данных.

Данные для чтения или записи или команды для записи имеют

для передачи через линию DATA. Линия RD — это тактовый вход

READ. Данные в оперативной памяти тактируются на

спадающий фронт сигнала RD, и тактированные данные будут

, а затем появятся на линии DATA. Рекомендуется, чтобы хост-контроллер

считывал правильные данные в течение интервала между передним фронтом и следующим падающим фронтом сигнала RD

. Линия WR является входом синхронизации WRITE. Данные, адрес

и команда на линии DATA синхронизируются

в HT1621 по переднему фронту сигнала WR. Есть

— это необязательная линия IRQ, используемая в качестве интерфейса между

хост-контроллером и HT1621. Вывод IRQ может быть выбран

как выход таймера или вывод флага переполнения WDT

с помощью настройки S/W. Хост-контроллер может выполнять временную базу

или функцию WDT, будучи соединенным с

выводом IRQ HT1621.

R D

D A T A

W R

1

1

0 A 5 A 4 A 3 A 2 A 1 A 0 D 0 D 1 D 2 D 3

АДРЕС ПАМЯТИ 1 (MA 1)

ДАННЫЕ (MA 2)

1

1

0 A 5 A 4 A 3 A 2 A 1 А 0 Д 0 Д 1 Д 2 Д 3

Д а т а ( M A 1 )

Адрес памяти 2 ( M A 2 )

C S

микроконтроллер — Как управлять 1 x 168 LCD с помощью 4 x 32 LCD драйвера?

\$\начало группы\$

Мне нужно управлять ЖК-дисплеем, который имеет только один COM и 166 сегментов:

Каким-то образом с использованием драйвера ЖК-дисплея 4 x 32:

Итак, я собираюсь использовать пять таких драйверов ЖК-дисплея (32+32+32+32+32+32), используя только один COM0 от каждого из них. соединил все вместе с жк общим но не уверен будет ли работать?

Правильно ли я понимаю, что драйвер ЖК-дисплея работает следующим образом: он держит COM постоянно ВЫСОКИЙ (5V), в то время как устанавливает контакты SEGMENTS вниз на GND, он хочет включить?

РЕДАКТИРОВАТЬ: вопрос изменился — я хотел бы понять, может ли ЖК-дисплей 1×168 управляться 6-ю драйверами ЖК-дисплея 4×32?

РЕДАКТИРОВАТЬ2: нашел часть схемы драйвера ЖК-дисплея 4×60 с ЖК-дисплеем 1×54. Похоже, что COM-модули драйвера могут быть связаны все вместе:

, как объяснено в комментариях, похоже, что драйвер ЖК-дисплея можно использовать с ЖК-дисплеем, имеющим меньшее количество сегментов и общих. Спасибо.

РЕДАКТИРОВАТЬ 4:

Кажется, я нашел каскадный ЖК-драйвер, который сделает свое дело, как было предложено в комментариях:

Большое спасибо, ребята! Вы спасли меня от роковой ошибки!

  • микроконтроллер
  • ЖК-дисплей
  • 7-сегментный дисплей

\$\конечная группа\$

6

\$\начало группы\$

У меня сейчас нет времени отвечать на оба вопроса, которые вы здесь спрашиваете («драйвер так работает?» и «могу ли я управлять остальными сегментами прямо из MCU?»), но я могу ответить на один вопрос. из них.


Управление ЖК-дисплеем напрямую с микроконтроллера — не лучшая идея.

Сегменты ЖК-дисплея могут питаться от постоянного напряжения, но это не рекомендуется, так как со временем это приведет к повреждению ЖК-дисплея (и, я думаю, не очень долгое время. Может быть, даже всего несколько часов.). Правильным способом управления ЖК-дисплеем является переменное напряжение, меняющее полярность на высокой частоте. Упомянутая вами микросхема генерирует соответствующие управляющие сигналы с помощью внутреннего генератора, и если вы хотите управлять оставшимися сегментами от MCU, вам также придется использовать какой-либо генератор для получения правильного сигнала переменного тока.

Это не невозможно и даже не очень сложно, но было бы проще использовать еще один драйвер. Или еще лучше, другой водитель.


Как прокомментировал ниже @Justme, похоже, что предлагаемый вами драйвер в любом случае не может быть использован для этого ЖК-дисплея — HT1621 ожидает несколько общих терминалов, и я не уверен, что вы можете использовать его для чего-то с одним общим.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *