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

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

Добавлено: Сб фев 25, 2012 20:31:49
saschai
Смотрел на него, но на девайс от kotovasiya, еще два года назад платка разведена, и деталюшки лежат, на стенде я прошивку проверил. У девайса по ссылке, насколько я понял, сурьезная проблема с потерей памяти, кроме того опять двуполярное питание, аналоговой части.
Ладно вопрос снял, буду мутить самостоятельно, мне выходная амплитуда вольт до 14 надо.

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

Добавлено: Сб фев 25, 2012 20:40:40
BigallS
saschai писал(а):Смотрел на него, но на девайс от kotovasiya, еще два года назад платка разведена, и деталюшки лежат, на стенде я прошивку проверил. У девайса по ссылке, насколько я понял, сурьезная проблема с потерей памяти, кроме того опять двуполярное питание, аналоговой части.
Ладно вопрос снял, буду мутить самостоятельно, мне выходная амплитуда вольт до 14 надо.
А какая там может быть проблема с памятью? Не понял.

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

Добавлено: Сб фев 25, 2012 23:33:03
saschai
Я спаял и пользуюсь. Честно говоря по ходу возникли несколько проблем:
1) недостаток - невозможна перестройка частоты при включенном генераторе. Т.е. если нужно менять частоту, то сначала выключаем генерацию сигнала, потом перестраиваем частоту, потом снова включаем генерацию сигнала. Это зачастую неудобно, когда нужно следить за реакцией налаживаемого устройства на плавное изменение частоты. Например для управления оборотами шаговика перестраивать частоту нужно только плавно.

2) недостаток - дважды слетал EEPROM. Автор предусмотрел запоминание установленных режимов в EEPROM, но это совсем не обязательно. Уж лучше бы ничего не запоминал и не использовал его совсем. Или в крайнем случае при повреждении EEPROM грузил установки "по умолчанию" из FLASH. Зато был бы надежнее.

В целом в остальном работой я доволен. Просьба к тем, кто смыслит в написании программ для AVR исправить эти два недостатка.
Разрушение данных в EEPROM приводит к полной неработоспособности генератора. Очень неприятная проблема в самый неподходящий момент. Я обычно внутри корпуса генератора держу запасной запрограммированый контроллер. Но это же не выход из положения. Почему не предусмотреть сохранение только текущих данных, которые не повлияют в целом на работоспособность, если будет разрушение EEPROM? При потере данных из Flash грузим установки по умолчанию. Все остальное, что касается работоспособности программы хранится во Flash.
Так надежнее будет работать.
Сам не собирал, но и голословно утверждать не берусь, потом еще раз повторю, на этот генератор у меня все есть, а на приведенный по ссылке кроме дисплея ничего нет. Хочу доделать девайс от kotovasiya функционально, цифровая часть, выполнена по тому же принципу, а вот 8535 у меня после Хаммера в любом варианте по три штуки, надо же их куда то применить.
2 BigallS Если Вы подробно и обоснованно объясните, чем вариант по ссылке лучше варианта kotovasiya, с удовольствием воспользуюсь Вашей рекомендацией, я говорю только про цифровую часть, тот усилитель что в статье по ссылке, мне не подходит, а здесь его вообще нет, так, что аналоговую часть опускаем.

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

Добавлено: Сб фев 25, 2012 23:48:57
BigallS
saschai писал(а):
....
...
Сам не собирал, но и голословно утверждать не берусь, потом еще раз повторю, на этот генератор у меня все есть, а на приведенный по ссылке кроме дисплея ничего нет. Хочу доделать девайс от kotovasiya функционально, цифровая часть, выполнена по тому же принципу, а вот 8535 у меня после Хаммера в любом варианте по три штуки, надо же их куда то применить.
2 BigallS Если Вы подробно и обоснованно объясните, чем вариант по ссылке лучше варианта kotovasiya, с удовольствием воспользуюсь Вашей рекомендацией, я говорю только про цифровую часть, тот усилитель что в статье по ссылке, мне не подходит, а здесь его вообще нет, так, что аналоговую часть опускаем.
А что я должен объяснять? Я что говорил, что по ссылке вариант лучше? Я просто дал ссылку варианта у которого доделана аналоговая часть выхода, как понял она вам не подходит, не используйте.

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

