Page 1 of 4

Проблемы с LCD и возможные решения

PostPosted: Mon Aug 17, 2009 10:15 am
by Firelord
Проблемы с ЖК-дисплеем (далее, для краткости буду называть его ЖКД — жидкокристаллический дисплей), похоже, являются самыми частыми проблемами при создании MegaDrum. И во многих случаях возникающую проблему описывают недостаточно точно, вроде «не работает», «ничего не происходит», «я ничего не вижу». В данном посте я постараюсь дать решение для большинства возникающих с ЖКД проблем.

Внимание! Рассматриваются только дисплеи 16x2, совместимые с HD44780. В узком смысле, совместимость с HD44780 означает следование интерфейсному стандарту, распиновка для которого такая:

LCD16X2.png


Причём на самой плате пины могут располагаться по-разному, не обязательно прямой линией, возможно, например, разбиение на два ряда. Обязательно ознакомьтесь с документацией к вашему конкретному ЖК-модулю, чтобы знать наверняка. Главное, чтобы пины соответствовали приведённой выше интерфейсной таблице.

Более подробно можете прочитать здесь.

Рассмотрим теперь возможные проблемы и их решение.

1. HD44780-совместимые ЖКД делятся на два вида: с дополнительной подсветкой экрана и без. Соответственно они могут поставляться с 16 пинами и 14 пинами. Дисплеи с 14 пинами точно без подсветки. С другой стороны, дисплеи с 16 пинами могут и не иметь подсветки. ЖК модуль с подсветкой должен давать свет при подключении к плате, даже если всё остальное в нём неисправно. Если он даёт тусклый свет, то необходимо заменить резисторы на дигитальной плате (или на плате All-in-One от Synthex), которые идут на пины 15 и 16, на резисторы с меньшим номиналом. Брать резисторы нужно в пределах от 470R до 33R (т.е. от 470 Ом до 33 Ом). Если это ничего не изменит, замерьте напряжение между пинами 15 и 16 на ЖКД. Оно должно быть в пределах 3-5В. Если напряжение такое, то либо подсветка в ЖКД испорчена, либо ваш ЖКД не имеет подсветки вообще. Если напряжение 0В, проверьте провода/соединение с платой. Несколько человек сообщило о том, что на некоторых ЖК-модулях полярность диода подсветки перевёрнута — то есть если сравнивать с приведённой выше схемой интерфейса — пин 15 это LED(-), а пин 16 это LED(+). В таком случае просто поменяйте провода, идущие к пинам 15 и 16, местами.

2. Предположим, что вам удалось решить проблему с подсветкой. Хотя даже без подсветки с внешним источником освещения вы должны увидеть что-нибудь на ЖКД. Если вы ничего не видите — тому может быть несколько причин. Первая, и самая частая, — неправильно настроена контрастность. Контрастность управляется пином 3 на ЖКД. Чем ниже напряжение между пином 1 (земля) и пином 3, тем выше контрастность ЖКД. Соответственно, чем это напряжение выше, тем ниже контрастность. Контрастность экрана может упасть так низко, что на дисплее не будет видно ничего. Обычно напряжение на пине 3 должно быть между 0.5В (высокая контрастность) и 1.5В (низкая контрастность). На моём разработочном ЖКД лучшая контрастность получается при напряжении 0.9В.

Прежде, чем читать дальше, убедитесь, что у вас +5В между пинами 1 и 2 на ЖКД. Если это не так, проверьте соединение между ЖК-модулем и платой.

В старой версии MegaDrum конрастность ЖКД регулировалась потенциометром. Крайние выводы потенциометра были подключены к земле и +5В, а движок (средний вывод) — к пину 3 на ЖКД, так что можно было настроить этим потенциометром контрастность. Этот потенциометр может быть прецизионным (насколько мне известно, Synthex использовал этот тип потенциометров на своих старых китах до версии 2.8).

В текущей версии MegaDrum (включая киты Synthex 2.8), контрастность управляется прошивкой MegaDrum безо всяких потенциометров. Чтобы изменить контрастность (при условии, что ATMega прошит, правильно работает, и между ним и ЖКД установлена нормальная связь), необходимо войти в меню MegaDrum и перейти в первый пункт меню, где отображается надпись "<MegaDrum.info > (c)D.Skachkov" и при помощи клавиш ВВЕРХ/ВНИЗ повысить или понизить контрастность. Если контрастность не меняется, проверьте соединение между пином 3 на ЖКД и дигитальной платой. Также проверьте номиналы компонентов C9, R19 и R21 (по этой схеме), припаяны ли они правильно и нет ли коротких замыканий/разрывов.

Если передача данных между ATMega и ЖКД нарушена (но ATMega работает правильно), т.е. вы не видите ни индикаторов уровня сигналов (VU-метров), ни меню MegaDrum, то всё равно должно быть возможно изменить контрастность. Только в этом сучае при настройке контрастности вы должны видеть ряд чёрных квадратов в верхней строке ЖКД. Если вы измените контрастность при помощи потенциометра, но по-прежнему не видите чёрных квадратов, то ваш ЖКД неисправен. Если вы измените контрастность посредством прошивки (вслепую, посколько передача данных между ATMega и ЖКД, по всей видимости, нарушена; для это нажмите на клавишу ВЛЕВО и подержите несколько секунд, чтобы точно оказаться в первом пункте меню и затем нажимайте ВВЕРХ/ВНИЗ для изменения контрастности), но всё равно не видите чёрных квадратов, то либо ЖКД неисправен, либо ATMega работает неправильно. В таком случае временно замкните пин 3 с пином 1 на ЖКД. ОСТОРОЖНО! НЕ ЗАМКНИТЕ СЛУЧАЙНО ПИНЫ 1 И 2 НА ЖКД, ВЫ МОЖЕТЕ ПОВРЕДИТЬ USB ПОРТ ИЛИ ИСТОЧНИК ПИТАНИЯ! Если замкнуть пин 3 с пином 1 на ЖКД, контрастность LCD выставляется на максимум и чёрные квадраты в верхней строке ЖКД должны немедленно появиться. Если этого не произошло, то ваш ЖКД неисправен. Если они появляются, то ATMega работает неверно.

