Home Форум Клуб RU-QRP Самодельная техника Синтезатор для QRP CW трансивера

На сайте

Никого

Авторизация

Журнал CQ-QRP

Зима-Лето 2023
cq qrp 81
Все журналы

Спонсоры

LAB599
lab599 banner

Магазин XIEGU.RU
xiegu ru banner

Наши друзья

baner88x31
Тульский областной радиоклуб
QRP ARCI
Клуб Нижегородских Радиолюбителей
ru cw banner
Добро пожаловать, Гость
Логин: Пароль: Запомнить меня

ТЕМА: Синтезатор для QRP CW трансивера

Синтезатор для QRP CW трансивера 08 Апр 2019 11:52 #44578

  • zotos
  • ( Пользователь )
  • zotos аватар
  • Вне сайта
  • Сообщений: 120
  • Репутация: 12
veso74
Манипуляцию хочу сделать QSK сразу на ногу ардуино или же через схему, формирующую
необходимую для QSK задержку (конечно, эту задержку просто сделать и программно).

По коррекции в скетче понятно, только у меня if=500кГц и как раз
ваш первоначальный вариант для меня правильный :)
Администратор запретил публиковать записи.

Синтезатор для QRP CW трансивера 08 Апр 2019 12:55 #44579

  • zotos
  • ( Пользователь )
  • zotos аватар
  • Вне сайта
  • Сообщений: 120
  • Репутация: 12
veso74
Кроме включения индикации "TX", нажатие ключа будет включать два цифровых выхода (прямой и инверсный) Ардуино для управления узлами трансивера в режиме QSK.

Частоту CLK0 в режиме передачи нужно будет сдвинуть на 700...1000Гц, чтобы был самоконтроль, иначе на нулевых биениях будут одни щелчки.

Драйвер и PA будут работать в режиме "С", а поскольку вход сигнала возбуждения будет отдельный от CLK2, то никакой коммутации в передающей части не будет вообще.
Последнее редактирование: 08 Апр 2019 13:08 от zotos.
Администратор запретил публиковать записи.

Синтезатор для QRP CW трансивера 08 Апр 2019 13:01 #44580

  • veso74
  • ( Пользователь )
  • veso74 аватар
  • Вне сайта
  • Сообщений: 136
  • Репутация: 40
Когда есть TX ПЧ - там все ясно (напр. расстройка BFO RX - на варикап).

А если сигнал для CW TX с CLK2, как будете регулировать тон? (RIT "по слухом" приема "индивидуально": 600 Hz..700..750 Hz..800Hz..1kHz. Eсьт мой друг, который на 450 Hz принимает CW - так било "более приятнее" :)).

Вообще для RIT [Hz], QSK time [сек.], (ПЧ [Hz], CW MEMORY 1,2,3 ... и др.) думаю "правильно" будет с "меню" и запоминание состояния в памяти. Но (как я написал назад в ветке) ето не "мой путь" для простой кострукции :).
---
.. будет включать .. нужно будет сдвинуть на 700...1000Гц ..
Нет, получается слишком индивидуально и сложно, не для меня. Добавьте, поделитесь кодом потом.
---
P.S. Как вариант - манипуляция по I2C в Si5351 также возможна (void output_enable). Работает. Каждый сам судит насколько это правильно (гугл транслейт).
Веселин LZ2WSG
Последнее редактирование: 08 Апр 2019 13:17 от veso74.
Администратор запретил публиковать записи.

Синтезатор для QRP CW трансивера 08 Апр 2019 13:10 #44581

  • zotos
  • ( Пользователь )
  • zotos аватар
  • Вне сайта
  • Сообщений: 120
  • Репутация: 12
ОК, Веселин!
Спасибо за помощь!
Администратор запретил публиковать записи.

Синтезатор для QRP CW трансивера 08 Апр 2019 15:13 #44585

  • zotos
  • ( Пользователь )
  • zotos аватар
  • Вне сайта
  • Сообщений: 120
  • Репутация: 12
2veso74
Я начинающий в СИ, более дружен с ассемблером....
Вижу это так:
Для вывода "чистой" частоты передачи объявляем дополнительную процедуру _t, а старую
для унификации переименовываем в _r.
//
void si5351_set_freq_r(uint32_t frequency) {
si5351.set_freq(frequency * SI5351_FREQ_MULT, SI5351_CLK0);
}
void si5351_set_freq_t(uint32_t frequency) {
si5351.set_freq(frequency * SI5351_FREQ_MULT, SI5351_CLK2);
}
//
Ну и далее безхитростно впихиваем код генерации "чистой" частоты передачи в процедуру отображения RX/TX. Это не очень красиво, позже перенесем в loop, но должно работать.
Здесь же сдвигаем частоту приема для самоконтроля
//
if (rx_tx)
{oled.print("1"); // "1" is "RX" in labels.h
si5351_set_freq_t(0);}
si5351_set_freq_r(rx - IF_FREQ);
else
oled.print("2"); // "2" is "TX" in labels.h
si5351_set_freq_t(rx);
si5351_set_freq_r(rx - IF_FREQ + 700);
//
Вечером попробую, отпишусь.

