Home Форум Клуб RU-QRP Самодельная техника Синтезатор частоты на Raspberry Pi Pico
Добро пожаловать, Гость
Логин: Пароль: Запомнить меня
  • Страница:
  • 1
  • 2
  • 3
  • 4

ТЕМА: Синтезатор частоты на Raspberry Pi Pico

Синтезатор частоты на Raspberry Pi Pico 13 Ноя 2023 22:24 #61332

  • R2BDY
  • ( Пользователь )
  • R2BDY аватар
  • Вне сайта
  • Сообщений: 20
  • Репутация: 2
Уважаемые коллеги,

Листая страницы замечательного журнала QRP клуба, обнаружил, что в огромном количестве схем простейших передатчиков используется транзисторный генератор, стабилизированный кварцевым резонатором. Недостатки такого подхода понятны.

Написал на Си для микроконтроллерной платформы Raspberry Pi Pico (не путать с просто Pi или Pi Zero - Pico это микроконтроллер без ОС) полностью цифровой синтезатор частот, перекрывающий диапазон от 1.1 до 9.4МГц (проект выходного дня).

Общался с Игорем R2AJA, он подтвердил что проект интересен и предложил создать эту тему.

Хотел бы этот проект представить сообществу - возможно кому-то он покажется интересным и полезным в радиолюбительской практике.

Характеристики синтезатора:
1. Никаких дополнительных деталей не требуется, выход с ножки Pico (понятно, что далее потребуется хотя бы ФНЧ, но это уже зависит от дальнейшей схемотехники, можно использовать и нечетные гармоники).
2. Дискретность установки частоты - 1 Гц (для версии 0.1, далее будет уменьшена до теоретического предела в 23 миллигерца, это важно например для WSPR).
3. Занимаемые ресурсы микроконтроллера - примерно 50% (одно из 2х ядер), второе ядро в распоряжении разработчика.
4. Тактовая частота Pico, при которой достигаются заявленные характеристики - 270 МГц. Эту частоту синтезатор выставляет сам.
5. Тип синтезатора частоты - фактически ФАПЧ, реализованный программно. При задании новой частоты разрыва фазы нет, что важно для частотной манипуляции.
6. В составе проекта заложены три тестовых примера модуляций - `пила` с инкрементом частоты по 5 Гц, RTTY с разносом 170 Гц, MFSK с разносом 5 Гц.

Страница с исходниками проекта на гитхабе: github.com/RPiks/pico-hf-oscillator/

Видео с анализатора звукового спектра после приема в SSB моде: youtube.com/shorts/CEPW8hwlG7k?feature=share


Отвечу на ваши вопросы, как теоретические, так и практические. Буду рад диалогу.

//Роман
73 & 72!
de R2BDY
Последнее редактирование: 13 Ноя 2023 22:29 от R2BDY.
Администратор запретил публиковать записи.

Синтезатор частоты на Raspberry Pi Pico 13 Ноя 2023 23:51 #61334

  • RA6M
  • ( Пользователь )
  • RA6M аватар
  • Вне сайта
  • Сообщений: 89
  • Репутация: 5
