передача данных через кольцо

Ответить

передача данных через кольцо

3
1
100%
2
0
Голосов нет
1
0
Голосов нет
 
Всего голосов: 1

igrik1972
Рядовой
Сообщения: 75
Зарегистрирован: 08.02.2017{, 00:29}
Репутация: 1

передача данных через кольцо

#1

Сообщение igrik1972 » 13.02.2017{, 17:08}

проблема такая......
есть две ардуины, с одной к другой передаются данные через переменные на кольцо по РХ и ТХ, а далее на Nextion..........
с датчиков данные проходят , но с входов не как не хочет..........
если напряму то все впорядке......
что не так .......
может смастерить датчик пользовательский ......помогите разобратся ......

Добавлено (13.02.2017, 16:05)
---------------------------------------------
у кого какие идеи

Добавлено (13.02.2017, 17:08)
---------------------------------------------
int light;
 
void setup()
{
  Serial.begin(9600);
}
 
void loop()
{
  light = analogRead(2);
  Serial.println(light);
  delay(100);
}

вот таким образом в ком порт выдает значения.............

но если взять порт + скале + переменная - то ничего не выдает

но если взять порт + скале + компаратор (>150) + 13 светодиод - лапочка гаснет и включается.........

я не могу понять что - то или лыжы не едут ................
Вложения
master-datcik1.flp
(853.15 КБ) 76 скачиваний
nano-meteotentr.flp
(350.53 КБ) 70 скачиваний
Последний раз редактировалось igrik1972 13.02.2017{, 16:04}, всего редактировалось 1 раз.

Аватара пользователя
Boroda
Капитан
Сообщения: 836
Зарегистрирован: 01.05.2016{, 01:04}
Репутация: 38
Откуда: Коломна
Имя: Станислав
Контактная информация:

передача данных через кольцо

#2

Сообщение Boroda » 13.02.2017{, 19:15}

igrik1972, в датчике передача по кольцу Zapitmeteostantii идет каждый цикл, потому как настройка "передавать постоянно", это жрет все время цикла, лучше передавать по изменению сигнала. Из-за этого в метеоцентре минуту идет передача, минуту не идет передача, что тоже отнимает очень много времени. Переделайте на "передний фронт", потом будем дальше смотреть.

Добавлено (13.02.2017, 18:45)
---------------------------------------------
Алгоритм обновления дисплея кривой. Вы делаете запрос с мастера, чтоб слейв прислал данные и сразу же обновляете экран, но данные еще не пришли!

Добавлено (13.02.2017, 19:13)
---------------------------------------------
На мастере опора внешняя. От помех даже контроллер может зависать.

Добавлено (13.02.2017, 19:15)
---------------------------------------------
Тут конечно бы все переделывать надо на платы с условием, тогда может из этого что-нибудь выйдет. На народ почему-то на версию FLProg 2.3.1 не спешит пересаживаться.

Аватара пользователя
Boroda
Капитан
Сообщения: 836
Зарегистрирован: 01.05.2016{, 01:04}
Репутация: 38
Откуда: Коломна
Имя: Станислав
Контактная информация:

передача данных через кольцо

#3

Сообщение Boroda » 13.02.2017{, 19:19}

Попробуйте так.
Вложения
Ring_meteo_HMI.rar
(72.5 КБ) 71 скачивание

igrik1972
Рядовой
Сообщения: 75
Зарегистрирован: 08.02.2017{, 00:29}
Репутация: 1

передача данных через кольцо

#4

Сообщение igrik1972 » 13.02.2017{, 19:51}

сейчас пробую ........ схема намного умнее ........ посмотрю что получеться

Добавлено (13.02.2017, 19:51)
---------------------------------------------
не делает запрос ....... посмотрю что с таймерами .........
Последний раз редактировалось igrik1972 13.02.2017{, 19:41}, всего редактировалось 1 раз.

Аватара пользователя
Boroda
Капитан
Сообщения: 836
Зарегистрирован: 01.05.2016{, 01:04}
Репутация: 38
Откуда: Коломна
Имя: Станислав
Контактная информация:

передача данных через кольцо

#5

Сообщение Boroda » 14.02.2017{, 01:13}

igrik1972, переменную, которая делает запрос (запит чего-то там), сделайте типа INT и передавайте 0 или 1 через Switch. А в приемнике поставьте блок сравнения >0. Просто мне кажется, что битовые переменные работают некорректно (к сожалению у себя проверить не могу).
Последний раз редактировалось Boroda 14.02.2017{, 01:14}, всего редактировалось 1 раз.

igrik1972
Рядовой
Сообщения: 75
Зарегистрирован: 08.02.2017{, 00:29}
Репутация: 1

передача данных через кольцо

#6

Сообщение igrik1972 » 14.02.2017{, 02:16}

вообщем я запрос полностью отключил так как заметил что лампочка не гаснит после первого запроса...........
отделил отдельно полностью ............ могу твердо сказать что таймеры болеан тут вообще не пречем с 19-00 до сих пор пробовал все разные варианты....

то что я заметил так то что датчики по свому отправляют данные, то что не умеет входа, то есть на входах нет возможности таймера + чтение.........
я пересмотрел вариант примеров с фоторезистором, так для того чтоб прочесть данные с него требуется редактирование, а это или на светодиод через компаратор, или на экран, тогда в ком-порт можно увидеть данные, но в переменную почему-то только датчики проходят.......
я до конца еще не разобрался, но суть в том что прописывается програмнно к примеру DHT.h или BMP085.h я не сильный програмист но там задана 
константа чтение порта ..........

