Низкочастотный DDS генератор на ATmega8

DDS генератор, или генератор Прямого Цифрового Синтеза в настоящее время уже далеко не новинка. На просторах интернета представлено большое количество схем, преимущественно на микроконтроллерах AVR. В качестве ЦАП-а в основном выступает R-2R матрица, но присутствуют конструкции и на микросхеме AD9850 (к слову, низкой стоимостью они не отличаются). Но к сожалению (или у счастью?), в них не было нужного мне: небольшие размеры и низкая стоимость. Как итог, была разработана данная схема.

В данной статье я хочу представить DDS генератор, выполненный на микроконтроллере ATmega8. Для отображения информации используется графический LCD LPH8731-3C. Данное устройство позволяет получить периодичный сигнал с произвольной формой (разрешение 100 точек) и заданной амплитудой.

Технические характеристики:

  • Напряжение питания: 5В
  • Потребляемый ток: <100мА
  • Мин. выходное напряжение: 0.5В
  • Макс. выходное напряжение: 2,5В
  • Шаг установки напряжения: 0,5В
  • Мин. частота сигнала: 10Гц
  • Макс. частота сигнала: 2кГц (10кГц)
  • Шаг установки частоты: 10Гц (100Гц)
  • Количество предустановленных сигналов: 8
  • Отображение данных: графический ЖКИ
  • Возможность добавления формы сигнала «на ходу» (без перепрошивки): отсутствует
  • Яркость подсветки: регулируется, необходима перепрошивка
  • Макс. количество форм в памяти: не менее 20

Схема устройства представлена ниже:

Принципиальная схема

Основа схемы, как уже упоминалось, микроконтроллер ATmega8-16AU. Индекс «…16» необходим, так как в схеме применен кварцевый резонатор на 16МГц. ЦАП выполнен на R-2R матрице. Данный ход позволяет избежать применения специальных микросхем, но к сожалению, не позволяет добиться реального разрешения ЦАП выше 10 .. 12бит (в любительских условиях). К выходу матрицы через резистивный делитель напряжения (R17, RV1) подключен операционный усилитель, включенный по схеме повторителя и служит для усиления тока.

Управление устройством осуществляется посредством кнопок. На переднюю панель целесообразно выносить только кнопки SB1-SB4. Кнопка SB5 играет роль «функциональной», и позволяет использовать отличные от «основных» действия для кнопок SB1-SB4. Переключатель SA1 включает/выключает «генерацию» и кнопки управления соответственно. В первом его положении включено управление и отключено генерирование сигнала, а в другом ситуация диаметрально противоположна первому. Разъем J2 можно не разводить на плате, так как он предназначен лишь для подачи на плату питания на время программирования микроконтроллера (но придется цепляться напрямую к дорожкам).

Печатная плата:

Печатная плата

Печатная плата устройства выполнена на двухстороннем фольгированном материале и имеет размеры ( _ х _ ). Основная сложность при ее изготовлении — разводка дорожек для посадки микроконтроллера, но если у вас есть опыт изготовления подобных плат и/или возможность использовать фоторезист/ЛУТ , то проблем при изготовлении быть не должно.

При сборке устройства настоятельно рекомендую проверить, хорошо ли пропаяны переходные отверстия а так же надежность контакта ножек микроконтроллера и дорожек печатной платы. Я пропустил всего 1 непропай ножки микроконтроллера, и в результате на поиски проблемы ушло пару дней.

Прошивка

Прошивка для микроконтроллера была написана в WinAVR. Для заливки .hex файла использовался программатор USBasp и софт Khazama AVR Programmer. Скриншот с примером выставления fuse-битов представлен ниже. Так как на печатной плате специальный разъем для программирования не предусматривался, то для прошивки микроконтроллера придется временно припаяться к соответствующим дорожкам (пины микроконтроллера «MISO», «MOSI», «SCK», «RESET»).

fuse биты

Сборка и компоновка устройства

