Цифровая токовая петля + много клиентов

Обсуждаем цифровые устройства...
Ответить
Первый раз сказал Мяу!
Сообщения: 37
Зарегистрирован: Пт окт 22, 2010 20:08:50

Сообщение Beggar »

Здравствуйте. Нужна экспертная оценка идеи. Планирую сделать электронный ценник. Идея следующая: один ведущий и много ведомых устройств (сам ценник). Ведущий общается с ПО на PC по UART. Ведущий и ведомые на tiny 2313. Среда передачи – витая пара, способ – токовая петля. Питание подавать тоже по витой паре. Количество ведомых - до 80. Длинна линии до 20 метров. Ведомый имеет семи сегментный индикатор. Потребление каждого ведомого ~ 35мА при 5 В. Ведущий и ведомый питаются от одного источника. Напряжения питания от 25 до 27 В, каждый ведомый имеет на борту DC-DC на MC34063, для того что бы понизить общий ток в витой паре по питанию и вписаться в 600 мА.

Общаться ведущий с ведомым будут по токовой петле – 0/20мА. Сигнал - падение на резисторе 16Ом, падение фиксирую встроенным компаратором. Падение получается 320мВ. При максимальном количестве ведомых (80) сопротивление (без учёта сопротивления проводников) = 1280 Ом. Напряжение на источнике тока для петли получатся 25-27 В.

Компаратор генерирует прерывание по возрастающему и по спадающему фронту. Считаем количество тактов таймера. Если время импульса 125 мкС +/-15% – логическая единица, 250 мкС+/- 15% – логический ноль. Пауза между импульсами 125мкС.
В итоге скорость передачи ~3.2KBs. Вполне хватает, при 80-ти ведомых, что бы всем дать по 5-ти байтной команде за секунду.
Все tiny 2313 тактируется от внутреннего осциллятора.
На макете собрал ведущего и ведомого, воткнул между ними 40 метров витой пары, подавал меандр 4KHz, по прерыванию от компаратора инвертировал один из выходов контроллера, смотрел осциллографом - на выходе тот же сигнал что и подавал, но не всегда, иногда компаратор не срабатывает.

Предыстория: Есть у меня маленький магазин самообслуживания, обслуга не всегда вовремя меняет бумажные ценники, или просто путаются. Штраф большой. Я программист по образованию, на контроллерах всякие штуки делал. С длинными линиями дела не имел, что такое индуктивность и ёмкость линии и как это влияет на работу для меня страшный матан.

Сам вопрос: я на верном пути? Какие подводные камни встретятся? Не повышибает ли выходы контроллера какая-нибудь наводка.

Заранее очень благодарен за ответы.
Схему прилагаю.
Изображение
Реклама
Друг Кота
Аватара пользователя
Сообщения: 4747
Зарегистрирован: Вс янв 24, 2010 13:14:02
Откуда: Омск

Сообщение vem566 »

На токовых петлях делали на заре компьютеров подключение мониторов. Все прекрасно работало до 50 метров. Но и у передатчика и у приемника стояли оптопары.
Предложенная идея имеет право на жизнь. Однако, при увеличении длины возрастают наводки. Вполне могут появиться ложные срабатывания. Может есть смысл в приемниках поставить оптику?
Витая пара (типа UTP) работает на частотах до 1 ГГц при длине до 100 метров. Правда там уровень между 0 и 1 = 3 вольта.
Реклама
Собутыльник Кота
Аватара пользователя
Сообщения: 2708
Зарегистрирован: Сб май 14, 2011 21:16:04
Откуда: г. Чайковский

Сообщение Z_h_e »

20 метров это ж не расстояние. Зачем такие сложности. Трехжильный кабель(+питание, данные, общий). Отпадают источники питания каждого ценника. Данные-обычный UART, не надо мудрить с токовой петлей. Ну на крайняк 485, но думаю не понадобится.
Изображение
Добро всегда побеждает зло. Поэтому кто победил - тот и добрый.
Опытный кот
Аватара пользователя
Сообщения: 882
Зарегистрирован: Ср фев 22, 2012 01:25:21

Сообщение shads »

Z_h_e писал(а):20 метров это ж не расстояние. Зачем такие сложности. Трехжильный кабель(+питание, данные, общий). Отпадают источники питания каждого ценника. Данные-обычный UART, не надо мудрить с токовой петлей. Ну на крайняк 485, но думаю не понадобится.
100%.....
Я даже километр таким способом (+питание, данные, общий) организовывал, все ОК.
http://asis-kbr.ru/forum/viewtopic.php?f=9&t=107
Реклама
Эиком - электронные компоненты и радиодетали
Сверлит текстолит когтями
Сообщения: 1180
Зарегистрирован: Пт авг 21, 2009 03:22:12

Сообщение bolek »

Z_h_e писал(а):20 метров это ж не расстояние. Зачем такие сложности. Трехжильный кабель(+питание, данные, общий). Отпадают источники питания каждого ценника. Данные-обычный UART, не надо мудрить с токовой петлей. Ну на крайняк 485, но думаю не понадобится.
Поддерживаю! Только 80 ценников напрямую в стандартный UART не включить.

А в нарисованной ТС картинке нужны гальванически развязанные источники питания для каждого модуля (нужен DC-DC конвертер с трансформатором), так что 34063 здесь не подойдет, если ее включать по стандартной схеме.

P.S. В принципе идея здравая, только применение очень уж ограничено количеством ценников. А если понадобится добавить еще (ассортимент товара расширится)?
Лучше сразу заложить возможность включения гораздо большего количества ценников.
Последний раз редактировалось bolek Пт сен 27, 2013 10:00:21, всего редактировалось 2 раза.
Реклама
Друг Кота
Аватара пользователя
Сообщения: 17234
Зарегистрирован: Чт апр 04, 2013 12:46:59
Откуда: Тюмень

Сообщение Slabovik »

Не нравится последовательное соединение - при неполадках (плохой контакт в разъеме) у одного, нагибается вся магистраль. Множественные подключения делают параллельно на шину. Очень неплохой и дальнобойный стандарт RS-485, если хочется изобретать, то в качестве отправной точки можно взять ISP или I2C (сложнее, но универсальнее), и "удлинить" их, адаптировав на работу с длинной линией (снизив скорость, буферизовав выходы), в итоге всё ограничится тремя проводниками... Но лучше RS-485 - это на 1 провод больше, зато большая универсальность. А сами ценники к шине можно будет подключать обыкноценной 4-pin RJ-11 в любом месте...
Контактная информация:
Реклама
Друг Кота
Сообщения: 5369
Зарегистрирован: Вт фев 21, 2012 13:51:55
Откуда: Начинающий

Сообщение petrenko »

Если припомнить древние сети у "буржуинов", то там были одно время популярны типа "моноканал" на коаксиале, причём по нему и сигнал и питание было.
( Не помню, как сие обзывалось - по аглицки как то - можно пошукать в WWW ,если это важно.. )
< виртуальная "кнопочка" >--( WWW ) <- Убедительная просьба интересующимся старыми компьютерами типа РК86 - не пишите в теме в барахолке, пишите Ваши вопросы в ( лс ) пожалуйста
Контактная информация:
Сверлит текстолит когтями
Сообщения: 1180
Зарегистрирован: Пт авг 21, 2009 03:22:12

Сообщение bolek »

Slabovik писал(а):... Множественные подключения делают параллельно на шину. Очень неплохой и дальнобойный стандарт RS-485,...
:) А сколько подключений к линии допускает стандарт? :)
http://ru.wikipedia.org/wiki/RS-485 :
- До 32 приёмопередатчиков в одном сегменте сети.
Сейчас есть микросхемы, которых можно больше навтыкать в сегмент, но все же не 80, как нужно ТС, т.е. все же тупо "в лоб" задачка не решается, надо хоть немного думать-читать-считать.
Друг Кота
Аватара пользователя
Сообщения: 17234
Зарегистрирован: Чт апр 04, 2013 12:46:59
Откуда: Тюмень

Сообщение Slabovik »

32 примопередатчика, а здесь только приёмники:
Стандарт RS-485 не оговаривает:
  • параметры качества сигнала (допустимый уровень искажений, отражения в длинных линиях)
    типы соединителей и кабелей,
    гальваническую развязку линии связи,
    протокол обмена.
На практике количество соединений определяется протоколом обмена, а не чисто теоретическим и совершенно неясно откуда взявшимся числом "32". Но даже если это принять за догму, репитеры и разветвители всё-равно никто отменить не смог...
Контактная информация:
Сверлит текстолит когтями
Сообщения: 1180
Зарегистрирован: Пт авг 21, 2009 03:22:12

Сообщение bolek »

Slabovik писал(а):На практике количество соединений определяется протоколом обмена, а не чисто теоретическим и совершенно неясно откуда взявшимся числом "32".
Протокол никак не влияет на количество соединений, это уже логический уровень организации обмена. На количество узлов же влияет параметры физическлго уровня.
Если заглянуть в стандарт, то допустимое количество узлов определяется очень просто:
- входное сопротивление драйвера 12 кОм
- допустимое суммарное входное сопротивление 375 Ом

Отсюда допустимое количество узлов: 12000/375=32

Другое дело, что в более современных микросхемах входное сопротивление выше 12 кОм, поэтому таких узлов можно подключить больше.
Первый раз сказал Мяу!
Сообщения: 37
Зарегистрирован: Пт окт 22, 2010 20:08:50

Сообщение Beggar »

