[uquote="alexandr71",url="/forum/viewtopic.php?p=3141499#p3141499"]модель катера почти готова жду с китая мотор и контроллер мотора.[/uquote]А покажи мотор и контроллер мотора. Надо уточнить как его подключать.
alexandr71 писал(а):давайте еще раз для тупого меня обговорим алгоритм работы (сори новичёк в р/у)
Совсем для новичков могу порекомендовать скачать замечательную книгу, замечательного автора Г. Миль. Например вот такую:
http://mexalib.com/view/10035 Это "азбука" радиоуправления (все мы когдато начинали с этих книжек..). В этой книге (и других, подобных) описаны основы радиоуправления.. основы алгоритма радиоуправления... принцип работы аналоговых сервомашинок... и многое другое. Наш кораблик работает аналогично, мы только усовершенствовали алгоритм.)) немного.))
alexandr71 писал(а):проект всё же Ваш а мы все видим по разному.
Проект не мой, а общий. Ктото помогает.. ктото мешает..
alexandr71 писал(а):обговорим алгоритм работы
Выше кидал общую схему...
alexandr71 писал(а):На пульте жму кнопку дискретки без фиксации (например тактовая кнопочка) мигнул светодиод, прошла одна пачка команд. Кстати ответка с модели должна прилетать типа понял-исполняю я правильно понял?
Пульт передаёт пакеты непрерывно, с постоянной частотой и паузами между передачей пакетов (как в книжке, только в книжке передают пачки импульсов а не пакетов).
После передачи пакета пульт переключается в режим "приём" и ждёт ответку.
-Если ответка с модели прилетела, значит пакет доставлен, а значит команда принята к исполнению.
-Если ответка с модели не прилетела, значит пакет не доставлен, а значит команда не принята к исполнению.
Сколько пакетов улетело... сколько ответок прилетело... вся информация выводится на экран.
Вообще в nRF24L01+ есть функция автоматического подтверждения пакетов и автоматической повторной передачи пакетов в случае если ответка не пришла. В нашем кораблике эта функция отключена, а за доставку пакетов у нас отвечает МК. Почему так? А вот почему: На экран можно выводить дополнительную информацию, например по какой причине пакет не доставлен (ошибка передачи... ошибка приёма... где именно произошла ошибка, в пульте или кораблике... и даже в каком именно блоке произошла ошибка передачи. Типа самодиагностика системы)) надо делать с замахом на будущее.. )) Эти дополнительные функции уже думаем на перспективу.
alexandr71 писал(а):летит повторяющаяся пачка команд, в модели допустим серва начинает работать.
-Если летит повторяющаяся пачка команд, то серва и двигатель работает.
-Если не летит повторяющаяся пачка команд (нет связи... или пульт просто выключен), то серва и двигатель не работает.
Кнопка без фиксации. Пульт передаёт пакеты непрерывно. В каждом пакете содержится информация о всех кнопках: какая кнопка нажата, какая кнопка не нажата. Пока держим кнопку, пульт передаёт непрерывно информацию кораблику, что кнопка "Фары" нажата. Фары горят.
alexandr71 писал(а):Теперь кнопка с фиксацией
Пульт передаёт пакеты непрерывно. В каждом пакете содержится информация о всех кнопках: какая кнопка нажата, какая кнопка не нажата. Только теперь, при нажатии кнопки, пульт "запоминает" какая кнопка была нажата. Пульт передаёт непрерывно информацию кораблику, что кнопка "Фары" нажата. Фары горят, до тех пор пока не нажмём кнопку повторно. При повторном нажатии кнопки, пульт "запоминает" какая кнопка была нажата повторно. Пульт передаёт непрерывно информацию кораблику, что кнопка "Фары" не нажата. Фары не горят.
alexandr71 писал(а):На дисплее таким образом всё что с фиксацией можно и не отображать.
это по желанию)).
alexandr71 писал(а):С кнопками мощность-частота всё ясно, нажал, передал, отобразил на дисплее.
Мощность передатчика. В пульте устанавливаем мощность передатчика nRF24L01+ с помощью переключателя мощности (пока что просто два переключателя). Пульт передаёт информацию о мощности своего передатчика кораблику. Кораблик устанавливает такую же мощность своего передатчика nRF24L01+. Таким образом, оба передатчика (в пульте и кораблике) работают при одинаковой мощности.
Информация о мощности передатчика (в пульте и кораблике) выводится на экран.
В прошлой схеме пробовали делать автоматическую поддержку мощности передатчиков (в пульте и кораблике) в зависимости от уровня сигнала (и уровня помех). Пока не доделали...
Частота. Тут немного сложней. Основная проблема в синхронизации частоты радиоканалов пульта и кораблика. Сейчас мы используем принцип диспетчерской/радиолюбительской связи. В диспетчерской связи есть "вызывной" канал и "рабочии" каналы. По умолчанию пульт и кораблик работают на "вызывном" канале. В пульте можно менять частоту трансивера nRF24L01+ с помощью переключателя частоты (пока что просто два переключателя). При изменении частоты, пульт сначала передаёт "запрос изменения частоты" кораблику. Кораблик, получив "запрос изменения частоты", отправляет подтверждение и меняет частоту своего трансивера nRF24L01+. Пульт, получив подтверждение, так же меняет частоту своего трансивера nRF24L01+. Таким образом, оба трансивера (в пульте и кораблике) работают с одинаковой частотой. В случае потери связи (сбой в работе системы) оба трансивера (в пульте и кораблике) автоматом переключаются на "вызывной" канал. Далее процесс повторяется...
Тут ещё надо подумать над усовершенствованием алгоритма переключения радиоканалов. В прошлой схеме пробовали делать автоматический переключатель радиоканалов (в пульте и кораблике), как в профессиональной аппаратуре радиоуправления: автоматический выбор радиоканалов в зависимости от уровня сигнала (и уровня помех). Пока не доделали...
Кратко вот)).
Некоторые идеи взяты из сетевых протоколов...
https://ru.wikipedia.org/wiki/Протокол_передачи_данных Вот так, незаметно.. переходим на сетевые технологии))