При помещении устройства в корпус, желательно установить кнопку SB5 на боковой его грани. Выключатель SA1 в моем варианте находился на нижнем торце, как и разъем для подключения нагрузки. Разъем USB установлен в верхней части корпуса потому, что в планах было использование DC-DC преобразователя 3.7 -> 5В. Но так как хотелось универсальности, решил сделать этот блок съемным.

Возможная замена элементов

Микроконтроллер можно использовать только ATmega8-16AU. Операционный усилитель LM358 аналогичным (к примеру, NE532, OP04, OP221, OP290, …) в корпусе SO-8, и про возможное несоответствие выводов забывать не стоит. Транзистор Q1 можно взять любой маломощный n-p-n, к примеру отечественный КТ315 или КТ3102. Резисторы R1-R16 желательно брать с минимальный допуском (0,5…1%), но пойдут и более распространенные 2…5% (но тут форма сигнала может быть немного хуже). Причем, желательно взять резисторы одного номинала (пусть будет 10кОм), и потом там где требуется 2R ставить 10кОм, а где R — 2х10кОм параллельно. Конденсаторы C1, C2 желательно брать в диапазоне 22…33пФ. Кварцевый резонатор использован низкопрофильный, на частоту 16МГц. Резистор RV1 — многооборотный. Стабилитрон можно ставить только на 3.3В.

LCD дисплей можно использовать только с желтой подложкой и надписью «LPH8731-3C». Он встречается в мобильных телефонах Siemens A60, A65 и др. и имеет разрешение 101×80 пикселей.

Настройка

Правильно собранное устройство в наладке не нуждается, и должно работать сразу после сборки и прошивки контроллера. Если этого не произошло, то проверьте на короткое дорожки на печатной плате, правильность подключения LCD дисплея, целостность проводов от переключателя SA1 а так же исправность стабилитрона и источника питания/кабеля USB.

При успешном первом включении, необходимо с помощью осциллографа и подстроечного резистора RV1 настроить уровень выходного сигнала согласно установкам на дисплее.

Назначение кнопок: SB1 — «Влево» (Вых. напряжение меньше), SB2 — «Вправо» (Вых. напряжение больше), SB3 — «Частота +10» (Частота +100), SB4 — «Частота -10» (Частота -100) <— SB5 — Отжата (Нажата).

Фото и видео устройства:

Фото 1Фото 2

Фото 3

На двух фото ниже видно, как можно получить большую частоту, нежели 2кГц. Но приходится качеством сигнала (для прямоугольных не принципиально).

Фото 4Фото 5

Фото 6Фото 7

Осциллограммы сигналов, полученных с помощью данного устройства:

Фото 8Фото 9

Фото 10Фото 11

Фото 12Фото 13

Фото 14Фото 15

Внешний вид собранного устройства:

Фото 16Фото 17

Список радиоэлементов

Обозначение Тип Номинал Количество Примечание Магазин Мой блокнот
U1 МК AVR 8-бит ATmega8A-AU 1
U2 Операционный усилитель LM358 1 Корпус SO-8 (LM358D))
Q1 Биполярный транзистор BC547 1
D1 Стабилитрон BZX55C3V3 1
RV1 Подстроечный резистор 220 кОм 1
R1-R9 Резистор 2.2 кОм 9 0805, 1%
R10-R16, R32 Резистор 1.1 кОм 8 0805, 1%
R17 Резистор 100 кОм 1 0805
R19-R23 Резистор 5.6 кОм 5 0805
R24-28, R18 Резистор 10 кОм 5 0805
R29, R30 Резистор 220 Ом 2 0805
R31 Резистор 75 Ом 1 0805
R33 Резистор 510 Ом 1 0805
C1, C2 Конденсатор 27 пФ 2 0805
C3 Конденсатор 100 нФ 1 0805
LCD1 LCD-дисплей LPH8731-3C 1 Желтая подложка
X1 Кварцевый резонатор 16 МГц 1 Низкопрофильный
SB1-SB5 Кнопка Кнопка мембранная 5
SA1 Переключатель Переключатель с парой нормально разомкнутых контактов 1
J4 Разъем USB разъем 1
J1-J3 Разъем PLS-40 1