Перейти к содержанию
    

Связь на растоянии смежду несколькими PIC

Здравствуйте!!!! я студент проектирую дипломный проект. Не могу решить следующею задачу. Имеется устройство или несколько устройств которые собирают информацию из датчиков в микроконтроллер, собранную информацию мне нужно передать из этого микроконтроллера в другой микроконтроллер на расстояние приблизительно до 100 метров, обработать ее и вывести ее на ЖКИ. Я не знаю какой интерфейс реализовать между контроллерами, чтобы обмениваться информацией, задумка была через I2C, но на практике ее длина не более 5 метров. Есть интерфейс 1-ware, который держит до 300 метров но я не знаю как его реализовать между двумя микроконтроллерами. / Микроконтроллеры которые я применяю pic16f877. Может кто знает как мою идею реализовать на практике, буду рад любой информации

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

RS485 будет в самый раз.

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Помехи присутствуют, да и комиссия будет удивлена что RS-232 может работать на 100 метров, с RS-485 идея была, но я его решил оставить для связи с компом, для связи с ведомыми микроконтроллерами у меня его нет, приблизительное представление схемы соединения в приложении

 

_______.doc

_______.doc

Изменено пользователем студент ю

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Все же подумайте, чтобы поставить rs-485 туда, где 100 метров.

Разницы с rs-232 не вижу - в обоих случаях нужен драйвер. И вопросов у комиссии не будет.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Помехи присутствуют, да и комиссия будет удивлена что RS-232 может работать на 100 метров, с RS-485 идея была, но я его решил оставить для связи с компом, для связи с ведомыми микроконтроллерами у меня его нет

RS-485 позволяет объединить до 32 узлов (и даже более). Раз есть связь с компом по RS-485, имеет смысл навесить на этот RS-485 все узлы.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Разницы с rs-232 не вижу

Да? А что стандарт говорит? А не возникнут ли у комиссии вопросы по нестандартному использованию протокола?

100 метров с помехами - RS-485! Если не извращенец :)

А вот для связи с компом - RS-232 - стандарт. Опять же - если не извращаться :)

имеет смысл навесить на этот RS-485 все узлы

Точно имеет. И я бы делал одного ведущего!

Изменено пользователем alag57

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Да? А что стандарт говорит? А не возникнут ли у комиссии вопросы по нестандартному использованию протокола?

RS-232 - это не протокол, это электрический интерфейс.

 

100 метров с помехами - RS-485! Если не извращенец :)

ИРПС ("токовая петля") прекрасно работает до нескольких сотен метров, в т.ч. в условиях помех.

 

А использование RS-485 (или физического уровня CAN, и пр.) само по себе никак не гарантирует помехоустойчивости. Там есть "подводные камни". Человек несведущий, используя RS-485 с самодельным протоколом, скорей всего получит помехоустойчивость хуже, чем если бы он незатейливо применил RS-232 с кабелем 100 м.

 

А вот для связи с компом - RS-232 - стандарт.

Сейчас уже не каждый комп его имеет. Сейчас стандарт - USB и Ethernet.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

RS-232 - это не протокол, это электрический интерфейс.

Ну тогда уж стандарт интерфейса.

Сommon interface standard for data communications equipment.

renamed the "EIA232 Standard" in the early 1990's

ИРПС ("токовая петля") прекрасно работает до нескольких сотен метров, в т.ч. в условиях помех.

Ага и элементарно реализуется :)

Человек несведущий, используя RS-485 с самодельным протоколом, скорей всего получит помехоустойчивость хуже

Cогласен, но на то он и диплом, чтобы подумать, почитать и реализовать, как надо. Если что - и у нас спросить.

А чем в таком случае будет отличаться самодельный протокол для rs-232? Или там думать не надо?

Сейчас уже не каждый комп его имеет. Сейчас стандарт - USB и Ethernet.

Но подавляющее большинство, если отбросить ноутбуки.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А чем в таком случае будет отличаться самодельный протокол для rs-232? Или там думать не надо?

 

Независимо от используемого протокола, использование RS-232 гарантирует довольно высокую помехоустойчивость связи. Причина этого в том, что передатчик RS-232 все время включен, и помеха должна пересилить выход передатчика для того, чтобы создать ложный сигнал на входе приемника.

 

А при использовании RS-485 передатчики включаются изредка. Большую часть времени линии интерфейса RS-485 "болтаются в воздухе", а уровни на них задается не мощными передатчиками, а хилыми резисторами подтяжки, пересилить которые помехе ничего не стоит. Поэтому при использовании RS-485 помехоустойчивость сильно зависит от используемого протокола.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Независимо от используемого протокола, использование RS-232 гарантирует довольно высокую помехоустойчивость связи...

А при использовании RS-485...пересилить которые помехе ничего не стоит...

 

Полный бред (извините).

Это будет такая хитрая помеха, которая будет "пересиливать" и наводится только в одну линию витой пары...

И потом: сравниваете мягкое с теплым.

Знаете что такое полудуплекс? И чем он от полного дуплекса отличается?

А знаете какое может быть максимальное расстояние (максимальная длина линии) между этими (кстати до 128) узлами у 485 и у 232 соответственно?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Гость @Ark
А при использовании RS-485 передатчики включаются изредка. Большую часть времени линии интерфейса RS-485 "болтаются в воздухе", а уровни на них задается не мощными передатчиками, а хилыми резисторами подтяжки, пересилить которые помехе ничего не стоит.

Полная ерунда. Подтяните "нехилыми" резисторами - и противофазная помеха будет не страшна. А синфазных помех дифференциальные интерфейсы не боятся.

Поэтому при использовании RS-485 помехоустойчивость сильно зависит от используемого протокола.

Не очень зависит, и в последнюю очередь.

 

 

Студенту, чтобы не оплашать перед комисией, рекомендую следующее, многократно проверенное на практике, решение:

Со стороны компьютера можно поставить преобразователь RS232-RS485. Но, на самом деле, RS232 уже не часто встречается в современных ПК, поэтому, более правильно, сразу ориентироваться на преобразователи USB-RS485 или Ethernet-RS485 (см. продукцию MOXA и подобные). Гальваническая развязка в преобразователях - строго обязательна, без вариантов!

Еще рекомендую посмотреть продукцию нашей фирмы ЕLLAB: http://www.ellab.ru/russian/razrabotki/pre...ovateli_rus.htm

Далее, нужно организовать четырех проводную линию (две витых пары в общем экране), через одну пару будут передаваться сигналы RS485, через другую - земля и питание внешних устройств, подключенных к линии. Т.е. необходим источник линейного питания на 9-36В, который будет питать Ваши устройства, если питания для них нет "на месте". "Земли" RS485 и источника питания нужно соединить вместе.

Со стороны устройства должен стоять драйвер RS485 (преобразователь RS485-UART), также, обязательно с гальванической развязкой. Кроме того, в устройстве делается преобразователь напряжения (полученного с линии) в требуемое - обычно 5В или 3В. Далее, через гальванически развязанный DC-DC, запитывается само устройство (Ваш PIC и прочее). Само измерительное или исполнительное устройство делаете на своем PIC16F877 или другом подобном. Если расстояние до датчиков порядка 1м и меньше - все их можно подключить к одному процессору. Однако, это справедливо, если между ними не требуется гальваническая развязка. Иначе, лучше их сделать отдельными устройствами. Если опасаетесь помех и наводок на аналоговые датчики - их, также, нужно подключать через витую пару (желательно, экранированную).

Конфигурация системы, то есть сколько устройств можно подключать к одной линии RS485 или сколько потребуется отдельных линий связи - сильно зависит от условий конкретной задачи: с какой периодичностью нужно получать данные или управлять устройствами, насколько допустимы задержки или ошибки при обмене... Крайние варианты - все устройства "сидят" на одной линии или к каждому устройству - своя линия...

Подробности реализации я Вам излагать не буду, Уважаемый Cтудент. Думайте сами своей головой и еще - постоянно задавайтесь вопросом - почему сделано именно так, а не по другому. Тогда Ваш диплом будет принадлежать Вам по праву...

С наилучшими пожеланиями, и поздавлением с днем Победы.

@Ark.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Это будет такая хитрая помеха, которая будет "пересиливать" и наводится только в одну линию витой пары...

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

 

Подтяните "нехилыми" резисторами - и противофазная помеха будет не страшна.

Чем голословно такое утверждать, не поленитесь и посчитайте, какова должна быть мощность помехи для того, чтобы "пересилить" работающий драйвер и ваши "нехилые" резисторы. Разница - в десятки раз.

 

Например, для прикидки рассмотрим достаточно типичные резисторы подтяжки - по 1 к, соединенные к +5 и к нулю. Линию с волновым 120 Ом согласуем с обеих сторон. Подтяжки создают в линии ток смещения около 2.5 мА, дифф. напряжение на 60 Омах будет чуть менее 150 мВ. Гистерезис приемника 50 мВ, всего же для создания ложного сигнала помеха должна развить (упрощенно) на нагрузке 60 Ом дифф. напряжение 150+50=200 мВ, для этого она должна иметь дифф. мощность порядка 0.67 мВт.

 

