Перейти к содержимому

Добро пожаловать на Первый форум сообщества радиолюбителей Одессы и Одесской области!

Добро пожаловать на Первый форум сообщества радиолюбителей Одессы и Одесской области. Чтобы общаться на форуме, скачивать файлы и использовать другие возможности, Вам необходимо зарегистрироваться. Или войти под своим логином. Так же вы можете войти на форум через свою учетную запись в Facebook или Twitter.
Внимание!
Наш форум не поддерживает регистрацию с почтового сервера mail.ru, bk.ru, inbox.ru, list.ru, mail.ua! Если вы всё же решили использовать эту почту, и не получили письмо подтверждения, то возможно оно попало в спам. В этом случае не забудьте его отметить как не спам!
Проблемы с регистрацией? Читаем эту тему.
Чтобы сменить фон форума, внизу с лева нажмите "Изменить Стиль".
Форум полностью поддерживает Русский язык.

Фотография

Универсальный синтезатор Si570/Si5351


Сообщений в теме: 80

#1
Relayer

Конструкция является дальнейшим развитием синтезатора на Si5351 из китайских модулей. Архитектура синтезатора осталась практически без изменений:
 

Процессор - Arduino Nano 328
Дисплей - 3.2" SPI TFT ILI9341
Синтез - Si570 и/или Si5351
Часы и EEPROM - TinyRTC
Периферия - PCF8574

 

На печатной плате предусмотрены установочные места как для Si5351, так и для Si570. Причем устанавливать их можно в любых комбинациях. В случае если установлены оба чипа то первый гетеродин формируется на выходе Si570, а второй и третий (по необходимости) на выходах Si5351. В случае если установлен один только Si570 то формируется единственный сигнал первого гетеродина.

Управление синтезатором переработано - количество кнопок сокращено с 12 до 7. Основные функции управления назначены на 6 кнопок: BandUp/Down, Attenuator/Preamp, VFO A/B, RIT, Lock. 7-я кнопка Fn является модификатором - при ее нажатии выполняются вторичные функции связанные с кнопками управления.

Внешний вид конструкции:

 

Прикрепленный файл  DSC06146.jpg   197,18К   Количество загрузок: 88

 

Прикрепленный файл  DSC06150.jpg   163,4К   Количество загрузок: 88

 

Синтезатор собран на двух печатных платах с односторонним монтажем (вторая сторона "залита" землей) выполненых ЛУТом в домашних условиях. Платы собраны "этажеркой" и соединены между собой 9ти контактным шлейфом. На передней панели установлены кнопки управления и переменный резистор расстройки RIT.
Общие размеры конструкции - 140мм*50мм*45мм

Из изменений в программном обеспечении отмечу
 

Добавлено автоматическое сохранение состояния в энергонезависимую память
Упрощена процедура калибровки Si5351
Поддерживается CAT по протоколу Kenwood


Для любителей что-то доработать есть еще примерно 1к свободного места для кода.

Проект полностью открытый и опенсоурсный - по мере оформления буду выкладывать полную информацию по синтезатору - схема, печатки и исходный код.

Хоумпейдж проекта

 


  • UR5FYG и LY2BHH это нравится

#2
seybr

seybr

    Любопытный

  • Пользователи
  • 16 сообщений
  • 0 тем
  • Город:Одесса

Подойдет ли данный индикатор ?

Прикрепленные файлы



#3
Relayer

Нет, такой не подойдет. Можно использовать 2,8" или 3,2" SPI TFT на чипе ILI9341 (разрешение 320*240).

 

PS В первом посте очепятка. Дисплей 2.8", а не 3.2". Можно установить и 3,2" но надо будет переделывать отверстия под крепление дисплея, т.к. они впритык к краям платы. Возможно придется просто несколько увеличить размер платы по высоте



#4
Relayer

Схемы процессорной и интерфейсной плат

Прикрепленный файл  Si5351-Syntez-CPU.png   466,22К   Количество загрузок: 100

 

Прикрепленный файл  Si5351-Syntez-Interface.png   76,9К   Количество загрузок: 104

Страницы проектов на сайте EasyEDA (там схемы и печатки если надо адаптировать под другие компоненты):

Si570/Si5351 CPU board
Si570/Si5351 interface board
 

На хоумпейдже выложил так же архив с готовыми печатками в формате pdf



