Страница 1 из 1

DSS генератор на AD9833

Добавлено: 24.03.2017{, 09:01}
scadapack
Делаю генератор с цифровой шкалой с заданием частоты от энкодера. Быстро и удобно задаётся частота от 1 Гц до 12,5 МГц. Прошу помощи у уважаемых знатоков в создании блока на С для генератора DSS на микросхеме AD9833. Не смог сам разобраться. Вот такое изделие использую. Выкладываю программу.

DSS генератор на AD9833

Добавлено: 24.03.2017{, 10:23}
AVGN
Да на следующем этапе планировал на AD9833 сделать генератор.
Платки пока нет.
Пока с AD9850, AD985051 разобрался.
Не искали библиотеки для AD9833 под Ардуино есть ?

DSS генератор на AD9833

Добавлено: 24.03.2017{, 10:30}
scadapack
Библиотеки то попадаются, но разобраться с ними не могу. Для меня "С" - тёмный лес.
Вот например, и вот.

DSS генератор на AD9833

Добавлено: 25.03.2017{, 13:48}
AVGN
Вот здесь подробно описано управление AD9833 В качестве управляющего мк автор использовал ATMega16
Может программисты заглянут сюда и помогут сделать пользовательский блок.

DSS генератор на AD9833

Добавлено: 24.08.2018{, 11:11}
scadapack
Пытаемся сделать блок по скетчу. Компиляция в Ардуино ИДЕ проходит с ошибками. Прошу помощи знатоков!
Ссылка на сайт с хорошим описанием микросхемы AD9833, по которой и пытаемся сделать блок.
ссылка

DSS генератор на AD9833

Добавлено: 24.08.2018{, 17:25}
Mining
scadapack, не понятно, Вы делаете проект в флпрог? Почему проект ino, а не flp ?

DSS генератор на AD9833

Добавлено: 25.08.2018{, 05:32}
scadapack
" *.ino " это файл скетча для Arduino IDE. Я пытаюсь создать блок пользователя. При компиляции программы с одним только блоком, выходит ошибка
СпойлерПоказать
Arduino: 1.8.1 (Windows 7), Плата:"Arduino Nano, ATmega328"

pr3:5: error: redefinition of 'long unsigned int Freq_137514206_1'

unsigned long Freq_137514206_1;

^

C:\Users\nkip.KZ\AppData\Local\Temp\flprog\pr3\pr3.ino:3:15: note: 'long unsigned int Freq_137514206_1' previously declared here

unsigned long Freq_137514206_1;

^

pr3:6: error: redefinition of 'int Phase_137514206_1'

int Phase_137514206_1;

^

C:\Users\nkip.KZ\AppData\Local\Temp\flprog\pr3\pr3.ino:4:5: note: 'int Phase_137514206_1' previously declared here

int Phase_137514206_1;

^

C:\Users\nkip.KZ\AppData\Local\Temp\flprog\pr3\pr3.ino: In function 'void loop()':

pr3:53: error: 'Freq1' was not declared in this scope

Freq_137514206_1 = Freq1;

^

pr3:55: error: 'WriteAD9833' was not declared in this scope

WriteAD9833(FreqData_137514206_1 & 0x3FFF | bFreq_reg0_137514206_1);

^

C:\Users\nkip.KZ\AppData\Local\Temp\flprog\pr3\pr3.ino: At global scope:

pr3:83: error: expected declaration before '}' token

}

^

exit status 1
redefinition of 'long unsigned int Freq_137514206_1'

Этот отчёт будет иметь больше информации с
включенной опцией Файл -> Настройки ->
"Показать подробный вывод во время компиляции"

DSS генератор на AD9833

Добавлено: 27.03.2019{, 16:45}
AVGN
Савсэм забыл про AD9833.
Вот сделал отдельными блочками.
Но плату положил поближе и как всегда бывает за полчаса ревизии не нашел у себя в мастерской.
Тестируйте у кого есть плата.
AD9833_V1_SINE_SQUARE_TRIANGLE.flp
(139.05 КБ) 87 скачиваний
Подключаем так:
AD9833 Pin...Arduino UNO Pin
CLK------------SCK (13).............SPI Clock pin
DAT------------MOSI (11)...........SPI Master Out Slave In data pin
FNC------------User defined (4)...SPI transfer enable (active LOW)
VCC------------5V Рекомендуется установить параллельно соединенные конденсаторы 10 uF и 0.1 uF.
GND------------GND

FNC на некоторых AD9833 китайских платах обозначен как FSYNC

Отправлено спустя 1 час 40 минут 17 секунд:
Версия 2. Объединил в один блок - синус+меандр+треугольник
AD9833_V2_SINE_SQUARE_TRIANGLE.flp
(127.56 КБ) 119 скачиваний

DSS генератор на AD9833

Добавлено: 28.03.2019{, 07:49}
scadapack
Я ранее выкладывал блок пользователя.

DSS генератор на AD9833

Добавлено: 28.03.2019{, 11:03}
Ivan_Kornege
AD9833 имеет на борту два регистра частоты и один выход. Можно замутить фазовую модуляцию.

DSS генератор на AD9833

Добавлено: 28.03.2019{, 19:51}
AVGN
scadapack писал(а):
28.03.2019{, 07:49}
Я ранее выкладывал блок пользователя.
Ivan_Kornege писал(а):
28.03.2019{, 11:03}
AD9833 имеет на борту два регистра частоты и один выход. Можно замутить фазовую модуляцию.
Вот полноценный -дав регистра со сдвигом фазы :smile38:
AD9833_V3_SINE TRIANGLE SQUARE HALF_SQUARE.flp
(163.97 КБ) 184 скачивания

DSS генератор на AD9833

Добавлено: 01.04.2019{, 13:40}
Mining
AVGN писал(а):
28.03.2019{, 19:51}
Вот полноценный -дав регистра со сдвигом фазы :smile38:

AD9833_V3_SINE TRIANGLE SQUARE HALF_SQUARE.flp
scadapack, этот проект с блоком тестировали, работает?

DSS генератор на AD9833

Добавлено: 02.04.2019{, 11:33}
scadapack
Я со своим блоком сделал. Выдаёт синус, треугольник и меандр.

DSS генератор на AD9833

Добавлено: 02.04.2019{, 18:36}
AVGN
scadapack писал(а):
02.04.2019{, 11:33}
Выдаёт синус, треугольник и меандр.
В вашем блоке используется только нулевой регистр. Блок не подойдет если требуется сдвиг фазы.
Я в этой микросхеме увидел одну ценность для радиолюбителя - сдвиг фазы синусоидального сигнала от 0 до 360 градусов. И допилил блок для использования всех функций.
Как генератор использую AD9851 до 70МГц.

DSS генератор на AD9833

Добавлено: 12.04.2019{, 04:02}
Mining
Так что ребята так и не проверили блок со сдвигом фазы? Сижу раздумьях покупать AD9833 или ...