ВСЕ РАВНО НУЖНА ПОМОЩЬ.......

повторяю напряму все идеально работает из-за того что привязывается к дисплею или к светодиоду ......
Вложения
2839227.flp
(912.23 КБ) 67 скачиваний
2848747.flp
(408.38 КБ) 67 скачиваний

starshoy81
Лейтенант
Сообщения: 530
Зарегистрирован: 05.04.2016{, 23:30}
Репутация: 29
Откуда: Санкт-Петербург
Имя: Илья

передача данных через кольцо

#7

Сообщение starshoy81 » 14.02.2017{, 13:31}

igrik1972, в 747 проекте у Вас сделан в самом начале таймер на симметричном мультивибраторе с импульсом длиной в минуту и подается на р-триггер, а потом пишется в переменную "таймер". И по этой переменной разрешается запись в другие переменные, в том числе в такие, где осуществляется чтение с датчиков. Мне кажется, что когда датчик прочитается, разрешение на запись уже закончится. Поменяйте принцип работы таймера. И разрисуйте алгоритм работы Вашего проекта хотя бы на листе бумаги, так будет проще понять связи и остальным понятнее чего Вы хотите сделать.

igrik1972
Рядовой
Сообщения: 75
Зарегистрирован: 08.02.2017{, 00:29}
Репутация: 1

передача данных через кольцо

#8

Сообщение igrik1972 » 19.02.2017{, 14:33}

starshoy81, с про-мини (это будет метеостанция) в кольцо надо передать данные для работы остальных ардуин.
1. будет брать с него данные чтоб отрегулировать температуру на коллекторе (теплые полы через реле на актуатор)
2. будет брать данные для обогрева резервуара, который связан будет через концентратор управляемый...
3. будет брать данные для закрытия окон, штор наружных, вороты гаражные и т.д. (из-за того что сработает датчик ветра и дождя)...

я думаю вы поняли проект барбаросса.... много и все из-за одной точки ...........

а из модбаса я уже пробовал, из 6 штук как не подключал их именно МАХ-485 то ничего не сработало....... пока оставил их в сторону пробую так 
все соеденить а потом , может и попадет что-то перед глазами по поводу погрешности МАХ-485 ........

starshoy81
Лейтенант
Сообщения: 530
Зарегистрирован: 05.04.2016{, 23:30}
Репутация: 29
Откуда: Санкт-Петербург
Имя: Илья

передача данных через кольцо

#9

Сообщение starshoy81 » 21.02.2017{, 14:04}

igrik1972, если мах485 у Вас не работает очень вероятно от того, что Вы не задаете пин для DERE, который управляет передачей этого преобразователя. При передаче через кольцо, этот пин не задать в настройках. Поэтому простые преобразователи не подойдут, нужны преобразователи с микросхемой распознающей направление связи (приём или передача).

Дальше, прочтите ещё раз мое сообщение №7 в части касающейся таймера. У Вас переменные передаются по переднему фронту раз в минуту и раз в минуту же читаются датчики. Чтение аналогового входа довольно длительный процесс, надо бы разнести чтение и передачу в разные периоды. Опять же могут перемешиваться данные в буфере при одновременной передаче. Поэтому и со входов может ничего не передаваться они в конце проекта стоят.

Сделайте разные таймеры для чтения входов с датчиками и для передачи этих данных. И таймеры для чтения датчиков лучше делать на несимметричном генераторе, т.е. например 100 мсек импульс и 60 сек пауза.

Попробуйте убрать из проекта веб-страницу, это вообще довольно тяжелая вещь для ардуино. Может банально не хватать процессорного времени всё это обрабатывать.

Добавлено (21.02.2017, 14:04)
---------------------------------------------
igrik1972, получился какой-либо результат? Если все работает поделитесь информацией как решилась проблема. Это поможет другим участникам решить аналогичные сложности.

igrik1972
Рядовой
Сообщения: 75
Зарегистрирован: 08.02.2017{, 00:29}
Репутация: 1

передача данных через кольцо

#10

Сообщение igrik1972 » 21.02.2017{, 18:41}

нет ничего не выйшло, может МАХ485 сбойные или просто не работают ..........

starshoy81
Лейтенант
Сообщения: 530
Зарегистрирован: 05.04.2016{, 23:30}
Репутация: 29
Откуда: Санкт-Петербург
Имя: Илья

передача данных через кольцо

#11

Сообщение starshoy81 » 21.02.2017{, 19:11}

igrik1972, а без мах485, по uart объединить платы и посмотреть работу?

Добавлено (21.02.2017, 19:11)
---------------------------------------------
да, и ещё, у Вас разные источники опорного напряжения в проектах. Из-за этого могут аналоговые входы не читаться.

igrik1972
Рядовой
Сообщения: 75
Зарегистрирован: 08.02.2017{, 00:29}
Репутация: 1

передача данных через кольцо

#12

Сообщение igrik1972 » 05.03.2017{, 00:53}

все работает ......... создали блок........ запустил ........ ТЕМА ЗАКРЫТА ......

Добавлено (05.03.2017, 00:53)
---------------------------------------------
через УАРТ запустил , после того как поставил опорное напряжения внутреннее на обоих ардуин ........ СПАСИБО

Ответить

Вернуться в «UART»