#5
seybr

seybr

    Любопытный

  • Пользователи
  • 16 сообщений
  • 0 тем
  • Город:Одесса

Возможно ли использование Модуль расширителя I2C на PCF8574 ?



#6
Relayer

На данной плате уже нет - она рассчитана на использование PCF8574AT в планарном корпусе. Но если переделать плату или раскидать все на макетке то принципиальных ограничений нет. В коде только придется поправить I2C адреса



#7
Relayer

Управление синтезатором

Клавиатура
Все кнопки на клавиатуре имеют две функции. Основная – вызывается просто нажатием кнопки. Вторичная – вызывается при нажатии кнопки с одновременным нажатием кнопки Fn.
 

Прикрепленный файл  keyboard.png   9,02К   Количество загрузок: 15

 

BandUp, BandDown - переключение по диапазонам в режиме любительских диапазонов. Увеличить/уменьшить частоту настройки на 1МГц в режиме непрерывного перекрытия.
Lock - блокировка валкодера и команд клавиатуры, которые могут привести к изменению частоты настройки. При этом вспомогательные функции остаются доступными (например включение аттеюатора)
VFO A/B - на каждом диапазоне доступны два гетеродина с независимой частотой настройки. Кнопка позволяет переключаться между ними
Att/Pre - По кругу включает аттенюатор, УВЧ, или отключает оба
VFO A=B - устанавливает частоту второго гетеродина равной частоте текущего. При этом переключение гетеродинов не происходит
RIT - включает режим расстройки при приеме. Расстройка задается переменным резистором подключенным к пину A0 в пределах -1..+1kHz.
Zero - выставляет частоту "по нулям". Частота округляется до ближайшего целого числа kHz
USB/LSB - переключение принимаемой боковой полосы
Split - включает split-режим, в котором при переходе в режим передачи происходит переключение на другой гетеродин.
QRP - включает режим работы пониженной мощностью и формирует сигнал на выходе синтезатора “QRP”
Ham/GC - кнопка переключает режим непрерывного перекрытия 1-30MHz и работу на преднастроенных (любительских) диапазонах
Для вызова меню необходимо дважды нажать кнопку Fn в течении 1 сек.

Валкодер
Синтезатор изначально проектировался для использования с оптическим энкодером, выдающим 360-400 имп/оборот. При использовании энкодеров с другим кол-вом импульсов необходимы config.h прописать правильное значение в константе ENCODER_PULSE_PER_TURN.
В обычном режиме перестройка составляет 3kHz на оборот. В ускоренном режиме в 4 раза выше - 12kHz на оборот. Переключение между обычным и ускоренным режимом перестройки осуществляется автоматически в зависимости от скорости вращения валкодера.
При вращении валкодера с нажатой кнопкой Fn частота настройки будет изменяться с 10ти кратным ускорением - 30 kHz на оборот.

 



Исходники программы и документация доступна на гитхабе



#8
seybr

seybr

    Любопытный

  • Пользователи
  • 16 сообщений
  • 0 тем
  • Город:Одесса

Просьба. По возможности выложить пп в лей формате.Я не нашел файла ino. 



#9
Relayer

Печатки разводились в EasyEDA - это бесплатная CAD-система для полного проектирования печаток. Гораздо удобнее чем sprint-layout потому что нормальный CAD отслеживает соответствие печатки схеме, и если вы попробуете что-то соединить неправильно - он вас об этом предупредит и двадцать раз переспросит. Поэтому печаток в "лае" нет и не будет - 21й век за окном все таки.

Я не нашел файла ino.

В папке Syntez лежит файл Syntez.ino



#10
Андрей

Андрей

    Любопытный

  • Пользователи
  • 28 сообщений
  • 1 тем
  • Позывной:ur3ach
  • Город:Середина-Буда

Мои сообщения Синтезаторы частоты

Здравствуйте. Если использовать две микросхемы Si570 и 5351 какой расклад вторых гетеродинов. На выходе с си5351 можно будет получить например для 1го гетеродина 9,36 МГц и для второго 8,863. Програмных ограничений нет? Как частоты гетеродинов прописываются? Через меню или надо править код?  



#11
Relayer

