Такс.. на чём мы остановились ))) продолжаем эксперименты)) Взяли простенький приёмничек и передатчик))
И вообще... где наш кораблик? )))
aen писал(а):Не забывайте про помехи и сделайте программно их выявление. Это или передача контрольных сумм или дублирование команды, т.е. например если команда пришла два(три) раза подряд одна и та же, значит она истинна. Если две соседние команды начиная с паузы пришли разные, значит команда ошибочна и она игнорируется.
roman.com писал(а):Сначала сделали дублирование команды два раза подряд после паузы... Оказалось мало: одна ложная команда на 10.000 правильных. Сделали три раза подряд после паузы... 1.000.000 правильных. Ложных не зафиксировали.
Замечательно, только три раза повторять каждую команду - пакет получается слишком большой...
Максимальная дальность... зависит от чувствительности приёмника. Чувствительность приёмника зависит от полосы пропускания приёмника. Полоса пропускания приёмника выбирается из условия скорости передачи. Скорость передачи определяется длинной пакета (при прочее равных условиях)...
Значит, чтобы увеличить дальность нужно уменьшить пакет. Поэтому делаем второй вариант - "Передача контрольных сумм"... В заводских радиомодулях это делают с помощью CRC. Для эксперимента накидал программку на МК - получил аналог заводского радиомодуля. )))
roman.com писал(а):популярный радиомодуль (часто используется для радиоуправления) nRF24L01+... Там предлагают только два полинома на выбор:CRC-8-CCITT 0x07, CRC-16-CCITT 0x1021
Проверили оба полинома.
-CRC-8-CCITT 0x07 слабенький полиномчик)) Проскакивают ложные срабатывания... Для радиоуправления не подходит.
-CRC-16-CCITT 0x1021 нормальненько)) Ложных команд не зафиксировал. Надёжная штука))
...
...
Другие полиномы проверим позже)))
Получили:
Длина пакета с CRC меньше в разы! )) Т.к. длина пакета меньше, то для той же скорости передачи (пакет/c) можно уменьшить скорость передачи (бит/с). Значит можно уменьшить полосу пропускания приёмника и повысить дальность за счёт более узкой полосы приёмника)).
Сихронизация по преамбуле.. я не знаю алгоритм в заводском модуле. В даташите не сказанно.

Сделал типа простую ФАПЧ.)) С синхрословом ясно. В даташите радиомодуля про это написано подробно.
С остальным по ходу разберёмся))
Для начала радиоканал. У многих с этим больше всего проблем)) Особенно проблемы с хорошим приёмником.
Для эксперимента накидал схемку... На трёх транзисторах. Схема называется "вспомним детство!" )))
- RX.JPG
- (80.71 КБ) 500 скачиваний
Приёмник настроил на 125 Мгц. (перестраивается по диапазону 100...200 Мгц без проблем). Просто на УКВ эффективность коротких антенн лучше, поэтому частоты для радиоуправления лучше брать побольше))
Давно я таких приёмников не собирал...)))
В качестве передатчика пока используем простой маячёк.
- TX.JPG
- (61.05 КБ) 499 скачиваний
На пару метров 5-ю гармонику (кварц 25 x 5 =125 МГц) принимает на кусок провода. ))
А вот осциллограммы. Это импульсы на выходе МК в передатчике (в точке Data TX):
- 2.gif
- (11.6 КБ) 439 скачиваний
А это импульсы в приёмнике-свехрегенераторе при включенном передатчике (в точке Data RX):
- 3.gif
- (10.21 КБ) 275 скачиваний
Кстате амплитуда импульсов не обязательно должна быть 5 вольт. Для работы МК можно меньше. У меня амплитуда около 1,5 Вольт (размах 3).
Кстате интересный момент про напряжение переключения внутреннего тригера Шмитта в МК.
В даташите ATmega8 написано 1,8 вольт. (при питании 5 вольт)
В Proteusе ATmega8 показала тоже 1,8 вольт. (при питании 5 вольт)
А мой тестер показал 2,4 вольт. (при питании 5 вольт)
Не маленький разбег с даташитом))) Вот и верь после этого даташитам))
А это шум сверхрегенератора при выключенном передатчике (в точке Data RX):
- 1.gif
- (11.84 КБ) 441 скачивание
Всё про сверхрегенераторы тут
http://radiokot.ru/circuit/analog/games/11/
Вообще если сравнивать сигнал на выходе супергетеродина с ЧМ и свехрегенератора с АМ, то они (сигналы) мало чем отличаются.
(См выше.)
Про сверхрегенераторы не писал только ленивый))

Чувствительность маленькая... Хотя всё зависит от передатчика))
С передатчиком порядка 20 Ватт и антенну на крышу (на балконе), сверхрегенератор принимает нормально на расстоянии 10 км. Во всяком случае я спокойно слушаю авиадиспетчера на 10 км из дома... и все мимо пролетающие самолёты на расстоянии несколько десятков километров (судя по разговорам пилотов)

Примерно как на этом видео:
https://www.youtube.com/watch?v=TDKF7MtZZhA
только у меня качество получше (без искажений).
Кстате... есть и промышленные варианты таких приёмников. Пример:
http://radiotrician.ru/r855.php
Такие простенькие рации на сверхрегенераторе расчитаны на работу совместно с радиостанциями в самолёте. Например с такими:
http://civil.trcvr.ru/2015/08/29/радиос ... аклан-520/
Вывод: для радиоуправления можно использовать и сверхрегенератор, если есть хороший передатчик))).
Хотя если делать радиоуправление на маленькое расстояние то можно использовать сверхрегенератор. Например всякие радиозвонки.. автосигнализации... гаражные ворота.. и т.д. )) Всё это работает на несколько десятков метров (максимум несколько сотен).
Или например заводской радиомодуль типа nRF24L01 - Дальность до 100 м. В помещении - до 30 м.
С такой дальностью справится и сверхрегенератор))
Кстате сверхрегенератор можно собирать и без кварцев. Полоса приёмника широкая, подстраивать не нужно)) Пример китайская радиоуправляемая машинка работает вообще без кварцев.
http://radiokot.ru/forum/viewtopic.php? ... 616626#p26
Ещё один момент.
Модуляция АМ в простых передатчиках на кварцах или ПАВ. Типа таких:

Там же ООК...

Вот схема
http://forum.cxem.net/index.php?hl=&showtopic=137870
Я не знаю как они работают, а мой сверхрегенератор отказывается принимать OOK... одни искажения и шум...
Мой сверхрегенератор требует АМ с глубиной 30%...50%... или около того (судя по громкости).
Воощем надо теперь переделать кораблик под 8 битный PCM с CRC-16...
http://www.rcdesign.ru/articles/radio/ppm_pcm ))
И можно плавать спокойно))
