Страница 1 из 2

"Кракозябры" на ЖК дисплее LCD1602

Добавлено: Вс июл 19, 2026 20:08:59
RainAlen
Всем доброго времени суток!

Имеется печатная плата устройства для управления системой дозирования бассейна (реле, датчики), дисплей и кнопки подключаются отдельно шлейфами. При включении питания на дисплее должны отображаться показания с датчиков, время - в общем, двустрочный вывод. Но загвоздка заключается в следующем: дисплей может отображать текст с данными корректно, а может выводить квадраты по всей области вывода дисплея, или вообще кракозябры (см. рис. 1)
https://imgur.gg/f/yV2LCJr рис. 1

Примечательно то, что прошлая версия платы, на трансформаторе (схему прилагаю в рис. 2), работает неплохо. Но чтобы регулярно его не наматывать на каждой плате, он был заменен на DC/DC преобразователи WRA1205S-3WR2 для каждого канала датчиков. И уже в новой версии начались проблемы.
https://imgur.gg/f/wUyCgV0 рис. 2

Грешу на неправильно разведенную схему питания на плате или недостаточную помехозащищенность, но не знаю куда уже копать, связи с инженером, который проектировал эту плату, у меня нет, приходится разбираться самому. Ставил Пи-фильтры на выходах +5В и -5В преобразователя, дабы ослабить ВЧ-помехи, но безрезультатно.

Схема питания платы с DC/DC преобразователями: https://imgur.gg/f/oipZTp1
Схема датчика: https://imgur.gg/f/7bJvLAG
Схема подключения дисплея: https://imgur.gg/f/I2wr3c1

Прошу помощи у читателей. Есть ли предположения, что не так и как это можно исправить?

Re: "Кракозябры" на ЖК дисплее LCD1602

Добавлено: Пн июл 20, 2026 07:18:51
Rapra
Почти 100% - программная ошибка в работе с дисплеем, на этапе его инициализации. Во-первых, после подачи питания на дисплей нужно выждать некоторое время (около 100 мс, если на память не ошибаюсь) перед подачей первой команды. Во-вторых, между командами инициализации там тоже есть интервалы. В-третьих, последовательность команд инициализации для 4-х битного интерфейса прописана в даташите дисплея и её надо строго соблюдать.
Так же, линию E желательно резистором подтягивать к земле, чтобы она не болталась в воздухе, пока соответствующий пин микроконтроллера не настроен на выход.

Re: "Кракозябры" на ЖК дисплее LCD1602

Добавлено: Пн июл 20, 2026 10:31:33
akl
Что за индикатор? Не претендую на знание распиновки всех индикаторов, но уж больно непривычная.

Re: "Кракозябры" на ЖК дисплее LCD1602

Добавлено: Пн июл 20, 2026 10:38:35
u37
Сменился тип БП.
Отобразите схему БП старого формата, аналогично рис 2.

Re: "Кракозябры" на ЖК дисплее LCD1602

Добавлено: Пн июл 20, 2026 11:15:42
Rapra
Совершенно обычная распиновка индикатора, просто контакты подсветки перекинули в начало, а не в конец разъема, а остальное - как обычно. В таком индикаторе ведь главное - сам контроллер, Hitachi HD44780, а плату под него могут делать немного по-разному.
С подобной проблемой лично я много лет назад сталкивался, и ранее описал её причины. Важно выдержать необходимый интервал времени от подачи питания до первой команды, а так же не нарушать предписанную последовательность команд при инициализации в 4-битный режим. Важно именно правильно перевести его в 4-битный режим, иначе будет глючить.
После замены блока питания возможно напряжение на дисплей подается с небольшой задержкой (медленнее нарастает) по сравнению с предыдущим вариантом.

Re: "Кракозябры" на ЖК дисплее LCD1602

Добавлено: Пн июл 20, 2026 11:53:39
jcxz
RainAlen писал(а): Вс июл 19, 2026 20:08:59Прошу помощи у читателей. Есть ли предположения, что не так и как это можно исправить?
Вижу у вас на старой схеме несколько разных питаний +5V. Предназначенных видимо для питания разных узлов. Тогда я бы в первую очередь грешил не на помехи, а на задержки подачи питания на эти разные узлы. Видимо у вас есть какой-то микроконтроллер (МК), управляющий LCD-контроллером. И возможно МК стартует раньше (до того как на LCD появился достаточный уровень питания). На старте прошивка МК обычно инициализирует LCD-контроллер (загружает или устаналивает шрифты или ещё что-то подобное делает). А в этот момент LCD-контроллер ещё не включился и пропускает эту инициализацию. Потому и работает далее некорректно (МК видимо не переинициализирует затем LCD).

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

