Страница 1 из 2
Проблема с развязкой 5В на 12В в линию
Добавлено: Чт окт 18, 2012 18:55:21
tven26
Необходима схема развязки сигналов 5В с микросхемы, принимающей и передающей данные с 8-ми концевиков в дверях удаленного объекта на пульт охранника (на 8 светодиодов). В схеме использованы сдвиговые регистры, всего задействовано три провода. Тактами управляет микроконтроллер Атмега8.
Есть схема с использованием реле, но она не подойдет по причине быстрого выхода из строя из-за постоянного размыкания-замыкания.
Признаюсь, не сильно силен в радиоэлектронике, но очень хочу разобраться. Как можно реализовать развязку линии, чтобы общее количество проводов в линии было не более 4 (кабель лежит 4-х проводный)?

Re: Проблема с развязкой 5В на 12В в линию
Добавлено: Чт окт 18, 2012 19:34:09
mas123
tven26 писал(а):Необходима схема развязки сигналов 5В с микросхемы, принимающей и передающей данные с 8-ми концевиков в дверях удаленного объекта на пульт охранника (на 8 светодиодов).
Передавать цифу на 1 км? Мне даже страшно представить ЧТО будет с фронтами сигнала на той стороне
Имхо, тут нужна не "развязка 5в на 12", а "как сделать передачу на 1 км".
Скорее всего, тебе поможет RS-485. Ставишь к AVR на стороне кнопок драйвер... типа MAX485. Второй такой же драйвер и AVR ставишь на стороне охранника.
И у тебя всего 2 провода для передачи!

Останется самое простое.

Изобрести какой-нить протокол обмена, хорошо бы с подтверждением.
Ну там... заголовок, команда какая, состояние кнопок, контрольная сумма...

Re: Проблема с развязкой 5В на 12В в линию
Добавлено: Чт окт 18, 2012 20:34:51
BOB51
токовая петля с побитовым квитированием... правда тихоходная и требует 6 проводков + схемка "с мозгами" на приемной стороне
Re: Проблема с развязкой 5В на 12В в линию
Добавлено: Чт окт 18, 2012 21:15:14
Z_h_e
Ну токовую петлю можно значительно упростить.

Восемь концевиков - это 256 комбинаций. Первому концевику будет соотвествовать ток Х, второму 2Х, третьему 4Х... восьмому 128Х.
Предположим сработали 1, 5 и 8 концевики, то тогда ток в петле будет Х*(128+16+1). На принимающей стороне стоит АЦП и зажигает соотвестующие светодиоды. Можно наверное будет взять 8битное АЦП с параллельным выходом, и тогда контроллер вобще не нужен будет. А чему будет равен Х, это нужно будет выбрать из реальных условий эксплуатации, например чем он больше тем более помехоустойчивый канал передачи.
Правда человек спрашивал не как канал передачи организовать, а как развязать его ...

Re: Проблема с развязкой 5В на 12В в линию
Добавлено: Чт окт 18, 2012 21:24:12
tven26
Схема, требующая развязки, не претендует на догму. Просто это вариант решения задачи: передать данные от 8-ми разных концевиков (независимых) на пульт через расстояние 1 км (кабель П-270, 4 жилы). Пренебрегать длиной линии не получиться. Так как других вариантов не придумал, а эта схема работает (проверял в Proteus) то решил что надо ее апгрейдить на большие расстояния - "развязать".
Может и вправду, можно реализовать задачу другим способом, например по RS-485. Желательно с примерами.
Re: Проблема с развязкой 5В на 12В в линию
Добавлено: Чт окт 18, 2012 21:41:41
Z_h_e
Вам информацию только в одну сторону передавать?
На стороне концевиков, ставите контроллер который постоянно считывает их состояние. Считав, тут же по каналу UART (встроенному или программно организованному), через MAX485 передает на витую пару байт данных. А так как байт это 8 бит, то как раз удобно для 8 концевиков. И так молотит по циклу без остановки. На другой стороне стоит зеркальная схема которая все это дело принимает.
Re: Проблема с развязкой 5В на 12В в линию
Добавлено: Чт окт 18, 2012 21:44:20
mas123
tven26 писал(а):Пренебрегать длиной линии не получиться. Так как других вариантов не придумал, а эта схема работает (проверял в Proteus) то решил что надо ее апгрейдить на большие расстояния - "развязать".
А в Протеусе учтена длина линии со всеми её плюшками - затуханием, ёмкостью... и в итоге - завалом фронтов? Я очень сомневаюсь что "на том конце" вообще что-то примется.
tven26 писал(а):Может и вправду, можно реализовать задачу другим способом, например по RS-485. Желательно с примерами.
Я бы только такой вариант и стал рассматривать

Всё же расстояние не малое, а RS-485 как раз обещает до 1200 метров.
А какие примеры нужны?
Схема простая: AVR, UART-выводы Rx/Tx идет на драйвер RS-485. Ну, ещё сигнал "направление" для драйвера нужно.
Выводы А и В от драйвера RS-485 подключаем к терминатору (вот какой резистор для этого нужен - не подскажу) и пускаем А и В по твоему кабелю.
Да другой стороне всё тоже самое: терминатор, драйвер 485, AVR.
Re: Проблема с развязкой 5В на 12В в линию
Добавлено: Чт окт 18, 2012 23:01:12
tven26
Самое сложное,наверное, будет заключаться в написании протокола обмена для uart на Си. С программированием не сильно сталкивался, но понятие что это такое есть
Если кто знает, как написать протокол обмена uart для атмега8 для этой задачи, или где найти доступные понятные примеры команд в этом направлении.
Re: Проблема с развязкой 5В на 12В в линию
Добавлено: Пт окт 19, 2012 06:13:33
Z_h_e
Вам передавать данные в одну сторону?
Re: Проблема с развязкой 5В на 12В в линию
Добавлено: Пт окт 19, 2012 06:53:29
BOB51
Z_h_e писал(а):
Правда человек спрашивал не как канал передачи организовать, а как развязать его ...

