Page 1 of 3

NanoVFO

Posted: 02 Apr 2018, 00:39
by UR5FFR
Среди любителей QRP достаточно популярно направление конструирования простых трансиверов на один/несколько диапазонов, а так же портативных микротрансиверов. В таких конструкциях достаточно важно энергопотребление всех узлов и в том числе синтезатора, т.к. он работает постоянно. Ставить в такие простые конструкции навроченные синтезаторы с большими экранами и огромным количеством сервисных функций - наврядли целесообразно. Тут нужен простой синтезатор с минимумом сервиса. Так же достаточно актуальная поддержка работы в CW и наличие встроенного телеграфного ключа.

Проект синтезатора NanoVFO и создан как простое решение для микротрансиверов. Основные параметры:

CPU: Arduino ProMini
PLL: Si5351
Дисплей: OLED 0.91" 128x32, OLED 0.96" 128x64, I2C LCD 1602, MAX7219
Валкодер: механический или оптический
Клавиатура: 6 кнопок
Частотный план: прямое преобразование, квадратурный выход, однократное преобразование частоты. возможность коммутации гетеродинов на разные выводы (для Радио-76, Аматор и тп)
Диапзоны: до 4-ех без дешифратора диапазонов, свыше 4-ех - с дешифратором
CW: встроенный ключ. есть ямбический режим. память на три фразы. CW-VOX. сигнал самоконтроля. формирование сигнала дополнительного CW-гетеродина при передаче
Schematic_Nano-VFO.png
Несмотря на то что называется проект NanoVFO, в качестве процессора используется не Arduino Nano, а Arduino ProMini. Выбор обусловлен отсутствием на плате чипа сопряжения USB-COM и как следствие более низким энергопотреблением.

Для отображение частоты может использоваться OLED, LCD 1602 или модуль на MAX7219. На схеме показаны все варианты дисплеев, но в реальном устройстве устанавливается только один. LCD 1602 требует питания от +5в. Остальные дисплеи работают от 3.3в.
На дисплее MAX7219 отображается только частота. На OLED и LCD дисплеях кроме частоты отображаются режимы работы RX/TX/CW, текущий диапазон и скорость работы электронного ключа.
dislpay_freq.jpg
dislpay_freq.jpg (111.76 KiB) Viewed 50972 times
Диапазоны генерируемых частот прописываются в коде. Переключение диапазонов осуществляется одной кнопкой BAND "по кругу". На 4ех пинах разъема P3 формируется сигнал управления ДПФ. В случае если диапазонов 4 или меньше - это сигнал на одном из выводов. Если больше 4ех диапазонов - то двоичный код, который необходимо поадать на дешифратор, расположенный на плате ДПФ.

Валкодер подключается к разъему P2. Оптический валкодер задействет все четыре контакта. Механический - только три, т.к. ему не надо напряжение питания. Никаких дополнительных подтягивающих резисторов устанавливать не надо. Параметры валкодера задаются в конфигурационном файле прошивки. Управление количеством импульсов на оборот интеллектуальное и зависит от того насколько быстро вращается валкодер.

Синтезатор формирует управляющий сигнал CW который говорит о работе трансивера в режиме телеграфа и может быть использован для коммутации SSB/CW фильтра в приемном тракте а так же цепей передачи. Сигнал CW формируется автоматически если мы находимся в телеграфном участке диапазона, но может быть включен/выключен принудительно нажатием кнопки CW. Это позволяет работать телеграфом в телефонном участке.

Манипулятор ключа подключается к разъему P11. На схеме показан вариант сенсорного ключа - манипуляция производится просто касанием пальцами сенсорных площадок, подключенных напрямую к выводам DIT/DASH. Метод заимствован из [1].
В случае использования механического манипулятора он должен замыкать контакты DIT/DASH на землю.
При этом надо номиналы R8R9 уменьшить с 470ком до 10ком и поключить их к +5в вместо D6. Так же установить блокировочные конденсаторы по 10nF по входам ключ на землю с целью снижения наводок по ВЧ.
Видео с примером работы сенсорного ключа:



Ключ может работать в обычном и ямбическом режиме. Скорость работы задается потенциометром R7.
Режим работы ключа и его параметры задаются в настройках и сохраняются в EEPROM.
Телеграфный ключ имеет память на три фразы, которые заданны в прошивке в виде текста и быстро вызываются нажатием кнопок MEMO1-MEMO3. Передача фразы может быть прервана при нажатии ключа.
Реализован режим CW-VOX, когда трансивер автоматически переходит на передачу при начале манипуляции. Для этого формируется сигнал PTT-Out.

При манипуляции на выходе TONE формируется сигнал самоконтроля. На выходе KEY - сигнал для формирования огибающей. При этом второй гетеродин отключается а на третьем выходе Si5351 формируется сигнал в полосе пропускания фильтра ПЧ с частотой тона самоконтроля плюс частота второго гетеродина. В трансивере он должен быть подвергнут формированию огибающей с помощью сигнала KEY и смешан с первым гетеродином.