Добавлено: Вс фев 26, 2012 00:03:56
saschai
Ну и на том спасибо! :)

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

Добавлено: Вс фев 26, 2012 00:20:29
Леонид Иванович
У меня генератор вот такой:

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

Добавлено: Вс фев 26, 2012 10:40:13
BigallS
Леонид Иванович писал(а):У меня генератор вот такой:
Посмотрел, класс!!!! Красиво сделано, а на печатной плате (рис. sg-420m_pcb.jpg) одной микросхемы нет, интересно почему?
Написали бы статью по генератору.

P.S. Извиняюсь сразу не глянул описание есть SG-420N.pdf

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

Добавлено: Вс фев 26, 2012 10:51:20
saschai
Леонид Иванович Благодарю!
Всегда нравились Ваши работы. Проработка, дизайн, аккуратность. Все очень толково, насколько я понял, даже питание аналоговой от цифровой части отделено.
С удовольствием бы повторил разработку 1в1. К сожалению МЭЛТ сейчас, у нас фиг найдешь и самое главное, частенько надо посмотреть форму сигнала, на выходе изучаемого устройства, когда на него подаешь меандр, в принципе из за него и решил собрать генератор, раньше обходился софтовым, но какой из него прямоугольник и пила лезут, жутики :)). Можно на меандр собрать отдельную платку на логических элементах, но это же не наш метод :)). Есть еще один момент, у меня на устройство лежит 10Ватный "правильный торик", к сожалению там только одна обмотка на 14в ХХ , городить всякие удвоители, разветвители умножители, не хочу, по религиозным соображениям :)) . В итоге вчера расписал свою схему выхлопа, не такая изящная как у Вас, однако работает. Возможно взялся бы и за цифровую часть, собственного производства, на семисегментниках, с измерителем амплитуды выходного сигнала, но просто, банально нет времени этим заниматься, хочется по быстрому, выкроил день, сел развел протравил спаял, настроил, закрепил все аккуратно на кусочке фанеры и в подобающую коробочку :)) Всегда завидовал людям, которые, могут в красивых корпусах разместить свои устройства на столе или на полках, единственное куда я могу убрать свою поделку, это в ящичек. :)) и достать при необходимости, просто нет места в квартире.

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

Добавлено: Вс фев 26, 2012 11:15:49
Леонид Иванович
Если нужны прямоугольники, то такой вариант тоже есть (см. присоединенный файл). Что касается МЭЛТ, то несложно сделать его эмулятор на микроконтроллере + LEDs или 1601.

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

Добавлено: Вс фев 26, 2012 11:37:05
saschai
"Вот, ложку дай, гов-а дай...." :)))
А нет ли :)) , варианта, синусоиды и прямоугольных импульсов в одном устройстве?
Что касается МЭЛТ, то несложно сделать его эмулятор на микроконтроллере + LEDs или 1601.
Те поставить еще один МК?

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

Добавлено: Вс фев 26, 2012 12:27:41
Леонид Иванович
saschai писал(а):А нет ли :)) , варианта, синусоиды и прямоугольных импульсов в одном устройстве?
Такие генераторы имеют очень разные требования к тракту сигнала. В простейшем варианте гораздо удобнее разделить генераторы. Если же речь идет об AWG, то подобный генератор обсуждается здесь: http://kazus.ru/forums/showpost.php?p=4 ... tcount=387. Но я там высказывал мнение, что такой генератор радиолюбителю не нужен: http://kazus.ru/forums/showpost.php?p=4 ... tcount=372.
Те поставить еще один МК?
Да. Который будет делать динамическую индикацию. Можно сделать и по-другому: организовать статическую индикацию на регистрах 74HC595. Но это потребует переделки программы. Или вообще перейти на ЖКИ 1601 или 1602. Это потребует еще большей переделки программы и перехода на контроллер с большей памятью. Мне нет смысла этим заниматься, так как генератор у меня давно готов и успешно работает. Тем более, есть более совершенные модели. Если есть желание переделать, исходники могу предоставить. Только они на ASM и код очень плотный.

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

