UR5FFR

Радиолюбительские конструкции и программы
It is currently 18 May 2022, 06:46

All times are UTC + 2 hours [ DST ]




Post new topic Reply to topic  [ 20 posts ]  Go to page Previous  1, 2
Author Message
PostPosted: 05 Mar 2021, 15:04 
Offline
Site Admin

Joined: 21 Apr 2012, 22:00
Posts: 1705
Location: Odessa
Позывной: UR5FFR
Валкодер для синтезатора - это достаточно проблемное место. Оптические промышленные дают 300-400 импульсов на оборот, удобны и эргономичны, но дорогие и имеют большие габариты и вес. Механические "трещетки" дешевые и малогабаритные, но всего 20 импульсов на оборот и контакты, которые ненадежны и со временем могут выйти из строя. Различная "самопальная" оптика достаточно сложна в реализации и нужен диск с большим количеством прорезей. Валкодеры из шаговых двигателей габаритны и судя по отзывам тоже имеют свои нюансы.

На фоне всего этого разнообразия особняком стоят валкодеры на основе специализированных микросхем датчиков магнитного поля. Обычно для этих целей используют AS5040 из-за того, что у нее есть квадратурные выходы и она может быть применена вместо любого оптического или механического энкодера с такими же выходами. Минус - цена от 5$ за корпус. Есть и более дешевые микросхемы. Например AS5600 стоимостью около 1$. Но она не имеет квадратурных выходов. Это не позволяет использовать AS5600 в синтезаторах с закрытым исходным кодом. Но для нас это не помеха :)

Схема подключения AS5600 для питания 3.3в крайне проста

Attachment:
as5600_encoder.png
as5600_encoder.png [ 12.32 KiB | Viewed 8505 times ]


Вся "обвязка" - блокировочные по питанию. Подключается такой энкодер к разъему расширения P15 куда выведена I2C шина и питание 3.3в.
Для включения энкодера в прошивке необходимо в файле config_hw.h раскоментарить соответствующую строчку

Code:
// раскоментировать ТОЛЬКО ОДИН требуемый тип энкодера. закоментировать все если нет
//#define ENCODER_OPTICAL
//#define ENCODER_MECHANIC
#define ENCODER_AS5600


Валкодер позволяет получить дискретность в 256 импульсов на оборот что более чем достаточно для плавной перестройки. Прошивка залита на гитхаб.
Конструктивное исполнение может быть различным - на основе механики от переменного резистора или на подшипнике с печатью деталей на 3D-принтере.

3D-модель для энкодера на основе подшипника 25*37*7 доступна тут Магнитный энкодер для синтезатора


Top
 Profile  
 
PostPosted: 05 Mar 2021, 20:24 
Offline
Site Admin

Joined: 21 Apr 2012, 22:00
Posts: 1705
Location: Odessa
Позывной: UR5FFR
Все вопросы по синтезатору перенес в тему для обсуждения
viewtopic.php?f=11&t=190


Top
 Profile  
 
PostPosted: 18 May 2021, 09:46 
Offline
Site Admin

Joined: 21 Apr 2012, 22:00
Posts: 1705
Location: Odessa
Позывной: UR5FFR
Прислали на почту вопрос - что нужно изменить в коде чтобы управлять ДПФ без дешифратора двоичного кода.
Управление ДПФ вынесено на I2C расширитель. В модуле Syntez.ino есть следующая функция в которой определяется что и на какие пины будет выводиться (сами пины определены в config_hw.h)

Code:
void UpdateBandCtrl()
{
#ifdef BANDCTRL_ENABLE
  outBandCtrl.Set(BCPN_BAND_0, trx.BandIndex & 0x1);
  outBandCtrl.Set(BCPN_BAND_1, trx.BandIndex & 0x2);
  outBandCtrl.Set(BCPN_BAND_2, trx.BandIndex & 0x4);
  outBandCtrl.Set(BCPN_BAND_3, trx.BandIndex & 0x8);
  // 0-nothing; 1-ATT; 2-Preamp
  switch (trx.state.AttPre) {
    case 0:
      outBandCtrl.Set(BCPN_ATT,false);
      outBandCtrl.Set(BCPN_PRE,false);
      break;
    case 1:
      outBandCtrl.Set(BCPN_ATT,true);
      outBandCtrl.Set(BCPN_PRE,false);
      break;
    case 2:
      outBandCtrl.Set(BCPN_ATT,false);
      outBandCtrl.Set(BCPN_PRE,true);
      break;
  }
  outBandCtrl.Set(BCPN_CW, trx.state.mode == MODE_CW);
  outBandCtrl.Set(BCPN_SB, trx.state.mode == MODE_USB);
  outBandCtrl.Write();
#endif
}