На ходу придумалось :woohoo: как сделать RIT. Просто поставить еще один валкодер и вставить код перестройки частоты BFO на CLK1 точно так же как на VFO на CLK0.
Последнее редактирование: 08 Апр 2019 15:47 от zotos.
Администратор запретил публиковать записи.

Синтезатор для QRP CW трансивера 08 Апр 2019 15:57 #44587

  • R1AIT
  • ( Пользователь )
  • R1AIT аватар
  • Вне сайта
  • Сообщений: 443
  • Репутация: 30
zotos пишет:
На ходу придумалось :woohoo: как сделать RIT. Просто поставить еще один валкодер и вставить код перестройки частоты BFO на CLK1 точно так же как на VFO на CLK0.
А нажать что-нибудь не проще? Или вы принципиально кнопок не планируете? Что мешает нажатием включить соответствующий режим и этим же валкодером настроить? Кстати, большинство валкодеров и нажатие отрабатывают.
Последнее редактирование: 08 Апр 2019 15:58 от R1AIT.
Администратор запретил публиковать записи.

Синтезатор для QRP CW трансивера 08 Апр 2019 16:11 #44588

  • zotos
  • ( Пользователь )
  • zotos аватар
  • Вне сайта
  • Сообщений: 120
  • Репутация: 12
2 R1AIT
Конечно можно и так, но нужно будет углубляться в процедуры сохранения - извлечения истинной частоты при переходе на передачу.
Кнопка валкодера задействована под изменение шага перестройки.
Последнее редактирование: 08 Апр 2019 16:12 от zotos.
Администратор запретил публиковать записи.

Синтезатор для QRP CW трансивера 08 Апр 2019 16:15 #44589

  • veso74
  • ( Пользователь )
  • veso74 аватар
  • Вне сайта
  • Сообщений: 136
  • Репутация: 40
В библиотеки NT7S Si5351 void si5351.set_freq(...) только включает выход. Для управления вкл./выкл. можно использовать void output_enable(...), т.е. при каждая смена режимов RX->TX необходимо включать CLK2 и выключать CLK0 (соотв. при TX->RX включать CLK0 и выключать CLK2). А чтобы избежать непрерывная загрузка данных Si в loop, то проще всего использовать флагов, напр. flag и flag_old.

Вариантов для все есть много, но необходимо сделать оценку алгоритма до начала программирования, потому что скоро код начинает выглядеть в беспорядок и сам автор не может это исправить ;) :lol:.
Веселин LZ2WSG
Последнее редактирование: 08 Апр 2019 16:19 от veso74.
Администратор запретил публиковать записи.

Синтезатор для QRP CW трансивера 08 Апр 2019 16:20 #44590

  • zotos
  • ( Пользователь )
  • zotos аватар
  • Вне сайта
  • Сообщений: 120
  • Репутация: 12
А зачем нам выключать CLK0?
А передачу я выключаю установкой частоты в ноль si5351_set_freq_t(0), в AD9851 это работает. В любом случае спасибо за подсказки, буду пробовать.
Последнее редактирование: 08 Апр 2019 16:27 от zotos.
Администратор запретил публиковать записи.

Синтезатор для QRP CW трансивера 08 Апр 2019 16:24 #44591

  • veso74
  • ( Пользователь )
  • veso74 аватар
  • Вне сайта
  • Сообщений: 136
  • Репутация: 40
Правда, CLK0 также можно использовать для CW-монитора
---
...в AD9851 это работает
В библиотеки NT7S Si5351 ето не так, а и в AD9851 для Power-Down есть bit (W0, Data[2]).

Смотрел я такое в Si5351 библиотеки управления Андрея, UR5FFR:
void set_freq(f0, f1, f2);
При fn = 0, выход выкючается.
github.com/andrey-belokon/SyntezSi5351/b...r/Syntez/si5351a.cpp

Возможно не сложно собрать управление (при fn = 0 -> n - выкл.) с помощью нескольких строк кода, если вам будет удобно. В библиотеки доступен широкий спектр готовых процедур.
Веселин LZ2WSG
Последнее редактирование: 08 Апр 2019 16:55 от veso74.
Администратор запретил публиковать записи.
Модераторы: UU7JF, UT5LP