|
монтаж CAN шины в доме |
|
|
|
Oct 23 2014, 12:01
|
Участник

Группа: Участник
Сообщений: 41
Регистрация: 21-10-14
Пользователь №: 83 267

|
Всем привет! принимайте новичка  давно чесались руки попрограммировать микроконтроллеры, да все не было конкретной задачи. Сейчас появилась - задача управления сервоприводами водяного теплого пола. Пока ничего особенного - в каждое помещение повесить датчик температуры, один-два уличных и на каждую гребенку по микроконтроллеру, который будет на основании показаний датчиков и заданной желаемой температуры рулить сервоприводами. Поскольку опыта в этом деле нет пока никакого, посвятил неделю активному гуглению. Выкурил кучу инфы на русском и английском языке. Остановил свой выбор на CAN шине и микроконтроллерах STM32F103/105/107 или STM8a(s)207/208 + L9615/9616 в качестве трансивера. С удивлением для себя обнаружил отсутсвие (возможно не там искал) или крайне скупое описание монтажа самой шины, а также ее архитектуры. Везде в основном встречалось или общая информация по шине или вопросы по программированию. Не нашел ни одного конретного примера как и что делать. наверное у профи это само собой разумеется, но для меня этот вопрос сейчас наиважнейший, поскольку на данном этапе надо заложить все провода и продумать архитектуру. Вобщем вопросы у меня такие: 1. Архитектура. Например, взять этаж - 4 помещения, одна гребенка с четырьмя контурами теплого пола. Соотв. 4 датчика температуры, возможно 4 LCD с парой кнопок для отображения температуры и задания желаемой. Мне пока не ясно что из этого будет являтся узлом CAN-шины. Или на каждый датчик вешать контроллер и трансивер. Получится узел шины, котоорый будет пулять свои данные (и)или отвечать на запросы. Или один контроллер, который будет обслуживать несколько датчиков и сам же крутить сервопривода. Тогда вопрос как это все правильно соединить (1-Wire для датчиков) 2. Монтаж. Далее, в зависимости от архитектуры, как все правильно расположить физически в стене и как и чем между собой соединить. Понятно, что для такой простенькой задачи вроде как CAN и не нужен, но хочется развития, добавления новых сенсоров, контроллеров, и т.д. Да и просто интересно. Если есть где-нибудь инфа, в которой можно найти ответы на эти вопросы - буду благодарен.
|
|
|
|
|
 |
Ответов
|
Oct 23 2014, 13:07
|

Ally
     
Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050

|
Цитата(typedef @ Oct 23 2014, 15:01)  Если есть где-нибудь инфа, в которой можно найти ответы на эти вопросы - буду благодарен. Здесь все проще чем может показаться. Берете обычный UTP или STP кабель, каким Ethernet прокладывают, или просто витую пару (сечение не критично) и соединяете по цепочке от одного контроллера к другому последовательно все обходя. Можно и не по цепочке и делать отростки звездой по несколько метров. Главное не забыть терминаторный резистор 120 ом на одном из концов. Достаточно только на одном конце для такой короткой сети. Но надежнее будет чтобы стояло на обоих концах по резистору. Скорость настроить не слишком высокую, напримет 100 кбит/c. Архитектура выбирается по опыту, как проще программировать, соблюсти безопасность функционирования и требования быстродействия. При рассмотрении безопасности надо учитывать что CAN узлы автоматом делают повтор неудачных передач и могут зафлудить шину так, что пакеты с бОльшими идентификаторами долго не смогут пройти от других узлов. Поэтому при бОльшем количестве узлов надо серьезней подходить к планированию значений идентификаторов пакетов и для важных связей проверять на обрыв коммуникации посылкой коротких heartbeat сообщений. Пока нет опыта хочется уменьшить количество узлов в сети, но это приводит к тому что узлы укрупняются и их количество в последствии дороговато наращивать. Советую не делать такую ошибку и сразу проектировать мелкие узлы с одной двумя функциями. Впоследствии благодаря этому ваша система будет легко недорого наращиваемой и масштабируемой. Например в нашей системе управления лифтом в отдельные CAN узлы превращены замки, модули подвсетки, контроллеры клавиатуры, считыватели iButton, контроллеры двигателя, контроллеры питания, контроллеры заряда аккумуляторов и т.д. В вашем случае можно было бы сделать узел для 1-wire шины на который вешать по нескольку датчиков температуры и узел с LCD и кнопками. Для нескольких LCD применитить несколько узлов с LCD. Кстати имеем контроллеры 1-Wire в CAN как раз сделаны на STM32
|
|
|
|
|
Oct 23 2014, 15:39
|
Участник

Группа: Участник
Сообщений: 41
Регистрация: 21-10-14
Пользователь №: 83 267

|
Цитата(AlexandrY @ Oct 23 2014, 17:07)  Здесь все проще чем может показаться. Берете обычный UTP или STP кабель, каким Ethernet прокладывают, или просто витую пару (сечение не критично) и соединяете по цепочке от одного контроллера к другому последовательно все обходя. Можно и не по цепочке и делать отростки звездой по несколько метров. Главное не забыть терминаторный резистор 120 ом на одном из концов. Достаточно только на одном конце для такой короткой сети. Но надежнее будет чтобы стояло на обоих концах по резистору. большое спасибо за ответ! т.е. если я правильно понял Вашу мысль, то на одном этаже получается - узел 1-Wire, на котором висят 4 температурных датчика (ну или больше, те что на этаже) - по одному узлу на каждый LCD с кнопками - узел, обслуживающий сервоприводы гребенки тут у меня все равно остались вопросы по монтажу 1. получается что на каждом этаже будет своя 1-Wire сеть, кроме того одна общая CAN шина. Как это правильно делать? Витая пара для 1-Wire, обходящая все датчики + витая пара для CAN на весь дом? 2. Вы говорите, что CAN шину можно тянуть звездой с отростками. Тут имеется ввиду 4 провода из витой пары в сторону отростка и 4 оставшихся обратно или? 3. как уложить провода чтобы потом можно было сеть наращивать? все таки для тупых, как узел соединяется с шиной? Где то видел вариант с RJ45 проходной розеткой, в которую патчкордом можно присоединять узлы. Т.е. получается разбрасываем равномерно по этажу розетки, потом по мере развития подключаемся или если возникла необходимость врезаться в шину, режем ее, вставляем тройник? 4. где обычно размещаются контроллеры? на одной плате с трансивером? на сколько далеко от шины?
|
|
|
|
|
Nov 17 2014, 12:04
|

Участник

Группа: Участник
Сообщений: 60
Регистрация: 19-03-06
Из: Йошкар-Ола
Пользователь №: 15 388

