Управление HD44780 по линии питания

в 7:26, , рубрики: DIY, diy или сделай сам, hd44780, дисплей, ЖКИ, кб1013вг6, Лайфхаки для гиков, Разработка под Arduino, схемотехника, управление по линии питания, Электроника для начинающих

Управление HD44780 по линии питания - 1

Вообще-то, способы уменьшения количества проводов там и так предусмотрены. Вот, например, четырёхбитный режим. Всё равно много? Есть дисплейные модули с I2C. Но нет предела совершенству, и если у вас есть лишнее Arduino, дисплей можно отнести от источника данных на некоторое расстояние и подключить двухпроводным кабелем.

Один из способов передачи питания и данных по одной и той же паре проводов состоит в следующем. Сигнал с данными модулируют высокой частотой и объединяют, а на противоположном конце линии разделяют для подачи в демодулятор при помощи дросселей и конденсаторов. Но при питании постоянным током можно воспользоваться более простым способом, похожим на применяемый в домофонных ключах. Модулятор и демодулятор в этом случае не требуются, на передающей стороне достаточно ключа, коммутирующего цепь питания:

Управление HD44780 по линии питания - 2

Транзисторы — AO3400A и AO3401A. Второй из них выдерживает 5 А (по другим данным — 4), а здесь коммутировать ему приходится всего 200 мА. Поток последовательных данных на ключ может быть подан с какого-либо микроконтроллера, но поскольку конструкция экспериментальная, автор воспользовался ПК, на котором запущен Python-скрипт, и конвертером USB-UART.

Прерыватель питания у автора получился неказистым, но очень крепким:

Управление HD44780 по линии питания - 3

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

Управление HD44780 по линии питания - 4

Так это выглядит в реале:

Управление HD44780 по линии питания - 5

Прошивка максимально упрощена, она самостоятельно не вырабатывает даже команды инициализации контроллера дисплея (и все остальные команды), поэтому подавать их должна передающая сторона. Но при этом она распознаёт простейшие однобайтные команды, адресованные непосредственно ей. Здесь х — младший полубайт, команда — старший полубайт:

0xA[x] — подать полубайт x на выводы 4 — 7 модуля
0xB[x] — подать младший бит полубайта x на вход RS модуля
0xC[x] — подать младший бит полубайта x на вход EN модуля
0xD[x] — выставить яркость подсветки (регулируется ШИМом) пропорционально полубайту x

Всё необходимое ПО находится здесь. Чтобы показать, как всё работает, автор составил такой сценарий:

Управление HD44780 по линии питания - 6

И запустил:

Автор: Tormoz Edison

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js