Блок индикации на 7-сегментных индикаторах

Подключаем наши девайсы к компьютеру. Обсуждаются: порты, протоколы, драйвера, языки программирования и т.д.
Ответить
Родился
Сообщения: 17
Зарегистрирован: Вт сен 07, 2010 14:00:11

Сообщение 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 (питание)
Реклама
Друг Кота
Аватара пользователя
Сообщения: 7361
Зарегистрирован: Пт авг 28, 2009 21:34:30
Откуда: 845-й км.

Сообщение uldemir »

Такой индикатор изготавливается самостоятельно на раз. Толпа сдвиговых регистров с защелкой подключенных к индикаторам. Возможно широкораспространенные 74hc595 подойдут (надо проверить есть ли там сигнал load.
Встречный вопрос, а что за софт это умеет выводить? какой свободный или нет?
И еще, обязательно 9 разрядов или хватит 7?
А можно один микроконтроллер поставить, который эти сдвиговые регистры будет эмулировать и выдавать инфо на индикаторы даже с динамической индикацией (упростится монтаж и конструкция будет более легко собираемой.
А люди посмотрят и скажут: "Собаки летят. Вот и осень."
Реклама
Друг Кота
Аватара пользователя
Сообщения: 3872
Зарегистрирован: Пт янв 29, 2010 10:27:40
Откуда: Москва

Сообщение Engineer_Keen »

Судя по описанию LDM-209 - там обычный SPI, так что если этот индикатор подходит, то схемка с 74hc595 - самое то. Количество 595 = количеству разрядов, главное чтобы USB порт потянул (USB макс 500мА, а 7 разрядов по 10мА на сегмент - это уже 490 мА).

Если взять 74hc595 примерно 15р, а один 7-сегментный индикатор - 30р, то в сумме выйдет точно меньше 550р, даже с учетом обвязки и печатки.
Родился
Сообщения: 17
Зарегистрирован: Вт сен 07, 2010 14:00:11

Сообщение damages »

uldemir писал(а):Такой индикатор изготавливается самостоятельно на раз. Толпа сдвиговых регистров с защелкой подключенных к индикаторам. Возможно широкораспространенные 74hc595 подойдут (надо проверить есть ли там сигнал load.
Встречный вопрос, а что за софт это умеет выводить? какой свободный или нет?
И еще, обязательно 9 разрядов или хватит 7?
А можно один микроконтроллер поставить, который эти сдвиговые регистры будет эмулировать и выдавать инфо на индикаторы даже с динамической индикацией (упростится монтаж и конструкция будет более легко собираемой.
595 замечательно подходит )))
load там есть
программку я сам написал, ~200 строк на с

но в настоящее время я не обладаю ни инфраструктурой для паяния ни временем для оного
поэтому и рассматривался вариант покупки готового индикатора - воткнул и все
этот был бы хорош тем, что сигнал load выставляется в точный момент смены времени (задержка 1-2 мс)

по поводу питания от усб, если не хватит, то в коробочке всяко 5в найдется, блок питания там 5+ кратным запасом
ДИ средствами ОС недопустима - резко возрастет нагрузка на проц
а внешний контроллер ДИ сразу сбавит точности
Реклама
Эиком - электронные компоненты и радиодетали
Родился
Сообщения: 17
Зарегистрирован: Вт сен 07, 2010 14:00:11

Сообщение damages »

Engineer_Keen писал(а): Если взять 74hc595 примерно 15р, а один 7-сегментный индикатор - 30р, то в сумме выйдет точно меньше 550р, даже с учетом обвязки и печатки.
а подскажите пожалуйста где такие цены в мск
а то в чипдипе ценник уж очень недобрый какой-то ((((
Реклама
Родился
Сообщения: 17
Зарегистрирован: Вт сен 07, 2010 14:00:11

Сообщение damages »

примечание про 9 разрядов
я вообще хотел купить 2 таких индикатора и включить последовательно(позволяет)
чтобы отображать в верхней строке время и день недели "HH.MM.SS.Z W"
в нижней дату "YYYY.MM.DD"
Реклама
Друг Кота
Аватара пользователя
Сообщения: 3872
Зарегистрирован: Пт янв 29, 2010 10:27:40
Откуда: Москва

Сообщение Engineer_Keen »

damages писал(а):а подскажите пожалуйста где такие цены в мск
а то в чипдипе ценник уж очень недобрый какой-то ((((
Ага, я в чипе покупаю только в случае, когда нигде больше нет :kill:

В мск есть например вот:Регистр 74НС595, индикатор.
Родился
Сообщения: 17
Зарегистрирован: Вт сен 07, 2010 14:00:11

Сообщение damages »

Engineer_Keen писал(а): В мск есть например вот:Регистр 74НС595, индикатор.
спасибо за подсказку
может соберусь когданибудь с руками, да спаяю
Друг Кота
Аватара пользователя
Сообщения: 7361
Зарегистрирован: Пт авг 28, 2009 21:34:30
Откуда: 845-й км.

Сообщение uldemir »

Я так понял, что программой делиться не предполагалось...
А люди посмотрят и скажут: "Собаки летят. Вот и осень."
Родился
Сообщения: 17
Зарегистрирован: Вт сен 07, 2010 14:00:11

Сообщение damages »

uldemir писал(а):Я так понял, что программой делиться не предполагалось...
мне более интересен такой вариант:
1) заинтересованное лицо с правильными руками и инфраструктурой изготавливает 1 лишний индикатор, который я у него и покупаю
2) затачиваем софт под конкретную реализацию железа
3) пользуемся
4) отлаженное устройство документируем по полной и выкладываем на обозрение народу
Первый раз сказал Мяу!
Аватара пользователя
Сообщения: 25
Зарегистрирован: Пт сен 10, 2010 14:40:40
Откуда: Красноярск

Сообщение Int_13h »

damages писал(а):Добрый день.
а) была мысль подключить вот такой вот индикатор LDM-209RA к компу через свободный lpt ...
лпт вымирает, почему бы под USB не заточить (если там SPI то FT232 в режиме bit-bang либо внешний МК) или хотя бы COM ?
Контактная информация:
Друг Кота
Аватара пользователя
Сообщения: 3872
Зарегистрирован: Пт янв 29, 2010 10:27:40
Откуда: Москва

Сообщение Engineer_Keen »

Int_13h писал(а):лпт вымирает, почему бы под USB не заточить (если там SPI то FT232 в режиме bit-bang либо внешний МК) или хотя бы COM ?
Если на компе присутствует LPT - почему бы его не использовать? С ним работать гораздо проще чем с USB (программа проще и ft232 не нужна).

А у кого нету LPT - :P
Родился
Сообщения: 17
Зарегистрирован: Вт сен 07, 2010 14:00:11

Сообщение 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
Друг Кота
Аватара пользователя
Сообщения: 7361
Зарегистрирован: Пт авг 28, 2009 21:34:30
Откуда: 845-й км.

Сообщение 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. Там правда протокол обмена несколько иной.
А люди посмотрят и скажут: "Собаки летят. Вот и осень."
Родился
Сообщения: 17
Зарегистрирован: Вт сен 07, 2010 14:00:11

Сообщение damages »

uldemir писал(а):Конечно, меня не устраивает применение LDM-209, потому как совершенно не достовабельно. Насчет сделать самому... 9 микросхем логики и 72 резистора - меня вгоняет в тоску.
такая же фигня ))

все дело в целесообразности
например, ldm-209 (550руб + времени доехать в чипдип на гиляровского + простота софта + простота подключения) меня бы более чем устроили

кстати, коробчка у меня стоит в антресоли в обычно темной прихожей, чтобы не шуметь по ночам в жилых комнатах жесткими дисками во время работы торрента

так что светящиеся яркие часики были бы там вполне к месту
Друг Кота
Аватара пользователя
Сообщения: 7361
Зарегистрирован: Пт авг 28, 2009 21:34:30
Откуда: 845-й км.

Сообщение uldemir »

Однако, поделитесь секретом, как вы собирались подключать этот дисплей. Просто к шине данных и там дрыгать ногами или использовать частично функциональность LPT порта? Почему я спрашиваю, потому как я не умею писать программы работающие с железом и потому не знаю какие ресурсы для этого используются и какие у них есть возможности. Ведь работая под операционной системой как-то неприлично лезть грязными ручками прямиком в порты. Т.е. какие ограничения на схемотехнику накладываются?

только что попробовал развести 595 на 14мм индикатор - по одной стороне 595 в SO корпусе с 8 резисторами под индикатором не умещается.
А люди посмотрят и скажут: "Собаки летят. Вот и осень."
Родился
Сообщения: 17
Зарегистрирован: Вт сен 07, 2010 14:00:11

Сообщение 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 ма дает всего

ну или не ярко будет
Друг Кота
Аватара пользователя
Сообщения: 7361
Зарегистрирован: Пт авг 28, 2009 21:34:30
Откуда: 845-й км.

Сообщение 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к. Может надо бы еще блокировочный конденсатор куда прилепить...
А люди посмотрят и скажут: "Собаки летят. Вот и осень."
Родился
Сообщения: 17
Зарегистрирован: Вт сен 07, 2010 14:00:11

Сообщение 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
теоретически могут возникнуть неожиданности
завтра на работе дойду до компьютерщиков, полюбопытствую про линух, есть вроде федора и опенсусе
Друг Кота
Аватара пользователя
Сообщения: 7361
Зарегистрирован: Пт авг 28, 2009 21:34:30
Откуда: 845-й км.

Сообщение 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
А люди посмотрят и скажут: "Собаки летят. Вот и осень."
Ответить

Вернуться в «Интеграция с ПК»