Для управления 5ти диапазонным ДПФ (Raisin 1.x) нам придется пожертвовать одним из пинов BCPN_CW или BCPN_SB. ниже код для случая когда 5й бенд выводится на пин BCPN_SB который раньше выводил какая боковая полоса выбрана - для Raisin это не актуально т.к. фильтр у него один.

Code:
void UpdateBandCtrl()
{
#ifdef BANDCTRL_ENABLE
  outBandCtrl.Set(BCPN_BAND_0, trx.BandIndex == 0);
  outBandCtrl.Set(BCPN_BAND_1, trx.BandIndex == 1);
  outBandCtrl.Set(BCPN_BAND_2, trx.BandIndex == 2);
  outBandCtrl.Set(BCPN_BAND_3, trx.BandIndex == 3);
  // 0-nothing; 1-ATT; 2-Preamp
  switch (trx.state.AttPre) {
    case 0:
      outBandCtrl.Set(BCPN_ATT,false);
      outBandCtrl.Set(BCPN_PRE,false);
      break;
    case 1:
      outBandCtrl.Set(BCPN_ATT,true);
      outBandCtrl.Set(BCPN_PRE,false);
      break;
    case 2:
      outBandCtrl.Set(BCPN_ATT,false);
      outBandCtrl.Set(BCPN_PRE,true);
      break;
  }
  outBandCtrl.Set(BCPN_CW, trx.state.mode == MODE_CW);
  outBandCtrl.Set(BCPN_SB, trx.BandIndex == 4);
  outBandCtrl.Write();
#endif
}


Top
 Profile  
 
PostPosted: 03 Jul 2021, 17:36 
Offline
Site Admin

Joined: 21 Apr 2012, 22:00
Posts: 1705
Location: Odessa
Позывной: UR5FFR
Обновилась прошивка на гитхабе до 3.2.2.
- в режиме TX не отключались ATT/PRE
- не формировался сигнал на 8ом пине в режиме Tune. Его частоту в Гц можно задать в константе OUT_TONE_FREQ в модуле config_hw.h

https://github.com/andrey-belokon/Syntez_Si5351_Si570


Top
 Profile  
 
PostPosted: 12 Nov 2021, 20:28 
Offline
Site Admin

Joined: 21 Apr 2012, 22:00
Posts: 1705
Location: Odessa
Позывной: UR5FFR
Новая версия двухплатного синтезатора. Что изменилось

- вместо труднодоступной и дорогой TXS0108 применен формирователь на дешевой 74LVC125
- модуль часов перестал быть "навесным". DS3231, 24C32 и батарейный отсек для CR2032 запаиваются непосредственно на плату синтезатора
- стабилизатор 5в либо 7805 или DC/DC модуль Mini360
- на плату дисплейного модуля можно установить как 8ми выводный модуль 1.8" TFT ST7735S, так и 10ти пиновый. при смене модуля необходимо указать ориентацию TFT_ORIENTATION в модуле config_hw.h
- дополнительный 8ми битный порт на PCF8574AT (использование описано в doc\FAQ.docx)

Обновилась прошивка на гитхабе до 3.3. https://github.com/andrey-belokon/Syntez_Si5351_Si570

Схемы и платы традиционно расшарены в EasyEDA
https://oshwlab.com/ban.relayer/vfo-syn ... board_copy
https://oshwlab.com/ban.relayer/digital ... multi_copy

Attachment:
Schematic_Digital VFO 1.8 main board 2.0.png
Schematic_Digital VFO 1.8 main board 2.0.png [ 183.35 KiB | Viewed 4627 times ]


Attachment:
Schematic_Digital VFO 1.8 display board 2.0.png
Schematic_Digital VFO 1.8 display board 2.0.png [ 92.84 KiB | Viewed 4627 times ]


Attachment:
synt_v2_tft-8pin.jpg
synt_v2_tft-8pin.jpg [ 106.28 KiB | Viewed 4627 times ]


Attachment:
synt_v2_tft-10pin.jpg
synt_v2_tft-10pin.jpg [ 103.2 KiB | Viewed 4627 times ]


Attachment:
synt_v2_back.jpg
synt_v2_back.jpg [ 112.72 KiB | Viewed 4627 times ]


Attachment:
synt_v2_pcb.jpg
synt_v2_pcb.jpg [ 145.86 KiB | Viewed 4571 times ]


Есть печатные платы


Top
 Profile  
 
PostPosted: 06 Dec 2021, 19:37 
Offline
Site Admin

Joined: 21 Apr 2012, 22:00
Posts: 1705
Location: Odessa
Позывной: UR5FFR
Важное замечание по использованию сигналов управления с PCF8574. Если заглянуть в даташит то там можно узнать что ток логического 0 - 25мА, а вот с логической 1 все гораздо хуже - максимум 300uA. В результате если подключить нагрузку сопротивлением несколько кОм то этого тока будет недостаточно чтобы сформировать +5в уровень для логической 1.
Поэтому все резисторы которые стоят по выходам PCF8574 "на землю" надо ставить номиналом 100к, а в цепях управления высоким уровнем использовать полевые транзисторы. Если нужен высокий ток для логической "1" то можно применить PCA9554, которая полностью совместима по пинам с PCF8574, но программируется немного по другому.


Top
 Profile  
 
PostPosted: 02 Jan 2022, 11:41 
Offline
Site Admin

Joined: 21 Apr 2012, 22:00
Posts: 1705
Location: Odessa
Позывной: UR5FFR
Во второй версии добавилась возможность использования кварцевого резонатора XTAL1 для тактирования SI5351 вместо кварцевого генератора X4. Использовать резонатор можно только в случае если устанавливается одна SI5351 U12. При этом X4 и U6 не устанавливается. Перемычка WC2 на схеме указана неправильно. Необходимо установить перемычку навесом между выводами 1-4 U6.
При использовании одной SI5351 U5 и генератора X4 не устанавливаем U6, устанавливаем перемычку WC2.
При использовании двух SI5351 - устанавливаем X4, U6. Перемычку WC2 не ставим.

Перемычка WC1 устанавливается в зависимости от примененного типа кварцевого генератора. Обычно мелкие TCXO в корпусах 2520/3225 требуют ее установки. С другой стороны XO в большом корпусе 5070 требует чтобы 1й вывод был не заземлен.


Top
 Profile  
 
PostPosted: 08 Jan 2022, 19:31 
Offline

Joined: 08 Jan 2022, 17:54
Posts: 16
Позывной: us5mgt
UR5FFR wrote:
вместо труднодоступной и дорогой TXS0108 применен формирователь на дешевой 74LVC125
Quote:


я для одного устройства брал 74LVC125 и были проблемы с согласованием и самим сигналом, может тут она норм работает, но у меня отлично работала в схеме 74HC4050 ;)


Top
 Profile  
 
PostPosted: 08 Jan 2022, 21:13 
Offline
Site Admin

Joined: 21 Apr 2012, 22:00
Posts: 1705
Location: Odessa
Позывной: UR5FFR
74LVC125 - это формирователь по даташиту. Если с ней проблемы - то надо смотреть на то как вы пытались ее применить. Тут она работает без проблем. А вот будет ли корректно работать более медленная 74HC для SPI шины - я не знаю.


Top
 Profile  
 
PostPosted: 20 Feb 2022, 21:20 
Offline
Site Admin

Joined: 21 Apr 2012, 22:00
Posts: 1705
Location: Odessa
Позывной: UR5FFR
Обновилась прошивка на гитхабе.

- Добавил реализацию CAT протокола FT-817. Нужный протокол выбирается с помощью дефайнов CAT_PROTOCOL_KENWOOD_TS480 и CAT_PROTOCOL_YAESU_FT817 в config_hw.h. Протокол FT-817 более компактный по сравнению с Kenwood

- Добавил управление RX/TX через CAT. При этом вход PTT синтезатора имеет приоритет. Т.е. если по CAT пришла команда переключиться в режим передачи TX, то нажав и отпустив PTT мы можем ее отменить и вернуться в режим приема RX. Логика соответствует примененной в FT-817


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 20 posts ]  Go to page Previous  1, 2

All times are UTC + 2 hours [ DST ]


Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group