Re: "Кракозябры" на ЖК дисплее LCD1602

Добавлено: Пн июл 20, 2026 13:38:31
Rapra
jcxz, я об этом уже дважды писал ранее.

Re: "Кракозябры" на ЖК дисплее LCD1602

Добавлено: Пн июл 20, 2026 14:47:14
RainAlen
Rapra писал(а): Пн июл 20, 2026 07:18:51 Почти 100% - программная ошибка в работе с дисплеем, на этапе его инициализации.
Считаю, что проблема все-таки в аппаратной части, такого же мнения и ответственный программист. Впоследствии ниже дополню почему.
akl писал(а): Пн июл 20, 2026 10:31:33 Что за индикатор? Не претендую на знание распиновки всех индикаторов, но уж больно непривычная.
Если вы про дисплей, то это WH1602B, судя по маркировке на задней стороне его платы.
u37 писал(а): Пн июл 20, 2026 10:38:35 Сменился тип БП.
Отобразите схему БП старого формата, аналогично рис 2.
Если я правильно понял вашу просьбу, схема питания отображена в одной из последних трех ссылок. AC/DC преобразователь 220В -> 12В не менялся.
Rapra писал(а): Пн июл 20, 2026 11:15:42 Важно выдержать необходимый интервал времени от подачи питания до первой команды, а так же не нарушать предписанную последовательность команд при инициализации в 4-битный режим. Важно именно правильно перевести его в 4-битный режим, иначе будет глючить.
После замены блока питания возможно напряжение на дисплей подается с небольшой задержкой (медленнее нарастает) по сравнению с предыдущим вариантом.
jcxz писал(а): Пн июл 20, 2026 11:53:39 А в этот момент LCD-контроллер ещё не включился и пропускает эту инициализацию. Потому и работает далее некорректно (МК видимо не переинициализирует затем LCD).
Обычно для устройств, требующих несколько разных питаний, устаналивают обязательную последовательность подачи этих питаний. Которую нельзя нарушать.
Я так понимаю, что проблема с задержкой подачи питания вызывает сбой сразу при включении или через короткое время после, но на деле дисплей может нормально работать и длительный промежуток времени, а может и "квадратить" или "кракозябрить" через 5 секунд. Ознакомьтесь с примером: https://rutube.ru/video/private/1e8b9b3 ... ihdD-Snnvg .В этом видео (при втором включении) дисплей дал сбой через несколько секунд. В первый же раз - видео которого я не смог загрузить - дисплей проработал довольно долго, и работал бы дальше, до какого-то неопределенного момента. Нажатие кнопок (а то есть передача команд) не помешали его работе.

Re: "Кракозябры" на ЖК дисплее LCD1602

Добавлено: Пн июл 20, 2026 15:11:52
Rapra
Видео по ссылке не доступно.

Если дисплей глючит не сразу, а через какое-то время, проверьте, что GND дисплея и микроконтроллера соединяется по кратчайшему пути. Поставьте резистор 4,7 - 10 кОм между линией E и GND на всякий случай.
Ну и подключайте логический анализатор и проверяйте обмен с дисплеем, особенно в момент сбоя.

И еще. Насколько понимаю, микроконтроллер питается от 3,3 В? А 5-вольтовому дисплею может чуть-чуть не хватать уровня лог.1. Хотя лично я на практике не замечал проблем, у меня, насколько помню, всё норм работало.

Re: "Кракозябры" на ЖК дисплее LCD1602

Добавлено: Пн июл 20, 2026 15:31:00
u37
видео недоступно.

Re: "Кракозябры" на ЖК дисплее LCD1602

Добавлено: Пн июл 20, 2026 16:47:13
veso74
(Если инициализация дисплея происходит корректно (время) и помехи от имп. стабилизаторов невелики (проверка на осциллографе)), добавьте задержку между запуском программы и инициализацией дисплея. 100..250ms..1s более чем достаточно. Импульсные стабилизаторы стартирует "быстро". Весьма вероятно, что МК инициализирует LCD до того, как он корректно запустится. Вы писали программный код? Но если код написан кем-то другим, можете попробовать добавит RC-цепи к MK RESET (конденсатор к земле 0.1μ..1μ..10μ) ("неправильный" способ). Для теста замените стабилизатор/выпрямитель на другой? С другим типом дисплея?

