Вопросы и замечания по статьям и схемам, представленным на нашем сайте

При поддержке РадиоКОТструктор.ру


Ответить

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

Пн июн 04, 2018 13:52:33

Много проще изменить направление энкодера сменой прошивки. В архиве DDS_23 обе прошивки. Есть изменения.
Раньше при выходе из меню настроек всегда выходили в режим SINE, теперь туда, где были ранее.

Добавлено after 33 minutes 56 seconds:
Пр просьбе leo476, а именно
В связи с этим есть к вам ,большая просьба доработать прошивку согласно приложенной схеме, если вас не затруднит и есть возможность.
Доработки:
1.Вывести на дисплей индикатор степени зарядки аккумулятора.
2.Включение длительным нажатием кнопки S1.
3.Выключение длительным нажатием кнопки S1.
4.При разрядке аккумулятора до 3.0 вольт отключать прибор и не давать его включать, пока напряжение на аккумуляторе не увеличится (защита от переразряда).
сделал это. В архиве DDS_4_BAT прошивка и схема, по которой он это сделал. Теперь так:
- включение длительным нажатием кнопки энкодера;
- выключаем длительным нажатием, при этом входим в меню сразу на пункт OFF и повторным нажатием выключаем;
- также в меню отображается напряжение батареи.
Вложения
DDS_4_BAT.zip
(65.53 KiB) Скачиваний: 948
DDS_23.zip
(36.62 KiB) Скачиваний: 800
Последний раз редактировалось grott Вт июн 05, 2018 10:52:00, всего редактировалось 1 раз.

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

Пн июн 04, 2018 16:07:09

Спасибо, в выходные залью.

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

Пн авг 27, 2018 12:37:13

У меня вопрос к тем, у кого генератор на основе сабжа, все таки, заработал :)
Точность частоты, генерируемой AD9833, по эталонному генератору кто-нибудь проверял?
У меня платка с AD9833 и обвязкой от алиэкспресс. Купил готовую.
Достаточно качественно выполнена, промыта...я подключался только к цифровым сигналам управления.
Программа, экран, энкодер.. - это все понятно и работает :)
Выход пустил через усилитель с регулировкой амплитуды.
Но, и самое главное, сигнал на выходе моего генератора на 4 процента ниже установленной частоты.
Ставлю 1000Гц на эталонном частотомере вижу 960Гц, ставлю 10000Гц --> замеряю 9600 и т.п. на всех частотах (на "круглых" цифрах проще считать на сколько врет)
Частота выхода моего самодельного генератора занижена на 4% от установленной . По моему, это очень много.
Это что, на столько кривой кварц мне попался?
Выхода вижу два - менять плату с AD9833 (кварц на ней перепаять будет сложнее - все очень мелкое) да и не факт что новая будет более точная,
или сделать программную калибровку частоты - поправку, которая компенсирует неточность, по эталонному частотомеру.
Как у вас с точностью ?

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

Пн авг 27, 2018 16:36:03

Здравствуйте. Собрал DDS по 3 вар активный кварц. ген. Спасибо автору за разработку. Основные проблемы были с индикатором (подсветка ) и MCP4011 в корпусе SO8 пришлось проводочки кидать. Кварц. ген. еще один остался (если нужен пишите в личку) По точности
5 МГц --- +184 Гц
1 МГц --- +37 Гц
1 КГц --- -0.4 Гц ошибся в девятках
100 Гц --- -0.07 гц
10 Гц --- -0.04 Гц
Последний раз редактировалось s_erg Пн авг 27, 2018 19:13:03, всего редактировалось 1 раз.

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

Пн авг 27, 2018 20:12:55

Поправочка -- мой генератор ЗАВЫШАЕТ частоту на эти 4 процента.Сути это не меняет.
Чтобы получить настоящие 1000Гц мне надо выставлять 960Гц, и так по всему диапазону надо ставить на 4% меньше.
Если ставлю ровно 1.0 кГц - на эталонном частотомере вижу 1.04 кГц.
У товарища сообщением выше всего 4 Гц разница - в 10 раз лучше моего....
Неужели, у меня настолько генератор на борту AD врет.

