LCD от M830

В арсенале, наверное, любого радиоломателя всегда скапливаются какие-то неисправные приборы или устройства — «потом посмотрю», «пригодится» и т.п. У меня завалялось штуки четыре неисправных мультиметра серии М830. В своё время это был чудный недорогой прибор, которым был заполнен  рынок измерительной техники. Он стремительно ворвался в жизнь и явился хорошей альтернативой устаревающим стрелочным приборам. Сейчас, конечно, народ избалован изобилием мультиметров — можно выбрать по своим запросам и кошельку, поэтому указанные приборы всё чаще отправляются на чердак или балкон. Итак, у меня накопилось четыре штуки. В одном (мой личный) накрылась ПВ5 (в корпусе «капелька»), а у остальных (народ поприносил) погорели кольцевые дорожки — наверняка померяли «ток в розетке»:)  Смысла ремонтировать их не было, хотя в своё время успешно их ремонтировал, поэтому они валялись у меня без дела, занимая драгоценные кв.см. ящиков. И решил я их потихоньку использовать в своих микроконтроллерных конструкциях. В один из корпусов я запихал вольтметр, а теперь решил использовать их жидкокристаллические индикаторы. И вот, что из этого вышло…
Для начала возьмём ножницы по металлу и безжалостно отрежем верхний кусок платы мультиметра  с запасом 5 мм от нижнего ряда выводов микросхемы АЦП. Затем необходимо выпаять все детали, а на посадочное место К572ПВ5 впаять штырьковые разъёмы для использования в роли макета, или проводники для инсталляции в какое-то конкретное устройство. Тщательно вымыть плату спиртом, особенно посадочные места контактных резинок ЖКИ. Получится что-то похожее на это:Подключим ЖКИ к какому-нибудь микроконтроллерному модулю из моего конструктора. Единственное условие — чтобы хватило свободных ног, поэтому нужно брать что-то из «сороконожек» или выше. Я подключил всю эту беду к ATmega8515. Главным критерием выбора этого контроллера была длина моей вытянутой руки без наклона корпуса))). Подключили, и начинаем столь любимые всеми эмбеддерами пляски — кто с бубном, кто без…
Пару слов теории, буквально, что называется на пальцах. Сегмент/точка ЖКИ — это по сути конденсатор, обкладками которого служат стеклянные пластины, между которыми находится интересное вещество — «жидкие» кристаллы. Если приложить к обкладкам напряжение, через этот конденсатор начинает течь ток, и «жидкие» кристаллы во время протекания тока поляризуются так, что начинают отражать видимый свет, т.е. становятся непрозрачными. Всё бы хорошо, но конденсатор заряжается, ток уменьшается, и кристаллы теряют отражательную способность.  Кроме того, при таком (однополярном) питании «жидкие » кристаллы быстро деградируют и теряют свои уникальные свойства. Что же делать? Да ничё — подать на обкладки нашего конденсатора напряжение в обратной полярности. Начнётся перезарядка конденсатора, снова потечёт ток, но в другом направлении, однако «жидкие» кристаллы также становятся непрозрачными. Таким образом, чтобы сегмент/точка ЖКИ что-то индицировал, на его выводы нужно подавать переменное напряжение. ЖК индикаторы конструктивно бывают символьные и графические. Названия говорят сами за себя — в символьных изображение формируются набором определённо установленных различных сегментов, а в графических — матрицей XY одинаковых точек. Хотя… по сути это одно и тоже))) Также существует конструктивная особенность построения ЖКИ, которая определяет способ управления его сегментами/точками. Если все сегменты индикатора (верхние обкладки конденсаторов) управляются относительно одного (нижней общей обкладки всех конденсаторов), то очевидно, что в любой момент времени отображаться будет тот сегмент, переменное напряжение на котором будет в противофазе с напряжением на общем. Такой метод управления называется статическим. Если количество сегментов велико, то соответственно увеличивается и число выводов ЖКИ. Для их уменьшения применяют матричную структуру, т.е. адресацию по строкам и столбцам. Сегменты индикатора объединяют в группы по определённому признаку и подключают к одному выводу(строка) ЖКИ, и для каждого сегмента этой группы есть свой общий электрод (столбец). Управляют такими ЖКИ используя мультиплексный метод управления. В нашем случае присутствует индикатор с одним общим электродом для всех сегментов… Блин, получилось как-то занудно, как на лекции(((
Ну да вернёмся к нашим баранам, пардон, индикатору.
Как правило распиновка элементов в китайских девайсах ни фига не соответствует схемам. Правда эти схемы чаще всего имеют непонятное происхождение. Чтобы разобраться наверняка берём любой микроконтроллерный модуль или макетку и пишем для неё такой код:Я написал его для ATmega8A. Этот код формирует противофазные напряжения 50 Гц на выводах PC0, PC1 в моём случае. После заливки кекса в чип один из выводов, допустим PC0,  подключаем к любому из выводов ЖКИ, а другой PC1  поочерёдно подключаем к остальным выводам. Когда вы увидите на экране ЖКИ изображение любого сегмента радуйтесь — PC1 сейчас подключён к общему для всех сегментов выводу ЖКИ. Для убеждения в этом,  снимаем PC0 и начинаем касаться им всех подряд выводов ЖКИ, при этом наблюдаем имеющиеся у нас в данном конкретном экземпляре сегменты. Описанной выше методикой определяем соответствие сегмента выводу места DIP-40 (К572ПВ5). У меня получилось вот что:
2 — d1;    3 — c1;   4 — b1;   5 — a1;   6 — f1;    7 — g1;   8 — e1;
9 — d2; 10 — c2; 11 — b2; 12 — a2; 13 — f2; 14 — e2; 25 — g2;
15 — d3; 16 — b3; 17 — f3; 18 — e3; 22 — g3; 23 — a3; 24 — c3;
19 — b4, c4; 20 — g4;
21 — общий вывод для всех.
Остальные сегменты я вызвонил на контактных пятачках платы и тонкими проводниками подключил их к незадействованным выводам места DIP-40.
28 — h3; 30 — h2; 31 — BAT; 33 — HV;
Показанный выше результат распиновки от прибора к прибору может меняться как угодно, поэтому прозванивайте каждый экземпляр, придерживаясь указанной выше методики. Теперь самое время посмотреть на все сегменты ЖКИ в реальной работе. Я соединил микроконтроллерный модуль ATmega8515 проводами с индикатором и написал коротенькую тестовую программку:Она в бесконечном цикле генерит на все сегменты ЖКИ меандр, противофазный меандру на общем выводе. В результате вы увидите на экране все возможные там символы. ))) У меня не хватило соединительных проводов для подключения цифры 3-го знакоместа, поэтому там пустое место))).
Внимательно посмотрите на код выше. Если вы до цикла for вставите строку переводящую какой-то разряд порта A, C, D в лог.1 после строки PORTE |= _BV(PE0); например PORTD |= _BV(PD1);, то сегмент подключенный к PD1 будет в бесконечном цикле изменяться синфазно с общим, и, поэтому отображаться не будет. Это и есть принцип управления статическим ЖКИ.
А здесь я выкладываю исходник для построения универсального индикатора. В нём реализована индикация циклически меняющегося раз в полсекунды счётчика от 0 до 9 на 1-м и 2-м знакоместах цифр. Кусок кода в обработчике прерывания TIMER1_OVF_vect подставляется куда вам нужно. Используя показанные выше наработки, описанный ЖКИ можно применить в любых ваших конструкциях. Главным недостатком этого индикатора, бесспорно,  является необходимость большого количества свободных линий портов контроллера — для описанного случая 27. Но, учитывая цены на HD44780-совместимые индикаторы, применение данного оправдано с лихвой. Вплоть до того, что для ЖКИ использовать свой собственный контроллер, который можно настроить для работы по любому, имеющемся в этом микроконтроллере интерфейсу. Битых М830 пруд пруди! Их продают на блошиных рынках за копейки. И это большой аргумент! Хотя, скажу вам, для построения большинства любительских измерительных приборов, оставшихся линий портов для «сороконожек» хватит с головой. К тому же потребление этого индикатора ничтожное — хорош для построения девайсов с батарейным питанием.
А в одной из следующих статей я расскажу как управлять мультиплексорным ЖКИ с помощью обычного, неспециализированного контроллера. Там , конечно, посложнее будет…