Добавлено: Вс фев 26, 2012 13:30:15
saschai
Благодарю!
Возможно, действительно проще разделить, сигналы, с другой стороны софтовый синус, меня устраивает, те стоит заморочиться на генератор прямоугольного сигнала. Кстати, на всякий случай нельзя ли перекомпилировать прошивку на ATtiny2313

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

Добавлено: Вс фев 26, 2012 14:44:09
Леонид Иванович
По идее, на tiny будет работать без перекомпиляции. Только фузы выставить на внешний кварц без деления.

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

Добавлено: Пн фев 27, 2012 01:15:53
saschai
Леонид Иванович К великому сожалению, таких индикаторов даже у производителя нет в наличии :cry:
http://www.melt.com.ru/shop/mt-10t7-7t.html, но я так понял с этим, они взаимозаменяемы http://www.melt.com.ru/shop/mt-10t8-3tla.html?
Очень не хочется, опять с нуля,делать, что то свое, по непрофильной теме :))
Еще вопросик в описании на синусоидальный вариант речь идет о 2313, в первой ее ипостаси, схема на мегу8, а прошивка? или просто опечатка в описании? К сожалению не видно низа печатки, но я так понял деление цифровой и аналоговой земли идет по середине ЦАПы, а нижний слой сплошной земляной полигон? Судя по фото печати, отверстия без металлизации, как Вам, так четко удается отпаяться по внешнему слою, судя по приподнятым элементам, пропаиваются два слоя, но это же титаническая работа, не проще ли делать на проходной волосок, под слегка больший диаметр отверстия? Или все таки есть какой то секрет, типа пистона, которые сейчас днем с огнем и то не найдешь? Очень хочется посмотреть на платку в гифе или жопеге, или ПДФ, не обязательно под ЛУТ, если буду делать, все равно аналоговая часть под SO8, другие ОУ и Мелф резисторы, те то, чего у меня есть в наличии.
Еще хотелось бы задавать смещение сигнала в пределах 3в.
Заранее благодарю!
С уважением, Александр.
ЗЫ, что бы не засорять чужую тему, наверное проще в личку.

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

