В арсенале, наверное, любого радиоломателя всегда скапливаются какие-то неисправные приборы или устройства — «потом посмотрю», «пригодится» и т.п. У меня завалялось штуки четыре неисправных мультиметра серии М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 пруд пруди! ?х продают на блошиных рынках за копейки. ? это большой аргумент! Хотя, скажу вам, для построения большинства любительских измерительных приборов, оставшихся линий портов для «сороконожек» хватит с головой. К тому же потребление этого индикатора ничтожное — хорош для построения девайсов с батарейным питанием.
А в одной из следующих статей я расскажу как управлять мультиплексорным ЖК? с помощью обычного, неспециализированного контроллера. Там , конечно, посложнее будет…
Поиск
Вход
Архивы
круто! и впрям как на лекции)) но если разобраться управление ничуть не сложнее чем у стандартного семисегментника, зато настоящая халява — у самого куча дохлых девайсов с подобными экранчиками валяется.
Привет s_black, у меня есть вопросы по разработке стрелочного измерительного прибора на МК. Я не нашёл как надо написать в личку. Отвеь, пожалуйста, мне на емаил. ?ли как надо связываться тут?
? как это можно было умудриться и намутить при первом же случае.
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 такой? Блин, с элементарщиной справиться не в состоянии!
В чем Вы видите «намученность»? По какому порядку Вы имели в виду? Не указанные выводы не задействованы. Вывод 33 — индикация символа «HV» — смотрите картинки внимательней.
А разве это Вы мне задание на написание статьи давали? Напишите лучше — без «элементарщины». Не нужно в комментах матерится, нехорошо. Удачи!
Вот тут моя статья, как подключать такие ЖК? по SPI и не париться на счет количества ног контроллера.
Этот способ известен, но фиг его знает, что большее зло — использовать многоногий МК или добавлять лишние корпуса?! Я думаю в каждом конкретном случае нужно учитывать все факторы. Успехов, коллега!
Экономически, покупать контроллер, который «зажгет» 3,5 цифры, (а это уже 40 ноговый контроллер) думаю не выгодно.
А вот 74HC595 стоит 1 гривна. По одной на знакоместо — 4 грн. всего. ? контроллер попроще. Раза в два дешевле выйдет. Да и корпус у 595 маленький TSSOP — 5Х6 мм.
Спорить не буду, т.к. правда у каждого своя.
Но, если в конструкции на МК кроме «3,5 цифр» возложена дополнительная куча функций с математикой, да и места маловато, да и текстолит деньги стоит — то нужно ещё подумать, что задействовать. Кроме того разводка платы опять же усложняется (и разработчику платы платить надо). А если ещё и ЭМ обстановка повыше средней, где каждый лишний проводник будет приёмной антенной… Короче говоря — нужно анализировать каждую конкретную техническую задачу.