Администрация форума не несёт ответственности за достоверность информации и оставляет за собой право редактировать или в особых случаях даже удалять посты без предупреждения. Спасибо за понимание.

Программирование ATMEL в BASCOM.

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » Программирование ATMEL в BASCOM. » Вопросы - ответы » подключение нескольких МК к компьютеру по дному порту


подключение нескольких МК к компьютеру по дному порту

Сообщений 1 страница 28 из 28

1

Добрый день, форумчане!
Друг поставил мне задачу, сделать следующую систему.
В двух комнатах стоит по одному устройству, обзовем их модулями.
Каждый модуль собирает данные с подключенных датчиков (два датчика температуры, датчик CO2, датчик освещения).
Каждый модуль должен быть подключен к ПК, через com порт (используем переходник USB-UART).
Причем подключено к одному порту (примерная схема подключения ниже)
http://se.uploads.ru/8VDoQ.jpg
На компе должна стоять СКАДА, или иная самописная программулина, которая будет считывать с com порта инфу, и отображать ее на экране.

Модули на базе ATmega 8 или ATmega 16.

Вопрос 1:
будет ли вообще работать данная схема, потому, что боюсь что модули будут мешать друг другу в момент передачи инфы.

Вопрос 2:
Опрос данных с датчиком предполагаю что нужно делать адресовано (ПК отдает в COM байт адреса, модули, услышав свой адрес встает на передачу данных, по окончанию передачи снова встает на прослушку, затем ПК посылает второй адрес в COM, второй модуль определяет что адрес его и отправляет данные в порт.)
Собственно, какие протоколы есть, схожие с этим? Слышал что-то отдаленное про Modbus, но никогда не работал с ним, и понятия не имею как реализовать его на МК, может кто подскажет куда копать.

Вопрос 3:
Какую СКАДА (желательно бесплатную), можно применить для построения данной системы?
Конечно руки чешутся применить LabView, скорее всего под LINUX'ом, но опять таки опыта нет.

Вопрос 4:
Пробовал на МК запустить программный UART, нифига не получилось, никакие данные МК на него не отправляет.
Код применил стандартный, как в ХЭЛПе.
Кто работал с программным UART'ом и какие есть грабли?

ДОБАВЛЕНО:
Желательно чтоб СКАДА могла не только отображать инфу на дисплее, но и собирать все это в файл, или еще лучше в БД.

Отредактировано UN8JAB (2015-01-31 10:27:57)

0

2

ищите в сети: протокол с запросом, один ведущий, а остальные подчиненные
протокол вам нужен наипростейший:
маркер-запрос, адрес, стоповый байт. Например а ASCII: ?[адрес].
а в ответ блок датчиков выдаёт: маркер-ответ, данные, (контрольная сумма), стоповый байт. ![данные].

всё работает, главное кварц использовать

проще написать самому. Я делаю на PureBasic

Отредактировано Александр Д. (2015-01-31 11:42:01)

0

3

Если устройства находятся на некотором расстоянии от компа, то не проще использовать Bluetooth или WI-FI модули?
Типа таких.
http://ru.aliexpress.com/item/wholesale … 70590.html
http://ru.aliexpress.com/item/1pcs-lot- … 13149.html

0

4

Пётр написал(а):

Если устройства находятся на некотором расстоянии от компа, то не проще использовать Bluetooth или WI-FI модули?
Типа таких.
http://ru.aliexpress.com/item/wholesale … 70590.html
http://ru.aliexpress.com/item/1pcs-lot- … 13149.html

дело в том, что в дальнейшем эта система должна быть масштабируемой, и модулей будет уже более 20, и расстояния будут разными.

0

5

Количество WI-FI устройств в сети вроде не ограничено, (по крайней мере их может быть много).
Длина проводов по которым производится связь через UART не может быть больше нескольких сотен метров и примерно такой же радиус действия WI-FI модулей.

UN8JAB написал(а):

Пробовал на МК запустить программный UART, нифига не получилось, никакие данные МК на него не отправляет.

Во многих МК есть аппаратный UART. Или нужно несколько штук?

UN8JAB написал(а):

Кто работал с программным UART'ом и какие есть грабли?

Логично предположить что прерываний не должно быть  (по крайней мере, во время приема и передачи).

0

6

можно  повесить так , только нужно идентификацию делать. сначало стучаться а потом связываться как то так .

0

7

Пётр написал(а):

Количество WI-FI устройств в сети вроде не ограничено, (по крайней мере их может быть много).

Никогда не работал с Wi-Fi на уровне МК.
Да и даже не представляю как такая система может выглядеть.

Пётр написал(а):

Во многих МК есть аппаратный UART. Или нужно несколько штук?

