Страница 22 из 33

Re:

Добавлено: Ср мар 30, 2011 07:56:00
Black Fire
kotovasiya писал(а):
-=SY=- писал(а):Добрый день.
Можно ли получить от вас прошивку для МЕГИ 8515 и дисплея 1602 (44780) ??
Спасибо
Продублирую,смотрите топ Пн Янв 05, 2009 12:09 pm и скачайте файл ,там хексы на несколько видов процессоров.Назначение ножек в схеме и название портов там одинаковое.
это по поводу прошивки (правда под 1602) ... фьюзы тоже гдето в начале мелькали (сохрернено на работе - не найдете , вечером выложу) , резисторы можно - главное отношение R2R - только нагрузочная способность уменьшится на порядок

Re:

Добавлено: Ср мар 30, 2011 07:56:11
Black Fire
два раза отпрвилось )))

Re: Re:

Добавлено: Ср мар 30, 2011 08:10:25
atmicandr
Black Fire писал(а):
kotovasiya писал(а): Продублирую,смотрите топ Пн Янв 05, 2009 12:09 pm и скачайте файл ,там хексы на несколько видов процессоров.Назначение ножек в схеме и название портов там одинаковое.
это по поводу прошивки (правда под 1602) ... фьюзы тоже гдето в начале мелькали (сохрернено на работе - не найдете , вечером выложу) , резисторы можно - главное отношение R2R - только нагрузочная способность уменьшится на порядок
Если это Вы мне ответ дали, то я Копец как Вам благодарен за помощь. Дисплей 1602 у меня есть и не один, а контроллер 8515 лежит как бельмо и до сегодняшнего дня не знал куда применить. :))

Re: DDS генератор на AVR

Добавлено: Чт мар 31, 2011 08:44:03
atmicandr
Black Fire отзовись, уж очень Ваша помощь требуется по моему вопросу о котором я пару постов задавал. Может кинете архивчик либо сюда либо мне на мыло, как Вам будет удобнее. С уважением Корчагин Андрей

Re: DDS генератор на AVR

Добавлено: Чт мар 31, 2011 18:01:25
Black Fire
Так я же написал выше ссылку - смотрите пост от - Пн Янв 05, 2009 12:09 там все есть

Re: DDS генератор на AVR

Добавлено: Чт мар 31, 2011 21:23:35
zvykov
А какое выходное сопротивление у генератора без всяких прибамбасов на выходе?????

Re: DDS генератор на AVR

Добавлено: Пт апр 01, 2011 07:57:57
Black Fire
зависит от резисторов примененных в цепях R2R и выходного делителя - нагрузочная способность не велика
для работы с унч и тд и тп хватит

Re: DDS генератор на AVR

Добавлено: Пт апр 01, 2011 14:53:31
Шалун
zvykov писал(а):А какое выходное сопротивление у генератора без всяких прибамбасов на выходе?????
У моего генератора Rвых.=1ком .

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

Rвходом осцила. можно пренебречь оно очень высокое, но можно ёщё вкл
на щупе делитель Х10. для минимального влияния. :)))

Re: DDS генератор на AVR

Добавлено: Ср апр 06, 2011 22:39:32
inkHunter
Расскажите пожалуйста как у вас получаеться шаг частоты 1 Гц ? И как вы меняете частоту, каким методом ? случайно не методом аккумулятора фазы ?

Re: DDS генератор на AVR

Добавлено: Ср апр 06, 2011 22:49:16
kotovasiya
Victor Gordienko писал(а): случайно не методом аккумулятора фазы ?
Именно им.

Re: DDS генератор на AVR

Добавлено: Ср апр 06, 2011 23:04:35
inkHunter
kotovasiya писал(а):
Victor Gordienko писал(а): случайно не методом аккумулятора фазы ?
Именно им.
Трудно понимаю как он работает .
вот есть массив косинуса
254,254,254,254,253,253,253,252,252,251,250,249,248,248,247,245,244,243,242,240,239....


где 0 гр. это 255, а 180 гр. это 0

дальше делаю вот так :

while (1)
{
PORTD=mcos[t];
t++;
}

пробывал через превывание ставить задержку плохо получаеться, если ставлю t+=2; частото увеличивается у 2 раза, ну не пойму как плавно сделать ?
может на примеры пилы проще будет :

while (1)
{
PORTD=t;
t++;
}