Про оптопары в каждом ведомом я думал, это вариант не подходит по условию. Если оптопары включить параллельно падение на 80-ти должно быть 120 В. Если последовательно – то ток 1,6 А.


Про просто всех посадить на UART – я даже не сомневаюсь что в моих условиях это будет не работать. Стандарт – точка-точка, длинна 3-5 метров.
Вариант с RS-485 отпадает по цене, одна микруха протокола стоит столько же сколько tiny2313+семисегментник. Удорожание – 1,7-1,8 раза. Это неприемлемо.
По поводу маленького ассортимента. Это я так планирую сделать одну ветку. Т.е одна полка – одна ветка. Один проход – восемь полок, восемь веток. Одно ведущее устройство должно уметь работать с минимум восьми ветками. Но это сейчас не главное, в ведущем я не вижу проблемы как сделать.


Повреждение линии – вещь плохая. Ценники при подаче питания моргают восьмёрками 10 секунд, например, сразу видно где оборвалось. Кабель будет спрятан за торцом полки, повредить его можно будет только намеренно. Это уже работа СБ.


Вариант с соединением RJ 45 я рассматривал и отказался. Во-первых ценник ставиться раз и навсегда, его не нужно отключать и подключать. Скорость монтажа неважна. Розетка, самая дешёвая стоит 35 центов. Я прикидывал и корпус с розетками. Разлетаются они на раз. Это потенциальный источник проблем. Хорошая розетка стоит 1 доллар, нужно две – это не много, это ОЧЕНЬ много! Так что только клеммное соединение.


Кстати я сделал полностью рабочий вариант на 1-wire. Этот девайс сделан на DS2413. Мне не нравиться ни цена, ни скорость. Плюс, ведущий должен быть на чём-то интеллектуальном, на чём будет управляющий софт крутиться.


Вот почему сейчас рассматриваю вариант с петлёй. Мне нужна оценка этой идеи. Всё должно быть максимально просто и дёшево.

Спасибо за комментарии.

У меня вопрос, почему все ведомые должны быть гальванически развязаны друг от друга и от ведущего, ведь петля от них уже развязана?
Сверлит текстолит когтями
Сообщения: 1180
Зарегистрирован: Пт авг 21, 2009 03:22:12

Сообщение bolek »

Beggar писал(а):У меня вопрос, почему все ведомые должны быть гальванически развязаны друг от друга и от ведущего, ведь петля от них уже развязана?
Смотрим в схему на токоизмерительные (подключенные к компаратору) резисторы: то, как они нарисованы, задает только разность потенциалов между входами компаратора (плавающее включение). А какое будет напряжение на входе компаратора относительно общего провода МК?
Чтобы схема работала правильно, нужно чтобы напряжение на входах компаратора было от 0 до Uпит. МК. Чем оно обеспечивается в этой схеме? Явно - ничем, неявно - входным сопротивлением (сопротивлением утечки входа) компаратора, его можно посмотреть в даташите на МК.

Вот, на скорую руку, моделька измерительной части схемы из первого поста: блоки по 10 измерительных резисторов (16*10=160 Ом), 1,8 МОм - имитация входного сопротивления входов компараторов (от фонаря).
Изображение
Видно, что схема неправильная - напряжения на входах компараторов выходят и за Uпит и ниже 0.
Так что без гальванической развязки источников питания ценников не обойтись.

А если ставить DC-DC с гальванической развязкой - скорее всего, это выйдет дороже добавления микросхем RS-485.

P.S. Еще думать надо: самое первое решение - самое простое (как правило) и неработающее (тоже как правило), а конечная цена будет в 2-3... раз дороже, чем первоначально предполагалось :)

P.P.S. Посмотрел на цену DS2413 :shock: Это точно не тот вариант, любые удорожания (RS485, DC-DC с развязкой и пр.) выйдут намного дешевле.
Maxim в своем обычном репертуаре...
Последний раз редактировалось bolek Пт сен 27, 2013 16:58:56, всего редактировалось 1 раз.
Друг Кота
Сообщения: 13796
Зарегистрирован: Чт сен 20, 2007 14:08:00

Сообщение kalobyte »

вариант могу предложить с коаксиальным кабелем 50ом
по нему питание и модулированный сигнал
я вообще все хотел сделать вилку аврааменко с одним проводом, по которому идет питание и данные, но думаю такая штука не прокатит у тебя по санитарным нормам
хотя думаю 100кгц никому не помешают, а на 95кгц передают по осветительной сети данные со счетчиков
по крайней мере я случайно в розетке у себя обнаружил

минус коаксиала - надо его аккуратно разрезать, а то на стыках будет падать мощность
тематические ответы только в форуме, в приват не пишите
Первый раз сказал Мяу!
Сообщения: 37
Зарегистрирован: Пт окт 22, 2010 20:08:50