Это в качестве экспериментов, чтоб разобраться.
И разобрался в чем была проблема.
На моей отладочной плате иногда глючит кнопка сброса (все забываю ее поменять), МК просто не стартовал, тепер все работает, уже повешал термометр ds18b20, меряю температуру в комнате, смотрю ее через терминал, сейчас еще парочку плат забубеню, буду дальше разбираться.

0

8

Конкретно с тем модулем Wi-Fi на который выше дал ссылку,  работать нужно через UART с помощью AT-команд. http://esp8266.ru/esp8266-at-commands-v020/

0

9

Пётр написал(а):

Конкретно с тем модулем Wi-Fi на который выше дал ссылку,  работать нужно через UART с помощью AT-команд. http://esp8266.ru/esp8266-at-commands-v020/

брррр!
чет нифига с наскока не понял.. нужно пощупать руками а потом принимать решение.

0

10

У меня родился нецензурный вопрос- а как вы собрались подключать данный модуль к СКАДЕ ???
Кстати, пример работы модуля в виде самостоятельного погодного устройства (собирает и отправляет данные) Моя метеостанция

Отредактировано Skull (2015-01-31 22:22:48)

0

11

Skull написал(а):

У меня родился нецензурный вопрос- а как вы собрались подключать данный модуль к СКАДЕ ???

со СКАДА системами знаком отдаленно, делал как-то раз термометр на labview, дальше мои колупания не пошли.
в LabView можно считывать данные с com порта, парсить их по разному а далее делать все что угодно.

как в других СКАДА с com портом я не знаю, но СКАДА - это не обязательно, возможно будет простая программулина, которая читает порт и сохраняет данные в файл или БД.

0

12

СКАДА считывает данные только в индустриальных стандартизованных протоколах )
Прогу либо придется писать самому, либо опять Лабвью ))

0

13

Skull написал(а):

СКАДА считывает данные только в индустриальных стандартизованных протоколах )
Прогу либо придется писать самому, либо опять Лабвью ))


ну что-же, будем писать, и лабвью учить =)
потом БАК забабахаю дома =)

0

14

Неужели задача настолько сложна что требуется СКАДА? :O  Что-то в промышленности? Наверное точно БАК делаете. :D

0

15

У кого- как )) Я таки работаю в промышленности )
А СКАДА нынче и на хлебозаводе не редкость, не то что на БАК ))

Отредактировано Skull (2015-01-31 23:01:35)

0

16

Skull написал(а):

Кстати, пример работы модуля в виде самостоятельного погодного устройства

Честно говоря, ожидал увидеть хотя бы схему (и по возможности исходники :) ), а не этот сайт. :huh:

0

17

Пётр написал(а):

Неужели задача настолько сложна что требуется СКАДА?   Что-то в промышленности? Наверное точно БАК делаете.

нет, система для сбора статистики, которая будет собирать информацию каждые 10-30 секунд, сохранять ее на ПК, для этого как-раз СКАДА и нужна, чтоб организовать сохранение данных, а еще чтоб можно было строить графики за определенный период, тренды, прогнозы.

только датчиков будет от 30 до 80, все стоять будут в разных помещениях.

А СКАДА нынче и на хлебозаводе не редкость


Коллеги как-то на СКАДА в связке с OPC сервером на базе ПЛК Дельта делали двух канальный USB ампер-вольт метр.

а вы говорите промышленность =)))

Отредактировано UN8JAB (2015-01-31 23:08:37)

0

18

Пётр написал(а):

Честно говоря, ожидал увидеть хотя бы схему (и по возможности исходники  ), а не этот сайт.

Да бросьте, СХЕМА )) Так, баловство ))
Вот  Ссылка

Там ,кстати, не только сайт, но и реально работающий датчик на доме))

Отредактировано Skull (2015-01-31 23:06:48)

0

19

UN8JAB написал(а):

Коллеги как-то на СКАДА в связке с OPC сервером на базе ПЛК Дельта делали двух канальный USB ампер-вольт метр.

В ВАШЕМ ГОРОДЕ и не такого ожидать можно было. Для 2 ГЦИПа не пожалели бы ничего ))

0

20

Тогда найдите подходящую СКАДА, изучите какие поддерживаются протоколы через COM порт и реализуйте один из них.

Skull, там без МК, точнее используется МК модуля ESP8266. Думал на AVR сделано.

0

21

ESP8266 весьма не дешевая и весьма глючная (пока) хрянь.
Если нет радио зашумленности, лучше использовать обычные модули "NRF24L01 + PA+LNA SMA антенна 1km".

0

22

