ардуино математика и теория вероятности

oleg_kazakof
Offline
Зарегистрирован: 24.04.2015

Всем добрый день,  вечер или утро.

Сразу скажу - система сделана и работает но не всегда стабильно.

6 асинхронных передатчиков работают на 1 приёмник, время работы одного передатчика не более 250мс. каждый передатчик может работать  не чаще чем 1 раз в 3с. (больше 3с. можно).

Приёмник может принимать только  с интервалом   4с.-приём: 2с.-свои дела: 4с.-приём: и т.д

Вопрос: как расчитать оптимальный временной интервал  работы передатчиков чтобы за 10мин.-15мин.  получить все данные. 

Начальные фазы всех передатчиков и приёмника асинхронны,  а после запуска системы остаются в одном состоянии (насколько позволяет стабильность кварцев ардуин).  

    

Logik
Offline
Зарегистрирован: 05.08.2014

Передатчики не знают успешно ли их приняли? Приемник ничего не может передавать передатчику в сеансе? Если оба вопроса - да, то интервал передачи делать случайный в интервале от 3 до 4 сек. Чисто интуитивно отвечаю, вобще промоделировать полезно.

diger67
Offline
Зарегистрирован: 25.07.2015

Вам надо использовать протокол обмена с командой занятости от принимающей стороны. Остальные, если им приперло передовать, должны ожидать освобождения линии. Вероятность передачи одновременно несколькими устройствами возможна и при этом вы потеряете данные или примете неверные данные. Думаю в вашем случае надо использовать протоколы которые формируют сигнал занятости линии, мало того передовать байт контрольной суммы посылки и получать подтвеждение удачного приема. Это возможно при использовании USART (UART + сигналы сигнализации) или CAN. Можно начинать работу с выдачи приемником сообщения синхронизирующего старт обмена, а в передающих устройствах четко определить время отправки информации так чтобы передача не пересекалась(но это в том случае если ее отправка не происходит в произвольном порядке). 

Клапауций 234
Offline
Зарегистрирован: 24.10.2016

Logik пишет:

Передатчики не знают успешно ли их приняли? 

я запретил

oleg_kazakof
Offline
Зарегистрирован: 24.04.2015

Оба вопроса ДА, у меня - же написано что все передатчики работают асинхронно и не имеют невозможности проверить приняты данные или нет . Повторяю система собрана и работает. Интервал передачи от 2 до 7сек., подбирал эксперементально. Вопрос - сложно ли расчитать, по теории вероятность, интервалы минимальных совпадений одновременной работы передатчиков

 

diger67
Offline
Зарегистрирован: 25.07.2015

oleg_kazakof пишет:

Вопрос - сложно ли расчитать, по теории вероятность, интервалы минимальных совпадений одновременной работы передатчиков

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

arduino328
Offline
Зарегистрирован: 01.09.2016

oleg_kazakof пишет:

6 асинхронных передатчиков работают на 1 приёмник, время работы одного передатчика не более 250мс. каждый передатчик может работать  не чаще чем 1 раз в 3с. (больше 3с. можно).
Приёмник может принимать только  с интервалом   4с.-приём: 2с.-свои дела: 4с.-приём: и т.д
Вопрос: как расчитать оптимальный временной интервал  работы передатчиков чтобы за 10мин.-15мин.  получить все данные. 

2 минуты работает первый передатчик (или передает несколько раз, потом 2 минуты ждёт), далее 2 минуты - второй, затем - третий, и так за 12 минут все передатчики передадут свои данные, а приёмник примет.

oleg_kazakof
Offline
Зарегистрирован: 24.04.2015

diger67 пишет:

oleg_kazakof пишет:

Вопрос - сложно ли расчитать, по теории вероятность, интервалы минимальных совпадений одновременной работы передатчиков

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

Чем меньше совпадений тем лучше, устроит чтобы за 10 минут приемник смог принять данные со всех передатчиков хотя- бы один раз, но стабильно.

 

diger67
Offline
Зарегистрирован: 25.07.2015

oleg_kazakof пишет:

Чем меньше совпадений тем лучше, устроит чтобы за 10 минут приемник смог принять данные со всех передатчиков хотя- бы один раз, но стабильно.

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

oleg_kazakof
Offline
Зарегистрирован: 24.04.2015

arduino328 пишет:

2 минуты работает первый передатчик (или передает несколько раз, потом 2 минуты ждёт), далее 2 минуты - второй, затем - третий, и так за 12 минут все передатчики передадут свои данные, а приёмник примет.

[/quote]

Вы понимаете слово АСИНХРОННО, тоесть начальные фазы работы передатчиков могут совпадать, а могут и не совпадать (что наиболее вероятно).

 

arduino328
Offline
Зарегистрирован: 01.09.2016

oleg_kazakof пишет:

АСИНХРОННО, тоесть начальные фазы работы передатчиков могут совпадать, а могут и не совпадать (что наиболее вероятно).

Вот и нужно озадачиться этим вопросом и разнести их передачи во времени. Иначе каждые 5 минут (условно) одновременно все 6 передатчиков будут пересылать данные, а приёмник будет в ступоре.

BoBo4kA
Offline
Зарегистрирован: 15.01.2016

приёмопередатчик на чем построен?

на днях ковырялся с nRF24L01, в библиотеке RF24 есть возможность указать кол-во попыток передачи и интервал между ними. Если я правильно понимаю, библиотека позволяет проверять получил ли данные приемник. В таком случае, настроив каждый передатчик на разные интервалы, все смогут передать данные нормально за определенный промежуток времени.

Logik
Offline
Зарегистрирован: 05.08.2014

Прикинул в экселе. Наивысшая пропускная способность получится при периоде 3 сек, 80 сообщений за 10 мин с каждого датчика, и падает: при 4 сек 77, и при 5сек 71. Это без учета паузы приема, чтоб было с учетом умножаем на 2/3. ИМХО - это предостаточно.

oleg_kazakof
Offline
Зарегистрирован: 24.04.2015

Logik пишет:

Прикинул в экселе. Наивысшая пропускная способность получится при периоде 3 сек, 80 сообщений за 10 мин с каждого датчика, и падает: при 4 сек 77, и при 5сек 71. Это без учета паузы приема, чтоб было с учетом умножаем на 2/3. ИМХО - это предостаточно.

Спасибо, буду эксперементировать, сейчас в системе работае 4 передатчика с интервалами - 1,7c.,  5c., 6c., 7c.,  - прием данных происходит за 10мин. вроде стабильно.

 

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

А  MAC адрес для чего придумали в асинхронных системах передачи данных на основе протокола Ethernet?
Почитайте и сделайте аналогично