3. Предположим, что проблема с контрастностью решена, что ЖКД исправен, но VU-метры (если на входы не идут сигналы, то все VU-метры, за исключением педали хай-хета, если она открыта, должны отображать символ «_») и меню по-прежнему не видны. Тогда в силу вступают следующие возможные варианты (или их комбинация):

* ATMega неисправен. Замените его.
* ATMega не прошит. Прошейте его.
* Кристалл ATMega неисправен. Замените кристалл.
* К кристаллу подсоединены неправильные конденсаторы. Замените их.
* ATMega работает правильно (если MIDI активность успешно протестирована) но связь с ЖКД нарушена. Проверьте связь между пинами 4-14 ЖКД и соответствующими пинами ATMega и что нет коротких замыканий/разрывов на этих линиях. Если вы точно уверены, что соединения в порядке, то неисправен ваш ЖКД.

Надеюсь, проблемы с ЖКД теперь решены :-)

-----
Оригинальная статья — Дмитрий
Перевод и некоторые дополнения — Firelord

Re: Проблемы с LCD и возможные решения

PostPosted: Fri Apr 30, 2010 9:22 pm
by AlT
Спасибо, помогли Дмитрий с Firelord`ом :)

Я, например, замкнул 2 и 3й контакт на плате индикатора, и благополучно всё это залил китайскими соплями.

Индикатор светился изо всех сил, но ничего не писал мне почему))

Re: Проблемы с LCD и возможные решения

PostPosted: Tue May 11, 2010 9:12 pm
by sameoder
а не могли бы вы посоветовать какие то конкретные модели lcd которые имеют поддержку hd44780

Re: Проблемы с LCD и возможные решения

PostPosted: Tue May 11, 2010 10:08 pm
by Firelord
Думается мне, что ныне трудно найти 16х2 дисплей работающий по иному стандарту. Однако всё равно всегда следите по даташиту совместимость интерфейса. Вот примеры дисплеев 16х2 на Farnell.com. Или вот на eBay вариант (там дешевле можно найти, чем в Farnell).

Re: Проблемы с LCD и возможные решения

PostPosted: Tue Jun 01, 2010 5:50 pm
by Sorgan
Дмитрий если можно то сделайте в прошивке что бы напряжение на 3 ножке контрастности исчо пониже опускалось...
А то она у меня не максимальна получаетсо...

Re: Проблемы с LCD и возможные решения

PostPosted: Tue Jun 01, 2010 6:10 pm
by dmitri
Можно понизить сопротивление R19 с 10к до 3-8к.

Re: Проблемы с LCD и возможные решения

PostPosted: Mon Oct 11, 2010 1:49 pm
by Leon11t
Добрый день. Вот как год как я закончил Мегадрам, но с самого начала у меня возникла проблема с дисплеем, которые я решил отложить на конец завершения проекта, не решал скорее, потому что думал что дисплей бракованный и его надо лишь заменить на новый.
При загрузке Мегадрама, появляется надпись Мегадрам.инфо Д. Скачков, позже включается VU-метр, все как положено, но время от времени, не всегда, при нажатти правой кнопки управления появляется то же что и при старте устройства, но не такое. В тексте Мегадрам.инфо Д. Скачков начинаю появляться другие буквы латыни, или керилицею, символы, пробелы, которые не должны там быть и близко. Получается что-то типа этого "щQЖaDrum.inым # Dm? ЖRi Ska ho &". При дальнейшем нажатти кнопки в право, начиная появляться таким же непонятным текстом версия прошивки и также такого же плана основных параметров, либо после версии прошивки экран становится просто белым тогда приходится перезагружаты устройство чтобы хоть что-то увидеть. Недавно купил еще два таких же дисплее той же фирмы и марки, процессор дисплея такой рекомендованным для устройства. В даташити моего дислея розпиновка контактов такая же как и на картинке в шапке темы. Дисплей после пайки был почищен от флюса, дигитальный плата также почищена, замыкание нигде нет. Пробовал три одинаковых дисплея, но проблема осталась, на других устройствах они нормально работают. Использую проц ATmega32-16PU, кварц 16Mhz. ATmega32 также пробовал три разные. Прошивка последняя не зашифрована, но на старых версиях проблема тоже была. ATmega32 была прошита как с боотлоадером, так и обычным HEX файлом. Если надо могу зазнять видео. У кого какие мысли?

Re: Проблемы с LCD и возможные решения

PostPosted: Mon Oct 11, 2010 4:01 pm
by dmitri
При включении с загрузкой дефолтных настроек проблема появляется?

Re: Проблемы с LCD и возможные решения

PostPosted: Mon Oct 11, 2010 4:12 pm
by Leon11t
dmitri wrote:При включении с загрузкой дефолтных настроек проблема появляется?

Все по старому. Перепрошивка тоже ничего не решает.

Re: Проблемы с LCD и возможные решения

PostPosted: Mon Oct 11, 2010 4:32 pm
by dmitri
В таком случае могу предположить только:
1. Плохое питание.
2. Плохая развязка по питанию на плате.
3. Где-то на плате плохой контакт.