Я пытаюсь сделать дома что-то типа умный дом. По кавартире проложена витая пара экранированная и кабель питания 12 вольт. Есть Главный контроллер, и слейвы, которые расставленны по комнатам (правда эта система сделана еще не полностью). Главный контроллер по очереди опрашивает слейв номер 1(или передает туда данные), ждет от него ответ, потом опрашивает следующий слейв и так далее. Проблем с наложением данных нету. Все это связано по RS485, протокол MODBUS RTU. Модбас взят за основу потому, что у меня установлена панелька TPD-280. RS485 допустимая длинна кабеля измеряется сотнями метров, помоемому даже до 1,2 км. MODBUS не такая уж редкость. Ее скады должны поддерживать. Я не подключал его к скадам, не было необходимости, но для отладки была написанна программа прослушивания модбаса на VISUAL BASIC6. Правда для прослушивания было сделано еще одно устройство которое только слушало шину. Расширять эту систему нет проблем: Добавил устройство, изменил программу главного контроллера и все. Отличие от вашей схемы только в наличии главного контроллера. Впринципе если ваша скада поддерживает модбас, то можно обойтись и без главного контроллера. Я тестировал свои слейвы через утилиту модбастестер, а компьютер был главным на этой шине. Если кому интресно могу выложить схемы, прграммы.

0

23

lan_tosno написал(а):

MODBUS RTU
RS485
программа прослушивания модбаса на VISUAL BASIC6.


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

0

24

UN8JAB написал(а):

MODBUS

В сети есть описание. https://ru.wikipedia.org/wiki/Modbus
http://we.easyelectronics.ru/khomin/mod … nikov.html

0

25

Согласен. Описание модбаса в этих ссылках вполне исчерпывающее.
это мой архив со схемами, программами в баском и vb6.
https://cloud.mail.ru/public/00ae1b3fd181/modbus
В архиве программа для мастера, слейва и слушалки. Остальные слейвы работают примерно по тойже программе, там только другой набор датчиков.
Также есть схемы в протеусе.
как это работает: мастер со слейвом общаются как описано в программе мастера, он по списку опрашивает мастера(или передает слейву данные), ждет от них ответа. Единственно я не стал делать в слейве распознавание входящих адресов регистров. ТОесть слейву ему по барабану какие адреса регистров я у него спрашиваю. он выдает все регистры сразу.
Модбас слушалка подцепляется к шине и выделяет пакет из потока данных. потом его кодирует и передает в компьютер по USB через FT232. программа в компьютере раскодирует его и выводит на экран. Кодирование и раскодирование работает, хотя сделано не совсем правильно(громоздко). Я просто не смог доконца разобраться c FT232(c ее D2xx) и сделал обмен через обычный COM.
По поводу схем: слушалке ненуже такой большой контроллер как XMEGA256. Просто это устройство планировалось для других целей. Среди прочего она должна была работать типа как осциллограф. тоесть можно померять уровень сигнала который выдает каждый конкретный слейв в сеть. но я лопухнулся с ацп(медленное).
Схемы для мастеров и слейвов в части RS485 одинаковые. Я везде делал гальваническую развязку. Для этих целей на шине rs485 стоит микросхема iso3080.  Я раньше делал изоляцию на оптронах, только там есть один ньюанс - оптрон должен быть скоростным. Напимер hcpl-600 hcpl-063L hcpl-0720. Иначе сигнал не успеввает через него проходить и искажается даже на скорости 9600. Можно вообще без гальванической изоляции, но это уже по желанию. Единственно что в схеме не нарисованы конденсатор (толи 0,1 микрофарада толи 1мкрофарад) и резистор(1мегаом) (они ставяться паралелбно друг другу) между минусом 12в и минусом 5 воль в цепи rs485(он же является экраном, тоесть оплеткой кабеля). Я еще с этим не эксперементировал, но желательно их ставить. Это я подсмотрел у siemens в модулях профибас. кстати оптроны я тоже брал оттуда(из издохших модулей).

0

26

lan_tosno написал(а):

Согласен. Описание модбаса в этих ссылках вполне исчерпывающее.
это мой архив со схемами, программами в баском и vb6.
https://cloud.mail.ru/public/00ae1b3fd181/modbus
В архиве программа для мастера, слейва и слушалки. Остальные слейвы работают примерно по тойже программе, там только другой набор датчиков.
Также есть схемы в протеусе......


Спасибо огромное! Пошел разбираться.

0

27

lan_tosno а можно  еще раз архивчик? ато ссылка битая

0

28

https://cloud.mail.ru/public/2QM4/NcAcsSmQU

0


Вы здесь » Программирование ATMEL в BASCOM. » Вопросы - ответы » подключение нескольких МК к компьютеру по дному порту