Так же возможно в конфигурации прошивки указать что при передаче телеграфный гетеродин формирует сигнал непосредственно с требуемой результирующей частотой передачи, который после формирования огибающей можно сразу подать на услиитель мощности. В случае чисто телеграфного трансивера это позволяет упростить тракт, реализовав его как два отдельных модуля - приемник и передатчик.

Вход в настройки происходит при нажатии кнопки SETUP, либо при рестарте контроллера с нажатой кнопкой BAND либо нажатым манипулятором ключа. Настройки представляют собой список из 16ти числовых параметров. На первом уровне меню настроек выбирается параметр с помощью валкодера. При нажатии кнопки BAND попадаем в меню редактирования значения параметра. Изменение значения производится так же с помощью валкодера. Используя кнопки BAND/CW завершаем редактирование параметра с/без сохранения нового значения. В настройках задаются параметры электронного ключа, яркости дисплея, время перехода в энергосберегающий режим, а так же производится калибровка частоты Si5351 и подстройка в небольших пределах (+/-10kHz) частоты второго гетеродина. Есть возможность полного сброса всех настроек в значение "по умолчанию".

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

Текущую частоту по каждому диапазону и текущий диапазон сохраняются в EEPROM и восстанавлюваються при следующем включении питания. Применен "умный" алгоритм сохранения данных, который позволяет более щадяще использовать ресурс количества записей в EEPROM микроконтроллера.

Клавиатура и разъемы являются опциональными. В минимальнйо конфигурации для однодиапазонного трансивера без поддержки CW клавиатуру можно вообще не устанавливать (при этом пин A6 необходимо "подтянуть" к питанию через резистор 10ком). В таком варианте чтобы войти в меню настроек необходимо перегрузить контроллер при нажатом манипуляторе ключа (точка или тире). Навигация по меню осуществляется так же с помощью ключа. Нажатие точки соответствует выбору пункта либо записи нового значения, тире - выход на уровень вверх.

Проект опенсоурсный. Прошивка выложена на гитхабе: https://github.com/andrey-belokon/NanoVFO

Reference
1. Iambic sensor key
2. Запускаем Arduino при пониженном питании

Re: NanoVFO

Posted: 04 Apr 2018, 16:37
by Alex 4N
Андрей,здравствуйте,очень круто!Можно сделать проект под SI570 на 4 диапазона только CW участки?С уважением.

Re: NanoVFO

Posted: 01 May 2018, 22:14
by UR5FFR
Прошивка обновлена до версии 1.1
1. Добавлена поддержка Si570. Для включения раскоментарить VFO_SI570 в config_hw.h. Если установлены оба синтезатора Si5351 и Si570, то 570 выполняет роль первого гетеродина. При включенной директиве CWTX_DIRECT_FREQ и одной Si570 сигнал переачи будет формироваться на ней
2. Добавлена поддержка SH1106 для OLED 1.3"

Re: NanoVFO

Posted: 02 May 2018, 23:21
by UR5FFR
Прошивка обновлена до версии 1.2
Исправлен баг с самопроизвольным входом в меню по нажатию манипулятора ключа.

Re: NanoVFO

Posted: 19 Apr 2019, 21:30
by UR5FFR
В случае если при подключении внешнего ключа наблюдается нестабильная работа и самопроизвольная генерация точек/тире необходимо уменьшить номинал R8R9 до 10ком и подключить их не к D6 а к плюсу питания (в таком включении сенсорный режим работать не будет, только механический ключ)

MAX7219 может генерировать достаточно сильные наводки по цепям питания. Лечится установкой электролита большой емкости (1000-3300мкф) непосредственно на плате индикации.

Re: NanoVFO

Posted: 19 Apr 2019, 23:05
by Alex 4N
Андрей,Здравствуйте.Подскажите пожалуйста,какие строки и в каком конфиге нужно закомментировать для отключения CLK1,чтобы SI5351 выдавала только частоту VFO?С уважением.

Re: NanoVFO

Posted: 19 Apr 2019, 23:32
by UR5FFR
Alex 4N wrote:Андрей,Здравствуйте.Подскажите пожалуйста,какие строки и в каком конфиге нужно закомментировать для отключения CLK1,чтобы SI5351 выдавала только частоту VFO?С уважением.
В config_sw.h есть дополнительные множители частоты

Code: Select all

const long CLK0_MULT = 1;
const long CLK1_MULT = 1;
const long CLK2_MULT = 1;
Чтобы полностью отключить выход достаточно соответствующий множитель установить в нулевое значение

Re: NanoVFO

Posted: 19 Apr 2019, 23:40
by Alex 4N
Благодарю вас!

Re: NanoVFO

Posted: 25 Apr 2019, 15:30
by Dmitry
Андрей, приветствую вас! Возник вопрос по поводу расклада частот. Использую на приём так же как у вас по умолчанию, CLK0 - VFO , CLK1 - BFO . А в режиме передачи CW на CLK2 формировать сигнал непосредственно с частотой передачи. При этом остальные выходы отключены.
Всё работает нормально, но хотелось бы, что бы при передаче CLK0 и CLK1 не выключались, возможно ли это сделать? то есть что бы приёмник работал и при передаче.
Спасибо!

Re: NanoVFO

Posted: 25 Apr 2019, 17:26
by UR5FFR
Надо скетч править. Добавил в todo list