Раскладка частот прописывается в config.h раскоментариванием требуемого define. К каждой раскладке написаны подробные комментарии для случая работы одной Si5351. Кроме самой раскладки частот в config.h надо прописать правильные частоты ПЧ и тип фильтра USB/LSB. Все остальное синтезатор сделает за вас сам.

 

В случае если работают совместно Si570 и Si5351 то первый гетеродин всегда генерирует Si570 - тоесть ее выход выполняет роль CLK0. При этом Si5351 генерирует частоты второго и третьего (если нужен) гетеродинов. При этом 3й клок 5351 не используется.

Например при раскладке Si570+Si5351, преобразование вверх, первая ПЧ=45MHz, вторая ПЧ=500kHz Si570 будет генерировать частоту первого гетеродина 47..75MHz, Si5351 формирует на CLK0 44.5/45.5MHz в зависимости от выбранной боковой полосы, а на выходе CLK1 - 500kHz. В случае если прописать оба ската ЭМФ (то есть разрешить синтезатору использовать его как для верхней, так и для нижней боковых) то CLK0 будет всегда выше 1й ПЧ - 45.5MHz, а CLK1 в зависимости от выбранной боковой будет 500/503kHz.

 

Каких-то ограничений на генерируемые частоты нет. В случае необходимости достаточно легко реализовать свою логику генерации частот.


  • Андрей это нравится

#12
Gart

Gart

    Новичок

  • Пользователи
  • 2 сообщений
  • 0 тем
  • Город:Знаменка

Relayer,

Подскажите пожалуйста, энкодер посажен на прерывания, но не могу в коде найти место инициализации прерываний. Подскажите где смотреть?



#13
Relayer

void Encoder::setup() в Encoder.cpp



#14
Gart

Gart

    Новичок

  • Пользователи
  • 2 сообщений
  • 0 тем
  • Город:Знаменка

Relayer,

Спасибо!!! :) :i



#15
Relayer

Новая версия прошивки 2.0 доступна на гитхабе
Что нового:

- совместимость прошивки в проектом Синтезатор из готовых китайских модулей
- change frequency display to 7-segment led-style digits. Show 10x Hz. (ILI9341 only)
- add ST7735 1.8" TFT
- add LCD 1602
- add support for 12-buttons 3x4 keypad
- конфиг разделен на два модуля. все настройки "железа" вынесены в config_hw.h
- автосохранение будет работать при использовании 24C32 вместо TinyRTC
- обновлена документация. добавлены схемы подключения различных периферийных модулей
- в меню добавлена возможность коррекции частоты ПЧ в пределах +/-30kHz от заданной

Основная реализованная идея - универсальная прошивка которая может работать на различном "железе" без изменений. Требуется только раскоментарить нужные константы в модуле конфига.

 

Немного изменился внешний вид

 

Прикрепленный файл  TFT_ILI9341.jpg   229,29К   Количество загрузок: 6

 



#16
RA4DB

RA4DB

    Любопытный

  • Пользователи
  • 66 сообщений
  • 0 тем
  • Позывной:RA4DB
  • Город:Саратов

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

 

Вам не понравилась моя идея насчет режима Si5351 для трех клоков:

clk0 - плавный диапазон

clk1 - опорник 

clk2 - телеграфный гетеродин.

Я думал, что так будет минимум переделок. Вам, естественно, виднее. Ну а идея самоконтроля возникла по ходу пьесы - уже есть тональник, почему б его не использовать. Хотя бы так - с выхода взять непрерывный сигнал, потом коммутировать его синхронно с телеграфными посылками (отдельной схемкой, я бы сам ее сообразил) и отправлять на усилитель НЧ.

Итак, попробую сформулировать два ТЗ - минимальное и максимальное (по моим дилетантским понятиям).

Максимальное:

 - введение режима CW, переключаемого клавишей USB/LSB/CW циклически;

- в этом режиме добавить электронный ключ (есть ли под него две свободные ноги?);

 - в режиме TX-CW с ноги CLK2 сделать выход телеграфного гетеродина (либо сдвинуть частоту опорника с CLK1? как проще реализовать?);

 - сигнал TONE используется для самоконтроля синхронно с посылками телеграфного гетеродина.

Минимальное: 

 - введение режима CW, переключаемого клавишей USB/LSB/CW циклически;

 - в этом режиме сигналы самоконтроля  и телеграфного гетеродина генерируются непрерывно, схему ключевания для обоих сигналов я делаю сам.