Запись опубликована в рубрике Микроконтроллерный конструктор с метками . Добавьте в закладки постоянную ссылку.

8 комментариев: LCD от M830

  1. exersizze говорит:

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

  2. Serj говорит:

    Привет s_black, у меня есть вопросы по разработке стрелочного измерительного прибора на МК. Я не нашёл как надо написать в личку. Отвеь, пожалуйста, мне на емаил. Или как надо связываться тут?

  3. Zivius говорит:

    И как это можно было умудриться и намутить при первом же случае.

    2 — d1; 3 — c1; 4 — b1; 5 — a1; 6 — f1; 7 — g1; 8 — e1;
    9 — d2; 10 — c2; 11 — b2; 12 — a2; 13 — f2; 14 — e2; 25 — g2;
    15 — d3; 16 — b3; 17 — f3; 18 — e3; 22 — g3; 23 — a3; 24 — c3;
    19 — b4, c4; 20 — g4;
    21 — общий вывод для всех.
    Остальные сегменты я вызвонил на контактных пятачках платы и тонкими проводниками подключил их к незадействованным выводам места DIP-40.
    28 — h3; 30 — h2; 31 — BAT; 33 — HV;

    Можно было все расписать по порядку, а не сикось-накось? Где выводы 26, 27, почему сначала идет все по порядку, а затем какие-то прыжки с «14» на «25», затем обратно к «15»?
    Что это за вывод 33 такой? Блин, с элементарщиной справиться не в состоянии!

  4. s_black говорит:

    В чем Вы видите «намученность»? По какому порядку Вы имели в виду? Не указанные выводы не задействованы. Вывод 33 — индикация символа «HV» — смотрите картинки внимательней.
    А разве это Вы мне задание на написание статьи давали? Напишите лучше — без «элементарщины». Не нужно в комментах матерится, нехорошо. Удачи!

  5. Александр говорит:

    Вот тут моя статья, как подключать такие ЖКИ по SPI и не париться на счет количества ног контроллера.

  6. s_black говорит:

    Этот способ известен, но фиг его знает, что большее зло — использовать многоногий МК или добавлять лишние корпуса?! Я думаю в каждом конкретном случае нужно учитывать все факторы. Успехов, коллега!

  7. Александр говорит:

    Экономически, покупать контроллер, который «зажгет» 3,5 цифры, (а это уже 40 ноговый контроллер) думаю не выгодно.
    А вот 74HC595 стоит 1 гривна. По одной на знакоместо — 4 грн. всего. И контроллер попроще. Раза в два дешевле выйдет. Да и корпус у 595 маленький TSSOP — 5Х6 мм.

  8. s_black говорит:

    Спорить не буду, т.к. правда у каждого своя.
    Но, если в конструкции на МК кроме «3,5 цифр» возложена дополнительная куча функций с математикой, да и места маловато, да и текстолит деньги стоит — то нужно ещё подумать, что задействовать. Кроме того разводка платы опять же усложняется (и разработчику платы платить надо). А если ещё и ЭМ обстановка повыше средней, где каждый лишний проводник будет приёмной антенной… Короче говоря — нужно анализировать каждую конкретную техническую задачу.

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

Ваш e-mail не будет опубликован.