Доброго времени.
Тема о синтезаторе интересная. Но многие, в том числе и я. не сильно знакомы с расбери. Мои единственные познания заканчиваются на том, что расбери гораздо лучше ардуино :(
Поэтому, если можно. то чуть чуть по подробнее. Расскажите или покажите (хотя бы ссылки) как можно выполнить этот проект расбери.
Администратор запретил публиковать записи.

Синтезатор частоты на Raspberry Pi Pico 14 Ноя 2023 01:09 #61335

  • R2BDY
  • ( Пользователь )
  • R2BDY аватар
  • Вне сайта
  • Сообщений: 20
  • Репутация: 2
Доброго времени,

Pico намного лучше тем, что он 32-битный (Ардуино классический 8 бит), а каждая инструкция выполняется за 1 такт. Сигнал, представленный в 32х битах, имеет динамический диапазон, далеко выходящий за пределы привычных нам аналоговых схем.

Проект состоит из двух частей - аппаратная часть (предельно проста) и программная часть (придется слегка повозиться с настройкой среды компиляции, но 1 раз).

Аппаратная часть
1. Сама плата Pi Pico.
2. USB<->MicroUSB кабель.
3. Провод, припаянный к GP6 (это 6й выход Pico, чертеж платы приведен в статье по ссылке ниже). Провод подключаем на осциллограф, земляной вход щупа осциллографа подключаем к GND Pico, лучше ближайшему к GP6. Можно вместо осциллографа поработать с расположенным поблизости трансивером и принимать локально сигнал.

Программная часть (под Линуксом)
1. Среда разработки, фактически это текстовый редактор, Visual Studio Code. Для компиляции тестового проекта необязателен
2. Набор библиотек для Pico (pico-sdk). Порядок инсталляции приведен в статье по ссылке ниже и в многочисленных источниках в интернете.
3. Собственно предлагаемый мной проект pico-hf-oscillator: git clone github.com/RPiks/pico-hf-oscillator/
4. При запуске скрипта ./build.sh из проекта pico-hf-oscillator проходит компиляция. На выходе получаем исполнимый файл в формате uf2.

Далее подключаем USB-кабель к компьютеру, удерживая нажатой микрокнопку BOOTSEL на плате Pico. После этого в Линукс-системе появится виртуальный флеш-диск. Копируем туда .uf2-файл. Прошивка начинает сразу работать.


По Pico в интернете немало материалов, вот ознакомительная русскоязычная статья в Хабре:
habr.com/ru/articles/538994/


PS. В следующей версии я добавлю в сам проект готовые тестовые уже скомпилированные в .uf2 примеры. Таким образом, для простейшего старта нужна будет только сама плата Pico и MicroUSB-кабель.


//Роман
73 & 72!
de R2BDY
Последнее редактирование: 14 Ноя 2023 01:13 от R2BDY.
Администратор запретил публиковать записи.

Синтезатор частоты на Raspberry Pi Pico 14 Ноя 2023 04:27 #61336

  • RA6M
  • ( Пользователь )
  • RA6M аватар
  • Вне сайта
  • Сообщений: 89
  • Репутация: 5
Закажу на алике плату Pi Pico.
Буду пробовать :)
Администратор запретил публиковать записи.

Синтезатор частоты на Raspberry Pi Pico 14 Ноя 2023 13:56 #61338

  • R2AJA
  • ( Пользователь )
  • R2AJA аватар
  • Вне сайта
  • Сообщений: 1517
  • Репутация: 225
Иногда похожие мысли приходят в разные головы, что означает лишь то, что дух экспериментаторства не стоит на месте B)
Ранее встречал проект Max_tera
https://max-ter.livejournal.com/571.html
Где частота, выводимая на ножку Ардуино связана с частотой тактового генератора МК. У Ардуино тактовой частотой 16 МГц можно было получить РЧ на 8,4,2,1 МГц. Далее, заменой тактирующего кварца, подвести выходную частоту к необходимой, радиолюбительской.
Сейчас же Роман R2BDY предлагает вариант, в котором уже реализована перестройка частоты с шагом 1 Гц!
R2BDY-MFSK.jpg

На демонстрационных видео, это хорошо показано после перенесения сигнала на аудиочастоту.
R2BDY пишет:
5. Тип синтезатора частоты - фактически ФАПЧ, реализованный программно. При задании новой частоты разрыва фазы нет, что важно для частотной манипуляции.
- я думаю, это еще более важно для фазовой манипуляции. ;)
Игорь / RU-QRP #385
Последнее редактирование: 14 Ноя 2023 13:57 от R2AJA.
Администратор запретил публиковать записи.

Синтезатор частоты на Raspberry Pi Pico 14 Ноя 2023 18:55 #61339

  • R6LFJ
  • ( Пользователь )
  • R6LFJ аватар
  • Вне сайта
  • Сообщений: 23
  • Репутация: 3
Очень понравилось, из хотелок - перестройка энкодером и возможность через gpio реализовать ключевание (подцепить вертикал)... У него возможностей куда побольше,чем у ямбиков и пил, при столь простой хардвари
Администратор запретил публиковать записи.

Синтезатор частоты на Raspberry Pi Pico 14 Ноя 2023 19:24 #61341

  • R2BDY
  • ( Пользователь )
  • R2BDY аватар
  • Вне сайта
  • Сообщений: 20
  • Репутация: 2
>>> Закажу на алике плату Pi Pico.

Пишите о своем опыте, многим будет интересно. У меня то глаз замылен ;)
Последнее редактирование: 14 Ноя 2023 19:26 от R2BDY.
Администратор запретил публиковать записи.

Синтезатор частоты на Raspberry Pi Pico 14 Ноя 2023 19:34 #61342

  • R2BDY
  • ( Пользователь )
  • R2BDY аватар
  • Вне сайта
  • Сообщений: 20
  • Репутация: 2
R2AJA пишет:
У Ардуино тактовой частотой 16 МГц можно было получить РЧ на 8,4,2,1 МГц. Далее, заменой тактирующего кварца, подвести выходную частоту к необходимой, радиолюбительской.

Это просто делитель частоты на целое число. Польза ограничена.

R2BDY пишет:
5. Тип синтезатора частоты - фактически ФАПЧ, реализованный программно. При задании новой частоты разрыва фазы нет, что важно для частотной манипуляции.

R2AJA пишет:
- я думаю, это еще более важно для фазовой манипуляции. ;)

Это да, но ФМ чисто алгоритмически пока не поддерживается.
Администратор запретил публиковать записи.

Синтезатор частоты на Raspberry Pi Pico 14 Ноя 2023 19:41 #61343

  • R2BDY
  • ( Пользователь )
  • R2BDY аватар
  • Вне сайта
  • Сообщений: 20
  • Репутация: 2
R6LFJ пишет:
Очень понравилось, из хотелок - перестройка энкодером и возможность через gpio реализовать ключевание (подцепить вертикал)... У него возможностей куда побольше,чем у ямбиков и пил, при столь простой хардвари

Спасибо за отзыв!

Тут без экрана (терминала) уже не обойтись. Можно сделать управление простыми директивами через терминал, как в старых одноплатных компах вроде Радио-86РК.

Например
=> SET FREQ 3582000.
=> OK.

Pico легко эмулирует ком порт через USB. Подключаем к порту, запускаем терминал, скажем MiniCom (Linux), HyperTerminal (Win) и работаем.

Это модель, сейчас такого нет ;)
Администратор запретил публиковать записи.

Синтезатор частоты на Raspberry Pi Pico 14 Ноя 2023 22:18 #61344

  • R6LFJ
  • ( Пользователь )
  • R6LFJ аватар
  • Вне сайта
  • Сообщений: 23
  • Репутация: 3
В Линукс можно организовать это через minicom, как это сделано у Arjan te Marvelde в его uSDR-pico, отслеживая таким образом частоту.
Я пробовал и так, но проще оказалось слушать на Degen...
С другой стороны, перепахивая один из проектов от LU7DID, решил, что лучше сделать это на двух компьютерах RaspberryPi (Zero - как синтезатор с CAT, и что нибудь и четырехядерных - для DSP. Реализовал только ключ - на зеро поставил режим страйп, а на основном ( pi3a+) уже подшаманил ту же программу ключа ( добавил выход на пин "ключ нажат-отпущен") и там уже выбирал режим ключа...
Проект этот так и не закончил - всё упёрлись в радиочасть и кодек для i2s. Да и сам дон Педро перепахал его... Но сама манипуляция работала четко - даже как-то показалось, что кто-то позвал
Администратор запретил публиковать записи.
  • Страница:
  • 1
  • 2
  • 3
  • 4
Модераторы: UU7JF, UT5LP