Низкочастотный 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 можно не разводить на плате, потому что он предназначен лишь для подачи на плату питания на время программирования микроконтроллера (но придется цепляться напрямую к дорожкам).

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

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

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

Прошивка

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

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

При помещении устройства в корпус, желательно установить кнопку 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 — Отжата (Нажата).

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

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

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

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


Список радиоэлементовОбозначение
Тип
Номинал
Количество
ПримечаниеМагазинМой блокнот

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

Скачать список элементов (PDF)

Прикрепленные файлы:

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *