форум Радиолюбительского ДВ портала > Технический раздел
DDS синтезатор передатчика
rn3aus:
Прошивка версии 4.1 для МК 4313 для частоты опоры 15 МГц (например, утроенный Гиацинт 5 МГц)
rn3aus:
Дорогие друзья!
Пока приходится самоизолироваться на карантине, реализовал старую идею - автономный терминал управления синтезатором, чтобы можно было работать в эфире без компьютера.
Использован Arduino Uno с дисплеем LCD keypad Shield. Все это продается и стоит недорого.
Получилась программа (скетч), которая умеет:
- Управлять нашим синтезатором, описанном в данной ветке форума, любой версии от 0 до 4.1 (разрядность фазы 24 и 32 бита)
- Управлять синтезатором с прошивкой, предложенной GM (разрядность фазы 32 бита)
- Управлять синтезатором на основе AD98xx - 9833, 9834 (разрядность фазы 28 бит).
- При подключении GPS приемника подстраивать точное время и QTH-локатор
- Передавать в режимах: QRSS и DFCW с точкой от 1 до 600 сек; Opera-32, WSPR-2 и WSPR-15, CW 8 wpm и ручной CW с QSK (автоматическое управление РТТ) с телеграфного ключа.
- Все настройки делаются с дисплея пятью кнопками с помощью экранного меню, к компьютеру подключать не нужно. В том числе коды для оперы и вспр вычисляются самостоятельно.
- Также можно довольно быстро, за десяток секунд, вводить сообщения для передачи, устанавливать рабочие частоты для каждого режима и т.п. Есть автоинкремент частоты с интеллектуальным шагом при нажатии и удержании кнопок.
- Передавать мультимодовый маяк по циклограмме с использованием любых режимов. Циклограмму составлять и вводить очень легко и просто.
- Работать как в обычном режиме, так и с удвоением выходной частоты.
Проверил работу с использованием одного из имеющихся у меня синтезаторов, принимая его сигнал для контроля приемником. Вроде все работает четко.
Разведены и ждут возможности изготовления три платы в виде шилдов для Arduino :
- Плата нашего dds - синтезатора (чтобы иметь уж совсем компактное готовое решение с минимумом проводов)
- Плата преобразователя COM порта в TTL (либо можно купить такую готовую, любого производителя).
- Плата синтезатора на AD9834, с выходным усилителем и фнч, реле управления PTT. Или можно подключить просто маленькую покупную платочку с AD9833.
Схемы выложу позже, еще не нарисовал.
В общем, кому это покажется интересным - покупайте себе Arduino Uno или Mega и LCD keypad Shield!
На картинкe - как это выглядит :)
Пока что выкладываю скетч для Ардуино и рисунки плат для предварительного ознакомления.
Платы пока не изготавливались, могут быть погрешности!
Схемы и окончательные платы - чуть позже, когда мне удастся попасть в лабораторию и изготовить их.
Использование разъемов Arduino:
0 - COM RX - прием от синтезатора
1 - COM TX - передача на синтезатор
2 - RX from GPS - прием от GPS модуля
3 - PTT out - вспомогательный сигнал управление РТТ
* 4,5,6,7,8,9, A0 - used by LCD Keypad Shield (10 - PWM brightnes control - not used) - заняты кейпад шилдом
11, 10, 12 - (SDATA, SCLK, FSYNC)to AD98xx sintez - подключение синтезатора на AD9833, 9834
13 - TONE on/off out - вспомогательный сигнал индикации вкл-выкл выходного сигнала
A1 - TONE on/off in manual CW mode (analog 0 is active - connecting to GND enables TONE) - подключение телеграфного ключа. Замыкание на землю - нажатие ключа - включает передачу.
A2 - AD98xx flag (if this input is connected to the GND then AD98xx sintez is in use) - если используете синтезатор на AD98xx то этот контакт нужно соединить с землей.
* A3, A4, A5 - free
При старте программа сама определяет, какой тип синтезатора и какой версии подключен.
В архиве скетч для Ардуино
Платы - для разных случаев понадобится только одна из них.
Например:
- если у Вас нет никакого синтезатора, то нужно изготовить плату arduino_dds.lay, прошить для него контроллер AtTiny4313 прошивкой 4.1 (см. в предыдущих постах). Плату подключить как шилд между Ардуино и LCD Кейпадом - и в Ваших руках окажется полностью законченный автономный синтезатор с дисплеем. Но здесь, конечно, требуется программатор для МК.
- если синтезатор по приведенным выше схемам уже есть, то можно изготовить только плату преобразователя СОМ-порта и подключиться к синтезатору кабелем.
Если же прошивать МК нечем и синтезатора нет, то:
- купить платочку с AD9833 - подключайте ее к Ардуино и все должно заработать. (Не забудьте контакт А2 соединить с землей - чтобы программа поняла, что это синтезатор на ad98xx).
- или же можно изготовить плату с ad9834 и тогда опять таки получиться полностью завершенное, со всей необходимой обвязкой, изделие, не требующее программатора для МК.
Подробное описание и все остальное - позже, по мере готовности.
PS Раньше не имел дела с Ардуино. Познакомившись с этой платформой в этом проекте был приятно удивлен как легко и хорошо все получается. Даже удобнее и лучше, чем на компьютере с Windows!
rn3aus:
--- Цитата: Сергей UB1APE от 23 Май 2020, 01:51:21 ---Интересно!
--- Конец цитаты ---
Чтобы не печатать много слов, предлагаю посмотреть небольшие видео, и сразу станет в целом понятно, как пользоваться программой, как вводить сообщения, настраивать маяк, устанавливать частоты, делать разные настройки.
Видео здесь:
- как вводить сообщения: http://rn3aus.136.su/dds_tx/video/dds_arduino_message_enter.mp4
Вводятся как DFCW: кнопка "UP" - тире, кнопка "DOWN" - точка. Например нужно ввести букву B: -___ и заканчиваем ввод кнопкой SELECT. Этой же кнопкой стираем предыдущий символ, если нужно его заменить. Для QRSS и DFCW сообщения могут быть разными, и длительность точек тоже разная.
Если в QRSS выбрать длительность точки 0 сек (минимально возможное значение), то сообщение будет передаваться CW со скоростью 8 WPM
- как изменять частоту: http://rn3aus.136.su/dds_tx/video/dds_arduino_freq_set.mp4
кнопками вверх-вниз. Если удерживать нажатой, включается автоповтор и частота изменяется сама. Если долго листать в одну сторону, то шаг постепенно увеличивается. Кнопокой селект частота записывается. Для каждого режима частота своя. Следится, чтобы частоты были в пределах отведенной полосы частот.
- как вводить циклограмму маяка: http://rn3aus.136.su/dds_tx/video/dds_arduino_beacon.mp4
кнопками вверх-вниз выбираем нужный режим или команду, кнопкой селект записываем ее в циклограмму.
- запуск передачи WSPR: http://rn3aus.136.su/dds_tx/video/dds_arduino_wspr_tx.mp4
Автоматически дожидается начала четной минуты.
Часы устанавливаем после включения кнопками вверх-вниз, с автопрокруткой. Устанавливаем минуты, дожидаемся 00 секунд на образцовых часах и нажимаем кнопку select:
http://rn3aus.136.su/dds_tx/video/dds_arduino_time.mp4
или, если есть GPS приемник (платочка NEO-6M, например), то время (и локатор) установятся сами.
- передача OP32: http://rn3aus.136.su/dds_tx/video/dds_arduino_op32_tx.mp4
Кнопкой селект передача стартует. Символы ТХ соответствуют передачу нажатия, tx - паузе. Чтобы было видно, что ничего не зависло - мигает символ :
Остановить передачу можно повторным нажатием кнопки SELECT.
- меню настроек (позывной, локатор, мощность, частота опорника, удвоение выходной частоты и т.д.): http://rn3aus.136.su/dds_tx/video/dds_arduino_setup.mp4
На фото - как все это отлаживалось на живом синтезаторе :)
rw3adb:
--- Цитата: rn3aus от 23 Май 2020, 13:40:11 ---Если в QRSS выбрать длительность точки 0 сек (минимально возможное значение), то сообщение будет передаваться CW со скоростью 8 WPM
--- Конец цитаты ---
Саш, на практике надо хотя бы 16 WPM. А лучше 20.
Ибо медленный тлг и не щрсс- выигрыша нету, а его "читабельность" что на водопадах, а уж тем более на слух при 8 WPM -так себе.
На стандартном водопаде СПЛ хорошо видно 16 ВПМ. 20 ВПМ вполне тоже разборчиво, если сигнал ломовой.
Так что лучше на каком то вот таком значении и остановиться по умолчанию.
rn3aus:
Исправил в скетче небольшие погрешности.
Версия 1.1 - кто скачивал предыдущую версию - обновитесь, пожалуйста!
Для проверки подключил ардуино к синтезатору последней версии, пару часов передавал мультимодовый маяк. Все нормально работает.
Навигация
Перейти к полной версии