Страница 1 из 2
Блок индикации на 7-сегментных индикаторах
Добавлено: Вт сен 07, 2010 14:39:20
damages
Добрый день.
а) была мысль подключить вот такой вот индикатор
LDM-209RA к компу через свободный lpt
б) с точки зрения электричества и программировния на стороне компа проблем не видится
в) зато проблема в том, что нет таких индикаторов в продаже
вопрос: чем можно заменить?
описываю конечную задачу и ее ограничения:
1) имею интернет-роутер на базе mini-itx платы под freebsd (коробочка ~20x20x6 см)
2) на нем настроен ntpd, который обеспечивает на нем точность времени ~1мс (получаю стратум 2)
3) захотелось мне на переднюю панель коробки приделать вышеобозначенный индикатор, чтобы изобразить точные часы в формате HH.MM.SS.z, где z-десятые доли секунды
4) этот индикатор и написанное под него ПО обеспечивают точность индикации (задержку) в пределах точности собственно часов (см.п.2)
5) загрузка ЦП не превышает 0.3% == важно, т.к. коробочка выполняет кучу других более полезных дел
6) явная стоимость = 550 руб == тоже важно, т.к. за ~5 тыс можно просто купить настенные часы с ntp, хотя мне они и не нравятся
7) время = припаять 3 провода в разъему для lpt (данные) и 2 провода к вилке usb (питание)
Re: Блок индикации на 7-сегментных индикаторах
Добавлено: Вт сен 07, 2010 19:27:14
uldemir
Такой индикатор изготавливается самостоятельно на раз. Толпа сдвиговых регистров с защелкой подключенных к индикаторам. Возможно широкораспространенные 74hc595 подойдут (надо проверить есть ли там сигнал load.
Встречный вопрос, а что за софт это умеет выводить? какой свободный или нет?
И еще, обязательно 9 разрядов или хватит 7?
А можно один микроконтроллер поставить, который эти сдвиговые регистры будет эмулировать и выдавать инфо на индикаторы даже с динамической индикацией (упростится монтаж и конструкция будет более легко собираемой.
Re: Блок индикации на 7-сегментных индикаторах
Добавлено: Вт сен 07, 2010 19:56:50
Engineer_Keen
Судя по описанию LDM-209 - там обычный SPI, так что если этот индикатор подходит, то схемка с 74hc595 - самое то. Количество 595 = количеству разрядов, главное чтобы USB порт потянул (USB макс 500мА, а 7 разрядов по 10мА на сегмент - это уже 490 мА).
Если взять 74hc595 примерно 15р, а один 7-сегментный индикатор - 30р, то в сумме выйдет точно меньше 550р, даже с учетом обвязки и печатки.
Re: Блок индикации на 7-сегментных индикаторах
Добавлено: Вт сен 07, 2010 23:52:35
damages
uldemir писал(а):Такой индикатор изготавливается самостоятельно на раз. Толпа сдвиговых регистров с защелкой подключенных к индикаторам. Возможно широкораспространенные 74hc595 подойдут (надо проверить есть ли там сигнал load.
Встречный вопрос, а что за софт это умеет выводить? какой свободный или нет?
И еще, обязательно 9 разрядов или хватит 7?
А можно один микроконтроллер поставить, который эти сдвиговые регистры будет эмулировать и выдавать инфо на индикаторы даже с динамической индикацией (упростится монтаж и конструкция будет более легко собираемой.
595 замечательно подходит )))
load там есть
программку я сам написал, ~200 строк на с
но в настоящее время я не обладаю ни инфраструктурой для паяния ни временем для оного
поэтому и рассматривался вариант покупки готового индикатора - воткнул и все
этот был бы хорош тем, что сигнал load выставляется в точный момент смены времени (задержка 1-2 мс)
по поводу питания от усб, если не хватит, то в коробочке всяко 5в найдется, блок питания там 5+ кратным запасом
ДИ средствами ОС недопустима - резко возрастет нагрузка на проц
а внешний контроллер ДИ сразу сбавит точности
Re: Блок индикации на 7-сегментных индикаторах
Добавлено: Вт сен 07, 2010 23:55:32
damages
Engineer_Keen писал(а):
Если взять 74hc595 примерно 15р, а один 7-сегментный индикатор - 30р, то в сумме выйдет точно меньше 550р, даже с учетом обвязки и печатки.
а подскажите пожалуйста где такие цены в мск
а то в чипдипе ценник уж очень недобрый какой-то ((((
Re: Блок индикации на 7-сегментных индикаторах
Добавлено: Ср сен 08, 2010 00:08:11
damages
примечание про 9 разрядов
я вообще хотел купить 2 таких индикатора и включить последовательно(позволяет)
чтобы отображать в верхней строке время и день недели "HH.MM.SS.Z W"
в нижней дату "YYYY.MM.DD"
Re: Блок индикации на 7-сегментных индикаторах
Добавлено: Ср сен 08, 2010 08:27:41
Engineer_Keen
damages писал(а):а подскажите пожалуйста где такие цены в мск
а то в чипдипе ценник уж очень недобрый какой-то ((((
Ага, я в чипе покупаю только в случае, когда нигде больше нет
В мск есть например вот:
Регистр 74НС595,
индикатор.
Re: Блок индикации на 7-сегментных индикаторах
Добавлено: Ср сен 08, 2010 16:37:16
damages
спасибо за подсказку
может соберусь когданибудь с руками, да спаяю
Re: Блок индикации на 7-сегментных индикаторах
Добавлено: Ср сен 08, 2010 19:47:08
uldemir
Я так понял, что программой делиться не предполагалось...
Re: Блок индикации на 7-сегментных индикаторах
Добавлено: Чт сен 09, 2010 15:34:10
damages
uldemir писал(а):Я так понял, что программой делиться не предполагалось...
мне более интересен такой вариант:
1) заинтересованное лицо с правильными руками и инфраструктурой изготавливает 1 лишний индикатор, который я у него и покупаю
2) затачиваем софт под конкретную реализацию железа
3) пользуемся
4) отлаженное устройство документируем по полной и выкладываем на обозрение народу
Re: Блок индикации на 7-сегментных индикаторах
Добавлено: Пт сен 10, 2010 15:24:12
Int_13h
damages писал(а):Добрый день.
а) была мысль подключить вот такой вот индикатор
LDM-209RA к компу через свободный lpt ...
лпт вымирает, почему бы под USB не заточить (если там SPI то FT232 в режиме bit-bang либо внешний МК) или хотя бы COM ?
Re: Блок индикации на 7-сегментных индикаторах
Добавлено: Пт сен 10, 2010 15:38:16
Engineer_Keen
Int_13h писал(а):лпт вымирает, почему бы под USB не заточить (если там SPI то FT232 в режиме bit-bang либо внешний МК) или хотя бы COM ?
Если на компе присутствует LPT - почему бы его не использовать? С ним работать гораздо проще чем с USB (программа проще и ft232 не нужна).
А у кого нету LPT -

Re: Блок индикации на 7-сегментных индикаторах
Добавлено: Сб сен 11, 2010 14:03:46
damages
Int_13h писал(а):лпт вымирает, почему бы под USB не заточить (если там SPI то FT232 в режиме bit-bang либо внешний МК) или хотя бы COM ?
1) согласен что вымирание ltp есть некий тренд, положительный или отрицательный - тема уже другая
2) но у меня lpt есть и он свободен
3) com-порт (кстати тоже единственный) обслуживает упс, гораздо более важное устройство
4) usb портов навалом, однако
4.1) усложнение программной части на стороне компа
4.2) усложнение самого индикатора (и железо и софт вдобавок)
4.3) потеря точности
о "точности":
я считаю точными бытовые часы, которые ходят >1 сек, конкретно сейчас у меня дома нет ни одних часов подобного качества, только внутри этой коробочки, но это никому не видно
Код: Выделить всё
bsd# ntpq -c rv
assID=0 status=06f4 leap_none, sync_ntp, 15 events, event_peer/strat_chg,
version="ntpd 4.2.4p5-a (1)", processor="amd64",
system="FreeBSD/8.0-RELEASE", leap=00, stratum=2, precision=-19,
rootdelay=4.669, rootdispersion=13.659, peer=4662, refid=62.117.76.142,
reftime=d035ddbe.b74c3039 Sat, Sep 11 2010 14:51:42.716, poll=8,
clock=d035dfef.b0180a05 Sat, Sep 11 2010 15:01:03.687, state=4,
offset=0.260, frequency=-46.122, jitter=0.102, noise=0.108,
stability=0.001, tai=0
Re: Блок индикации на 7-сегментных индикаторах
Добавлено: Сб сен 11, 2010 14:37:25
uldemir
Вообще-то меня этот вопрос тоже интересует. У самого стоит фрюникс и вроде, еще там есть LPT-порт. Конечно, меня не устраивает применение LDM-209, потому как совершенно не достовабельно. Насчет сделать самому... 9 микросхем логики и 72 резистора - меня вгоняет в тоску. И не факт, что удастся по одной стороне развести. Сделать на CPLD - очень много ресурсов надо - 72 регистра на сдвиговый регистр и 72 ячейки для хранения/отображения. Можно уменьшить если символы передавать и хранить в БКД, но тогда теряется гибкость устройства отображения, нельзя будет вывести слово из 3-х букв. Потому, мне кажется, приемлемым было бы использовать микроконтроллер со встроенным USART или PSP.
PSP (parallel slave port), конечно нативнее для LPT порта, но тащить 8-ми битную шину данных мне кажется тоскливым. Использовать стандартные LPT-кабели - кабель будет крупнее устройства отображения. Если, конечно, не использовать индикаторы с высотой знака 50мм.
USART - обеспечит совместимость с LDM-209 - программируем его в синхронную slave моду и заталкиваем по прерываниям в буфер ОЗУ, а от-туда микроконтроллер может выводить, хоть в статике, хоть в динамике на любое устройство отображения. Дёшево и сердито.
А ещё, можно заложиться на ВЛИ и PT6312. Там правда протокол обмена несколько иной.
Re: Блок индикации на 7-сегментных индикаторах
Добавлено: Сб сен 11, 2010 15:02:50
damages
uldemir писал(а):Конечно, меня не устраивает применение LDM-209, потому как совершенно не достовабельно. Насчет сделать самому... 9 микросхем логики и 72 резистора - меня вгоняет в тоску.
такая же фигня ))
все дело в целесообразности
например, ldm-209 (550руб + времени доехать в чипдип на гиляровского + простота софта + простота подключения) меня бы более чем устроили
кстати, коробчка у меня стоит в антресоли в обычно темной прихожей, чтобы не шуметь по ночам в жилых комнатах жесткими дисками во время работы торрента
так что светящиеся яркие часики были бы там вполне к месту
Re: Блок индикации на 7-сегментных индикаторах
Добавлено: Сб сен 11, 2010 16:03:05
uldemir
Однако, поделитесь секретом, как вы собирались подключать этот дисплей. Просто к шине данных и там дрыгать ногами или использовать частично функциональность LPT порта? Почему я спрашиваю, потому как я не умею писать программы работающие с железом и потому не знаю какие ресурсы для этого используются и какие у них есть возможности. Ведь работая под операционной системой как-то неприлично лезть грязными ручками прямиком в порты. Т.е. какие ограничения на схемотехнику накладываются?
только что попробовал развести 595 на 14мм индикатор - по одной стороне 595 в SO корпусе с 8 резисторами под индикатором не умещается.
Re: Блок индикации на 7-сегментных индикаторах
Добавлено: Вс сен 12, 2010 01:28:41
damages
uldemir писал(а):Однако, поделитесь секретом, как вы собирались подключать этот дисплей. Просто к шине данных и там дрыгать ногами или использовать частично функциональность LPT порта? Почему я спрашиваю, потому как я не умею писать программы работающие с железом и потому не знаю какие ресурсы для этого используются и какие у них есть возможности. Ведь работая под операционной системой как-то неприлично лезть грязными ручками прямиком в порты. Т.е. какие ограничения на схемотехнику накладываются?
только что попробовал развести 595 на 14мм индикатор - по одной стороне 595 в SO корпусе с 8 резисторами под индикатором не умещается.
1) нет никаких секретов
2) именно так, дрыгать ногами )))
3) freebsd имеет "законный" интерфейс для таких дел: в man ppi за подробностями, интерфейс далеко не самый быстрый, мне удается программно последовательным кодом обеспечивать поток ~40-50 кбит (на глазок)
4) ограничений на схемотехнику только низкое быстродействие (см.п.3)
5) с ресурсами не-RT ОС надо быть осторожней, поскольку она в это время занимается кучей другой полезной работы, (например, киношки качать) поэтому работа допустима только через стандартный ppi-драйвер, и неправильным программированием можно начать либо напрягать ОС, либо неправильно выводить данные на индикатор
про размеры: я бы предпочел под индикацию времени поставить дюймовые индикаторы, но у них нормальное потребление 10ма, 595ая по паспорту не тянет столько, ~4-5 ма дает всего
ну или не ярко будет
Re: Блок индикации на 7-сегментных индикаторах
Добавлено: Вс сен 12, 2010 10:44:16
uldemir
damages писал(а):про размеры: я бы предпочел под индикацию времени поставить дюймовые индикаторы, но у них нормальное потребление 10ма, 595ая по паспорту не тянет столько, ~4-5 ма дает всего
ну или не ярко будет
Посмотрел даташит, и Philips, и TI обещают максимальный ток 35 мА, но при общем токе 70мА. Так что если придавить жабу до 8мА - оно вполне потянет (или 10, но без точек). А в даташите на индикаторы указывается яркость как раз для 10ма тока. Если использовать 1" индикаторы, то возможно, оно все же под индикатором уместится. Расходы получаются около 2 евро на разряд.
Пока никто не видит еще напишу. Вот прикинул печатку. Плата масштабируемая. нарисовано только 2 разряда.

