|
|
  |
Передача данных по цепи питания |
|
|
|
Jul 16 2008, 11:34
|

внештатный сотрудник
     
Группа: Участник
Сообщений: 2 458
Регистрация: 10-05-08
Из: МО, Медвежьи озера
Пользователь №: 37 401

|
Цитата(Alex999 @ Jul 16 2008, 14:57)  Добрый день. Возникла вот какая проблема: необходимо передать поток данных по двухпроводной линии. Пересмотрел весь форум и не один раз, поэтому и пришлось создавать новую тему, хотя подобные проблемы поднимались здесь уже не раз. Вообщем задача вот какая: необходимо передать поток данных по двухпроводной линии, одновременно и являющейся линией питания, с напряжением 12В постоянного тока. Ток по питанию примерно 15-20мА. скорость передачи от 64 до 115кбит, однонаправленный режим. К сожалению пока не знаю с какого конца ухватиться, поэтому и обращаюсь с вопросом, может кто-то решал уже подобную задачу.. всего десятью темами ниже: http://electronix.ru/forum/index.php?showtopic=47593
|
|
|
|
|
Jul 16 2008, 15:30
|

внештатный сотрудник
     
Группа: Участник
Сообщений: 2 458
Регистрация: 10-05-08
Из: МО, Медвежьи озера
Пользователь №: 37 401

|
Цитата(Alex999 @ Jul 16 2008, 16:20)  У меня скорости несколько больше, до 115кбит. длина кабеля до 100 метров, будет использоваться витая пара 5 категории. ну и прекрасно! меня-то ограничивают только характеристики кабеля... 115кбит "прокачивает" любой приемопередатчик RS-485, витая пара имеет лучшие электрические характеристики, чем тот кабель, на который я ориентируюсь, поэтому меняете просто источник тока в той (второй) схемке на источник напряжения, а стабилитрон на приемной стороне на электролит... модуляцию только сделаете, как там советовали, например Манчестером, и не исключено, что в начале передачи кадра потребуется несколько "пустых" битов передать для перезаряда емкостей (так по ним можно устойчиво засинхронизироваться заодно)...
|
|
|
|
|
Jul 17 2008, 08:25
|

внештатный сотрудник
     
Группа: Участник
Сообщений: 2 458
Регистрация: 10-05-08
Из: МО, Медвежьи озера
Пользователь №: 37 401

|
Цитата(Alex999 @ Jul 17 2008, 12:09)  В последней схеме, не очень понятно, как на удаленной стороне восстанавливается постоянная составляющая, для питания и трансивера RS-485 и других компонентов. По идее с "+" вывода электролита надо поставить перемычку на "+" питания трансивера? у Вас питание линии 12В, так что просто запитать трансивер от линии не получится, да и напряжение на электролите нестабилизированное будет (линия-то длинная, а ток не постоянный)... поэтому там оставляете линейный стабилизатор (на схемке он указан) и спокойно питаете трансивер и все остальное... электролит побольше поставьте для лучшей помехозащищенности канала, а проходные конденсаторы для скорости 115кбит наверное и 1мкф хватит (подбирать надо по наилучшему восстановлению сигнала приемным трансивером, как их посчитать я не представляю) я сейчас вплотную подошел к необходимости реализации подобного интерфейса, причем решил все-таки использовать не токовое питание линии, а именно напряжением, поэтому реальные результаты скоро будут, но если у Вас что-то появится, то тоже пишите
|
|
|
|
|
Aug 21 2008, 10:45
|

внештатный сотрудник
     
Группа: Участник
Сообщений: 2 458
Регистрация: 10-05-08
Из: МО, Медвежьи озера
Пользователь №: 37 401

|
Цитата(Alex999 @ Aug 20 2008, 14:38)  Собрал макет вот по этой схеме. Пока экспериментирую на столе, передавая файлы в терминалке и сравнивая переданный и полученный и результаты к сожалению не очень. прием есть, но вместо исходного файла идет какой то мусор на приеме. Пробовал на скоростях и 115200 и 57600. Питание смотрел, чистое. В чем может быть проблема? в номиналах индуктивностей?
interface.bmp ( 43.36 килобайт )
Кол-во скачиваний: 209не нашел пока даташиты на max13485 и mcp170250... мне кажется (во всяком случае я так делал), что нужно начать с того, что подать на передатчик просто меандр и убедиться в его хорошем восстановлении приемником. этого можно добиться подбором проходных емкостей и индуктивностей (как их посчитать - не знаю), а также резисторов подтяжки. так же на помехоустойчивость канала влияют емкости питания (выходная и входная) - их нужно увеличивать для получения отсутствия на них информационного сигнала, чтобы все выходное напряжение передатчика прикладывалось к дросселям. ну и передавать конечно модулированный сигнал, например Манчестер. да, трансиверы лучше использовать с ограничением по скорости
Сообщение отредактировал stells - Aug 21 2008, 11:00
|
|
|
|
|
Aug 21 2008, 11:23
|

внештатный сотрудник
     
Группа: Участник
Сообщений: 2 458
Регистрация: 10-05-08
Из: МО, Медвежьи озера
Пользователь №: 37 401

|
Цитата(Alex999 @ Aug 21 2008, 15:08)  Да, все верно. Просто не смог быстро для эксперимента найти 3,3В передатчик. А приемник 3,3В. не знаю, насколько это корректно... сигнал модулируете как-нибудь? если Вы пишете, что меандр был чистый, то и реальный сигнал (модулированный) должен быть нормальным, уж во всяком случае не "мусором"
|
|
|
|
|
Aug 22 2008, 09:40
|

внештатный сотрудник
     
Группа: Участник
Сообщений: 2 458
Регистрация: 10-05-08
Из: МО, Медвежьи озера
Пользователь №: 37 401

|
Цитата(d-f-m @ Aug 22 2008, 13:10)  Один из вариантов передачи данных по цепи питания: на выходе UART контроллера ставим Low-Side MOSFET Drivers, например TC4452, который питается от 12...18 вольт. К выходу MOSFET Drivers подключаем витую пару - я скручивал четыре витых пары кабеля 5CAT в одну. На другой конец ставим цепочку из диода шоттки и резистора 5...10 ом и тантала 100 мк на землю. От конденсатора запитывается через стабилизатор 5 вольт вся схема. С этого же конца витой пары через резистивный делитель сигнал подается на UART контроллера. Схема проверена на 5-канальном таймере. Нагрузкой служили 5 дисплеев, каждый потреблял 60 ма. Все работало на полной бухте кабеля 300 метров. В последствии был добавлен релейный блок, который потреблял 100 ма, но в нем пришлось добавить повышающий стабилизатор, т.к. на блок приходило 10в а под нагрузкой надо было 12в. Скорость передачи в канале была 19200. Больше не надо было. Чтобы не было провалов питания, в последовательность вводились 0xFF и паузы между пакетами. Проект работает больше года - сбоев ни разу небыло. Схему могу приложить после 25.08.08 я так понимаю, что у Вас передача возможна только в одну сторону?
|
|
|
|
|
Aug 22 2008, 09:52
|
Частый гость
 
Группа: Участник
Сообщений: 78
Регистрация: 22-08-08
Пользователь №: 39 751

|
Цитата(stells @ Aug 22 2008, 13:40)  я так понимаю, что у Вас передача возможна только в одну сторону? Да, только в одну сторону.
|
|
|
|
|
Sep 2 2008, 03:42
|
Участник

Группа: Участник
Сообщений: 54
Регистрация: 25-07-07
Пользователь №: 29 364

|
Возможно и не в тему, но вдруг пригодится я пробовал использовать схему от DiseqC позиционера, см. схему. Вывод RB0-прием, RB1-передача. Скорость проверял до 230400, работало исправно.
Эскизы прикрепленных изображений
|
|
|
|
|
Sep 4 2008, 07:34
|

внештатный сотрудник
     
Группа: Участник
Сообщений: 2 458
Регистрация: 10-05-08
Из: МО, Медвежьи озера
Пользователь №: 37 401