Сообщение Beggar »

Смотрим в схему на токоизмерительные (подключенные к компаратору) резисторы: то, как они нарисованы, задает только разность потенциалов между входами компаратора (плавающее включение). А какое будет напряжение на входе компаратора относительно общего провода МК?
Компаратору всё равно какое там напряжение относительно земли, ему нужно напряжение между входами что бы сработать.
Смотрим даташит:
The Analog Comparator compares the input values on the positive pin AIN0 and negative pin AIN1. When the voltage on the positive pin AIN0 is higher than the voltage on the negative pin AIN1, the Analog Comparator output, ACO, is set. ....and blah, blah, blah.....
Я сначала экспериментировал с LM 311, на нём всё заработало.
Смотрим даташит на него:
Both the inputs and the outputs of the LM111, LM211 or the LM311 can be isolated from system ground, and the output can drive loads referred to ground,
А иначе зачем компаратору отрицательный вход? Так бы он и мерял напряжение относительно своей земли положительным входом (я про встроенный компаратор tiny2313)

Про то что входы встроенного компаратора могут быть изолированы от земли в даташите на 2313 нет не слова. Но эксперимент показывать что могут.

Спасибо за комментарий.

Мне всё таки остаётся неясным зачем развязывать ведомые друг от друга?
Первый раз сказал Мяу!
Сообщения: 37
Зарегистрирован: Пт окт 22, 2010 20:08:50

Сообщение Beggar »

Спасибо за предложение, kalobyte. Но не прокатит у меня коаксиальный кабель. Это же нужны разъёмы, модулировать / демодулировать сигнал. Короче слишком много мороки.
Сверлит текстолит когтями
Сообщения: 1180
Зарегистрирован: Пт авг 21, 2009 03:22:12

Сообщение bolek »

Beggar писал(а):Компаратору всё равно какое там напряжение относительно земли
Я не буду пытаться Вас переубедить, делайте как нравится или считаете правильным - это ВАШ проект. :)
Успехов!
Первый раз сказал Мяу!
Сообщения: 37
Зарегистрирован: Пт окт 22, 2010 20:08:50

Сообщение Beggar »

Мне интересны все замечания, может я чего-то не понимаю, я вполне допускаю. Так всё таки могут быть входы компаратора отвязаны от земли?
Друг Кота
Аватара пользователя
Сообщения: 4747
Зарегистрирован: Вс янв 24, 2010 13:14:02
Откуда: Омск

Сообщение vem566 »

Конечно могут. Компаратор срабатывает от разницы межу входами. Beggar совершенно правильно все объяснил. Но вернусь к помехам. Если петля "оторвана" от общего провода, возможна разность потенциалов между петлей и землей. А эта разность в состоянии пробить все входы за раз. Можете сами провести эксперимент. Возьмите и измерьте напряжение на корпусе компьютера и нулем в розетке или батареей. Высокоомным вольтметром переменного напряжения. Если корпус компа не заземлен - удивитесь.
Собутыльник Кота
Аватара пользователя
Сообщения: 2708
Зарегистрирован: Сб май 14, 2011 21:16:04
Откуда: г. Чайковский

Сообщение Z_h_e »

bolek писал(а):Только 80 ценников напрямую в стандартный UART не включить.
Прошу обмотивировать Ваше высказывание.

Beggar, попробуйте то что я предложил. Поверьте, оно заработает. Только выберите правильное сечение кабеля, чтобы хватило всем питания и быть может необходимо будет усилить выход передатчика UART (ведущее устройство). Оставте место на платах под max485, на всякий случай.

P.S. В 1998 году играл в StarCraft "по сети". Два компа были соеденены через COM порты, кабель бы спаян из КММ4-0,35. Никаких витых пар, экран не подключен. Длина 30м. Славные были баталии ночные.
Изображение
Добро всегда побеждает зло. Поэтому кто победил - тот и добрый.
Первый раз сказал Мяу!
Сообщения: 37
Зарегистрирован: Пт окт 22, 2010 20:08:50

Сообщение Beggar »

Я понял что есть решение и на UARTе. Я обязательно буду экспериментировать с ним, но уже в другой ветке. В этой я всё таки хочу обсудить решение с петлёй.

Сейчас я вижу два нерешённых момента:
1. Нужна ли гальваническая развязка ведомых.
2. Что делать с опасной разностью потенциалов между петлёй и землёй питания, если такая будет.
Во втором случае может поставить супрессоры на каждый ведомый между входом петли и землёй типа ESD5B5.0ST1G - Bi-directional ESD Protection Uпорог: 5.8 В: Iутеч: 1 мкА
Последний раз редактировалось Beggar Пт сен 27, 2013 19:12:34, всего редактировалось 1 раз.
Ответить

Вернуться в «Цифровая техника»