Вот, как смог - написал)))



#17
US5IVZ

US5IVZ

    Любопытный

  • Пользователи
  • 21 сообщений
  • 0 тем
  • Позывной:US5IVZ
  • Город:Донецк

Здравствуйте,Всем!

RA4DB, осмелюсь спросить. Что есть такое -телеграфный гетеродин, если не опорник? Зачем он нужен отдельно на CLK2 ?

Наверное так:

CLK 0- VFO

CLK 1-BFO  ( USB,LSB,CWU, CWL).Ну и тогда уж "до кучи"  FM( AM)-по центру фильтра.. Ненужное -закоментить.

И желательно,конечно," калибровать" эти опоры оперативно из меню, в пределах нескольких КГц,с запоминанием в EEPROM ардуины.



#18
RA4DB

RA4DB

    Любопытный

  • Пользователи
  • 66 сообщений
  • 0 тем
  • Позывной:RA4DB
  • Город:Саратов

RA4DB, осмелюсь спросить. Что есть такое -телеграфный гетеродин, если не опорник? Зачем он нужен отдельно на CLK2 ?

Это генератор, который формирует телеграфный сигнал))) Вот схема, к примеру, трансивера "Десна". Там он собран на транзисторе VT8. Опорник же собран на транзисторе VT11. Отдельный генератор есть во многих других схемах трансиверов - "Дружба", MiniYes и др. При использовании синтезатора наверное отдельный генератор и не нужен. Просто я подумал, повторяю еще раз, что так будет проще выполнить переделку. Вполне возможно, что я ошибаюсь. 



#19
Relayer

Что есть такое -телеграфный гетеродин, если не опорник? Зачем он нужен отдельно на CLK2 ?

На CLK2 он нужен только если манипуляция идет в самом синтезаторе (то есть ключ встроен). Получается что в режиме передачи CW на CLK0 - VFO, на CLK1 - ничего, на CLK2 манипулируемый телеграфный гетеродин немного сдвинутый относительно частоты BFO . В режиме приема на CLK1 - BFO, на CLK2 - ничего. Такая раскладка позволяет сигнал CLK2 через делитель подать на КФ без какой-то коммутации.

Если пойти по пути формирования телеграфного гетеродина при TX на все том же CLK2 то его надо заводить в тракт через какой-то ключ - отключать от второго смесителя и подавать через делитель на КФ

 

тогда уж "до кучи" FM( AM)-по центру фильтра.. Ненужное -закоментить.

Какой процент людей кому это действительно надо? Да и пинов свободных под это дело сейчас нет - надо ставить еще один расширитель портов

 

Вам не понравилась моя идея насчет режима Si5351 для трех клоков

Я не говорил что она мне не понравилась. Но тут есть нюансы :)

 

в этом режиме добавить электронный ключ (есть ли под него две свободные ноги?);

Есть незадействованные 4 пина A0-A3. Два из них я держу в резерве под датчики КСВ. Один пин вполне можно отдать под ключ. Пин аналоговый так что на нем можно как обычный так и автоматический ключ реализовать - одного пина хватит.

Для автоматического потребуется настройка скорости. Достаточно ли будет ее в меню сделать? Или надо переменник для оперативной регулировки? Если переменник то придется занять еще один пин.

 

Очень открытый вопрос - форма огибающей при манипуляции. Если все делать в синтезаторе как я написал выше то сигнал будет иметь прямоугольную огибающую. Она немного сгладится за счет КФ. Но не особо.

 



#20
RA4DB

RA4DB

    Любопытный

  • Пользователи
  • 66 сообщений
  • 0 тем
  • Позывной:RA4DB
  • Город:Саратов

Для автоматического потребуется настройка скорости. Достаточно ли будет ее в меню сделать? Или надо переменник для оперативной регулировки? Если переменник то придется занять еще один пин.

 

С переменником, конечно, намного удобнее. Но решающее слово за Вами, само собой.

Очень открытый вопрос - форма огибающей при манипуляции. Если все делать в синтезаторе как я написал выше то сигнал будет иметь прямоугольную огибающую.

RC-цепочка после CLK2 может помочь?  Боюсь, что прямоугольная огибающая будет вызывать нарекания в эфире.






Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных