Всем доброго времени суток . Прошу помощи или пинка в нужную сторону ДАНО : Некие устройства на микроконтроллерах AVR (всего 4 устройства) Все устройства получают информацию от своих датчиков и управляют своими исполнительными механизмами . (система умный дом ).
НАДО Необходимо объединить все устройства в сеть (есть необходимость с любого устройства передавать информацию-команды на любое другое )
ВОПРОС : Каким интерфейсом объединить МК ? (расстояние между устройствами до 50 метров , рекомендуют RS-485 ) Где примеры схем посмотреть ?
_________________ Талантам надо помогать, бездарности пробьются сами! (Л.Гольдберг)
А если все одновременно начнут передавать? Имхо нужен один мастер, остальные слэйвы. Мастер по очереди всех опрашивает и разруливает. Схема проста - MAX485, его RX TX к микроконтроллеру + еще одна нога для направления передачи.
я с радостью и легкостью написал бы свой "интерфейс" по 3-м проводам (занятость линии,прием,передача)
Стой, ты что-то резко в другую сторону повернул. Зачем городить свое, когда уже есть куча разных способов передачи данных. Примеры я уже приводил выше. Если ты совсем плаваешь в этой теме, то рекомендую сначала прочитать про существующие интерфейсы. Наиболее простым и подходящим мне видится RS485 или CAN. Набираешь в гугле эти слова и читаешь. Когда созреют конкретные вопросы - задашь их тут.
В теме да - "плаваю" . Потому изначально хотел "свой интерфейс" написать - был такой опыт , но там у меня все контроллеры на одной плате стояли ... Про интерфейсы читал , идеальный для меня по параметрам как раз RS485 (CAN только что смотрел - показался дорогим для воплощения ...), хотелось бы до того как закажу детали готовые схемы для примера увидеть ...
_________________ Талантам надо помогать, бездарности пробьются сами! (Л.Гольдберг)
А почему CAN дороже? Так-то он поудобней будет: любое устройство на CAN шине может передавать данные в любой момент, все коллизии разрешаются железом, а не тобой. Во многих МК есть соответствующая периферия. Драйверы скорей всего стоят примерно так же. Правда, отлаживать его будет сложнее - это да.
Ну а в случае RS 485 можно построить только сеть вида "один мастер - много слейвов", где слейвы могут только отвечать на запросы мастера, но не могут сами инициировать передачу. Хотя, конечно, можно исхитриться и придумать какой-нибудь способ арбитража между устройствами, чтобы они могли посылать данные не только по запросу, но мне кажется это все шашни, напоминает попытку есть суп вилкой.
Всем доброго времени суток . Прошу помощи или пинка в нужную сторону ДАНО : Некие устройства на микроконтроллерах AVR (всего 4 устройства) Все устройства получают информацию от своих датчиков и управляют своими исполнительными механизмами . (система умный дом ).
НАДО Необходимо объединить все устройства в сеть (есть необходимость с любого устройства передавать информацию-команды на любое другое )
ВОПРОС : Каким интерфейсом объединить МК ? (расстояние между устройствами до 50 метров , рекомендуют RS-485 ) Где примеры схем посмотреть ?
ДАНО: есть самолет, поезд, сухогруз, грузовик, такси, автобус, самосвал, тележка и грузчик. (может что-то и забыл, непринципиально)
НАДО Необходимо нагрузить их всех одной лопатой под завязку за один взмах. Чтобы все друг за дружку пахали.
ВОПРОС: какой лопатой их грузить? Где примеры лопат посмотреть?
ОТВЕТ: НИКАКОЙ ЛОПАТОЙ НЕ НАГРУЗИШЬ. ГОЛОВУ ВКЛЮЧИ. У каждой железки с МК - свой язык общения именно этого МК именно со своей железкой. Который только вольтами, CAN/RS232/RS485 и прочими растопыренными пальцами кулхацкеров, типа знающих умные слова, не описывается. Ты его знаешь? НЕТ! Ну так и что объединять собрался? Незнамо чего непонятно с чем... Сам поймешь или дальше продолжать?
Всем сразу - групповая психотерапия, так сказать. Если вдруг не дошло до особо продвинутых. Допустим, оторвав друг другу я%ца и прочие (не)нужные части, вы договорились и наконец все железки между собой соединены. Проводами. А что дальше? Кто-то в курсе как кукарекнуть, чтобы именно железка №1 (например) включила свой пулемет на стрельбу типа 5 очередями по 10 выстрелов обработать сектор А-1? А не железка №2 включила полив клумб: выдать 2 кубометра воды в секторе Б-2 на площадь в 36 кв.м? Ну так и фигли языками чешете?
_________________ Человек - это звучит гордо, а обезьяна - объективно...
Всем сразу - групповая психотерапия, так сказать это вы кому? У меня, например на производстве работают через 485 интерфейс 4 платы ввода вывода (по 7входов и 7 выходов) + 3 весовых терминала, управление компьютером. У каждой платы и терминала свой адрес. Работает, иначе оторвали бы мне я%ца (с) - сырьё очень дорогое.
Всем сразу - групповая психотерапия, так сказать У каждой платы и терминала свой адрес.
И ИЗВЕСТНЫЙ протокол обмена известными форматами данных. Читать ВНИМАТЕЛЬНО!
Цитата:
Кто-то в курсе как кукарекнуть, чтобы именно железка №1 (например) включила свой пулемет на стрельбу типа 5 очередями по 10 выстрелов обработать сектор А-1? А не железка №2 включила полив клумб: выдать 2 кубометра воды в секторе Б-2 на площадь в 36 кв.м? Ну так и фигли языками чешете?
В курсе? Нет? А что у кого-то работает система с офигенным количеством всякого-разного, про которую известно, как, когда и что кукарекнуть - я не сомневаюсь. Ключевое слово - "в курсе как кукарекнуть"! Городские АТС работают, но из этого не следует, что Вася Пупкин может просто лапшой-телефонкой соединить хотя бы 3 телефона и между ними будет связь. Или через RS485 их куда-то как-то воткнуть.
_________________ Человек - это звучит гордо, а обезьяна - объективно...
А ведь не спалось ночью - и чего я не зашел сюда ? SergeBS не вы в сериале "Интерны" текст для доктора Быкова писали ? ) Да нет , я без обид на самом деле
Вся сеть устройств разрабатывается и собирается самостоятельно , никаких пересечений с промышленными устройствами - потому и выбор протокола обмена информацией такой . В моем первом посте написанно что система "умный дом" - так это для аналогии - не считаю нужным описывать настоящее предназначение конструкции - это нудно и неинтересно для большинства .
shads спасибо за ссылки . Вчера после чтения про CAN и modbus решил что для меня все таки будет проще сделать все по своему .
По результату выложу что получилось тут , но возможно это будет не быстро .
_________________ Талантам надо помогать, бездарности пробьются сами! (Л.Гольдберг)
Ох ну не знаю. Modbus по мне так весьма корявый протокол, не удивительно, что он показался сложным, но его не обязательно использовать. Можно разработать свою систему команд - простую и понятную. И можно поподробнее почему CAN показался сложным? Да, на физическом уровне он не самый простой (не в смысле того, что надо куча микросхем-проводов, а "логической" организацией), я сам долго разбирался, но МК скрывает этот уровень и дает простой интерфейс: записать в выходной буфер данные для такого-то устр-ва, прочитать из буфера данные от такого-то устр-ва. Это, конечно, несколько упрощенная картина, однако, по сути, все так и есть. Может все-таки поведаете поподробнее, что должно делать каждое устройство, какие примерно команды оно может посылать-принимать? А потом можно подумать, ибо делать самому - не выход. Придете к тому, что уже сделано до вас, только, скорее всего, будет менее надежно и более коряво.
В каждом набор датчиков охраны (в т.ч. пожарной), наличия электричества в сети , температура в гараже . Исполнительное устройство в гараже - включает обогреватель .
В одном из гаражей (в моем) стоит главное устройство которое посредством sim900D информация передается хозяину гаража (по его запросу)и собсна команда (на включение обогревателя) принимается .
Все будет собрано на AtMega8
Вот вкратце и все .
_________________ Талантам надо помогать, бездарности пробьются сами! (Л.Гольдберг)
SergeBS не вы в сериале "Интерны" текст для доктора Быкова писали ? ) Да нет , я без обид на самом деле
Вся сеть устройств разрабатывается и собирается самостоятельно , никаких пересечений с промышленными устройствами - потому и выбор протокола обмена информацией такой . В моем первом посте написанно что система "умный дом" - так это для аналогии - не считаю нужным описывать настоящее предназначение конструкции - это нудно и неинтересно для большинства .
Не смотрел "Интернов". А насчет обид - так кое-кто (не будем показывать пальцем ) излагал:
Цитата:
ДАНО : Некие устройства на микроконтроллерах AVR (всего 4 устройства) Все устройства получают информацию от своих датчиков и управляют своими исполнительными механизмами . (система умный дом ).
НАДО Необходимо объединить все устройства в сеть (есть необходимость с любого устройства передавать информацию-команды на любое другое )
Обманул однако. Нет устройств - только проектируются. Сам на себя обижайся, поскольку "какой вопрос - такой и ответ". Насчет того что "НАДО" - тоже веселит. Слово "команды". Поскольку в результате выясняется, что все "немного" не так. Друг другу командовать никто не будет. Мораль: надо уметь формулировать задачу. А с тем что есть на самом деле - по архитектуре и дейзи-цепочек хватит. А трансформировав тот же RS232 в токовую петлю получим непрошибаемую по помехозащищенности линию связи.
_________________ Человек - это звучит гордо, а обезьяна - объективно...
Последний раз редактировалось SergeBS Пт ноя 16, 2012 10:29:46, всего редактировалось 1 раз.
Гаражи. В каждом набор датчиков охраны (в т.ч. пожарной), наличия электричества в сети , температура в гараже . Исполнительное устройство в гараже - включает обогреватель. В одном из гаражей (в моем) стоит главное устройство которое посредством sim900D информация передается хозяину гаража (по его запросу)и собсна команда (на включение обогревателя) принимается. Все будет собрано на AtMega8
У..... прикольно..... если понадобится, могу предложить свою помощь, вдруг быстрее получится..... (например по адресным модулям - опыт есть). У меня ситуация с гаражами тоже такая, только я до сих пор думал о таком устройстве для своего гаража, но почему бы и не замутить на широку ногу..... Кстати в начале ты писал, что общатся между собой должны все устройства, но по задаче видно что достаточно одного главного а остальные подчиненные.....
Заголовок сообщения: Re: Обмен информации между несколькими МК - как ?
Добавлено: Пт ноя 16, 2012 10:40:36
А что мешает сделать дополнительно арбитр, который мастер. А остальные все - слейв. Арбитр постоянно опрашивает слейвы на желание что-то передать другому слейву. И арбитр сам передаёт нужный пакет/данные. Но естественно будет небольшая задержка в обмене данных, которая, как мне кажется, будет некритична. Либо использовать аппаратные средства арбитража.
Да да да , братцы , каюсь , грешен ... Устройства проектируются , общаться будут должны все с одним (с самым главным босс-устройством) Но как это бывает на стадии придумывания (проектированием язык не поворачивается назвать) мыслей очень , даже черезчур много . По готовым интерфейсам - я скорее ленивый , проект не глобальный , потому не найдя готовых примеров (и схем и исходников прошивок ) решил все сделать по своему ...
shads спасибо за предложение помощи . Ты уже и так своими ссылками с идеями помог !!! Но если что - обращусь !
_________________ Талантам надо помогать, бездарности пробьются сами! (Л.Гольдберг)
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения