Welcome to UR4QBP home page
Каталог статей
Меню сайта

Категории раздела
SDR-трансивер ADTRX_UR4QBP [8]
Простой SDR-трансивер от UR4QBP
Антенные примочки [2]
Согласующие устройства, коммутаторы, измерители КСВ.
Клоны SDR-1000 [1]
Описание конструкций клонов трансивера SDR-1000
Полезные статьи по работе с SDR [7]
Полезные статьи по работе с софтом для SDR-ов
Не SDR-ы... [1]
Конструкции не связаны с SDR-техникой.
Усилители мощности [8]
Описание конструкций усилителей мощности и блоков управления.

Новости форума
  • Одноплатный SDR-трансивер SDR-UR4QBP-VER.2012.1 (161)
  • Автономный SDR трансивер TRX_V3, 4 и т.д. (483)
  • Полезные ссылки (2)
  • Усилитель для SDR (334)
  • Программа TalkingBox для синтезатора на AD9851 (94)

  • Свежие фотографии


    Мое видео

    Форма входа
    Логин:
    Пароль:

    Поиск по сайту

    Последние файлы
  • Копия CD-диска по трансиверу SDR-2013
  • Драйвер для звуковой карты DELTA44(66) под Win7 x32(x64)
  • Программа PowerSDR 1.18.5
  • Программа PowerSDR 2.5.3
  • Программа управления для NWT7

  • Сайты SDR

    Сайты радио
    Сайт UR8QP
     Russian Internet Callbook 
     Найти позывной
     

    Мой опрос
    С основной платой ADTRX_UR4QBP я применяю
    Всего ответов: 94

    Статистика сайта

    Онлайн всего: 1
    Гостей: 1
    Пользователей: 0


    На сайте сегодня были:


    Зарегистрировано на сайте:
    Всего: 1626

    Последний зарегистрированный пользователь
    ut7za - 17.03.2024


    Приветствую Вас, Гость · RSS 02.05.2024, 09:39

    Главная » Статьи » Не SDR-ы...

    Синтезатор частоты с одной кнопкой и энкодером

    Достав с чердака основную плату простенького трансивера на ЭМФ с 2-мя КТ315 в УПЧ, однажды сделанную мною в далекие 0-е решил сделать синтезатор для нее. Покопавшись в ящике моего рабочего стола нашел дисплейчик когда-то покупавшийся для синтезатора на диапазон 2 метра. Дисплей примитивный, KO-4B2 с контроллером HT1611. Подробное описание его работы описано ЗДЕСЬ.  Также обнаружил пару контроллеров AT90S2313 фирмы "ATMEL" с всего 2кБ FLASH-памяти и 128 байтами энергонезависимой памяти EEPROM. Не стал заморачиваться синтезатором с ФАПЧ так как надо лепить ГУН-ы делители и т.д. Порывшись еще нашел платку DDS-генератора для ARDUINO на AD9850 купленную когда-то на E-BAY за 6$. Короче вот с всего этого и решил сделать подобие синтезатору частоты а-ля ГПД. Собственно схема электрическая принципиальная:

    Проект включая чертежи печатных плат под SMD и стандартные комплектующие в Proteus 7.8 ЗДЕСЬ. Не буду описывать работу схемы, так как основную часть работы делает программа микроконтроллера. Пишу на Си в среде CodeVisionAVR, проект открытый скачать можно ЗДЕСЬ. Изначально синтезатор задумывался для работы с частотой ПЧ 500кГц, но позже в ходе экспериментов с платой трансивера на ЭМФ решил последний сменить на простенький 6-ти кристальный кварцевый фильтр. Поэтому программа написана для Fпч 8862500 Гц(PAL-овские кварцы). Из-за очень маленького объема FLASH-памяти микроконтроллера(программа занимает 98,5%) в синтезаторе нет никаких сервисных меню и сменить Fпч возможно только в тексте программы:

    if (b==3) {freq=(4294967296/100000000)*(f[b]-8862500);} else {freq=(4294967296/100000000)*(f[b]+8862500);};

    Синтезатор рассчитан на работу в 4-х любительских диапазонах 160, 80, 40 и 20 метров, имеет 4-выхода с открытым коллектором и защитным диодом для управления диапазонными полосовыми фильтрами(ДПФ). Переключение диапазонов одной единственной кнопкой SB1 по кругу, при смене диапазонов и после выключения синтезатора частоты запоминаются в EEPROM:

    eeprom long f[4]={1900000,3650000,7050000,14150000};

      Диапазоны ограничены по частоте переделы которых можно изменить в программе в большую или меньшую сторону в массиве:

    eeprom long f_m[2,4]={
    {1810000,3500000,7000000,14000000},
    {2000000,3800000,7200000,14350000}
    };

    Опорный генератор для DDS я использовал на 100МГц фирмы RALTRON(такие ставлю в SDR-ы), можно применить другой на частоту 100...125Мгц. Частота генератора прописывается вручную в 62 строке программы:

    if (b==3) {freq=(4294967296/100000000)*(f[b]-8862500);} else {freq=(4294967296/100000000)*(f[b]+8862500);};

    Перестройка по частоте организована с помощью примитивного энкодера из шагового двигателя(ШД). Я использовал от принтера EPSON фирмы MITSUMI M42SP-6TG. Пробовал самые разные... работают все! Формирователь импульсов энкодера сделан по схеме на рис.1 ОТСЮДА. В программе работает по внешнему прерыванию INT0:

    interrupt [EXT_INT0] void ext_int0_isr(void)   //Прерывание по вращению энкодера
    { s++;
      if (!val) {f[b]=(f[b]/step*step)+step;} else {f[b]=(f[b]/step*step)-step; };
      SaveDds(f[b]); 
    }

    Реализована функция "УМНОГО" энкодера. Путем измерения количества импульсов за определенный промежуток времени изменяется шаг перестройки синтезатора. В моем варианте при медленном вращении шаг 10Гц, при "плавном" вращении 100Гц и 500 при "быстром". Параметры управления "УМНЫМ" энкодером можно менять в ту или иную сторону под любое количество импульсов ШД.

    interrupt [TIM0_OVF] void timer0_ovf_isr(void)
    { c++;
      if (c==30)  {SaveDds(f[b]); ss=s; s=0; c=0; };
      if (ss>10)  {step=100;} else {step=10;}; 
      if (ss>20)  {step=500;};

    Функцию "выравнивания" шага перестройки при его смене реализовал математическим методом по формуле:

    f[b] = ( f[b] step step ) - step;

    Где f[b] - частота текущего поддиапазона и step - шаг перестройки

    Ну вот это все что умеет данный синтезатор...

    Есть задумка добавить остальные КВ-диапазоны, но боюсь что памяти мк не хватит так как уже 98,5% занято. Можно переписать софт на более "компактном" языке программирования, но увы умею только на Си. Если возникнут вопросы, добро пожаловать на ФОРУМ.

    C ув.Александр UR4QBP 73! 

    Категория: Не SDR-ы... | Добавил: UR4QBP (02.03.2015)
    Просмотров: 7820 | Рейтинг: 5.0/1
    Всего комментариев: 0
    Добавлять комментарии могут только зарегистрированные пользователи.
    [ Регистрация | Вход ]
    Copyright MyCorp © 2024
    Сайт управляется системой uCoz