|
смодулировал Манчестер и зациклил пока в одну сторону передачу байта 0b00010111 - здесь есть и последовательности нулей и единиц, и переходы. "1" представлена как переход из "1" в "0", ну а "0" - наоборот. часота модулированного сигнала - 19200бит/сек. эквивалент кабеля пока не подключал. восстановление сигнала приемным трансивером прекрасное - фронты плывут не более чем на 0,5мксек. на фотке желтый луч - передаваемый сигнал, красный - восстановленный сигнал, последний импульс - начало следующего байта. в линию подавалось питание +12В, от которых был запитан приемный трансивер. питание на приемной стороне очень чистое, шумов вообще нет.
а это осциллограммы сигналов на выводах А и Б передающего трансивера. проходные емкости для частоты модулированного сигнала 19200бит/сек пришлось поставить 20мкФ (керамические 2*10), но видно, что их бы еще неплохо увеличить.
Сообщение отредактировал stells - Sep 4 2008, 07:28
|
|
|
|
|
Feb 10 2010, 06:26
|

внештатный сотрудник
     
Группа: Участник
Сообщений: 2 458
Регистрация: 10-05-08
Из: МО, Медвежьи озера
Пользователь №: 37 401

|
Цитата(navy2000 @ Feb 10 2010, 02:37)  Как думаете, если слэйвов будет много (120 шт), при длине витой пары до 400м будет работать такая схема? согласование драйверов в таком включении претерпело изменения:
резисторы подтяжки по 20кОм (для трансиверов max483/485), стабилитроны 5,1В. точка-точка работает без проблем на 300м со скоростью 19200кбит/с. можно и больше, но я использую контроллеры AVR и большую скорость не осилю программно. я так полагаю, что количество слейвов может быть таким же, как и при штатном использовании трансиверов RS-485, но нужно учитывать влияние по переменной составляющей резисторов подтяжки 20кОм/120=167Ом, что соизмеримо со значением сопротивления терминаторов. при применении трансиверов с более высокоомным входом ситуация будет получше. для снижения нагрузки на трансиверы при многоточечном подключении нужно увеличивать скорость передачи и индуктивность дросселей
Сообщение отредактировал stells - Feb 10 2010, 07:25
|
|
|
|
|
Feb 11 2010, 06:03
|

внештатный сотрудник
     
Группа: Участник
Сообщений: 2 458
Регистрация: 10-05-08
Из: МО, Медвежьи озера
Пользователь №: 37 401

|
Цитата(rezident @ Feb 10 2010, 22:52)  См. вложение. Пример на стр.5. (с) не мой.  я давно видел этот вариант. но сравните его с тем, что я привел - разве не видно, что он значительно проще? все серийное, мотать трансформаторы не надо, да и правильно говорит Microwatt - шунтирует питание информационную составляющую Цитата(Microwatt @ Feb 11 2010, 02:54)  Единственно - дроссели фильтров будут подмагничиваться. Это требует достаточно объемной конструкции с малыми параллельными паразитными емкостями. у меня была цель сделать систему на небольшое количество слейвов, в пределах 4-8 (сборка скважинных приборов). общее потребление 350-500мА. у мастера (там, где источник питания) дроссели на каркасах EFD20(25) (сейчас для одного слейва вообще на EFD15 намотаны), у слейвов (потребление каждого 70-100мА) - серийные SDR1005-103 Цитата(Microwatt @ Feb 11 2010, 02:54)  А вот в четырехпроводной линии это можно сделать на дифференциальных дросселях, очень простых и технологичных. Но кто ж нам тут ее, четырехпроводку, даст.... вот так?:
показаны трансформаторы, но можно и на дросселях сделать. постоянный ток подмагничивания действительно отсутствует, но нужно 4 провода
Сообщение отредактировал stells - Feb 11 2010, 06:07
|
|
|
|
|
Feb 11 2010, 14:02
|
Местный
  
Группа: Свой
Сообщений: 203
Регистрация: 17-07-06
Пользователь №: 18 874