Re: "Кракозябры" на ЖК дисплее LCD1602

Добавлено: Пн июл 20, 2026 17:57:53
RainAlen
u37 писал(а): Пн июл 20, 2026 15:31:00 видео недоступно.
Как оказалось, в модерации рутуба сидят реальные люди, а не роботы, пришлось ждать одобрение. Сейчас работает

Re: "Кракозябры" на ЖК дисплее LCD1602

Добавлено: Пн июл 20, 2026 18:02:15
RainAlen
Rapra писал(а): Пн июл 20, 2026 15:11:52 И еще. Насколько понимаю, микроконтроллер питается от 3,3 В? А 5-вольтовому дисплею может чуть-чуть не хватать уровня лог.1. Хотя лично я на практике не замечал проблем, у меня, насколько помню, всё норм работало.
Верно, МК питается от 3.3 В. Дисплей питается от +5 В

Re: "Кракозябры" на ЖК дисплее LCD1602

Добавлено: Пн июл 20, 2026 18:45:22
u37
На плате есть реле?
....
В первом посте написано, что есть. Тогда - соотнесите резкое изменение войств экрана с фактами срабатывания реле.

Re: "Кракозябры" на ЖК дисплее LCD1602

Добавлено: Пн июл 20, 2026 19:32:44
Rapra
То, что происходит в конце видоса, похоже на неожиданный перезапуск дисплея. Возможно, кратковременное пропадание питания.
Я ж говорю - подключите логический анализатор в режиме записи и отследите сигналы в момент сбоя. Так же, осциллограф на питании дисплея и микроконтроллера.

Re: "Кракозябры" на ЖК дисплее LCD1602

Добавлено: Пн июл 20, 2026 21:43:14
RainAlen
u37 писал(а): Пн июл 20, 2026 18:45:22 На плате есть реле?
....
В первом посте написано, что есть. Тогда - соотнесите резкое изменение войств экрана с фактами срабатывания реле.
в цепи каждого реле есть светодиод на включение, поэтому могу уверенно сказать, что реле здесь не при чем, иначе это было бы заметно

Re: "Кракозябры" на ЖК дисплее LCD1602

Добавлено: Пн июл 20, 2026 22:02:15
vlasovzloy
У импульсного блока Y конленсатор стоит? 220 розетка с заземлением или два провода?

Re: "Кракозябры" на ЖК дисплее LCD1602

Добавлено: Пн июл 20, 2026 22:36:45
u37
Если дефект стабильный (не редкий), попробуйте "тупую" проверку - возьмите два одинаковых трансформатора типа 220-12 (не важно) и соедините параллельно их вторичныые обмотки. Сеть подать на первый, а сеть' с второго на ваше устройство. И посмотрите, будет ли проявляться этот дефект.

Надеюсь, во время тестирования от платы были отключены все внешние устройства/провода?

Re: "Кракозябры" на ЖК дисплее LCD1602

Добавлено: Вт июл 21, 2026 08:04:46
Rapra
Ой-вэй, зачем эти гадания с двумя трансформаторами, зачем гадания на кофейной гуще? Разве измерительных приборов совсэм нэт, да?
Здесь же никаких секретов, и всего два направления поиска. Проверить осциллографом стабильность питания дисплея и микроконтроллера, нет ли кратковременного пропадания питания дисплея либо перезапуска микроконтроллера. И второе - проверить логическим анализатором обмен с дисплеем в окрестностях момента сбоя.
Исходя из полученных результатов будет уже понятно дальнейшее направление поиска.
А пытаться цеплять параллельно одинаковые трансформаторы (вообще глупость какаято), винить реле, провода или чето подобное - это из разряда гаданий - вдруг повезет. Надо не гадать, а увидеть измерительными проборами сам источник проблем.

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

Re: "Кракозябры" на ЖК дисплее LCD1602

Добавлено: Вт июл 21, 2026 15:46:37
dibor
Инициализация дисплея происходит перед запуском основной программы, поэтому если снять напряжение только с дисплея и затем вернуть то дисплей работать не будет без инициализации, я так думаю.
Больше похоже на перезагрузку микро.