так токовая петля вроде как на оптронах делается

Re: Проблема с развязкой 5В на 12В в линию
Добавлено: Пт окт 19, 2012 07:21:06
Z_h_e
BOB51, говоря про развязку, я имел ввиду свой пост, а не Ваш. А так как я предложил, в том варианте, по сути аналоговый канал передачи данных, то развязать его будет несколько сложнее.
Да по всей видимости развязка то и не нужна.
Re: Проблема с развязкой 5В на 12В в линию
Добавлено: Пт окт 19, 2012 12:06:53
tven26
Нужна передача в одну сторону без обратной связи. Почитал про УАРТ - там вроде развязка не нужна, нужны гасящие резисторы (терминаторы) и резисторы-потдяжки разности потенциалов между двумя проводами линии на питание и "землю".
Может кто знает реализацию проекта на УАРТ.
Re: Проблема с развязкой 5В на 12В в линию
Добавлено: Пт окт 19, 2012 12:13:42
Z_h_e
Может кто знает реализацию проекта на УАРТ.
Ну я ж Вам уже это все расписюлил. Читайте шестой сверху пост.
Re: Проблема с развязкой 5В на 12В в линию
Добавлено: Пт окт 19, 2012 13:22:55
tven26
Везде заумно написано про УАРТ. Может кто знает как ПРОСТО реализовать эту задачу?
Re: Проблема с развязкой 5В на 12В в линию
Добавлено: Пт окт 19, 2012 13:35:15
Z_h_e
Сейчас я накидаю функционал. Распишу как умею, если конечно заявка не поступит, я на работе.
IHMO: А если Вы хотите что то собрать, то разобраться самому все равно придется или не беритесь
Re: Проблема с развязкой 5В на 12В в линию
Добавлено: Пт окт 19, 2012 14:18:49
Z_h_e
Про UART почитайте в книге М.Гук «Интерфейсы ПК», думаю проще уж не куда.
Накидал Вам функциональную схему (не принципиальную), как видите, она проста.
Спойлер

Алгоритм работы передающего контроллера:
1. При включении питания контроллер инициализирует себя, в том числе модуль UART (он сейчас есть в каждом контроллере). В модуле UART настраиваете скорость передачи данных, количество бит данных (в Вашем случае это явно 8 ), количество стоповых бит (если надо).
2. Считывает состояния Порта к которому подключены датчики. Очередной раз повторюсь, что это как раз один байт данных.
3. Кидаете этот байт в передающий регистр модуля UART, который «без спроса» сразу начинает его передавать на витую пару через драйвер 485.
4. Ожидаете когда закончится передача, возвращаетесь к п.2.
Как видно, что для этого никакого протокола придумывать не надо. Контроллер просто молотит на витую пару пока не сгорит или не вырубится источник питания.
Алгоритм работы принимающего контроллера:
1. При включении питания контроллер инициализирует себя. В модуле UART настройки точно такие же как и в передающем.
2. Ожидаете когда контроллер что-то примет.
3. Считываете принятый байт информации.
4. Кидаете этот байт на выходной порт контроллера тем самым зажигая светодиоды. И к п.2
Про C не спрашивайте, даже не пробовал программировать контроллеры на нем. Про Asm рассказывать не буду.
P.S. А программатор то есть?
Re: Проблема с развязкой 5В на 12В в линию
Добавлено: Пт окт 19, 2012 21:02:25
tven26
Z_h_e писал(а):IHMO: А если Вы хотите что то собрать, то разобраться самому все равно придется или не беритесь
Задачу, собственно, поставил себе сам: переживаю за охрану своих же объектов
Программатор по LPT (разъем, проводки и резисторы), МК ATmega8.
Предложенный Вами принцип понял, спасибо! Читаю про УАРТ и АТМЕГУ как написать програмку для считывания состояний и закидывания в регистр передачи.
Re: Проблема с развязкой 5В на 12В в линию
Добавлено: Сб окт 20, 2012 07:48:42
pyzhman
Z_h_e писал(а):Ну токовую петлю можно значительно упростить. ...ток в петле будет Х*(128+16+1).
Почесал репу. Температура окружающей среды изменилась - и снова тарировать. Да и токовая петля всего два провода. Откуда шесть?
Re: Проблема с развязкой 5В на 12В в линию
Добавлено: Сб окт 20, 2012 08:07:56
Z_h_e
Температура окружающей среды изменилась - и снова тарировать.
Да нет никаких сложностей сделать стабилизатор тока минимально зависящий от температуры окружающей среды. Но действительно нет необходимости передавать инфу таким способом, т.к. реализация будет сложнее чем передать цифровым методом. Никаких 6 проводов я не предлагал.
Re: Проблема с развязкой 5В на 12В в линию
Добавлено: Сб окт 20, 2012 08:59:36
Enman
перейти на низкую частоту (до единиц-десятка Гц, чтобы исчезли волновые процессы в длинной линии). На входе ПРИЁМНОЙ стороны поставить 2 оптрона 817, которые будут принимать сигнал с линии. Между проводами линии сапрессоры и фильтрующие конденсаторы тоже не помешают. Импульс синхронизации на приёмную часть передавать со сдвигом хоть на пол длины импульса. После оптрона принимать на триггер Шмитта...Свою идею прилагаю. На динной линии основное - помехи и ГРОЗА.....