|
Цитата я не нашел даташит на SN65NVD22, приведите пожалуйста http://focus.ti.com/docs/prod/folders/print/sn65hvd22.htmlЦитата если у Вас 120 слейвов, потребляющих 5мА, а сопротивление токопроводящих жил кабеля (допустим) 25Ом (на 400м), то на кабеле упадет 25*2*120*0,005=30В Я специально указывал 5 мВт (чтобы не привязываться к напряжению питания). Правда это без мощности потребляемой драйверами.
|
|
|
|
|
Feb 11 2010, 14:26
|

внештатный сотрудник
     
Группа: Участник
Сообщений: 2 458
Регистрация: 10-05-08
Из: МО, Медвежьи озера
Пользователь №: 37 401

|
Цитата(navy2000 @ Feb 11 2010, 17:02)  Я специально указывал 5 мВт (чтобы не привязываться к напряжению питания). Правда это без мощности потребляемой драйверами. да, это я проглядел. посчитать надо аккуратненько. при питании слейвов 5В ток потребления 1мА, драйвер только один может работать на передачу, сопротивление ТПЖ пусть будет 25Ом на 400м (самый плохой кабель). на кабеле упадет в этом случае 25*2*(120*0,001+0,1)=11В. т.е. питание линии может быть не больше 24В трансиверы sn65nvd22 с высокоомным входом и общее входное сопротивление приемников получится на порядок больше волнового сопротивления кабеля 96кОм/120=800Ом. и не факт, что им вообще потребуется подтяжка, у них похоже вход выведен на полпитания:
суммарная индуктивность 120 дросселей составит (для индуктивности каждого 10мГн) 10000*2/120=167мкГн. симулятор говорит, что падение амплитуды сигнала на дросселях на частоте 38400кГц должно составить не более 100мВ т.е. в первом приближении должно работать
|
|
|
|
|
Feb 11 2010, 16:06
|
Гуру
     
Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882

|
Цитата(stells @ Feb 11 2010, 11:03)  я давно видел этот вариант. но сравните его с тем, что я привел - разве не видно, что он значительно проще? Только помехоустойчивость вашей схемы весьма низкая по сравнению со штатным использованием драйверов RS485. Цитата(stells @ Feb 11 2010, 11:03)  вот так?: показаны трансформаторы, но можно и на дросселях сделать. Чушь это по-моему  Драйвер RS485 не предназначен для управления обмоткой трансформатора, это раз. Во-вторых, нужно формировать импульсы для обмотки транса, иначе в паузах между передачами пакетов или в случае зависания узла через обмотку трансформатора будет протекать постоянный ток. К тому же произвольную скорость передачи при таком включении уже не выберешь. Нужно привязываться с битовой скоростью к типу трансформатора.
|
|
|
|
|
Feb 11 2010, 16:11
|
Местный
  
Группа: Свой
Сообщений: 203
Регистрация: 17-07-06
Пользователь №: 18 874

|
Это семейство драйверов интересно не только высоким входным сопротивлением, вот здесь почитайте: Интерфейсы RS-485 дальнего радиуса действияЯ правильно понимаю, что дроссели на слэйвах должны расчитываться на ток потребления только самого слэва? То есть их можно применить небольшие и не бояться насыщения. А вот дроссели на мастере должны быть расчитаны на суммарный ток потребления всей линии. Верно? И у меня тут новая проблема назревает. Руководством предложено питать от линии еще и сами измерительные датчики А это примерно 0,4Вт. Как бы мне посчитать, может ли это в принципе заработать? Или отбиваться всеми конечностями?
|
|
|
|
|
Feb 11 2010, 16:42
|

внештатный сотрудник
     
Группа: Участник
Сообщений: 2 458
Регистрация: 10-05-08
Из: МО, Медвежьи озера
Пользователь №: 37 401