Расскажите пожалуйста ? а то голову сломал (((

Re: DDS генератор на AVR

Добавлено: Чт апр 07, 2011 00:23:38
kotovasiya

Код: Выделить всё

unsigned char cos[]={254,254,254,254,253,253,253,252,252,251,250,249,248,248,247,245,244,243,242,240,
239,237,236,234,232,231,229,227,225,223,221,219,217,214,212,210,207,205,202,200,
197,195,192,189,186,184,181,178,175,172,169,166,163,160,157,154,151,148,145,142,
139,136,132,129,126,123,120,117,114,111,107,104,101,98,95,92,89,86,83,80,77,75,72,
69,66,63,61,58,56,53,50,48,46,43,41,39,36,34,32,30,28,26,24,22,21,19,17,16,14,13,12,
10,9,8,7,6,5,4,3,3,2,2,1,1,0,0,0,0,0,0,0,0,1,1,2,2,3,3,4,5,6,7,8,9,10,12,13,14,16,17,19,
21,22,24,26,28,30,32,34,36,39,41,43,46,48,51,53,56,58,61,64,66,69,72,75,78,80,83,86,
89,92,95,98,101,105,108,111,114,117,120,123,126,129,133,136,139,142,145,148,151,
154,157,160,163,166,169,172,175,178,181,184,186,189,192,195,197,200,202,205,207,
210,212,214,217,219,221,223,225,227,229,231,233,234,236,237,239,240,242,243,244,
245,247,248,249,249,250,251,252,252,253,253,253,254,254,254,254};

unsigned long FAZA=2000000; //параметр частоты 


int main(void)
{
	unsigned long ACCU=0;	//акумулятор
	
   DDRD=0xFF;
	
   for (;;)
    {
    PORTD = cos[ACCU>>24];//выгружаем из массива в порт по старшему байту аккумулятора
	ACCU=ACCU+FAZA ; 
    }
}
В си еще не сильно шарю, но этот код работает. В отладчике посчитайте количество шагов в for.

п.с .Удалите массив в своем предыдущем сообщении,ужасно портит размер странички форума.

Re: DDS генератор на AVR

Добавлено: Чт апр 07, 2011 00:56:33
inkHunter
kotovasiya писал(а):

Код: Выделить всё

unsigned char cos[]={254,254,254,254,253,253,253,252,252,251,250,249,248,248,247,245,244,243,242,240,
239,237,236,234,232,231,229,227,225,223,221,219,217,214,212,210,207,205,202,200,
197,195,192,189,186,184,181,178,175,172,169,166,163,160,157,154,151,148,145,142,
139,136,132,129,126,123,120,117,114,111,107,104,101,98,95,92,89,86,83,80,77,75,72,
69,66,63,61,58,56,53,50,48,46,43,41,39,36,34,32,30,28,26,24,22,21,19,17,16,14,13,12,
10,9,8,7,6,5,4,3,3,2,2,1,1,0,0,0,0,0,0,0,0,1,1,2,2,3,3,4,5,6,7,8,9,10,12,13,14,16,17,19,
21,22,24,26,28,30,32,34,36,39,41,43,46,48,51,53,56,58,61,64,66,69,72,75,78,80,83,86,
89,92,95,98,101,105,108,111,114,117,120,123,126,129,133,136,139,142,145,148,151,
154,157,160,163,166,169,172,175,178,181,184,186,189,192,195,197,200,202,205,207,
210,212,214,217,219,221,223,225,227,229,231,233,234,236,237,239,240,242,243,244,
245,247,248,249,249,250,251,252,252,253,253,253,254,254,254,254};

unsigned long FAZA=2000000; //параметр частоты 


int main(void)
{
	unsigned long ACCU=0;	//акумулятор
	
   DDRD=0xFF;
	
   for (;;)
    {
    PORTD = cos[ACCU>>24];//выгружаем из массива в порт по старшему байту аккумулятора
	ACCU=ACCU+FAZA ; 
    }
}
В си еще не сильно шарю, но этот код работает. В отладчике посчитайте количество шагов в for.

п.с .Удалите массив в своем предыдущем сообщении,ужасно портит размер странички форума.
Спасибо Вам большое взатра буду разбираться, вопрос такой почему именно на 24 сдвигаем ? ACCU>>24

Re: DDS генератор на AVR

Добавлено: Чт апр 07, 2011 09:15:53
kotovasiya
Victor Gordienko писал(а):
kotovasiya писал(а):

Код: Выделить всё

unsigned char cos[]={254,254,254,254,253,253,253,252,252,251,250,249,248,248,247,245,244,243,242,240,
239,237,236,234,232,231,229,227,225,223,221,219,217,214,212,210,207,205,202,200,
197,195,192,189,186,184,181,178,175,172,169,166,163,160,157,154,151,148,145,142,
139,136,132,129,126,123,120,117,114,111,107,104,101,98,95,92,89,86,83,80,77,75,72,
69,66,63,61,58,56,53,50,48,46,43,41,39,36,34,32,30,28,26,24,22,21,19,17,16,14,13,12,
10,9,8,7,6,5,4,3,3,2,2,1,1,0,0,0,0,0,0,0,0,1,1,2,2,3,3,4,5,6,7,8,9,10,12,13,14,16,17,19,
21,22,24,26,28,30,32,34,36,39,41,43,46,48,51,53,56,58,61,64,66,69,72,75,78,80,83,86,
89,92,95,98,101,105,108,111,114,117,120,123,126,129,133,136,139,142,145,148,151,
154,157,160,163,166,169,172,175,178,181,184,186,189,192,195,197,200,202,205,207,
210,212,214,217,219,221,223,225,227,229,231,233,234,236,237,239,240,242,243,244,
245,247,248,249,249,250,251,252,252,253,253,253,254,254,254,254};

unsigned long FAZA=2000000; //параметр частоты 


int main(void)
{
	unsigned long ACCU=0;	//акумулятор
	
   DDRD=0xFF;
	
   for (;;)
    {
    PORTD = cos[ACCU>>24];//выгружаем из массива в порт по старшему байту аккумулятора
	ACCU=ACCU+FAZA ; 
    }
}
В си еще не сильно шарю, но этот код работает. В отладчике посчитайте количество шагов в for.

п.с .Удалите массив в своем предыдущем сообщении,ужасно портит размер странички форума.
Спасибо Вам большое взатра буду разбираться, вопрос такой почему именно на 24 сдвигаем ? ACCU>>24
Потому что вызывать из массива нужно 8битным числом(0-255) , из ACCU(32бита) нам нужен самый старший байт им можно задавать более низкие частоты до 0,01гц

Re: DDS генератор на AVR

Добавлено: Пт апр 15, 2011 20:19:24
-AnB-
Хочу выразить большую человеческую благодарность доброму и терпеливому kotovasiyе за проект.

Собрал за один вечер, заработал сразу. Очень полезная в моем арсенале весчъ!
Oт только маленький вопросик - при выборе формы сигнала, у меня так: ... TirR, TirF, SqaR, S1/2, S2/3, тут все понятно, а после на индикаторе EEPR, на осциллографе соответственно тишина, что это за режим, кто знает?

ATmega8535, кварц 16 мГц, прошивка из архива dds_1602_chk_Noblako.rar

Re: DDS генератор на AVR

Добавлено: Пт апр 15, 2011 23:24:47
-AnB-
Сорри, был невнимателен. Разобрался, это загрузка формы из памяти. EEPROM у меня прошит, но по нулевому адресу FF... Так должно быть?

Re: DDS генератор на AVR

Добавлено: Чт апр 21, 2011 13:03:23
-AnB-
Никто не пробовал создавать свою форму сигнала для EEPROM?

Re: DDS генератор на AVR

Добавлено: Пн май 09, 2011 21:50:31
Шалун
Заметил я у своего DDS генератора,
что изредко происходит какойто выброс в виде очень короткого импульса.
Решил поиследовать.
Вроде всё чисто.

Изображение


Вкл. режим послесвечения. И наблюдаю.
Через 5 мин.

Изображение

Через 20 мин

Изображение

Еще минут через 40-60 происходит полное заполнение выбросами
с каждого из 256 переходов 8ми разрядного ЦАП.

Уважаемый kotovasiya!
Можно как нибудь это побороть?
При исследование УНЧ и настройки фильтров зто не важно,
а если использовать DDS в качестве генератора импульсов
для цифровых устройств, то происходит ложное срабатывание
от этого короткого импульса.

Re: DDS генератор на AVR

Добавлено: Пн май 09, 2011 23:04:05
kotovasiya
Шалун писал(а):Заметил я у своего DDS генератора,
что изредко происходит какойто выброс в виде очень короткого импульса.
Решил поиследовать.
Вроде всё чисто.

Изображение


Вкл. режим послесвечения. И наблюдаю.
Через 5 мин.

Изображение

Через 20 мин

Изображение

Еще минут через 40-60 происходит полное заполнение выбросами
с каждого из 256 переходов 8ми разрядного ЦАП.

Уважаемый kotovasiya!
Можно как нибудь это побороть?
При исследование УНЧ и настройки фильтров зто не важно,
а если использовать DDS в качестве генератора импульсов
для цифровых устройств, то происходит ложное срабатывание
от этого короткого импульса.
Это прерывание опроса кнопок,избавиться можно,но для этого нужно изменить схему и поставить другой контроллер

Re: DDS генератор на AVR

Добавлено: Вт май 10, 2011 13:06:22
Шалун
Жаль.
Из-за иголок ограничивает применение в качестве генератора импульсов. :cry:

Изображение

30мин накопления.
Изображение

Изображение

:(