Типичный драйвер RS485 обязан выдавать в нагрузку не менее 60 мА (в действительности выдает существенно больше) при (дифф) размахе не менее 2 В. Чтобы пересилить работающий драйвер, мощность помехи должна быть (упрощенно) 60 мА * 1 В = 60 мВт, или почти в 90 раз больше, чем для пересиливания подтяжек. Это дает адекватную качественную оценку, какой выигрыш в помехоустойчивости даст использование правильного протокола поверх RS-485. Увы, не вы первый, не вы последний из тех, кто ходит по граблям с RS-485, полагаясь на одни подтяжки. Это классический путь всех новичков и ламеров.

 

Стандартный драйвер RS232 типа DS1488 выдает в нагрузку ток +-10 мА. При размахе вых. сигнала +-12 В, чтобы пересилить драйвер помеха должна развить мощность порядка 120 мВт. Это сопоставимо с RS-485 с правильным протоколом и заметно лучше, чем требуется, чтобы пересилить жалкие подтягивающие резисторы. Следовательно, вся разница, весь выигрыш RS-485 в помехоустойчивости по сравнению с RS-232 состоит в подавлении синфазного сигнала. Примените для RS-485 паршивый кабель с подавлением синфазной помехи в 40 дБ или хуже - и вполне можете получить с одними только подтягивающими резисторами помехоустойчивость меньше, чем в RS-232.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Гость @Ark
Стандартный драйвер RS232 типа DS1488 выдает в нагрузку ток +-10 мА. При размахе вых. сигнала +-12 В, чтобы пересилить драйвер помеха должна развить мощность порядка 120 мВт. Это сопоставимо с RS-485 с правильным протоколом и заметно лучше, чем требуется, чтобы пересилить жалкие подтягивающие резисторы. Увы, не вы первый, не вы последний из тех, кто ходит по граблям с RS-485, полагаясь на подтяжки. Это классический путь всех новичков и ламеров
.

Опять ерунду говорите. "Cтандартный" драйвер RS485 имеет растяжки 820-120-820 Ом. Смотрите "стандартное" решение: http://www.ellab.ru/russian/razrabotki/pre...el201-2_rus.htm. Работает в непосредственной близости от сварочных источников (менее 0,5 метров) и осцилляторов...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

.

Опять ерунду говорите. "Cтандартный" драйвер RS485 имеет растяжки 820-120-820 Ом. Смотрите "стандартное" решение: http://www.ellab.ru/russian/razrabotki/pre...el201-2_rus.htm. Работает в непосредственной близости от сварочных источников (менее 0,5 метров) и осцилляторов...

 

Не смешите. Разница между 820 ом и 1 к просто смехотворна при качественных оценках, которые я привел. Ну, уменьшите вы резисторы подтяжек до полкилоома, сократите отставание в помехоустойчивости до "всего" 50 раз, толку-то... "Дешевка, она и есть дешевка" (с). Все равно и близко не подступитесь к той помехоустойчивости, которую обеспечивает, например, старый добрый Modbus - безо всяких подтяжек.

 

Что же касается 120 Ом - это типичное волновое сопротивление витой пары (большинство кабелей имеют волновое в диапазоне 100...150 Ом). Ваша "стандартная" подтяжка - включает в себя резистор согласования волнового для абстрактно-"усредненного" кабеля. Для правильной работы она должна включаться с одного конца кабеля, а с другого конца должен стоять второй резистор 120 Ом. В расчете я это прямо указал: волновое 120 ом, линия согласована с обеих концов. А вы даже такой элементарной вещи не поняли... :wacko:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Гость @Ark
Что же касается 120 Ом - это типичное волновое сопротивление витой пары (большинство кабелей имеют волновое в диапазоне 100...150 Ом). Ваша "стандартная" подтяжка - включает в себя резистор согласования волнового для абстрактно-"усредненного" кабеля. Для правильной работы она должна включаться с одного конца кабеля, а с другого конца должен стоять второй резистор 120 Ом. В расчете я это прямо указал: волновое 120 ом, линия согласована с обеих концов. А вы даже такой элементарной вещи не поняли...

Вообще-то, преобразователи стоят с двух сторон, как правило. Если Вы такой элемементарной вещи не поняли, то извините... Кабели, увы, как правило, не выбираем - используем те что есть...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...