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

Дисплеи, датчики и прочие функциональные узлы, управляемые МК.
Ответить
Родился
Сообщения: 8
Зарегистрирован: Вс июл 19, 2026 19:16:00

Сообщение 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

Прошу помощи у читателей. Есть ли предположения, что не так и как это можно исправить?
Реклама
Вымогатель припоя
Сообщения: 632
Зарегистрирован: Пн фев 16, 2026 17:30:02

Сообщение Rapra »

Почти 100% - программная ошибка в работе с дисплеем, на этапе его инициализации. Во-первых, после подачи питания на дисплей нужно выждать некоторое время (около 100 мс, если на память не ошибаюсь) перед подачей первой команды. Во-вторых, между командами инициализации там тоже есть интервалы. В-третьих, последовательность команд инициализации для 4-х битного интерфейса прописана в даташите дисплея и её надо строго соблюдать.
Так же, линию E желательно резистором подтягивать к земле, чтобы она не болталась в воздухе, пока соответствующий пин микроконтроллера не настроен на выход.
Реклама
akl
Друг Кота
Сообщения: 4463
Зарегистрирован: Пт мар 07, 2008 06:54:43
Откуда: Ижевск

Сообщение akl »

Что за индикатор? Не претендую на знание распиновки всех индикаторов, но уж больно непривычная.
u37
Это не хвост, это антенна
Сообщения: 1346
Зарегистрирован: Пн май 01, 2017 20:01:45

Сообщение u37 »

Сменился тип БП.
Отобразите схему БП старого формата, аналогично рис 2.
Реклама
Эиком - электронные компоненты и радиодетали
Вымогатель припоя
Сообщения: 632
Зарегистрирован: Пн фев 16, 2026 17:30:02

Сообщение Rapra »

Совершенно обычная распиновка индикатора, просто контакты подсветки перекинули в начало, а не в конец разъема, а остальное - как обычно. В таком индикаторе ведь главное - сам контроллер, Hitachi HD44780, а плату под него могут делать немного по-разному.
С подобной проблемой лично я много лет назад сталкивался, и ранее описал её причины. Важно выдержать необходимый интервал времени от подачи питания до первой команды, а так же не нарушать предписанную последовательность команд при инициализации в 4-битный режим. Важно именно правильно перевести его в 4-битный режим, иначе будет глючить.
После замены блока питания возможно напряжение на дисплей подается с небольшой задержкой (медленнее нарастает) по сравнению с предыдущим вариантом.
Реклама
Мудрый кот
Сообщения: 1778
Зарегистрирован: Вт авг 15, 2017 10:51:13

Сообщение jcxz »

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

Обычно для устройств, требующих несколько разных питаний, устаналивают обязательную последовательность подачи этих питаний. Которую нельзя нарушать.
Реклама
Вымогатель припоя
Сообщения: 632
Зарегистрирован: Пн фев 16, 2026 17:30:02

Сообщение Rapra »

jcxz, я об этом уже дважды писал ранее.
Родился
Сообщения: 8
Зарегистрирован: Вс июл 19, 2026 19:16:00

Сообщение 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 .В этом видео (при втором включении) дисплей дал сбой через несколько секунд. В первый же раз - видео которого я не смог загрузить - дисплей проработал довольно долго, и работал бы дальше, до какого-то неопределенного момента. Нажатие кнопок (а то есть передача команд) не помешали его работе.
Вымогатель припоя
Сообщения: 632
Зарегистрирован: Пн фев 16, 2026 17:30:02

Сообщение Rapra »

Видео по ссылке не доступно.

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

И еще. Насколько понимаю, микроконтроллер питается от 3,3 В? А 5-вольтовому дисплею может чуть-чуть не хватать уровня лог.1. Хотя лично я на практике не замечал проблем, у меня, насколько помню, всё норм работало.
u37
Это не хвост, это антенна
Сообщения: 1346
Зарегистрирован: Пн май 01, 2017 20:01:45

Сообщение u37 »

видео недоступно.
Поставщик валерьянки для Кота
Сообщения: 1924
Зарегистрирован: Сб май 05, 2012 20:24:52
Откуда: KN34PC, Болгария

Сообщение veso74 »

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

Сообщение RainAlen »

u37 писал(а): Пн июл 20, 2026 15:31:00 видео недоступно.
Как оказалось, в модерации рутуба сидят реальные люди, а не роботы, пришлось ждать одобрение. Сейчас работает
Родился
Сообщения: 8
Зарегистрирован: Вс июл 19, 2026 19:16:00

Сообщение RainAlen »

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

Сообщение u37 »

На плате есть реле?
....
В первом посте написано, что есть. Тогда - соотнесите резкое изменение войств экрана с фактами срабатывания реле.
Вымогатель припоя
Сообщения: 632
Зарегистрирован: Пн фев 16, 2026 17:30:02

Сообщение Rapra »

То, что происходит в конце видоса, похоже на неожиданный перезапуск дисплея. Возможно, кратковременное пропадание питания.
Я ж говорю - подключите логический анализатор в режиме записи и отследите сигналы в момент сбоя. Так же, осциллограф на питании дисплея и микроконтроллера.
Родился
Сообщения: 8
Зарегистрирован: Вс июл 19, 2026 19:16:00

Сообщение RainAlen »

u37 писал(а): Пн июл 20, 2026 18:45:22 На плате есть реле?
....
В первом посте написано, что есть. Тогда - соотнесите резкое изменение войств экрана с фактами срабатывания реле.
в цепи каждого реле есть светодиод на включение, поэтому могу уверенно сказать, что реле здесь не при чем, иначе это было бы заметно
Друг Кота
Аватара пользователя
Сообщения: 20123
Зарегистрирован: Чт янв 26, 2012 16:44:29
Откуда: Таксимо

Сообщение vlasovzloy »

У импульсного блока Y конленсатор стоит? 220 розетка с заземлением или два провода?
Мои поставщики запчастей с отличной репутацией
texnomag.ru
radioremont.com
pl-1.org
4ip.info
elitan.ru
u37
Это не хвост, это антенна
Сообщения: 1346
Зарегистрирован: Пн май 01, 2017 20:01:45

Сообщение u37 »

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

Надеюсь, во время тестирования от платы были отключены все внешние устройства/провода?
Вымогатель припоя
Сообщения: 632
Зарегистрирован: Пн фев 16, 2026 17:30:02

Сообщение Rapra »

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

Лично я на видосе увидел, что в какой-то момент дисплей переходит в однострочный режим и затем первая строка полностью засвечивается, как при подаче питания. То есть, можно предположить, что происходит кратковременное пропадание питания дисплея и его сброс. Гадать здесь не стоит, нужно измерять!
Первый раз сказал Мяу!
Аватара пользователя
Сообщения: 26
Зарегистрирован: Чт авг 27, 2020 13:15:49

Сообщение dibor »

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

Вернуться в «Периферия»