DDS генератор на AVR
- saschai
- Говорящий с текстолитом
- Сообщения: 1596
- Зарегистрирован: Вс дек 14, 2008 20:36:47
- Откуда: SPb
Re: DDS генератор на AVR
Смотрел на него, но на девайс от kotovasiya, еще два года назад платка разведена, и деталюшки лежат, на стенде я прошивку проверил. У девайса по ссылке, насколько я понял, сурьезная проблема с потерей памяти, кроме того опять двуполярное питание, аналоговой части.
Ладно вопрос снял, буду мутить самостоятельно, мне выходная амплитуда вольт до 14 надо.
Ладно вопрос снял, буду мутить самостоятельно, мне выходная амплитуда вольт до 14 надо.
Re: DDS генератор на AVR
saschai писал(а):Смотрел на него, но на девайс от kotovasiya, еще два года назад платка разведена, и деталюшки лежат, на стенде я прошивку проверил. У девайса по ссылке, насколько я понял, сурьезная проблема с потерей памяти, кроме того опять двуполярное питание, аналоговой части.
Ладно вопрос снял, буду мутить самостоятельно, мне выходная амплитуда вольт до 14 надо.
А какая там может быть проблема с памятью? Не понял.
- saschai
- Говорящий с текстолитом
- Сообщения: 1596
- Зарегистрирован: Вс дек 14, 2008 20:36:47
- Откуда: SPb
Re: DDS генератор на AVR
Я спаял и пользуюсь. Честно говоря по ходу возникли несколько проблем:
1) недостаток - невозможна перестройка частоты при включенном генераторе. Т.е. если нужно менять частоту, то сначала выключаем генерацию сигнала, потом перестраиваем частоту, потом снова включаем генерацию сигнала. Это зачастую неудобно, когда нужно следить за реакцией налаживаемого устройства на плавное изменение частоты. Например для управления оборотами шаговика перестраивать частоту нужно только плавно.
2) недостаток - дважды слетал EEPROM. Автор предусмотрел запоминание установленных режимов в EEPROM, но это совсем не обязательно. Уж лучше бы ничего не запоминал и не использовал его совсем. Или в крайнем случае при повреждении EEPROM грузил установки "по умолчанию" из FLASH. Зато был бы надежнее.
В целом в остальном работой я доволен. Просьба к тем, кто смыслит в написании программ для AVR исправить эти два недостатка.
Разрушение данных в EEPROM приводит к полной неработоспособности генератора. Очень неприятная проблема в самый неподходящий момент. Я обычно внутри корпуса генератора держу запасной запрограммированый контроллер. Но это же не выход из положения. Почему не предусмотреть сохранение только текущих данных, которые не повлияют в целом на работоспособность, если будет разрушение EEPROM? При потере данных из Flash грузим установки по умолчанию. Все остальное, что касается работоспособности программы хранится во Flash.
Так надежнее будет работать.
Сам не собирал, но и голословно утверждать не берусь, потом еще раз повторю, на этот генератор у меня все есть, а на приведенный по ссылке кроме дисплея ничего нет. Хочу доделать девайс от kotovasiya функционально, цифровая часть, выполнена по тому же принципу, а вот 8535 у меня после Хаммера в любом варианте по три штуки, надо же их куда то применить.
2 BigallS Если Вы подробно и обоснованно объясните, чем вариант по ссылке лучше варианта kotovasiya, с удовольствием воспользуюсь Вашей рекомендацией, я говорю только про цифровую часть, тот усилитель что в статье по ссылке, мне не подходит, а здесь его вообще нет, так, что аналоговую часть опускаем.
Re: DDS генератор на AVR
saschai писал(а):....
...
Сам не собирал, но и голословно утверждать не берусь, потом еще раз повторю, на этот генератор у меня все есть, а на приведенный по ссылке кроме дисплея ничего нет. Хочу доделать девайс от kotovasiya функционально, цифровая часть, выполнена по тому же принципу, а вот 8535 у меня после Хаммера в любом варианте по три штуки, надо же их куда то применить.
2 BigallS Если Вы подробно и обоснованно объясните, чем вариант по ссылке лучше варианта kotovasiya, с удовольствием воспользуюсь Вашей рекомендацией, я говорю только про цифровую часть, тот усилитель что в статье по ссылке, мне не подходит, а здесь его вообще нет, так, что аналоговую часть опускаем.
А что я должен объяснять? Я что говорил, что по ссылке вариант лучше? Я просто дал ссылку варианта у которого доделана аналоговая часть выхода, как понял она вам не подходит, не используйте.
- saschai
- Говорящий с текстолитом
- Сообщения: 1596
- Зарегистрирован: Вс дек 14, 2008 20:36:47
- Откуда: SPb
Re: DDS генератор на AVR
Ну и на том спасибо! 
- Леонид Иванович
- Друг Кота
- Сообщения: 4779
- Зарегистрирован: Сб апр 02, 2011 12:40:46
- Откуда: Минск
- Контактная информация:
Re: DDS генератор на AVR
У меня генератор вот такой:
- Вложения
-
- sg-420m.zip
- (803.3 КБ) 1499 скачиваний
Re: DDS генератор на AVR
Леонид Иванович писал(а):У меня генератор вот такой:
Посмотрел, класс!!!! Красиво сделано, а на печатной плате (рис. sg-420m_pcb.jpg) одной микросхемы нет, интересно почему?
Написали бы статью по генератору.
P.S. Извиняюсь сразу не глянул описание есть SG-420N.pdf
- saschai
- Говорящий с текстолитом
- Сообщения: 1596
- Зарегистрирован: Вс дек 14, 2008 20:36:47
- Откуда: SPb
Re: DDS генератор на AVR
Леонид Иванович Благодарю!
Всегда нравились Ваши работы. Проработка, дизайн, аккуратность. Все очень толково, насколько я понял, даже питание аналоговой от цифровой части отделено.
С удовольствием бы повторил разработку 1в1. К сожалению МЭЛТ сейчас, у нас фиг найдешь и самое главное, частенько надо посмотреть форму сигнала, на выходе изучаемого устройства, когда на него подаешь меандр, в принципе из за него и решил собрать генератор, раньше обходился софтовым, но какой из него прямоугольник и пила лезут, жутики
. Можно на меандр собрать отдельную платку на логических элементах, но это же не наш метод
. Есть еще один момент, у меня на устройство лежит 10Ватный "правильный торик", к сожалению там только одна обмотка на 14в ХХ , городить всякие удвоители, разветвители умножители, не хочу, по религиозным соображениям
. В итоге вчера расписал свою схему выхлопа, не такая изящная как у Вас, однако работает. Возможно взялся бы и за цифровую часть, собственного производства, на семисегментниках, с измерителем амплитуды выходного сигнала, но просто, банально нет времени этим заниматься, хочется по быстрому, выкроил день, сел развел протравил спаял, настроил, закрепил все аккуратно на кусочке фанеры и в подобающую коробочку
Всегда завидовал людям, которые, могут в красивых корпусах разместить свои устройства на столе или на полках, единственное куда я могу убрать свою поделку, это в ящичек.
и достать при необходимости, просто нет места в квартире.
Всегда нравились Ваши работы. Проработка, дизайн, аккуратность. Все очень толково, насколько я понял, даже питание аналоговой от цифровой части отделено.
С удовольствием бы повторил разработку 1в1. К сожалению МЭЛТ сейчас, у нас фиг найдешь и самое главное, частенько надо посмотреть форму сигнала, на выходе изучаемого устройства, когда на него подаешь меандр, в принципе из за него и решил собрать генератор, раньше обходился софтовым, но какой из него прямоугольник и пила лезут, жутики
- Леонид Иванович
- Друг Кота
- Сообщения: 4779
- Зарегистрирован: Сб апр 02, 2011 12:40:46
- Откуда: Минск
- Контактная информация:
Re: DDS генератор на AVR
Если нужны прямоугольники, то такой вариант тоже есть (см. присоединенный файл). Что касается МЭЛТ, то несложно сделать его эмулятор на микроконтроллере + LEDs или 1601.
- Вложения
-
- pg-760.zip
- (949.69 КБ) 827 скачиваний
- saschai
- Говорящий с текстолитом
- Сообщения: 1596
- Зарегистрирован: Вс дек 14, 2008 20:36:47
- Откуда: SPb
Re: DDS генератор на AVR
"Вот, ложку дай, гов-а дай...."
А нет ли
, варианта, синусоиды и прямоугольных импульсов в одном устройстве?
Те поставить еще один МК?
А нет ли
Что касается МЭЛТ, то несложно сделать его эмулятор на микроконтроллере + LEDs или 1601.
Те поставить еще один МК?
- Леонид Иванович
- Друг Кота
- Сообщения: 4779
- Зарегистрирован: Сб апр 02, 2011 12:40:46
- Откуда: Минск
- Контактная информация:
Re: DDS генератор на AVR
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 и код очень плотный.
- saschai
- Говорящий с текстолитом
- Сообщения: 1596
- Зарегистрирован: Вс дек 14, 2008 20:36:47
- Откуда: SPb
Re: DDS генератор на AVR
Благодарю!
Возможно, действительно проще разделить, сигналы, с другой стороны софтовый синус, меня устраивает, те стоит заморочиться на генератор прямоугольного сигнала. Кстати, на всякий случай нельзя ли перекомпилировать прошивку на ATtiny2313
Возможно, действительно проще разделить, сигналы, с другой стороны софтовый синус, меня устраивает, те стоит заморочиться на генератор прямоугольного сигнала. Кстати, на всякий случай нельзя ли перекомпилировать прошивку на ATtiny2313
- Леонид Иванович
- Друг Кота
- Сообщения: 4779
- Зарегистрирован: Сб апр 02, 2011 12:40:46
- Откуда: Минск
- Контактная информация:
Re: DDS генератор на AVR
По идее, на tiny будет работать без перекомпиляции. Только фузы выставить на внешний кварц без деления.
- saschai
- Говорящий с текстолитом
- Сообщения: 1596
- Зарегистрирован: Вс дек 14, 2008 20:36:47
- Откуда: SPb
Re: DDS генератор на AVR
Леонид Иванович К великому сожалению, таких индикаторов даже у производителя нет в наличии
http://www.melt.com.ru/shop/mt-10t7-7t.html, но я так понял с этим, они взаимозаменяемы http://www.melt.com.ru/shop/mt-10t8-3tla.html?
Очень не хочется, опять с нуля,делать, что то свое, по непрофильной теме
Еще вопросик в описании на синусоидальный вариант речь идет о 2313, в первой ее ипостаси, схема на мегу8, а прошивка? или просто опечатка в описании? К сожалению не видно низа печатки, но я так понял деление цифровой и аналоговой земли идет по середине ЦАПы, а нижний слой сплошной земляной полигон? Судя по фото печати, отверстия без металлизации, как Вам, так четко удается отпаяться по внешнему слою, судя по приподнятым элементам, пропаиваются два слоя, но это же титаническая работа, не проще ли делать на проходной волосок, под слегка больший диаметр отверстия? Или все таки есть какой то секрет, типа пистона, которые сейчас днем с огнем и то не найдешь? Очень хочется посмотреть на платку в гифе или жопеге, или ПДФ, не обязательно под ЛУТ, если буду делать, все равно аналоговая часть под SO8, другие ОУ и Мелф резисторы, те то, чего у меня есть в наличии.
Еще хотелось бы задавать смещение сигнала в пределах 3в.
Заранее благодарю!
С уважением, Александр.
ЗЫ, что бы не засорять чужую тему, наверное проще в личку.
http://www.melt.com.ru/shop/mt-10t7-7t.html, но я так понял с этим, они взаимозаменяемы http://www.melt.com.ru/shop/mt-10t8-3tla.html?
Очень не хочется, опять с нуля,делать, что то свое, по непрофильной теме
Еще вопросик в описании на синусоидальный вариант речь идет о 2313, в первой ее ипостаси, схема на мегу8, а прошивка? или просто опечатка в описании? К сожалению не видно низа печатки, но я так понял деление цифровой и аналоговой земли идет по середине ЦАПы, а нижний слой сплошной земляной полигон? Судя по фото печати, отверстия без металлизации, как Вам, так четко удается отпаяться по внешнему слою, судя по приподнятым элементам, пропаиваются два слоя, но это же титаническая работа, не проще ли делать на проходной волосок, под слегка больший диаметр отверстия? Или все таки есть какой то секрет, типа пистона, которые сейчас днем с огнем и то не найдешь? Очень хочется посмотреть на платку в гифе или жопеге, или ПДФ, не обязательно под ЛУТ, если буду делать, все равно аналоговая часть под SO8, другие ОУ и Мелф резисторы, те то, чего у меня есть в наличии.
Еще хотелось бы задавать смещение сигнала в пределах 3в.
Заранее благодарю!
С уважением, Александр.
ЗЫ, что бы не засорять чужую тему, наверное проще в личку.
- Леонид Иванович
- Друг Кота
- Сообщения: 4779
- Зарегистрирован: Сб апр 02, 2011 12:40:46
- Откуда: Минск
- Контактная информация:
Re: DDS генератор на AVR
saschai писал(а):К великому сожалению, таких индикаторов даже у производителя нет в наличии![]()
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в.
Это нужно делать в выходном каскаде после регулятора уровня.
- saschai
- Говорящий с текстолитом
- Сообщения: 1596
- Зарегистрирован: Вс дек 14, 2008 20:36:47
- Откуда: SPb
Re: DDS генератор на AVR
Благодарю!
Если удастся заказать индикатор, с удовольствием повторю Вашу конструкцию!
Спасибо, за подробные ответы.
С уважением, Александр.
Если удастся заказать индикатор, с удовольствием повторю Вашу конструкцию!
Спасибо, за подробные ответы.
С уважением, Александр.
Re: DDS генератор на AVR
Здравствуйте.
Собрал генератор на ATmega8, с дисплеем на контроллере KS0066 ( одно строчный ) но индикация есть если только ставлю кварц на 8МГц, при кварце на 16МГц индикации вообще нету.
Пробовал двух строчные дисплеи на контроллере HD44780 так тоже вообще нет индикации, даже с кварцем на 8МГц. Прошивки пробовал разные, dds_M8.zip с 2 страницы, dds_m8_0802er.rar с 6 страницы.
Сигналы на выходе генератора есть, кнопки работают.
Пожалуйста, может кто поможет, можно ли переделать прошивку dds_m8_0802er.rar с 6 страницы под дисплей на контроллере HD44780 (двухстрочный), ну и что бы работал с кварцем на 16МГц.
Добавил кнопку RESET на первую ногу ATmega8, после нескольких нажатий (сброса ) запускаются все дисплеи, даже с кварцем на 16МГц. Наверное проблема с инициализацией дисплея, но как сделать изменения,
ведь исходник написан на Algorithm Builder. 
Собрал генератор на ATmega8, с дисплеем на контроллере KS0066 ( одно строчный ) но индикация есть если только ставлю кварц на 8МГц, при кварце на 16МГц индикации вообще нету.
Пробовал двух строчные дисплеи на контроллере HD44780 так тоже вообще нет индикации, даже с кварцем на 8МГц. Прошивки пробовал разные, dds_M8.zip с 2 страницы, dds_m8_0802er.rar с 6 страницы.Сигналы на выходе генератора есть, кнопки работают.
Пожалуйста, может кто поможет, можно ли переделать прошивку dds_m8_0802er.rar с 6 страницы под дисплей на контроллере HD44780 (двухстрочный), ну и что бы работал с кварцем на 16МГц.
Добавил кнопку RESET на первую ногу ATmega8, после нескольких нажатий (сброса ) запускаются все дисплеи, даже с кварцем на 16МГц. Наверное проблема с инициализацией дисплея, но как сделать изменения,
ведь исходник написан на Algorithm Builder. - Вложения
-
- dds_m8_0802er.rar
- Прошивка с 6 страницы.
- (45.08 КБ) 478 скачиваний
Nik
Re: DDS генератор на AVR
Здравствуйте
Может у кого то есть в проект генератора в CodeVisionAVR ?
Я начал делать свой генератор, пока получается не очень.
Проблема 1: Как сделать что б при нажатии на кнопку "SIN" генерировался синус и при этом надпись на дисплее появлялась "Сигнал: синус". И так же при нажатии на кнопку "Pila" и "Meander"
Проблема 2: Как регулировать амплитуду ?
Проблема 3: Как регулировать частоту?
Проект в CodeVision + в Протеусе прикреплены
Может у кого то есть в проект генератора в 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;
}
}
}
- Вложения
-
- dds.zip
- (129.25 КБ) 421 скачивание
Последний раз редактировалось ataman Вт май 08, 2012 05:19:33, всего редактировалось 1 раз.
[color=#800000][b][i][u]Я вообще боюсь собак[/u][/i][/b][/color]
Re: DDS генератор на AVR
ataman писал(а):
Проблема 2: Как регулировать амплитуду ?
[/code]
Через резистор, к примеру от 10к до 50к.
- Вложения
-
- reg-u.JPG
- Регулировка вых.
- (14.95 КБ) 716 скачиваний
Nik
Re: DDS генератор на AVR
Nickolai писал(а):Через резистор, к примеру от 10к до 50к.
Спасибо, сейчас попробую в протеусе!
Но более важно как регулировать частоту ?
[color=#800000][b][i][u]Я вообще боюсь собак[/u][/i][/b][/color]