Добавлено after 1 hour 22 minutes 4 seconds:
Всегда так - стоит написать в форум о проблеме, как тут-же, сам, находишь причину проблемы и решение :)
Я про завышение частоты моей версией генератора.
Мой генератор управляется ARDUINO, дисплей другой (16х2) но суть от этого не меняется.
Так вот программу (или скейч на языке ардуин) я взял у иностранного товарисча как основу, и стал переделывать под себя.
Интерфейс у него неудобный, сохранения настроек нет.... есть место для творчества.
Однако, базовая часть первоначальной инициализации и настроек AD9833 у всех должна быть одинаковая.
Вот я скопировал кусок кода, в котором идет инициализация AD на частоту 24МГц (в чужой схеме так сделано), а на моей плате стоит 25МГц генератор!
Отсюда и набегает жуткая погрешность.
Простая копипаста и банальная ошибка буквально в третьей строке кода, а месяц не мог понять что не так :(
Поставил AD9833 sigGen(10, 25000000);
вместо AD9833 sigGen(10, 24000000);
залил в контроллер - и все стало "по нулям" с точностью установки частоты!
Надо внимательнее перепроверять чужой код....

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

Вс сен 02, 2018 07:54:03

Здравствуйте.
Собрал DDS на аккумуляторе в корпусе брал на али:
https://ru.aliexpress.com/item/New-ABS- ... 92892.html
Спасибо grott за прошивку.
Выкладываю фото:
Изображение Изображение Изображение Изображение Изображение Изображение
Есть четыре голых платы:
Изображение Изображение
Вложения
DDS_5_2.rar
(84.41 KiB) Скачиваний: 869

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

Пт окт 12, 2018 15:48:11

Доброго времени grott. Использую генератор на AD9833, но возникла проблемка.. все время на выходе одна и таже частота 609,7KHz. Может сталкивались с подобны и можете подсказать в в решении.

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

Сб окт 20, 2018 14:09:37

Кто-нибудь может выслать плату в РБ?

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

Чт окт 17, 2019 23:46:04

Уважаемый grott!
Мне очень понравился Ваш проект!
Я буду повторять Ваш проэкт, как только прийдет плата от наших "китайских товарищей".
У меня к Вам большая просьба: скорректируйте,пожалуйста, прошивку, чтобы можно было использовать стандартную ProMini(кварц 16 МГц) и готовую плату генератора.

:)

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

Пт окт 18, 2019 12:43:34

Это невозможно, разгон был до 25Мгц не из моей прихоти, а для того, чтобы получить на цифровом выходе фронт в 1мкс необходимо было 25 машинных тактов.
Самый простой способ в вашем случае, это поменять кварц на про-мини-ардуино.

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

Пт окт 18, 2019 17:29:45

grott писал(а):Это невозможно


Спасибо за оперативный ответ!
У меня про-мини с маленькими(смд) кварцами, а таких на 25 у меня, к сожалению нет. Но зато есть готовые платы-заготовки заводского производства(заказывал у китайцев), где разведены выходы под дисплей 5110 (D0...D4 - RST;CE;DC;Din;CLK). Есть ли возможность переназначить выводы микроконтроллера? Буду Вам очень признателен. Это очень бы мне помогло.
:)

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

Сб окт 19, 2019 19:29:05

Переназначить ножки можно, только если это позволит сам микроконтроллер. Судя по-всему, плата "по индивидуальному пошиву" и остальным не интересна, поэтому обращайтесь в личку, помогу в силу своих возможностей.

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

Сб окт 19, 2019 21:14:45

Продает кто-то плату в Украине?

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

Вт ноя 26, 2019 11:31:01

10 кГц в режиме PWM - это максимум, что можно было выжать (ну почти), не трогая основной алгоритм, ведь этот режим дописывался позже. Надо было, чтобы не возникали вопросы, всё-таки убрать незначащие нули. Контрастность и яркость дисплея регулируется из меню настройки, в которое можно войти долгим нажатием на кнопку.


Уважаемий grott а мочему би не добавить компаратор на аналоговий виход тогда с помощью регулирования усиления амплитуди треугольника можно получать на виходе регулируемий ШИМ в большом диапазоне частот.

Добавлено after 1 hour 12 minutes 53 seconds:
У вас в описании стоит AD8052а на схеме AD8092, с AD8092 есть какое то улучшение? Просто в Украине AD8052 дороже чем AD8092 а в китае наоборот!
Почему используете 2 канала усиления AD8092 одного разве не достаточно?
Из вашей статьи прочел:
"Чтобы минимизировать шумы, фильтр Баттерворта сделан пасивным" - а какие там могут бить шуми?
Там же вроде кроме кварца на частотах више 5МГц нечему шуметь а фильтр ниже 5МГц все равно пропустит.
У вас есть осцилограмми сигнала с фильтром и без него чтоб можно било увидеть разницу?
Прибор я еще не делал потому и задаю такие вопроси.

Ви не подумайте что я к вам придираюсь, я просто минималист - не вижу смисла да и не люблю использовать запчастей больше чем нужно!
Не вижу смисла делать усилитель на пяти каскадах усиления если при том же качестве можно сделать на двух, ви меня понимаете?
Ви разрабативали схему и совершенствовали ее, и в процессе етого вишел окончательний вариант такой как ми его наблюдаем но хочется же знать почему ви поставили фильтр (какой сигнал бил без него и как улучшился с ним), для чего 2 каскада усилителя (что вас не устраивало с одним каскадом), почему не поставили компаратор на виходе и не сделали ШИМ (может там есть какие то искажения какие трудно усунуть)?
Раскажите пожалуйста думаю другим тоже будет интересно и полезно узнать!

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

Чт дек 05, 2019 15:12:45

Что то автор пропал! Или может обиделся и не хочет отвечать?

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

Сб дек 07, 2019 01:21:37

Автор не пропал, а всё думает как корректно ответить. Если сравнить и не полениться два даташита, то AD8092 и AD8052 будут близнецами, поэтому в статье был специальный намёк на это. Два канала ОУ использовано не просто "потому-что", а первый канал это не только усилитель, но и формирователь нуля, второй канал - усилитель и аттенюатор, да и, между прочим, нельзя на высоких частотах ОУ использовать по усилению на максимум, потому что единичное усиление на максимуме одно, а на большем в два раза коэффициенте совсем не в два раз больше ОУ усиливает. Ну а в остальном, это очень нудно и напряжно всё рассказать. Просто повторите, а если хватает сил и и знаний, то усовершенствуйте схему и дайте сообществу свой труд безвозмездно.

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

Сб дек 07, 2019 19:33:06

Добрый день. Вопрос автору: за какое время ГКЧ делает проход от Fmin до Fmax?
Количество шагов у Вас 250, время я так понимаю ~30 мс на шаг, т.е ~7.5 c.
Поясните пожалуйста. Спасибо.

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

Сб дек 07, 2019 21:23:25

Длительность одного кадра 30.72 ms. Если бы посмотрели исходник, то и вопроса бы не было
Спойлер// Timer 0 overflow interrupt service routine
interrupt [TIM0_OVF] void timer0_ovf_isr(void)
{
TCNT0=0xD0; //период 0,12288 ms х 250 = 30,72 ms
if(a==0) {
SQ_OUT=0;
freq_sweep=freq_low;
}
if(a<250) {
AD9833_usedFreqReg(b);
freq_sweep += freq_step;
if(b) AD9833_setFreq (WRITE_TO_FREQ0_REG, freq_sweep);
else AD9833_setFreq (WRITE_TO_FREQ1_REG, freq_sweep);
}
else {
AD9833_usedFreqReg(USE_FREQ0_REG);
AD9833_setFreq (WRITE_TO_FREQ0_REG, 0);
}
a++; b++;
if(a==255){
a=0;
SQ_OUT=1; //синхроимпульс на OUT_D
}
}

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

Вс дек 08, 2019 14:08:48

а если хватает сил и и знаний, то усовершенствуйте схему и дайте сообществу свой труд безвозмездно.

Спасибо вам большое от меня и думаю что и от других пользователей за то что дали нам безвозмездно свои наработки!
Мне до вас еще далеко в плане знаний!

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

Пт дек 13, 2019 19:44:07

grott, Подскажите пожалуйста! Нашел в интернете 2 библиотеки (1-ваша 2-я-с другой ветки ) они практически идентични, но при вводе частоти она идет в целих Герцах (шаг регулирования) а в документации написано что AD9833 имеет возможность настраивать частоту в 0.1 Гц. Ето в библиотеке просто сделали регулировку частоти с наименьшим шагом 1Гц или в документации ошибка?
Ответить