Лучшее из возможного!

Размер шрифта:  Aa Aa Aa Aa Aa


Генератор двухтоновых сигналов

Генератор двухтонального сигнала

Одной из основных характеристик любительского трансивера, с точки зрения создания минимальных помех в эфире, является линейность его передающего тракта. Для оценки линейности формирователя и усилителя SSB сигнала можно использовать метод испытания двумя тонами. Принцип проверки состоит в том, что при смешивании двух сигналов в нелинейном устройстве возникают комбинационные составляющие спектра, наиболее опасными и легко обнаруживаемыми являются составляющие третьего порядка. Для частот двухтонального генератора F1 и F2 эти составляющие равны 2F1–F2 и 2F2-F1. Если воспользоваться SDR приемником, то составляющие третьего порядка можно обнаружить и измерить их величину.

Несколько лет назад, когда наиболее популярен в любительском эфире был режим PSK, я делал Измеритель IMD PSK на Arduino. Прибор неплохо себя зарекомендовал, пользоваться им было удобно, т.к. в программах для работы PSK предусматривался режим формирования тестового двухтонового сигнала.

Сейчас, когда наиболее популярен режим FT8, требования к линейности передатчика не такие жесткие. Тем не менее контролировать качество своего сигнала нужно даже при использовании качественного фирменного трансивера. Двухтоновый сигнал легко сформировать в компьютере, есть также много on-line ресурсов с формированием звуковых сигналов. Однако такой способ не очень удобен, т.к. требует дополнительных "телодвижений" – запуск программы, перестройка режима звуковой карты... Поэтому для оценки качества сигналов, формируемых моими новыми Home-Made трансиверами Radioberry и С преобразованием вверх я решил собрать автономный генератор двухтонального сигнала.

Первое, что пришло в голову – использовать микросхему тонального номеронабирателя от стационарных телефонов. С описанием такого прибора можно ознакомиться в журнале «Радио», №8 за 2005г. Вроде бы все хорошо, но стационарные телефоны сейчас большая редкость, поэтому микросхемы генераторов DTMF для них очень дорогие и дефицитные. Второй вариант – использовать для генерации двухтонового сигнала микроконтроллер. Такая конструкция на AVR описана в AppNote AVR314 от Atmel, версия программы, модифицированная для работы с Arduino, свободно доступна по адресу: https://github.com/KC7MMI/AVR314-DTMF-Generator-for-Arduino. К сожалению, качество сигнала, формируемого таким способом не очень хорошее. Форма сигнала красивая, но уровень побочных составляющих даже при использовании ФНЧ 5-го порядка на ОУ не лучше -45dB. В общем-то этого и следовало ожидать, ведь сигнал кодируется 7 битами, на большее ATMega328 не способен.

Спектр DTMF на AVR

И тут я вспомнил про еще одну свою старую конструкцию – Плеер на ATtiny85. Ведь совсем необязательно формировать DTMF сигналы в контроллере, можно предварительно записать их на SD карту и воспроизводить в плеере. Хотел начать эксперименты с плеером, но, оказалось, что ничего делать не нужно, все уже давно придумано и серийно выпускается. На Aliexpress есть много предложений вот такого MP3 плеера. Называется он у разных продавцов «DFPlayer» или «Mini MP3 Player».

Mini MP3 Player

Параметры такого плеера очень даже неплохие. Поддерживаются форматы MP3 и WAV, все стандартные частоты дискретизации от 8 до 48 КГц, SNR – 85 dB. Можно записать звуковые файлы на microSD карту объемом до 32 ГБ с файловой системой FAT16 или FAT32. Плеер может работать автономно, без внешнего контроллера, хотя и допускает его использование. Более подробно все параметры, варианты подключения и протокол обмена с контроллером описаны в Datasheet на плеер, ссылка на который в конце этой странички. В общем, это готовый генератор любых audio сигналов. Для моих целей нет необходимости заморачиваться с контроллером, с помощью всего двух кнопок, подключенных к этой миниатюрной плате, можно выбирать воспроизводимый трек и регулировать громкость. А больше ничего и не нужно. Вот такая получилась схема генератора двухтонового сигнала на основе DFPlayer.

Схема генератора

Напряжение питания плеера должно быть в пределах 3,3...5 вольт. Идеально использовать 3 элемента AAA, а лучше AA. К сожалению, 3 штуки не поместились в имеющемся у меня корпусе, поэтому я использовал 2 элемента AAA и вот такой повышающий DC-DC преобразователь. Он очень малогабаритный и дешевый, стоимость комплекта из двух штук менее 1$, включая доставку. Какого-либо влияния на качество звука он не оказывает, по крайней мере я не заметил никаких помех.

DC-DC