|
Цитата(rezident @ Feb 11 2010, 19:06)  Чушь это по-моему  Драйвер RS485 не предназначен для управления обмоткой трансформатора, это раз. Во-вторых, нужно формировать импульсы для обмотки транса, иначе в паузах между передачами пакетов или в случае зависания узла через обмотку трансформатора будет протекать постоянный ток. К тому же произвольную скорость передачи при таком включении уже не выберешь. Нужно привязываться с битовой скоростью к типу трансформатора. 1.мне недавно прислали ссылку по использованию драйверов RS-485 с трансформаторами (стр.7): http://narod.ru/disk/17672966000/AU-2%20Sc...EMATIC.pdf.html2.импульсы в паузах не нужно формировать, достаточно перевести выход в 3-е состояние 3.произвольная частота да, не получится. только расчетная Цитата(rezident @ Feb 11 2010, 19:06)  Только помехоустойчивость вашей схемы весьма низкая по сравнению со штатным использованием драйверов RS485. безусловно ниже. но "весьма или не весьма" зависит от длины линии, индуктивности дросселей и частоты передачи Цитата(navy2000 @ Feb 11 2010, 19:11)  Я правильно понимаю, что дроссели на слэйвах должны расчитываться на ток потребления только самого слэва? То есть их можно применить небольшие и не бояться насыщения. А вот дроссели на мастере должны быть расчитаны на суммарный ток потребления всей линии? да, на слейвах небольшие, в Вашем случае что-нибудь типа sdr0503-153. у мастера большой дроссель на общий ток потребления Цитата(navy2000 @ Feb 11 2010, 19:11)  И у меня тут новая проблема назревает. Руководством предложено питать от линии еще и сами измерительные датчики А это примерно 0,4Вт. Как бы мне посчитать, может ли это в принципе заработать? Или отбиваться всеми конечностями? считайте: 0,4Вт/5В=80мА, 80мА*120=9,6А, 9,6А*20Ом (сопротивление линии)=192В
Сообщение отредактировал stells - Feb 11 2010, 16:24
|
|
|
|
|
Feb 11 2010, 16:47
|
Местный
  
Группа: Свой
Сообщений: 203
Регистрация: 17-07-06
Пользователь №: 18 874

|
И еще несколько вопросов по приведенной вами схеме можно? http://electronix.ru/forum/uploads/monthly...82451_thumb.jpgС какой целью подтягивать к питанию обе линии (А и  ? Вроде стандартно, для защиты от неопределенного состояния В тянут к земле? R1 C1 - это насколько я понимаю терминатор для переменной составляющей (т.е. полезного сигнала), почему не просто R? И если уж это RC, то вы его используете только на концах линии или у всех абонентов? И просто уточнение, у вас +5 у слейва получается из +60 (того, что от него осталось после линии)?
|
|
|
|
|
Feb 11 2010, 16:51
|
Гуру
     
Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882

|
Цитата(stells @ Feb 11 2010, 21:42)  1.мне недавно прислали ссылку по использованию драйверов RS-485 с трансформаторами (стр.7): http://narod.ru/disk/17672966000/AU-2%20Sc...EMATIC.pdf.htmlСсылка нерабочая. Цитата(stells @ Feb 11 2010, 21:42)  2.импульсы в паузах не нужно формировать, достаточно перевести выход в 3-е состояние А при зависании узла/датчика, кто его переведет в 3-е состояние? Цитата(stells @ Feb 11 2010, 21:42)  3.произвольная частота да, не получится. только расчетная В корневом сообщении топикстартера было указано Цитата(Alex999 @ Jul 16 2008, 15:57)  скорость передачи от 64 до 115кбит, однонаправленный режим. . Цитата(stells @ Feb 11 2010, 21:42)  безусловно ниже. но "весьма или не весьма" зависит от длины линии, индуктивности дросселей и частоты передачи Цитирую Цитата(Alex999 @ Jul 16 2008, 17:20)  У меня скорости несколько больше, до 115кбит. длина кабеля до 100 метров, будет использоваться витая пара 5 категории.
|
|
|
|
|
Feb 11 2010, 16:54
|

внештатный сотрудник
     
Группа: Участник
Сообщений: 2 458
Регистрация: 10-05-08
Из: МО, Медвежьи озера
Пользователь №: 37 401

|
Цитата(navy2000 @ Feb 11 2010, 19:47)  С какой целью подтягивать к питанию обе линии (А и  ? Вроде стандартно, для защиты от неопределенного состояния В тянут к земле? R1 C1 - это насколько я понимаю терминатор для переменной составляющей (т.е. полезного сигнала), почему не просто R? И если уж это RC, то вы его используете только на концах линии или у всех абонентов? И просто уточнение, у вас +5 у слейва получается из +60 (того, что от него осталось после линии)? 1.у трансиверов max483/485 на входе резистивный делитель на землю. если входы не подтягивать к питанию, то на них будет 0В. при этом трансивер все-равно работает, но это некрасиво. резистор 20кОм вытягивает оба входа на середину питания 2.терминатор RC, чтобы постоянную составляющую (собственно питание) не рассеивать впустую. терминаторы только на концах 3.сейчас на линии 300м у меня с одним слейвом падает около 10В. питание 60В делаю для нескольких слейвов (4-8). у слейва питание реализовано на max5035 (входное напряжение 15-60В, выходное 12В)
|
|
|
|
|
Feb 11 2010, 16:55
|
Местный
  
Группа: Свой
Сообщений: 203
Регистрация: 17-07-06
Пользователь №: 18 874

|
Цитата Цитата(stells @ Feb 11 2010, 21:42) 1.мне недавно прислали ссылку по использованию драйверов RS-485 с трансформаторами (стр.7): http://narod.ru/disk/17672966000/AU-2%20Sc...EMATIC.pdf.htmlСсылка нерабочая. У меня скачалась. Цитата В корневом сообщении топикстартера было указано Не в коей мере не хотел обидеть топикстартера. У меня просто другие задачи, но создавать новую ветку не стал.
|
|
|
|
|
Feb 11 2010, 17:13
|
Гуру
     
Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882

|
Цитата(navy2000 @ Feb 11 2010, 21:55)  У меня просто другие задачи, но создавать новую ветку не стал. Если задачи другие, то зачем с ними лезть в чужую ветку и сбивать других пользователей с толку?  Я-то предполагал, что вы проблему топикстартера обсуждаете. Цитата(stells @ Feb 11 2010, 22:04)  а при зависании трансивера в типовом включении что будет? Ничего плохого в случае применения идеи из статьи. Импульсы-то формируются аппаратно, в отличие от программного варианта разрешения передачи трансивера RS485. Если же вы имеете в виду, типовую схему RS485, то будет конфликт на шине, который в случае одного зависшего узла довольно легко нивелируется элементами защиты трансивера. Мы обычно ставим multifuse последовательно с линиями данных RS485.
|
|
|
|
|
Feb 11 2010, 23:38
|
Гуру
     
Группа: Почетный участник
Сообщений: 6 851
Регистрация: 25-08-08
Из: Запорожье
Пользователь №: 39 802

|
кхм... Удаленное питание на 5 вольтах - забудьте. Линия такой длины питается стандартными 48 вольтами. Амплитуда сигнала должна быть мала по отношению к напряжению питания. Иначе, броски напряжения питания (точнее тока питания) при колебаниях трафика положат всю информацию набок. У абонентов - понижающий стабилизатор. И не какая-нибудь чепуха вроде МАХIМ -степдауна. а с трансформаторной развязкой. Иначе, отказ этого стабилизатора не только положит линию, но и выжжет все абонентское 5-вольтовое оборудование. Де-то я все-таки на борту встречал двухпроводку с питанием... небольшое, правда расстояние, метров 20. Там играли, кажется. на полярности, развязываясь хитрым мостом диодным... не могу вспомнить. Порыться на чердаке надо..... Может я невпопад, но если скорость обмена более-менее постоянна, то может, вместо дросселей фильтр-пробку на параллельном контуре есть смысл сделать.?
|
|
|
|
|
Feb 15 2010, 10:56
|
Группа: Участник
Сообщений: 5
Регистрация: 14-02-10
Пользователь №: 55 481

|
Всем привет! Очень интересная тема. Хотелось бы спросить: существуют ли готовые "коробочные" решения типа http://www.yamar.com/DCB500.html на основе более-менее доступных микросхем/протоколов. Задача: предавать питание 5В и данные по линии не более 12В DC. Всего 2 провода. Длина не более 500м. На линии висят устройства (датчики). Задача осложняется тем, что их может быть много и нужен либо какой-то CSMA, либо разделение по частотам. Заранее спасибо.
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|