Конечно с LDM-209 не совместимая. последовательность бит несколько другая. Но так как программа имеет исходный код, то поменять последовательность - раз плюнуть. Дисплей Kingbright SA10-21. Сегментные резисторы имеют номинал 0.6в/8мА=75ом, для десятичной точки 2.8в/8мА=360ом, подтяжка к лог.1 - 10к. Может надо бы еще блокировочный конденсатор куда прилепить...
Re: Блок индикации на 7-сегментных индикаторах
Добавлено: Вт сен 14, 2010 20:22:02
damages
uldemir писал(а):
Пока никто не видит еще напишу. Вот прикинул печатку. Плата масштабируемая. нарисовано только 2 разряда.
Конечно с LDM-209 не совместимая. последовательность бит несколько другая. Но так как программа имеет исходный код, то поменять последовательность - раз плюнуть. Дисплей Kingbright SA10-21. Сегментные резисторы имеют номинал 0.6в/8мА=75ом, для десятичной точки 2.8в/8мА=360ом, подтяжка к лог.1 - 10к. Может надо бы еще блокировочный конденсатор куда прилепить...
блокировочный(е) навесом мона налепить
в принципе здорово
конкретный вопрос:
как насчет слепить 2 индикатора ? какая будет цена за 7 разрядов?
вопрос: какая предполагаемая ОС? у меня FreeBSD, там проблем нету
посмотрел как на линухе сделать, там все хуже,
придется напрямую с портами работать
http://www.faqs.org/docs/Linux-mini/IO- ... mming.html
теоретически могут возникнуть неожиданности
завтра на работе дойду до компьютерщиков, полюбопытствую про линух, есть вроде федора и опенсусе
Re: Блок индикации на 7-сегментных индикаторах
Добавлено: Вт сен 14, 2010 22:16:34
uldemir
damages писал(а):как насчет слепить 2 индикатора ? какая будет цена за 7 разрядов?
Ну как я говорил около 2 евро на разряд без стоимости платы. (правда я считал самый дешевый индикатор из этой серии - зеленый 1.18евро. HE Red - 1.49, Ultra red - 2.11. 74HC595 - 0.4 евро) Проблема еще в шаблоне - халявный EAGLE больше 10 см плату не делает (хотя вроде дорожки можно скопипастить - я так уже раз делал). Но самая большая проблема в доставке - я не в России и не из Украины. А с международными отправлениями могут быть проблемы. А поближе никто сделать не умеет?
damages писал(а):вопрос: какая предполагаемая ОС? у меня FreeBSD, там проблем нету
Код: Выделить всё
uname -a
FreeBSD haos.homeip.net 6.4-STABLE FreeBSD 6.4-STABLE #0: Tue Nov 24 08:09:47 EET 2009
Вот вчерась прикинул вариант с микроконтроллером. Правда, оно хуже. Если схема со сдвиговыми регистрами, так сказать, "синхронизируется" по последнему биту, то эта будет синхронизироваться по первому. т.е. если по какой причине вместо 8 бит придёт 9, то сдвиговый регистр отобразит последние 8, а первый потеряется, то микроконтроллерный - наоборот.

IC1 74HC164, IC2 74HC138, микроконтроллер - любимый pic16f628