Текущее время: Вт 19 мар 2024 08:39

Часовой пояс: UTC + 3 часа [ Летнее время ]






Начать новую тему Ответить на тему  [ Сообщений: 23 ]  На страницу Пред.  1, 2
Автор Сообщение
 Заголовок сообщения: Re: Синтезатор за полчаса
СообщениеДобавлено: Ср 01 апр 2015 21:36 
Не в сети
Аватар пользователя

Зарегистрирован: Вс 07 дек 2008 01:00
Сообщений: 328
Откуда: С-Петербург
Спасибо, уже нашел вариант конструктива. На работе попался на глаза двигатель от жесткого диска, блин от двигателя дисковода 3.5 диаметром 70мм. И как-то сразу пошло- движек от HDD как опора, блин как ручка настройки. Разорил в запаснике убитый струйник, снял с него диск и оптопару. 1000 шагов при таком диаметре ручки будет вполне нормально. Проблему с диаметром решу переносом органов управления с торцевой части корпуса на плоскую.
Есть еще одна не реализованная идея. Берем пищевую фольгу, на ней на лазернике печатаем диск, клеим на прозрачный пластик, травим.
От дисковода движек есть, 200 шагов, но тяжелый, зараза.

_________________
UA1AUB


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Синтезатор за полчаса
СообщениеДобавлено: Пн 08 июн 2015 00:23 
Не в сети
Аватар пользователя

Зарегистрирован: Пн 14 май 2012 22:42
Сообщений: 485
Откуда: KO49TQ
R1AIT писал(а):
UB1CDO писал(а):
На Дегене все звучит нормально в заявленном диапазоне и даже выше. Частоты вещательного ФМ диапазона получаются без проблем, но как там с формой сигнала и чистотой спектра сказать не могу.


Была задумка использовать модуль в бакенах. После "лабораторной работы" с данным изделием уже сомневаюсь.
Выбег частоты около 50 Гц за 5 мин после включения, долговременная нестабильность также не радует. Прошита 28.222,500, измерения проводил при комнатной температуре.

Вложение:
Комментарий к файлу: not comment...
9850_china.jpg
9850_china.jpg [ 179.24 Кб | Просмотров: 17579 ]

_________________
73! de R1LB,
R1LB-5 Leonid.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Синтезатор за полчаса
СообщениеДобавлено: Ср 30 сен 2015 14:42 
Не в сети
Аватар пользователя

Зарегистрирован: Вс 23 сен 2007 00:00
Сообщений: 192
Откуда: Гатчина
Возможно кому-нибудь будет полезно - пример кода для работы с AD9850 под Atmel Studio:
Код:
#define BUS_PORT        PORTD
#define BUS_DDR         DDRD
#define DATA            PD3
#define FQ_UD           PD2
#define W_CLK           PD1
#define RESET           PD0

void AD9850_init (void)
{
BUS_PORT &= ~(1<<RESET);
BUS_PORT |= 1<<RESET;
BUS_PORT &= ~(1<<RESET);
BUS_PORT &= ~(1<<DATA);
BUS_PORT |= 1<<W_CLK;
BUS_PORT &= ~(1<<W_CLK);
BUS_PORT |= 1<<FQ_UD;
BUS_PORT &= ~(1<<FQ_UD);
BUS_PORT |= 1<<W_CLK;
BUS_PORT &= ~(1<<W_CLK);
BUS_PORT |= 1<<W_CLK;
BUS_PORT &= ~(1<<W_CLK);
BUS_PORT |= 1<<W_CLK;
BUS_PORT &= ~(1<<W_CLK);
BUS_PORT |= 1<<FQ_UD;
BUS_PORT &= ~(1<<FQ_UD);
}

void AD9850_Powerdown (void)
{
unsigned char i;
unsigned char cmd = 0x04;

BUS_PORT |= 1<<FQ_UD;
for (i=0; i<8; i++)
    {
    if (cmd & 1)
        BUS_PORT |= 1<<DATA;
    else
        BUS_PORT &= ~(1<<DATA);
    BUS_PORT |= 1<<W_CLK;
    if (i == 0)
        BUS_PORT &= ~(1<<FQ_UD);
    cmd >>= 1;
    BUS_PORT &= ~(1<<W_CLK);
    }
BUS_PORT |= 1<<FQ_UD;
BUS_PORT &= ~(1<<FQ_UD);
}

void AD9850_Set (double freq)
{
unsigned char i;
unsigned long dataword;

dataword = 4294967296*freq/125000000;
for (i=0; i<40; i++)
    {
    if (dataword & 1)
        BUS_PORT |= 1<<DATA;
    else
        BUS_PORT &= ~(1<<DATA);
    BUS_PORT |= 1<<W_CLK;
    dataword >>= 1;
    BUS_PORT &= ~(1<<W_CLK);
    }
BUS_PORT |= 1<<FQ_UD;
BUS_PORT &= ~(1<<FQ_UD);
}


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Синтезатор за полчаса
СообщениеДобавлено: Чт 01 окт 2015 10:25 
Не в сети
Аватар пользователя

Зарегистрирован: Ср 24 апр 2013 18:31
Сообщений: 136
Откуда: отсюда и не видно ...
мои 5 копеек :)
драйвер AD9850(51) для Pic16fxxx (с подробными комментариями)
Код:
/*------------------------------------------------------------------------------
AD9850 Serial driver
AD9850 notes:
be sure to ground reset pin and set Data 0,1,2 per MFG data

схема управления DDS на PIC16F887
конфигурация выводов
RC0 -> DAT dds  (Ddata)
RC1 -> CLK dds  (Dclock)
RC2 -> FQ dds    (Dlatch)
RB5 -> RESET dds

Алгоритм управления по последовательному методу:
аппаратно установлено
   на выводе 22 (RESET) уровень L (=0)
   на выводе 2 (D2) уровень L (=0)
   на выводах 3-4 (D1-D0) уровень H (=1)
программные установки
   1) подать на выводе 7(WCLK) импульс WCLK HIGH  длительностью  tWH>= 3.5ns
   2) после окончания импульса WCLK HIGH с задержкой >= 3.5ns подать на вывод 8(FQ_UD) импульс FQ_UD HIGH  длительностью  tFH >= 7.0ns
   3) после окончания импульса FQ_UD HIGH, спустя не менее 18 периодов опорной частоты, подать на вывод 25(D7 - DATA) первый бит
       управляющего слова
   4) с задержкой tDS(>= 3.5ns) относительно подачи бита DATA подать на вывод 7(WCLK) импульс WCLK HIGH  длительностью  tWH>= 3.5ns
   5) по окончанию импульса WCLK HIGH подать на вывод 25 (D7 - DATA) следующий бит управляющего слова
   6) с задержкой tDS(>= 3.5ns) относительно подачи бита DATA подать на вывод 7(WCLK) импульс WCLK HIGH  длительностью  tWH>= 3.5ns
   повторять пп 5 и 6 до загрузки последнего 40-г0 бита управляющего слова
   43) по окончанию 40-го импульса WCLK HIGH удерживать последний бит на выводе 25 (D7 - DATA) не менее 3.5ns и одновременно подать на
      вывод 8(FQ_UD) импульс FQ_UD HIGH  длительностью  tFH >= 7.0ns
   43) после окончания импульса FQ_UD HIGH пауза до подачи следующего управляющего слова не менее 18 периодов опорной частоты

Для МК:
инициализировать три вывода МК "на вывод"
установить на этих выводах уровень L (=0)
задать значение управляющего слова (40 бит - 5 байт) для установки частоты по формуле: Fout=(WORD x Fclk)/2^32  (MHz),   WORD - 32bit число, Fclk - частота опорного генератора MHz. Или WORD = Fout(x)*2^32/Fclk

Fout(x) - введеное в ПП "Задать частоту" на дисплее значение частоты в Hz
загружено в массив ValD[9] =[vD9(ст.байт-дес.разряд)- ... -vD0(мл.байт-дес..разряд)}
это число преобразуется в ПП "конвертировать Dec to Bin" в  32-бит массив  ValB[3]= =[vB3(ст.байт)- ... -vB0(мл.байт)} в значение частоты в 32-бит Bin формате
ПП "вычислить WORD" вычисляет командное слово управления по ф-ле:
WORD = Fout(x)*2^32/Fclk:

-------------------------------------------------------------------------------*/

