Съдържание:
Видео: Генератор на сигнали AD9833: 3 стъпки
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:50
Генераторът на сигнали е много полезно изпитвателно оборудване. Този използва модул AD9833 и Arduino Nano - това е всичко, дори не печатна платка. По желание можете да добавите OLED дисплей. AD9833 може да генерира синусоидални, триъгълни и квадратни вълни от 0,1 Hz до 12,5 MHz - софтуерът в този проект е ограничен до 1Hz до 100kHz.
Имаше и други инструктажи, използващи Arduino и AD9833, тук и тук. Това е по -просто и може да се използва като генератор за почистване. Генераторите за почистване помагат за тестване на честотната характеристика на филтри, усилватели и така нататък. За разлика от другите дизайни на Instructables, това не включва усилвател или контрол на амплитудата, но можете да ги добавите, ако искате.
Стъпка 1: Най -простият генератор на сигнали
За най -простия генератор на сигнали просто запоявате модула AD9833 върху гърба на Arduino Nano. Не е необходима печатна платка.
Модулът AD9833, който избрах, е подобен на този. Не казвам, че това е най -добрият или най -евтиният доставчик, но трябва да закупите такъв, който прилича на тази снимка (или снимката по -горе).
Връзките между модулите са:
- основания, свързани заедно
- D2 = FSync
- D3 = Clk
- D4 = Данни
- D6 = Vcc на AD9833
AD9833 се захранва от извод за данни D6 на Arduino - Arduino може да доставя достатъчен ток. Добавих 100n кондензатор за отделяне, защото мислех, че "трябва", но не виждах никаква разлика - вече има отделящ кондензатор на модулната платка AD9833.
Ако бяхте фантастични, може да се притеснявате за „аналогов терен“срещу „цифров терен“, но ако бяхте фантастичен, щяхте да харчите повече от 4 паунда.
Най -простият генератор на сигнали се управлява и захранва чрез USB кабел от компютър. USB емулира сериен порт, работещ при 115200bps (8-бита, без паритет). Командите са:
- '0'.. '9': изместване на цифрата в честотния масив "min"
- 'S': задайте честота AD9833 и създайте синусоида
- 'T': задайте честота и създайте триъгълна вълна
- 'Q': задайте честота и създайте квадратна вълна
- 'R': нулиране на AD9833
- 'M': копирайте честотния масив "min" в масива "max"
- 'G': размахване от "мин" до "макс" за 1 секунда
- 'H': размахване от "min" до "max" за 5 секунди
- 'I': размахване от "min" до "max" над 20 секунди
Програмата Arduino съдържа два 6-символни масива "min" и "max. Ако предавате цифра, тя се премества в масива" min ". Ако изпратите 'S', тогава символите от масив" min "се преобразуват в longint честота и изпратен до AD9833. Така че изпращането на низ
002500S
ще настрои изхода AD9833 на синусова вълна от 2500Hz. Винаги трябва да изпращате всички 6 цифри. Минималната честота е 000001, а максималната 999999.
Ако изпратите 'M', тогава масивът "min" се копира в масива "max". Ако изпратите „H“, тогава AD9833 многократно извежда постепенно нарастваща честота за 5 секунди. Той започва на "мин" честота и 5 секунди по -късно е на "макс" честота. Така
020000M000100SH
размахва от 100Hz до 20kHz. Промяната на честотата е логаритмична, така че след 1 секунда честотата ще бъде 288Hz, след 2 секунди 833Hz след това 2402, 6931 и 20000. Честотата се променя на всеки милисекунда.
Цикълът спира, когато Arduino получи друг знак, така че внимавайте да не изпратите командата, последвана от връщане на каретка или подаване на ред. Този допълнителен знак би прекратил цикъла. Ако използвате серийния монитор, в долния десен ъгъл има поле, което може да казва например „И двете NL и CR“, което (мисля) изпраща знаци след вашата команда. Задайте го на „Без завършване на ред“.
Можете да изтеглите програмата Windows EXE по -долу, която ще изпрати необходимите команди или можете да напишете свои собствени. IND файлът на Arduino също е тук.
Стъпка 2: Добавете OLED
Ако добавите OLED и два бутона, генераторът на сигнал може да работи сам без компютър.
Тези от вас, които са чели моя осцилоскоп Instructable, ще разпознаят приликата. Модулът AD9833 може да бъде добавен към моя осцилоскоп, за да се получи „Осцилоскоп и генератор на сигнали в кутия за кибрит“.
Дисплеят е 1.3 OLED, работещ при 3.3V, който се управлява от чип SH1106 чрез I2C шина.
Потърсете в eBay 1,3 "OLED. Не искам да препоръчам конкретен продавач, тъй като връзките бързо остаряват. Изберете такъв, който прилича на тази снимка, казва" I2C "или" IIC "и има четири пина с етикет VDD GND SCL SDA. (Някои дисплеи изглежда имат щифтове в различен ред. Проверете ги. Правилното име на часовника на I2C е "SCL", но на eBay дъските могат да бъдат обозначени като "SCK" като моя на снимката.)
По -пълно описание на OLED библиотеката е в моя осцилоскоп с инструкции в Стъпка 8. Трябва да изтеглите и инсталирате библиотеката с драйвери SimpleSH1106.zip, която е в Стъпка 8. (Не искам да качвам друго копие тук и трябва да поддържам две копия.)
INO файлът може да бъде изтеглен по -долу. Номерата на пиновете, използвани за OLED, са декларирани около ред 70. Ако сте построили моя „Осцилоскоп и генератор на сигнали в кутия за съвпадение“и искате да тествате този INO файл с него, алтернативните номера на пинове се активират чрез #define.
Показах оформление на лента за веригата. Има две ленти - една за Nano и AD9833 и една за дисплея. Те трябва да образуват сандвич. Дъските са показани от страната на компонентите. Фините гъвкави проводници свързват двете платки. Прикрепете дъските заедно със споени стойки. В моята диаграма медът на лентата е показан в циан. Червените линии са телени връзки на лентата или гъвкави проводници, свързващи дъските заедно. Не съм показал кабелите за захранване и "сигнал".
Модулът AD9833 е запоен от медната страна на лентата - от противоположната страна на Nano. Запоявайте щифтове върху медните ленти, след това поставете AD9833 върху тях и го запоявайте.
Дисплеят показва или единична честота, или честотите "min" и "max".
Има два бутона: бутон "Хоризонтално" за избор на цифра от честотите и бутон "Вертикален" за промяна на тази цифра.
Захранвам генератора на сигнали от схемата, която разработвам - винаги имам 5V на разположение на работното си място.
Стъпка 3: Бъдещи развития
Може ли да се захранва от батерии? Да, просто добавете 9V PP3, свързан към RAW щифта на Nano. Обикновено използва 20mA.
Може ли да се захранва от една литиева клетка? Не виждам защо не. Трябва да свържете OLED Vdd и издърпващия му резистор към батерията 3.7V (съмнявам се, че 3.3V изходът на Arduino ще работи правилно).
Генераторът за почистване е по -полезен при тестване на честотната характеристика на филтър, ако можете да начертаете амплитуда спрямо честота. Измерването на амплитудата на сигнала е сложно - трябва да компенсирате разпадането на вашия детектор за обвивка срещу пулсации за ниски честоти и време за реакция за високи честоти. След като сте изградили своя амплитуден детектор, можете да подадете неговия изход в ADC на Arduino на "Най -простия генератор на сигнали", след което да изпратите резултата, заедно с текущата честота на компютъра.
Тази страница е полезна отправна точка или потърсете в Google „детектор на пликове“или „пиков детектор“. В предложената схема по -горе ще настроите честотата на сигнала, ще изчакате да се стабилизира, ще настроите щифта на Arduino A0 да извежда цифрово ниско ниво, изчакайте да разредите C, настройте A0 на вход, изчакайте и след това ще измерите с ADC. Кажете ми как се справяте.
Препоръчано:
Как да използвате Arduino DDS генератор на честотни сигнали AD9850: 7 стъпки
Как да използваме Arduino DDS генератор на честотни сигнали AD9850: В този урок ще се научим как да правим генератор на честотни сигнали, използвайки модул AD9850 и Arduino. Гледайте видеото! Забележка: Успях да получа честота до +50MHz, но качеството на сигнала става по -лошо с по -високите честоти
Пълен ремонт на генератор на ретро сигнали: 8 стъпки
Пълен ремонт на генератор на ретро сигнали: Купих генератор на радиочестотни сигнали Eico 320 на среща по радио за шунка за няколко долара преди няколко години, но досега не успях да направя нищо с него. Този генератор на сигнал има пет превключващи диапазона от 150 kHz до 36 MHz и с ha
Генератор на радиочестотни сигнали 100 KHz-600 MHZ на DDS AD9910 Arduino Shield: 5 стъпки
Генератор на радиочестотни сигнали 100 KHz-600 MHZ на DDS AD9910 Arduino Shield: Как да направите нискошумен, високо прецизен, стабилен RF генератор (с AM, FM модулация) на Arduino
Двуканален генератор на сигнали за китара: 10 стъпки
Двуканален генератор на сигнали за китара: Този проект е лесен за изграждане, оригинален дизайн за двуканален генератор на сигнали за китара и други приложения. Той обхваща цялата гама от китарни ноти (за вас, китаристи, от отворена Low E струна - 83 Hertz, до 24 -ти лад на високата E s
Изградете този 5Hz до 400KHz LED Sweep генератор на сигнали от комплекти: 8 стъпки
Изградете този 5Hz до 400KHz LED Sweep Signal Generator от комплекти: Изградете този лесен генератор на сигнали за почистване от лесно достъпни комплекти. по това време, който е бил генератор на сигнали. Исках