Вопросы по RS-485
Вопросы по RS-485
Хотел-бы услышать советы опытных котов вот в каком деле:
Необходимо опрашивать два датчика. Датчики I2C, максимальное расстояние около 30-40 метров. Разумеется, голый I2C тут не годится, так что ставить вспомогательный контроллер на датчики придётся. Ну а раз контроллер, то проще, видимо, реализовать RS485, т.к. если вдруг потребуется повесить еще датчиков на линию - он это позволяет.
1. Вопрос в протоколе обмена. Раскуривать полноценный MODBUS (как рекомендуют) желания нет, да и не нужен он. Аппаратный UART занят, делать программный? Или сделать свой простенький протокол? Надо всего отправить адрес датчика и получить ответ.
2. Какой контроллер поставить на датчики? Какая-нибудь ATtiny13 отличается по цене от ATmega48 всего на 7 рублей, остальные дороже... (затариваться буду в chip-nn)
Необходимо опрашивать два датчика. Датчики I2C, максимальное расстояние около 30-40 метров. Разумеется, голый I2C тут не годится, так что ставить вспомогательный контроллер на датчики придётся. Ну а раз контроллер, то проще, видимо, реализовать RS485, т.к. если вдруг потребуется повесить еще датчиков на линию - он это позволяет.
1. Вопрос в протоколе обмена. Раскуривать полноценный MODBUS (как рекомендуют) желания нет, да и не нужен он. Аппаратный UART занят, делать программный? Или сделать свой простенький протокол? Надо всего отправить адрес датчика и получить ответ.
2. Какой контроллер поставить на датчики? Какая-нибудь ATtiny13 отличается по цене от ATmega48 всего на 7 рублей, остальные дороже... (затариваться буду в chip-nn)
- Реклама
Re: Вотпросы по RS-485
Тут 2 разных вопроса смешаны : физический (UART) и логический (MODBUS). Одно другого не кусается. Работать с этими датчиками будет комп или другой микроконтроллер? Есл МК, и он не занят непрерывно обменом, его можно коммутировать на датчики / на другую цепь. Да и программный UART сделать не проблема. Нужно смотреть - что проще.ploop писал(а): 1. Вопрос в протоколе обмена. Раскуривать полноценный MODBUS (как рекомендуют) желания нет, да и не нужен он. Аппаратный UART занят, делать программный? Или сделать свой простенький протокол? Надо всего отправить адрес датчика и получить ответ.
А протокол... Для такой простой задачи и протокол может быть простым. Хотя и в MODBUS ничего сверхсложного нет.
Если не заморачиваться думами о грядущем расширении сети другими датчиками ( и с другими функциями ), я бы сделал просто : первому датчику запрс - 1мс, второму - 2 мс. Ответ - помехозащищенным кодом, с контрольными суммами, чтобы не поймать лажу.
Но мы ничего не знаем : с какой интенсивностью идет опрос датчиков. Если непрерывно и пропуск хотя бы одного пакета чреват, то нужно думать дальше головой.
Re: Вотпросы по RS-485
Виноват, не объяснил суть: это датчики температуры, ни какой автоматики - только индикация. Частота опроса - хоть раз в несколько секунд.
Работа без компа.
Точнее с ним, но там контроллер уже даст обработанный блок информации по запросу с компа человеком.
Как я понимаю, в этом случае свой протокол проще?
Ну например: переключаем RS-485 трансмиттер на передачу, выдаём адрес датчика, дальше его на приём и слушаем ответ. Встаёт вопрос в синхронизации - как? Жесткими таймингами, как в UART?
Работа без компа.
Точнее с ним, но там контроллер уже даст обработанный блок информации по запросу с компа человеком.
Максимум, какое вижу расширение - ещё пару однотипных датчиков на линию.Если не заморачиваться думами о грядущем расширении сети другими датчиками ( и с другими функциями ), я бы сделал просто : первому датчику запрс - 1мс, второму - 2 мс. Ответ - помехозащищенным кодом, с контрольными суммами, чтобы не поймать лажу.
Как я понимаю, в этом случае свой протокол проще?
Ну например: переключаем RS-485 трансмиттер на передачу, выдаём адрес датчика, дальше его на приём и слушаем ответ. Встаёт вопрос в синхронизации - как? Жесткими таймингами, как в UART?
Re: Вотпросы по RS-485
Как вариант - годится.ploop писал(а): Ну например: переключаем RS-485 трансмиттер на передачу, выдаём адрес датчика, дальше его на приём и слушаем ответ. Встаёт вопрос в синхронизации - как? Жесткими таймингами, как в UART?
Re: Вотпросы по RS-485
Ясно. Надо экспериментировать, думаю получится...
Спасибо.
Спасибо.
- Реклама
Re: Вотпросы по RS-485
Если датчики температуры ds1820,то сеть 1-wire,до 300 метров.
Re: Вотпросы по RS-485
SHT10, они I2C
Ну а кто посоветует, какой контроллер на датчики поставить?
Ну а кто посоветует, какой контроллер на датчики поставить?
Re: Вотпросы по RS-485
А действительно так нужен RS, Modbus. Интерфейс на интерфейсе и сверху протоколом.
30...40 метров - квартира. Почему голый i2c не годится. Самое место ему тут. Снизить скорость мастера, поставить драйвер. Драйвер можно не покупать, а собрать. Тот же транзистор с ОК. Например покупной. На низких скоростях 1...5 кБит можно без драйвера попробовать.
Исходя из тока в проводной линии до 20 мА можно получать устойчивую связь на "лапше" более 300 метров. От 100 мА - свыше 5 км.
Единственное ограничение - адресация. Если датчики допускают разделение адресом, то не стоить мудрить. Простота - залог надёжности
30...40 метров - квартира. Почему голый i2c не годится. Самое место ему тут. Снизить скорость мастера, поставить драйвер. Драйвер можно не покупать, а собрать. Тот же транзистор с ОК. Например покупной. На низких скоростях 1...5 кБит можно без драйвера попробовать.
Исходя из тока в проводной линии до 20 мА можно получать устойчивую связь на "лапше" более 300 метров. От 100 мА - свыше 5 км.
Единственное ограничение - адресация. Если датчики допускают разделение адресом, то не стоить мудрить. Простота - залог надёжности
Re: Вотпросы по RS-485
А что, будет работать? Скорость, сами понимаете, не важна. Хотя, в крайнем случае, 1 кб (или даже меньше) должен устойчиво работать. Смущает, как оно будет на помехи реагировать...30...40 метров - квартира. Почему голый i2c не годится.
Я бы конечно эксперимент провёл, но пока приедет комплектуха хотел плату развести. А тут уже надо определиться...
Re: Вопросы по RS-485
Посмотрел ДШ на SHT10. Выходной ток 4 мА. Маловато без драйвера конечно, но на резистор 1к2 работать будет (должен, если ДШ верить
).
Помехозащищённость гарантирует CRC этой м/с.
Если задумка "для дома для семьи" я бы делал напрямую без RS-ов. 10 Кбит/сек до 50 метров на лапше, с pull-up резистором 1к2 эти датчики обязаны достоверно передавать информацию.
Помехозащищённость гарантирует CRC этой м/с.
Если задумка "для дома для семьи" я бы делал напрямую без RS-ов. 10 Кбит/сек до 50 метров на лапше, с pull-up резистором 1к2 эти датчики обязаны достоверно передавать информацию.
Re: Вопросы по RS-485
Ну тогда вообще проблем нет!
Я просто ничего еще не испытывал на дальних расстояниях, поэтому и сомневался...
Я просто ничего еще не испытывал на дальних расстояниях, поэтому и сомневался...
-
YKolomiets
- Родился
- Сообщения: 13
- Зарегистрирован: Чт апр 02, 2009 10:06:25
Re: Вопросы по RS-485
Решил задать вопрос в этой теме чтобы не создавать новою похожую по названию.
Уважаемые Коты подскажите пожалуйста. Вместе с витой парой протянут кабель 2х0,75мм (назовем его сетевой). Витая пара (RS-485), кабель сетевой (питания исполнительных устройств). Я настроен запитать сетевой кабель переменным напряжением 12В а устройство (которое подключено к RS-485) выпрямит, и сделает постоянным 5В.
Вопрос: Можно ли запитать постоянным напряжением 12В.
Уважаемые Коты подскажите пожалуйста. Вместе с витой парой протянут кабель 2х0,75мм (назовем его сетевой). Витая пара (RS-485), кабель сетевой (питания исполнительных устройств). Я настроен запитать сетевой кабель переменным напряжением 12В а устройство (которое подключено к RS-485) выпрямит, и сделает постоянным 5В.
Вопрос: Можно ли запитать постоянным напряжением 12В.
Re: Вопросы по RS-485
А почему бы и нет ? Если ток, потребляемый сопрягаемым устройством, не даст на линии падение напряжения больше чем 5В ( оставшихся 7В для входа стабилизатора достаточно ). Но я бы еще на приемном конце поставил мостик для "защиты от дурака" - каким бы концом ни подключили питание, на выходе всегда будет правильная полярность.YKolomiets писал(а): Вопрос: Можно ли запитать постоянным напряжением 12В.
-
YKolomiets
- Родился
- Сообщения: 13
- Зарегистрирован: Чт апр 02, 2009 10:06:25
Re: Вопросы по RS-485
Меня смущает то что при (общем) питании постоянным напряжением устройств которые работают в RS-485 будет присутствовать общая "земля".
Re: Вопросы по RS-485
Чем смущает?
Может быть проблема, если устройства заземлены и находятся на приличном расстоянии в промышленных условиях - может быть перекос напряжений по земле.
Может быть проблема, если устройства заземлены и находятся на приличном расстоянии в промышленных условиях - может быть перекос напряжений по земле.
Re: Вопросы по RS-485
Я так думаю, соединение минуса питания и корпуса устройства нужно делать в одной точке - у потребителя. Туда же подключить реальную землю от заземляющего контура. Оба выхода блока питания 12В должны быть изолированы от "местной" земли. Тогда в земляной цепи не образуется замкнутый контур.
-
YKolomiets
- Родился
- Сообщения: 13
- Зарегистрирован: Чт апр 02, 2009 10:06:25
Re: Вопросы по RS-485
Из всего сказанного я понял то что можно запитать устройства (количество до 30шт. работающих в RS-485 длина витой пары до 100м) постоянным напряжением.
Re: Вопросы по RS-485
Прямо по этой витухе ? По-моему, этого никто не утверждал. А если нужно запитать N устройств по отдельной (-ым) линиям, то об этом и разговор, а какой при сем будет интерфейс - да хоть Эзернет - это к делу не кусается.YKolomiets писал(а):Из всего сказанного я понял то что можно запитать устройства (количество до 30шт. работающих в RS-485 длина витой пары до 100м) постоянным напряжением.