Добавлено: Пн фев 27, 2012 09:21:16
Леонид Иванович
saschai писал(а):К великому сожалению, таких индикаторов даже у производителя нет в наличии :cry:
http://www.melt.com.ru/shop/mt-10t7-7t.html, но я так понял с этим, они взаимозаменяемы http://www.melt.com.ru/shop/mt-10t8-3tla.html?
Да. Они отличаются только наличием подсветки.
saschai писал(а):в описании на синусоидальный вариант речь идет о 2313, в первой ее ипостаси, схема на мегу8, а прошивка? или просто опечатка в описании?
Это разные генераторы. SG-420 сделан на 2313 и 10-разрядном ЦАП, SG-420M - на m8 и 16-разрядном ЦАП. Для SG-420M нет никакого описания, вот я и вложил в архив описание на SG-420, который по меню не отличается. Прошивка для m8.
saschai писал(а):К сожалению не видно низа печатки
Там же есть PLT-файл. Для просмотра и печати файла нужна программа PLT_Print.exe (http://www.platnaya.ru/programs_plt.shtml?from=3050).
saschai писал(а):Судя по фото печати, отверстия без металлизации, как Вам, так четко удается отпаяться по внешнему слою, судя по приподнятым элементам, пропаиваются два слоя, но это же титаническая работа, не проще ли делать на проходной волосок, под слегка больший диаметр отверстия? Или все таки есть какой то секрет, типа пистона, которые сейчас днем с огнем и то не найдешь?
Да, плата без металлизации, делалась с помощью ЛУТ. Не понимаю, какая проблема пропаять выводы элементов сверху? Ткнул паяльником - и готово. А с волоском или пистонами еще возиться надо. Волосок я ставлю в тех случаях, когда корпус элемента не может быть приподнят над платой.
saschai писал(а):Очень хочется посмотреть на платку в гифе или жопеге, или ПДФ
Отвечал выше, есть PLT. Это векторный формат. Из него можете распечатать любой слой в любом масштабе. Или напечатать на PS-принтере в файл и сделать pdf.
saschai писал(а):Еще хотелось бы задавать смещение сигнала в пределах 3в.
Это нужно делать в выходном каскаде после регулятора уровня.

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

Добавлено: Пн фев 27, 2012 11:56:56
saschai
Благодарю!
Если удастся заказать индикатор, с удовольствием повторю Вашу конструкцию!
Спасибо, за подробные ответы.
С уважением, Александр.

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

Добавлено: Ср апр 25, 2012 01:33:51
Nickolai
Здравствуйте.
Собрал генератор на ATmega8, с дисплеем на контроллере KS0066 ( одно строчный ) но индикация есть если только ставлю кварц на 8МГц, при кварце на 16МГц индикации вообще нету. :dont_know: Пробовал двух строчные дисплеи на контроллере HD44780 так тоже вообще нет индикации, даже с кварцем на 8МГц. Прошивки пробовал разные, dds_M8.zip с 2 страницы, dds_m8_0802er.rar с 6 страницы.
Сигналы на выходе генератора есть, кнопки работают.

Пожалуйста, может кто поможет, можно ли переделать прошивку dds_m8_0802er.rar с 6 страницы под дисплей на контроллере HD44780 (двухстрочный), ну и что бы работал с кварцем на 16МГц. :cry:

Добавил кнопку RESET на первую ногу ATmega8, после нескольких нажатий (сброса ) запускаются все дисплеи, даже с кварцем на 16МГц. Наверное проблема с инициализацией дисплея, но как сделать изменения, :dont_know: ведь исходник написан на Algorithm Builder. :cry:

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

Добавлено: Пн май 07, 2012 01:39:54
ataman
Здравствуйте

Может у кого то есть в проект генератора в CodeVisionAVR ?

Я начал делать свой генератор, пока получается не очень.

Проблема 1: Как сделать что б при нажатии на кнопку "SIN" генерировался синус и при этом надпись на дисплее появлялась "Сигнал: синус". И так же при нажатии на кнопку "Pila" и "Meander"

Проблема 2: Как регулировать амплитуду ?

Проблема 3: Как регулировать частоту?

Проект в CodeVision + в Протеусе прикреплены

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

#include <mega8.h>
#include <delay.h>
#asm 
.equ __lcd_port=0x12;        
#endasm
#include <lcd.h>

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};

int  FAZA=100;
int dis=0; 
char i;   
int   ACCU=0;

void reset()
{
    DDRB=0x00;
    PORTB=0x00;  
    DDRC=0xFF;
    PORTC=0x00;
    lcd_putsf("Reset");
}

interrupt [EXT_INT1] void ext_int1_isr(void)
{
  reset();
}

void main(void)
{

DDRB=0xff;
/*PORTB=0x00;
DDRB=0x08;*/

lcd_init(16);
lcd_gotoxy(0,0);
//lcd_putsf("Signal: Sin");

//настройка прерывания на сброс
DDRD.3=0;   // высокий уровень на входе 
PORTD.3=1;  // при отсутствии внутренего сигнала
SREG|= (1<<7); //разрешаем общие прерывания
GICR|=(1<<7);   //разрешаем прерывание по INT1    
MCUCR|=(1<<1); //прерывание по ниспадающему фронту сигнала на INT0

/*DDRC&=~(1<<1);
PORTC|=(1<<1);*/

while (1)
{
  if (!(PINC & (1<<PINC0)))// Косинус
  {
      PORTB = cos[i];
      ACCU=ACCU+FAZA; 
      i=ACCU>>8; 
  }
   
  if (!(PINC & (1<<PINC1)))  // Пила
  {
      PORTB = cos[i/2];
      ACCU=ACCU+FAZA; 
      i=ACCU>>8;
  }
  

}
  
}

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

Добавлено: Пн май 07, 2012 22:24:54
Nickolai
ataman писал(а):
Проблема 2: Как регулировать амплитуду ?

[/code]

Через резистор, к примеру от 10к до 50к.

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

Добавлено: Вт май 08, 2012 05:18:22
ataman
Nickolai писал(а):Через резистор, к примеру от 10к до 50к.
Спасибо, сейчас попробую в протеусе!

Но более важно как регулировать частоту ?