#define Dlatch PIN_C2   
#define Dclock PIN_C1   
#define Ddata  PIN_C0 
#define DCtog  output_low(Dclock);delay_us(4);output_high(Dclock)
#define DLtog  output_high(Dlatch);delay_us(4);output_low(Dlatch)

extern int32 WordF;

// инициализация AD9850

void ad9850_init(void)
   {   
        //output_low(Ddata);  // MUST be low to init
        OUTPUT_LOW(Ddata);
        DCtog;
        DLtog;
   }

// загрузка командного слова WordF и Старт

void ad9850_setfreq(void)
   {
     unsigned int8 i=0;  unsigned int32 D=0;
     #bit curbit=D.0
      D=WordF;   i=0;
     
     do
      { 
         if(curbit) output_high(Ddata);
         else  output_low(Ddata);
         output_high(Dclock);    // raise  LATCH pin
         D >>=1;
         output_low(Dclock);     //  lower LATCH
      } while(++i<32);

      i=0;  output_low(Ddata);   
     
     do
      {
         output_high(Dclock); 
         i++;
         output_low(Dclock);
      } while(i<8);
     DLtog;   // set data in DDS chip
   } //end ad9850_setfreq

_________________
«окончил два института» (из них один университет) © В.Орлов"Альтист Данилов" :)


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Синтезатор за полчаса
СообщениеДобавлено: Чт 19 ноя 2015 00:09 
Не в сети
Аватар пользователя

Зарегистрирован: Вс 03 май 2009 00:00
Сообщений: 212
Откуда: Saint-Petersburg
Есть несколько плат под этот прибор - https://sites.google.com/site/swr4arduino/
Могу поделиться.

_________________
Sergej Pypeć


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Синтезатор за полчаса
СообщениеДобавлено: Пт 20 ноя 2015 11:57 
Не в сети
Аватар пользователя

Зарегистрирован: Ср 17 дек 2008 01:00
Сообщений: 1488
Откуда: Малая Охта
RA1ATE писал(а):
Есть несколько плат под этот прибор - https://sites.google.com/site/swr4arduino/
Могу поделиться.

Мне пожалуйста. +7 921 967 03 шестьдесят восемь.

_________________
DE R1AIT / OH7FUV (2010) ex RA1AIT (2005-2010), UB5LQJ(1982), UB5-077-1242(1978-1982), ex op. UK5LBN (1978-1982).


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Синтезатор за полчаса
СообщениеДобавлено: Сб 21 ноя 2015 16:30 
Не в сети
Аватар пользователя

Зарегистрирован: Вс 03 май 2009 00:00
Сообщений: 212
Откуда: Saint-Petersburg
RA1ATE писал(а):
Есть несколько плат под этот прибор - https://sites.google.com/site/swr4arduino/
Могу поделиться.


Есть несколько желающих, предлагаю одному приехать ко мне (Веселый Поселок) сегодня (по работе напряженный график, освобождаюсь после 21:00, шесть дней в неделю) и отвезти все пять плат в клуб, напр, в мой QSL-ящик.

_________________
Sergej Pypeć


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Синтезатор за полчаса
СообщениеДобавлено: Вт 19 янв 2016 21:27 
Не в сети
Аватар пользователя

Зарегистрирован: Вс 03 май 2009 00:00
Сообщений: 212
Откуда: Saint-Petersburg
RA1ATE писал(а):
Есть несколько плат под этот прибор - https://sites.google.com/site/swr4arduino/
Могу поделиться.


Привез несколько плат на Попова, уже осталось 4, лежат в пакетике в ящике с QSL RA1ATE и др. Забирайте, кому надо. Только отпишите в личку, чтобы знал, что кончились и нужны ещ...

_________________
Sergej Pypeć


Вернуться наверх
 Профиль  
 
Показать сообщения за:  Сортировать по:  
Начать новую тему Ответить на тему  [ Сообщений: 23 ]  На страницу Пред.  1, 2

Часовой пояс: UTC + 3 часа [ Летнее время ]


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Анализ сайта онлайн
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB