Решил я собрать генератор сигналов для своего радио уголка. во многих поделках иногда требуется, а подключать к ноутбуку не всегда удобно. Данный генератор может генерировать синусоидальный сигнал, треугольный сигнал и прямоугольный сигнал или по другому меандр с частотой от 1 до 12,5 мегагерц, с шагом 1 герц, а так же изменять фазу сигнала с шагом в 1 градус, если нужно под что то подстроиться. Электроника позволяет делать это с шагом 0,1 герца, но мне такая точность не нужна. Для генератора я использовал модуль с микросхемой АД9833, который управляется по spi. для управлением модулем я использовал ардуино про мини с микросхемой АТМЕГА 169.
Прошивка получилось не очень обьемной, в основном конфигурация и отрисовка дислея. Управлять генератором я решил с помошью энкодера не сипользуя кнопки, поэтому установка частоты не очень удобная, но вполне рабочая. в качестве дисплея я применил монохромный олед дисплей размером 0,96 дюйма. заморачиваться с управлением с телефона по блютус я не стал, хотя это легко реализуемо, но помоему будет лишним. Соединяются все модули по вот такой вот схеме.
Тут всего 4 платки. Питать я буду либо от зарядки от сотового телефона, либо от USB порта ноутбука, но в походных условиях можно и от повер банка запитать. Корпус я напечатал на 3Д принтере.
Собирается все довольно просто. Вал энкодера продевается в отверстие и фиксируется резьбой. Провернуться он не может, так как корпус спроектирован так, что бы плата припаянная к энкодеру упиралась во внутренние стенки. Дисплей вообще крепится по китайской технологии методом расплавления направляющих штифтов, получается что то среднее между пайкой и заклепкой.
Платки ардуины и модуля генератора частот крепятся за счет трения, но если будут болтаться, то можно поступить как с экраном, подплавив края бортиков, но в моем случае пришлось секунд 20 поработать надфилем, и подровнять края плат модулей, на то и был расчет. Разъёмы питания и выхода сигнала держатся за счет трения. Чтобы защититься от дребезга контактов, на плату энкодера необходимо припаять два конденсатора емкстью 0,1 микрофарады.
Управляется устройство одним энкодером, короткими нажатиями переключаются режимы ввода фазы, множителя или частоты. Вращением изменяем значения параметров, ничего подтверждать не нужно, просто вращаем ручку и генератор тут же подстраивается под установленные параметры. Частота и фаза меняются сразу же. Коротким нажатием осуществляется переход между вводом в герцах, килогерцах и мегагерцах. Не слишком удобно, зато дополнительных кнопок не потребовалось. Двойным кликом по кнопке энкодера осуществляется переход в меню выбора формы сигнала, поворотом ручки переключаемся на нужный пункт меню, коротким нажатием осуществляется выбор режима. В этом же меню есть значек дискетки, при выборе его происходит сохранение текущих настроек в энергонезависимую память, и при обесточивании генератора настройки не сбиваются.
Видео по сборке генератора
Модуль AD9833 как в видео:
Я немножко в шоке, сколько этот модуль стоит сейчас. Дело не в модуле, дело в курсе доллара. доставка была равна модулю, а сейчас это еще на 2,5 помножить надо. Если найдете этот модуль дешевле, буду рад, мне не удалось. Оставлю для истории…
Энкодер с резьбой:
Дисплей с шиной I2C (4 провода):
Arduino pro mini:
Архив с исходниками и файлами для 3Д печати здесь (версия с латиницей):
Версия с кириллицей
Тема на форуме Цифровой генератор сигналов/генератор частот на AD9833
Здравствуйте! А для Atmega338 изменять hex. и fuses не нужно?
Для нее в makefile необходимо изменить контроллер и перекомпиллировать.
Atmega 328
Отлично! Спасибо автору за проделанный труд.
Отличный сайт, многим помогает.
Спасибо
а как регулировать амплитуду сигнала ?
Только став на выход операционный усилитель и регулировать им. сама микросхема выдает около 1 вольта на сгенерированых сигналах и около напряжения питания на меандре.
Здравствуй, уважаемый, смотрел твое видео, вдохновился и ищу уже компоненты чтобы собрать себе генератор, можно ли AD9833 заменить чем нибудь другим?
А где файлы? Ничего не качается((