SDR - радиоприёмник на Arduino
HTML-код
- Опубликовано: 7 фев 2025
- Схема, плата, скетч для Ардуино в облаке:
cloud.mail.ru/...
Полезные ссылки:
pe1nnz.nl.eu.org
github.com/thr...
hf5l.pl/en/sdr...
eax.me/tayloe-...
vpayaem.ru/cir...
habr.com/ru/co...
101-things.rea...
• uSDX маленький SDR тра...
У кого нет осциллографа:
dzen.ru/a/YDNV...
Да! Мне тут замечание сделали:
Не Ю-Эс-Дэ-Икс, а МИКРО-Эс-Дэ-Икс!
Век живи - век учись...
Самое главное : без нормальной антенны все усилия пойдут в одно место.
Спасибо. Буду собирать. Ну подписка и лайк однозначно. Творческих успехов Константину.
всё гениальное -просто !
на самом деле не просто))
Но плохо,если снять характеристики, останется сесть и заплакать
Что тут гениального? Зачем это вообще собирать, если есть народная RTL-ка? В виде USB-стика. Берёшь с собой планшет - и всё уже готово. Ничего паять неделями не нужно.
Спасибо Вам! Очень хороший фильм!
Спасибо за разбор схемы!
спасибо за объяснение по настройкам
Рад, что вам понравилось!
@@КонстантинВорошилов-т2в ещё вопрос, двухлучевой осциллограф обязательно? Или можно как-то китайским dso-138 обойтись? И как
@АлексБастраков Двухлучевой осциллограф очень удобен, но не обязателен. Можно поочерёдно подключаться к разным каналам и запоминая параметры и вид одного сигнала, подстраивать другой.
Можно подключить I и Q к линейному входу компьютера и попробовать сделать осциллограф, например, так:
dzen.ru/a/YDNVYmEm8VYoTt8J?ysclid=m6nifcd4hy147206470
Тоже собрал это чудо. Интересная игрушка.
Часто видел такие приемники и до конца не понимал зачем они нужны, ну нравилась сама сборка, что устройство собирается тяжело, по этому в скоро времени соберу, лайк, подписка обязательно))))) удачи
Спасибо! И Вам-удачи!
Хорошее обзорчик, хотелось бы повторить.
Очень круто. Я думал радиосигнал только на ПЛИС можно обрабатывать, или в крайнем случае ST32H7 какой-нибудь, а тут микроконтроллер старинный...
Благодарю, зачётно.
Спасибо! 🙂
Ролик очень понравился, так как он демонстрирует весьма не плохое качество приема uSDX, достаточное для речевого сигнала, да я даже музыку слушал на нем, кто то крутил в SSB старые советские песни.
Классное изделие! 73!
Спасибо Вам за отзыв! Подписан, смотрю с удовольствием Ваши видео.
@КонстантинВорошилов-т2в так же подписался. Сам удивлен, почему раньше ваш канал проморгал. Успехов! 73!
интересный проект однако)
Круто 👍, спасибо !
Спасибо большое. Осталось разобраться с скетчем ардуино и перенести его на стм32.)
Согласен. Скетч, точнее, алгоритм обработки радиосигнала в этом приёмнике - самое интересное.
Да проект отличный для начинающих, детали можно заказать на озоне, настройки аналоговых узлов особо не требуется работает сразу
Уважаемый коллега чтобы фазы не настраиватб нужно заставит операционном работать правильно. В схеме есть типовой косяк кривит напряжение на выходах опоерационника . Но решить это просто нужно входы - опера отвязать кондерами 1uF или можно больше от смесителя и работать будет лучше
Спасибо! Я читал об этом варианте в переводе статьи автора патента на этот детектор. В интернете ее можно найти по названию:
Dan Tayloe «Ultra Low Noise, High Performance, Zero IF Quadrature Product Detector and Preamplifier»
Но он отказался от такого варианта.
Офигенно интересно
спасибо!
Не обойдется ли дороже это сложное для новичков устройство , чем готовое решение от китайского производителя ?
Прослушивая объяснения схемы, вспомнил анекдот: "Я понял, как работает генератор, отчего светятся лампочки, но не возьму в толк - как может керосин течь по проводам?"
Для радиста из 80-х сложновато уяснить принцип приёма без супергетеродина, фильтров и прочего устоявшегося.
Гетеродин здесь есть. Считай, что входной сигнал подается сразу вместо ПЧ. А смеситель - коммутатор 4063. И почитай статьи Полякова о прямом преобразовании в ж.Радио начала 70-х годов.
Привлекательная конструкция. А точно выход Меги можно на низкоомный динамик грузить без доп. УНЧ? Волшебный дым не выйдет?
Там есть конденсатор. Дыма не будет.
Динамик будет играть негромко. Я использую либо наушники, либо активные колонки от компьютера.
Я бы приобрел у вас такой приёмник
вместо лм попробуйте ина 163
Только входы - входы+ пусть будут как есть
Раскажите пожалуйста про DSP, и чем оно от SDR отличаеться.
Былобы интересно послушать..
Будем изучать. Спасибо за Ваш интерес!
@КонстантинВорошилов-т2в я занимаюсь радиоприёмом. И вот приемник с DSP микросхемой очень простенький по сравнению с сурергетеродином и даже прямого преобразования. Из органов настройки переменный резистор и это хорошо... Но вот как он работает на структуной схеме инфы мало.
Поэтому буду благодарен если что узнаете и раскажете.
@@Ivan.81И от 'ступеньки' при перестройке по диапазонам не избавиться никогда.
@wolframtichy1777
в DSP вы имеете ввиду???
То да, я заметил это явление при перестройки переменным резистором. Былобы интерсно увидеть структурную схему чипа и разницу между SDR и DSP.
Моя идея ещё такая: этот чип DSP настроить обычным методом, с помощью переменника на частоту 465 кГц и применять как УПЧ и детектор в супергетеродином приемнике. А УВЧ и УНЧ штатный. Такую переделку старого приемника можно сделать, но пока это только идея такая зародилась, нужно будет попробовать...
@@Ivan.81 В dsp имею в виду. Два китайских радио куплены в магазине. Мне этот чип не нравится, по сравнению с аналоговыми старыми радио, из- за 'ступеньки' и шума превышающего 'шум' эфира.
Вообще-то это больше похоже на синхронный приемник (гетеродин на частоте приема, т.е. ПЧ равна нулю). Посмотрите схемы синхронных приемников Полякова - входная часть идентична. Да, в этой схеме уже DDS-синтезатор частоты, управляемый от МК, и, видимо, цифровой НЧ-фильтр и демодулятор на МК. Но в принципе это синхронный приемник.
В полноценном SDR (software defined radio) есть [супер]гетеродин (т.е. генератор с частотой [обычно] выше принимаемой частоты), смещающий целый диапазон принимаемых частот в низкую (но широкую) ПЧ, далее вся эта полоса оцифровывается, и уже программно в этой полосе происходит фильтрация полосы принимаемой радиостанции и демодуляция. В этой же полосе можно реализовать визуализацию спектра принимаемого диапазона ("водопад").
В классически SDR на ПК (с которых и пошли массовые любительские SDR) ПЧ подавалась на звуковую карту (АЦП 192кГц)
В принципе (и вообще в идеале) SDR сразу должен оцифровывать весь принимаемый диапазон (без гетеродина и ПЧ), но все упирается в ограничения АЦП (частота семплирования, разрядность, чувствительность), поэтому гораздо реальнее нужный диапазон сместить вниз, а его уже потом оцифровывать, как это обычно и реализуется в практических схемах SDR.
Возможно, что я ошибаюсь...:)
С синхронных приёмников В. Т. Полякова я и начал (посмотрите другие мои видео). Но там один из каналов следил за фазой и давал управляющий сигнал на варикап гетеродина, подстраивая частоту.
Здесь же все делается в микроконтроллере. В него поступает два сигнала, содержащие действительные и мнимые части исходного, постоянно изменяющегося по закону соответствующей модуляции, сигнала. И происходит это уже в звуковом спектре.
Добрый вечер.
На видео показан приём вещательных станций в режиме однополосной модуляции, потому что в режиме АМ свистит?
Здравствуйте! Да, в режиме АМ приём мне не нравится. В однополосной модуляции вполне различима речь и даже музыка.
@@КонстантинВорошилов-т2в благодарю за ответ. Я тоже собрал такой приёмник. Думал, что за чудеса, в АМ режиме какой-то возбуд есть (добавлен дополнительный унч на плате с минимальным усилением). Уже и по питанию дросселем развязал, а он всё равно на заднем плане свистит.
@ тут ещё обнаружил такой момент. В генераторе микросхема MS5351 не работает на 160 м. Просто стоит НЧ гул. Сейчас перепаял на Si5351 и проблема ушла, появился приём вещалок на СВ.
У меня такой же эффект. Читал об этом: если заменить на оригинальную SI5351 будет приём почти от нуля. Вы подтвердили это практикой.
@@КонстантинВорошилов-т2в после нескольких дней ковыряния.
MS5351 тоже может принимать почти с нуля. В программе есть такой код:
if(fout > 300000000){ i/=3; q/=3; fout/=3;
f(fout < 500000){ rdiv = 7; fout *= 128;
В этой строке нужно поменять значение на 800000 (вот так):
if(fout < 800000){ rdiv = 7; fout *= 128;
uint16_t d; if(fout < 30000000) d = (16 * fxtal) / fout; else d = (32 * fxtal) / fout;
if(fout < 3500000) d = (7 * fxtal) / fout;
И в этой строке тоже (вот так):
if(fout < 800000) d = (7 * fxtal) / fout;
Но тут скорее всего с перестройкой по частоте, появится сильный сдвиг фаз, т.е. нужно смотреть, но приём ниже 3.5 МГц будет.
Здравствуйте! Отличный приемник получился,я бы повторил его ,но... скетча в облаке я что то не нашёл...проверьте пожалуйста...Или он в одной из ссылок?
Здравствуйте!
Да, действительно - нет... Добавлю сегодня вечером.
Я взял скетч здесь: github.com/threeme3/usdx
Но мой вариант слегка изменён - выключены некоторые функции и "перевернут" энкодер.
@@КонстантинВорошилов-т2в Спасибо!
Добавил папку со скетчем.
@@КонстантинВорошилов-т2в Спасибо ещё раз....он только на любительские диапазоны как я понял...на все?
@@КонстантинВорошилов-т2в Может я ошибаюсь...но в схеме наверное ошибка...кнопка ENC висит в воздухе...наверное её нужно другой конец посадить на корпус?
LM4562 чем то можно заменить ? Трансформатор намотан на Amidon T37-2 ?
Можно NE5532. Здесь ещё INA163 предлагали.
Трансформатор Т37-2. На схеме указано.
@@КонстантинВорошилов-т2в Дорожки специально тонкие на плате где ставится ардуино ? или их можно увеличить до 1мм без последствий ? (у вас 0.5мм )
Конечно можно. Делайте так, чтобы было удобно.
Спасибо за интересное решение. Подскажите, пожалуйста, как сделать подключение точек IQ к компьютеру. Какую гальваническую развязку применить? Можно ли подключить непосредственно (или через конденсатор) к 2, 3 пинам USB-2? Спасибо.
Здравствуйте! Подключение к линейному входу без гальванической развязки. Для перестраховки от напряжения на разъёме компьютера (на микрофоном входе может быть) можно поставить конденсаторы.
@@КонстантинВорошилов-т2в Спасибо, Удачи!
ну тогда уж и трансивер нужно собирать)
Здрасте.
Теоретически, Ардуино Нано очень похожа на STM32 blue pill. И по той же теории, Ардуиновый код, залитый через АрдуиноИдее в СТМ должен заработать. По бумагам, Стм жирней, больше памяти(не придеться выбирать что оставить, САТ или другое) и самое главное больше разрядность АЦП.
Я к чему это все, не пробовали заливать Ардуино скетч в СТМ?
Здравствуйте! Нет, в этом приёмнике STM32 я не использовал.
Теоретически да можно, но в практике этот скетч не поедет на СТМе, поскольку в СТМе - тактовые частоты другие и библиотеки другие, чем в АТМЕЛе. Это только снаружи для Ардуино-среды код одинаковый, но транслируемый в СТМ-код намного сложнее, поскольку ядро СТМ сложнее, и программируется сложнее (можно подсмотреть инициализацию STM32 в КУБе). Есть отдельный проект STM32 SDR, в нём - попытки портировать (или воспроизвести) SDR на STM. Также есть отдельные проекты на Raspberry Pico, вот этот проект живой и контроллер также мощнее ардуино. Ещё для запуска SDR на Ардуино, требуется перепаивать кварц на 20 Мгц, а это чревато некоторыми сложностями.
@itsm1448 Добавлю лишь одно: если делать только приёмник, то кварц на 20 МГц не обязателен. Мной на плате Ардуино лишь убран резистор в цепи светодиода на 13-м выводе.
@ Спасибо, так и думал. Когда пытался там пару простых прог заливать то в Ардуину, и СТМ.
@@us3eo Но если хорошо постараться, то можно портировать, отдельно по функциям DSP, учитывая частоты. При этом управление кнопками, энкодером, экраном с библиотеками необходимо реализовывать для данного МК. Код очень большой, поэтому есть вероятность сломать себе мозг. Можно наступить на много граблей. Еще интереснее - перенести SDR на ESP32. В нем 2 ядра и логику DSP и управления - разбить по ядрам. Это всё - большие трудозатраты.
Точно мультиплексор? Не комутатор?
Мультиплексор/демультиплексор, работающий коммутатором.
Здравствуйте. Как правилино подключить к пк I и Q
Здравствуйте!
Возмите старые проводные наушники, вернее провода от них (желательно экранированные). Центральные проводники подсоедините к контактам а0 и а1 платы Ардуино, экраны обоих проводов соедините с общим проводом приёмника.
Если при настройке на станции Вы обнаружите, что частота увеличивается не вправо, а влево - поменяйте местами центральные проводники.
Штеккер надо воткнуть в разъём линейного входа компьютера (синий). Можно использовать и микрофонный вход (красный), но так на нем может имееться +5V, подающее питание на микрофон, поэтому центральные проводники надо будет подсоединить через конденсаторы. Кроме того, этот канал имеет дополнительный усилитель, который внесёт немного шумов.
Здравствуйте. А каким ОУ можно заменить lm4562? NE5532 подойдет?
Здравствуйте! Да, NE5532 будет работать. С небольшим ухудшением качества приёма.
Я намеренно сделал блочную структуру - впоследствии можно будет вместо 74НС4053 поставить Fst3253 или использовать детектор SDR-приёмника, построенный на других деталях.
Поищите в интернете "Детектор Тейло" - он именно 5532 использует.
@@КонстантинВорошилов-т2в Спасибо! Необходимые радиодетали у меня есть. Попробую собрать приемник.
Как такую красивую синусойду получить? У меня почемуто красивая получается только отдельно в I или Q канале, когда сдвиг под, 90 градусов амплитуда их падает и синусойды пляшут корявенькие, что то гдето какой-то косяк, не понимаю где. Смеситель на FST, а ведь уже когдато собирал и все работало, вот еше раз попробовал и ну ни в каую нормально не работает, уже всю кровь выпил этот uSDX.
Попробуйте изменить частоту генератора (который подключён на вход) на плюс-минус килогерц. При ровной настройке колебаний быть не должно - несущая должна быть подавлена.
@@КонстантинВорошилов-т2вя так и сделал ,разница в 1 кгц, и слышу 1 кгц в наушниках, также стоит КПЕ на вхоном контуре, и вот когда кручу его, около резонанса либо I либо Q растет, амплитуда падает когда точно в резонансе, как будто согласование со смесителем влияет на это, попробую без контура напрямую подать сигнал, на смеситель
Посмотрите внимательно на входы операционных усилителей. В сети гуляет схема с ошибкой, где перепутан порядок их подключения:
dzen.ru/b/ZcdRIhJyi34q2ZAy
@@КонстантинВорошилов-т2в Спасибо, посмотрю может действительно перепутаны, очень похоже на это.
@@КонстантинВорошилов-т2в так и есть поменял на схеме выходы FST 10 и 13 и все заработало!
Интересно, как на осциллограмме такой идеальный синус взялся....
А что Вас смущает? Сигнал на входе имеет большую амплитуду, до щупов осциллографа проходит не такой уж долгий путь, монтаж аккуратный, ВЧ-часть экранирована от остальной схемы.
@КонстантинВорошилов-т2в так с синтезатора si5351 идёт меандр...
@@radiologud3sbv Так меандр открывает ключи, которые режут на четыре части синусоиду, поступающую на вход.
Затем она восстанавливается операционными усилителями, включёнными интеграторами, которые сравнивают заряды на запоминающих конденсаторах.
@@КонстантинВорошилов-т2визвините, немного просмотрел, Я думал Вы зацепили щупы на clk0 и clk1
@radiologud3sbv Ничего. Бывает.
Переключать ENC, L , R внизу схемы никуда не подключены. И работать не будут.
Да. В ссылке к видео схема исправлена.
хотелось бы тоже повторить????
Не для новичка 😢
Ну на 1 транзисторе собери
u - в нвзвании это не "ю", а "микро", разработка класс, но звук...
Спасибо за ликбез! Не знал... Долго репу чесал, почему первая буква маленькая...😃
Развлечения для скуфоф
Для скуфов детекторные, прямого усиления
и регенераторы.
Вообще это не ЮЭСДЕИКС, а МИКРОЭСДЕИКС, учи матчасть
Исправился.