1—частота шим для силового эл... есть две кнопки частота в верх и вниз хотя бы ступенчато...
кнопки не проблема)) Проблема в таймере, на котором работает ШИМ. У него фиксированные частоты делителя:
/1=1.000.000 Hz
/8=125.000 Hz
/32=31.350 Hz
/64=15.625 Hz
/128=7.812,5 Hz
/256=3.906,25 Hz
/1024=976,5625 Hz
Как видно (из даташита), выбор частоты ШИМ ограничен.
или плавно от и до... Для этого нужен отдельный МК... Типа драйвер на МК. Тогда можно меньть частоту ШИМ плавно... от и до... )) Просто менять подстроечным резистором тактовыю частоту МК. В прошлой теме так уже делали.
2 – можно корректировать также частоту для сервы.
Нельзя. Частота сервы фиксированна, согласно даташиту. Менять нельзя. Уже подробно разбирали почему.
3 -- Для sashamelja можно стелать режим кораблик или сигнализаторы.
Не проблема)) Как появится sashamelja, мож займёмся))
4 – Одну из кнопок применять для переключения режимов дискретных команд, отпущена кнопка «режим» значить команды без фиксации зажата уже четыре команды с фиксацией...
Это не проблема)) Только непонятно зачем это надо))
5 -- Можно кнопками регулировать мощность передатчика и чувствительность приемника, но на мой взгляд это лучше делать автоматически то есть программно.
Интересно..)) Алгоритм пока до конца ещё не ясен... Как это будет работать ?
Программно сложней. У нас радиоуправление, а не просто передача данных)) радиоуправление чувтвительно к задержкам передачи пакетов... Короче надо подумать...
Можно просто добавить переключатель мощности (например как профессиональной на заводской рации). Думаю это полезная функция. Вообще радиомодуль nRF24L01+ (с усилителем) при полной мощности передатчика работает на дальность до 1000...200 метров. Вопрос: а нафига врубать передатчик nRF24L01+ на полную мощность, если например тот же кораблик плавает у нас например на 100...200 метров? )) Тогда выбирай любую ножку МК и подключай туда переключатель, как на заводском пульте.
Поддерживать уровень принятых пакетов где то около 70-60%.
Около 70-60% - это сложно. Малейшее изменение положение антенны или малейшая помеха на пути сигнала приводит к резкой потери пакетов...
6 – самый интересный, взять стиральную резинку, а потом быстро стереть лишние кнопки со схемы и забыть.
Замечательный вариант)))
Программа постоянно меняется.. оптимизируется.. подстраивается... Вообще надо ещё много чего поменять)) Всё ещё не оптимально))
Надо ускорить работу))
-У нас МК передаёт CRC16, для надёжности. “Стандартный” алгоритм вычисления CRC16 медленный. Переделал на "Табличный" алгоритм. Скорость обработки пакетов заметно возросла. "Табличный" алгоритм работает в 10 раз быстрее, что чётко видно на осциллограммах))
Правда "Табличный" алгоритм занимает много память МК (в пульт уже не лезит, из-за экранчика). Много таблиц. В ATmega8 уже памяти мало... Мож поробовать "Матричный" алгоритм вычисления CRC16...
http://www.lib.tpu.ru/fulltext/c/2010/C04/V1/001.pdf
А может у кого есть другие идеи ? )) Надо ещё что-нить переделать))
Из режимов: думаю нужен переключатель мощности и частоты. Остальное помоему уже лишнее..))