|
Цитата(typedef @ Oct 23 2014, 18:39)  2. Вы говорите, что CAN шину можно тянуть звездой с отростками. Тут имеется ввиду 4 провода из витой пары в сторону отростка и 4 оставшихся обратно или? Стандартная топология шины CAN - линия, от неё короткие ответвления на тройниках  на концах линии - нагрузочные резисторы общим сопротивлением 60 Ом. максимально допустимая длина ответвлений зависит от скорости обмена (как и длина сегмента):   (взято из http://digital.ni.com/public.nsf/allkb/D5D...625795A000FC025 ) Если ответвления всё же надо делать длиннее, то каждое такое длинное ответвление должно терминироваться. При этом общее сопротивление всех нагрузочных резисторов в сегменте (фактически, соединенных параллельно) должно оставаться 60 Ом. Также применяется чисто звездообразная топология, т.н. "Hub based" с одним соединением в центре, и длинными линиями до узлов. При этом нагрузочный резистор ставится один, в точке соединения:  (ну, резистор тут составной, такая схема уменьшает синфазные помехи)  Это из патента US5734658 фирмы Daimler-Benz. Более того, возможно вот такое комбинирование:  В таком варианте методология прокладки сети та же, что и для Ethernet. Даже разъёмы можно использовать похожие - например, в CANopen используются RJ10, RJ11, RJ12   (подробнее - http://www.cd-systems.com/Can/can-cables.htm )
|
|
|
|
Сообщений в этой теме
typedef монтаж CAN шины в доме Oct 23 2014, 12:01  AlexandrY Цитата(typedef @ Oct 23 2014, 18:39) т.е.... Oct 23 2014, 19:24   typedef Цитата(AlexandrY @ Oct 23 2014, 23:24) Да... Oct 23 2014, 20:20    AlexandrY Цитата(typedef @ Oct 23 2014, 23:20) наря... Oct 23 2014, 20:56     typedef Цитата(AlexandrY @ Oct 24 2014, 00:56) И ... Oct 24 2014, 17:20      _3m Цитата(typedef @ Oct 24 2014, 21:20) у ме... Oct 24 2014, 17:37       typedef сейчас пытаюсь найти подходящую отладочную плату д... Oct 24 2014, 17:45        AlexandrY Цитата(typedef @ Oct 24 2014, 20:45) сейч... Oct 24 2014, 19:45         typedef Цитата(AlexandrY @ Oct 24 2014, 23:45) CA... Oct 24 2014, 21:29          typedef по ходу дела возникли еще вопросы по монтажу.
Если... Oct 26 2014, 16:39           AlexandrY Цитата(typedef @ Oct 26 2014, 18:39) по х... Oct 26 2014, 18:43 ZASADA это ничего, что на SMAJ28A может быть 45,4 В, а LM... Oct 27 2014, 06:21 AlexandrY Цитата(ZASADA @ Oct 27 2014, 08:21) это н... Oct 27 2014, 07:08  typedef ну вот среди спецов разногласия, что делать нам, д... Oct 27 2014, 12:40   AlexandrY Цитата(typedef @ Oct 27 2014, 14:40) Вопр... Oct 27 2014, 13:16 ZASADA если бы я автоматизировал свой дом, то исходил бы ... Oct 27 2014, 13:24 typedef Цитата(AlexandrY @ Oct 27 2014, 17:16) Во... Oct 27 2014, 18:48  AlexandrY Цитата(typedef @ Oct 27 2014, 20:48) вот ... Oct 28 2014, 08:49   typedef Цитата(AlexandrY @ Oct 28 2014, 12:49) Та... Oct 28 2014, 09:09    AlexandrY Цитата(typedef @ Oct 28 2014, 11:09) а ка... Oct 28 2014, 09:45 ZASADA реле Oct 28 2014, 08:28 typedef Цитата(ZASADA @ Oct 28 2014, 12:28) реле
... Oct 29 2014, 20:54  AlexandrY Цитата(typedef @ Oct 29 2014, 22:54) наше... Oct 29 2014, 21:32   typedef Цитата(AlexandrY @ Oct 30 2014, 01:32) С ... Oct 29 2014, 21:48 typedef в очередной раз задумался над архитектурой сети и ... Nov 13 2014, 19:36 AlexandrY Цитата(typedef @ Nov 13 2014, 21:36) 1. н... Nov 13 2014, 19:58  typedef Цитата(AlexandrY @ Nov 13 2014, 22:58) В ... Nov 13 2014, 20:04   AlexandrY Цитата(typedef @ Nov 13 2014, 22:04) ну д... Nov 13 2014, 21:52    typedef Цитата(AlexandrY @ Nov 14 2014, 00:52) Ни... Nov 14 2014, 13:01     AlexandrY Цитата(typedef @ Nov 14 2014, 15:01) Вот ... Nov 14 2014, 14:30 ZASADA если нормально все продумать, то никакие ответвлен... Nov 18 2014, 06:51 typedef Цитата(ZASADA @ Nov 18 2014, 09:51) если ... Nov 23 2014, 11:09  ZASADA Цитата(typedef @ Nov 23 2014, 14:09) а мо... Nov 23 2014, 15:32   typedef Цитата(ZASADA @ Nov 23 2014, 18:32) этому... Nov 23 2014, 16:56 ZASADA рандомная схема из гугла. в параллель стоят 2 DB-9... Nov 23 2014, 17:44 Cвинец Как продвигается? Если это не была шутка про ... Jan 7 2015, 18:29 typedef Цитата(Cвинец @ Jan 7 2015, 21:29) Как пр... Jan 7 2015, 19:33  Cвинец Цитата(typedef @ Jan 7 2015, 19:33) По по... Jan 8 2015, 06:44   typedef Цитата(Cвинец @ Jan 8 2015, 09:44) Если э... Jan 8 2015, 13:40 Cвинец Если не интересно порисовать свои платы, то купить... Jan 13 2015, 14:54 typedef Цитата(Cвинец @ Jan 13 2015, 17:54) Если ... Jan 13 2015, 16:31  adnega Цитата(typedef @ Jan 13 2015, 20:31) но в... Jan 13 2015, 19:50   typedef Цитата(adnega @ Jan 13 2015, 22:50) Все м... Jan 14 2015, 17:28    A. Fig Lee Цитата(typedef @ Jan 14 2015, 12:28) когд... Jan 14 2015, 17:36     typedef Цитата(A. Fig Lee @ Jan 14 2015, 20:36) А... Jan 14 2015, 18:15      A. Fig Lee Цитата(typedef @ Jan 14 2015, 13:15) а Вы... Jan 14 2015, 18:22       typedef Цитата(A. Fig Lee @ Jan 14 2015, 21:22) A... Jan 14 2015, 20:41        A. Fig Lee Цитата(typedef @ Jan 14 2015, 15:41) пыта... Jan 14 2015, 21:02         typedef Цитата(A. Fig Lee @ Jan 15 2015, 00:02) Д... Jan 14 2015, 21:41          A. Fig Lee Цитата(typedef @ Jan 14 2015, 16:41) в CA... Jan 15 2015, 03:27         AlexandrY Цитата(A. Fig Lee @ Jan 14 2015, 23:02) Д... Jan 15 2015, 06:11          typedef Цитата(AlexandrY @ Jan 15 2015, 09:11) Не... Jan 15 2015, 08:12           adnega Цитата(typedef @ Jan 15 2015, 12:12) все ... Jan 15 2015, 10:08            typedef Цитата(adnega @ Jan 15 2015, 13:08) Я на ... Jan 15 2015, 10:31             adnega Цитата(typedef @ Jan 15 2015, 14:31) у ме... Jan 15 2015, 11:10             Cвинец Цитата(typedef @ Jan 15 2015, 10:31) возм... Jan 16 2015, 17:12              typedef Цитата(Cвинец @ Jan 16 2015, 20:12) Непон... Jan 16 2015, 17:32               Cвинец Цитата(typedef @ Jan 16 2015, 17:32) Если... Jan 17 2015, 04:08                typedef Цитата(Cвинец @ Jan 17 2015, 07:08) Если ... Jan 18 2015, 09:52              adnega Цитата(Cвинец @ Jan 16 2015, 20:12) Если ... Jan 16 2015, 22:57          A. Fig Lee Цитата(AlexandrY @ Jan 15 2015, 01:11) Не... Jan 15 2015, 12:14           AlexandrY Цитата(A. Fig Lee @ Jan 15 2015, 14:14) Н... Jan 15 2015, 13:19            A. Fig Lee Цитата(AlexandrY @ Jan 15 2015, 08:19) С ... Jan 15 2015, 13:32             AlexandrY Цитата(A. Fig Lee @ Jan 15 2015, 15:32) П... Jan 15 2015, 13:47              A. Fig Lee Цитата(AlexandrY @ Jan 15 2015, 08:47) Zi... Jan 15 2015, 14:22    Ruslan1 Цитата(typedef @ Jan 14 2015, 19:28) Инте... Jan 14 2015, 17:43     =AK= Цитата(Ruslan1 @ Jan 15 2015, 04:13) Я во... Jan 26 2015, 10:44      A. Fig Lee Цитата(=AK= @ Jan 26 2015, 05:44) Проводн... Jan 26 2015, 14:40       AlexandrY Цитата(A. Fig Lee @ Jan 26 2015, 16:40) Д... Jan 26 2015, 14:55        typedef Цитата(AlexandrY @ Jan 26 2015, 17:55) Да... Jan 26 2015, 17:11       =AK= Цитата(A. Fig Lee @ Jan 27 2015, 01:10) Д... Jan 26 2015, 22:57        A. Fig Lee Цитата(=AK= @ Jan 26 2015, 17:57) Проблем... Jan 27 2015, 02:25 A. Fig Lee А зачем CAN с проводами? Если есть беспроводные 80... Jan 13 2015, 19:33 adnega Если есть возможность кинуть провода, то кидайте и... Jan 14 2015, 21:10 A. Fig Lee По моему чем более планы наполеоновские, тем менее... Jan 17 2015, 01:27 adnega Цитата(A. Fig Lee @ Jan 17 2015, 04:27) П... Jan 17 2015, 08:35 KARLSON По мне, так чем стандартней, тем лучше. Странно, ч... Jan 27 2015, 05:31 =AK= Цитата(KARLSON @ Jan 27 2015, 16:01) По м... Jan 27 2015, 11:37 typedef прошелся я еще раз по дому, попротягивал мысленно ... Jan 28 2015, 10:08 =AK= Цитата(typedef @ Jan 28 2015, 20:38) Не б... Jan 28 2015, 12:49  AlexandrY Цитата(=AK= @ Jan 28 2015, 14:49) Так что... Jan 28 2015, 13:52   A. Fig Lee Цитата(AlexandrY @ Jan 28 2015, 08:52) Пр... Jan 28 2015, 14:27   =AK= Цитата(AlexandrY @ Jan 29 2015, 00:22) У ... Jan 28 2015, 23:21 A. Fig Lee Кстати, о дальности передачи. Artaflex модули клей... Jan 28 2015, 12:09 A. Fig Lee А какая связь: батарейки и вайрлесс? Речь шла о ка... Jan 29 2015, 02:19 =AK= Цитата(A. Fig Lee @ Jan 29 2015, 12:49) А... Jan 29 2015, 03:56  typedef Цитата(=AK= @ Jan 29 2015, 06:56) Элемент... Jan 29 2015, 06:42   =AK= Цитата(typedef @ Jan 29 2015, 17:12) Найт... Jan 29 2015, 07:42    typedef Цитата(=AK= @ Jan 29 2015, 10:42) Я не ор... Jan 29 2015, 09:06     AlexandrY Цитата(typedef @ Jan 29 2015, 11:06) ну я... Jan 29 2015, 09:15      typedef Цитата(AlexandrY @ Jan 29 2015, 12:15) Ну... Jan 29 2015, 09:22     =AK= Цитата(typedef @ Jan 29 2015, 19:36) стоя... Jan 29 2015, 09:33      typedef Цитата(=AK= @ Jan 29 2015, 12:33) У меня ... Jan 29 2015, 10:16       ZASADA Цитата(typedef @ Jan 29 2015, 13:16) я ду... Jan 29 2015, 12:41      AlexandrY Цитата(=AK= @ Jan 29 2015, 11:33) Это он ... Jan 29 2015, 12:25   ZASADA Цитата(typedef @ Jan 29 2015, 09:42) ну п... Jan 29 2015, 09:45  A. Fig Lee Цитата(=AK= @ Jan 28 2015, 22:56) Элемент... Jan 29 2015, 13:08
2 страниц
1 2 >
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|