DFPlayer имеет как линейный выход, так и выход на динамик. Динамик, в принципе, необязателен, но он позволяет на слух контролировать сигнал. А если поднести его к микрофону трансивера, то можно будет использовать такой тональный сигнал для настройки усилителя мощности. После включения питания нужно подождать около 1 сек для инициализации плеера, а затем нажать на одну из кнопок. Начнется воспроизведение audio файла с microSD карты. В данном случае для управления достаточно двух кнопок, кратковременное нажатие – переход к следующему/предыдущему треку, длительное нажатие – уменьшение/увеличение громкости. Динамик для экономии энергии батареи и сохранения слуха оператора можно отключить. Номинал R3 подбирается исходя из необходимой максимальной громкости воспроизведения. Имейте в виду, что при слишком большой громкости недопустимо возрастет потребляемый ток и DC-DC преобразователь может с этим не справиться. Светодиод HL1 – индикатор включения, он нужен чтобы не забыть выключить устройство и не разрядить батарею. Схему в формате sPlan и чертеж печатной платы в формате Sprint-Layout можно загрузить по ссылке в конце этой странички. Вид на чертеж платы со стороны монтажа, при печати нужно ставить галочку «зеркально». Плату я разместил в корпусе от старого радиоприемника, вот так все это выглядит.

Вид на монтаж

К сожалению, в этом плеере нет памяти и при отключении питания все настройки сбрасываются. При последующем включении будет установлена максимальная громкость и воспроизведение начнется со 2-го или последнего трека, в зависимости от того, какая будет нажата кнопка. После окончания трека воспроизведение останавливается, для воспроизведения следующего или предыдущего файла нужно нажать одну из кнопок. Треки воспроизводятся в том порядке, в каком они были записаны на карту памяти. Сортировки по имени файла нет, но, чтобы хоть как-то ориентироваться в порядке воспроизведения файлов, необходимо предварительно на компьютере переименовать все файлы так, чтобы их имена начинались с 0001, 0002 и т.д. После 4-х цифр могут следовать любые символы, но расширение должно быть mp3 или wav. Например, 0001_1000Hz.wav или 0001_900_2100Hz.mp3. Максимальное количество файлов - 3000. Datasheet говорит, что можно и больше, но увеличится задержка на поиск файла в системе.

Все подготовленные файлы нужно записать в корневую директорию карты или в папку с именем «MP3», которая находится в корневой директории. Необходимо записать все файлы сразу, а если потребуется в дальнейшем что-то добавить или изменить, нужно будет переписать их все одновременно, чтобы физический порядок записи точно соответствовал именам файлов. Допускается также разместить audio файлы внутри папок с именами 01-99, внутри каждой до 255 файлов с именами 001.wav-255.wav, но я не вижу в создании дополнительных папок особого смысла. Качество воспроизводимого сигнала получается несравнимо лучше, чем в генераторе DTMF на AVR. Уровень побочных составляющих DFPlayer около -80dB, против -45dB для AVR.

Спектр сигнала с DFPlayer

Как создать файлы с DTMF сигналами? Проще и удобнее всего зайти на сайт вот по этому адресу https://tomeko.net/online_tools/wave_gen.php?lang=en, ввести там нужные параметры и через несколько секунд сохранить готовый WAV файл. Все просто и интуитивно понятно. На этом сайте есть масса и другой полезной для радиолюбителей информации. Экономить память и конвертировать WAV в MP3 не вижу необходимости, т.к. карты памяти объемом менее 8 ГБ уже стали редкостью. На всякий случай я выкладываю несколько созданных DTMF файлов, ссылка в конце странички. Среди них есть и тестовый PSK файл с разносом частот 63 Гц.

А вот результат реального испытания двухтональным сигналом моего HomeMade трансивера Radioberry Не идеально, конечно. Очевидно, все дело портит усилитель мощности, который я никак не могу довести до ума...

Radioberry на SDR

А это картинка в измерителе IMD PSK на Arduino.

Сигнал в IMD PSK meter

DFPlayer допускает управление воспроизведением с контроллера, но я бы не рекомендовал пытаться сделать на его основе обычный музыкальный плеер. Дело в том, что доступа к файловой системе на карте памяти у контроллера не будет, поэтому навигация будет очень ограничена. Придется ориентироваться только по номерам файлов, либо создавать базу данных с номерами и именами файлов, а это усложнит эксплуатацию. Выбор обычных музыкальных плееров сейчас достаточно велик и нет никакой необходимости тут что-то изобретать. А вот для музыкальной игрушки, речевого информатора, говорящих часов и т.п. самоделок этот плеер подойдет идеально. Существует библиотека Arduino для работы с DFPlayer, скачать ее можно по адресу: https://github.com/DFRobot/DFRobotDFPlayerMini. На всякий случай выкладываю ее и здесь, ссылка ниже. В плеере могут быть установлены разные версии микросхем, поэтому список команд управления с контроллера в них может незначительно отличаться. Главное достоинство этого плеера - высокое качество звука, простота и предельная дешевизна. Стоит такая плата всего около 1$. И это включая стоимость доставки!

73, Наилучшие пожелания!

© 01.2026г.


PDF DFPlayer Datasheet
7Z Схема в sPlan и плата в Sprint-Layout
7Z Audio файлы DTMF
ZIP Библиотека Arduino для DFPlayer