Главная » Измерения
Призовой фонд
на июль 2019 г.
1. 1000 руб
Паяльник
2. Регулируемый паяльник 60 Вт
Паяльник
3. 100 руб.
От пользователей

Низкочастотный 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 и др. и имеет разрешение 101x80 пикселей.

Настройка

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

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

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

Теги:

Опубликована: 0 0
Я собрал 0 0
x

Оценить статью

  • Техническая грамотность
  • Актуальность материала
  • Изложение материала
  • Полезность устройства
  • Повторяемость устройства
  • Орфография
0

Средний балл статьи: 0 Проголосовало: 0 чел.

Комментарии (5) | Я собрал (0) | Подписаться

0
Публикатор #
На форуме автоматически создана тема для обсуждения статьи.
Ответить
+1
dev #
А что ж частота такая маленькая?
Отредактирован 08.12.2016 10:28
Ответить
0

[Автор]
zeconir #
Все упирается в кол-во тактов, которое затрачивается на чтение элемента массива и последующее выведение значения в порт + инкремент переменной-счетчика. В моем варианте тратится примерно 40 тактов на это все (это на C), на асме можно уложиться в 20-25 тактов... И частоту поднять до 6-7 кГц, при разрешении по "х" в 100 точек. Но пока не доходят руки до ассемблера.
Ответить
0
dev #
10 тактов. И количество точек пусть само подстраивается под частоту. Итого 20 кГц - идеально. Максимум, когда на синусоиду еще без слез взглянуть можно - 250 кГц.
https://github.com/dev26th/avr_dds_20/blob/master/main.c#L1695
Ответить
0

[Автор]
zeconir #
Спасибо за ссылку!
Ответить
Добавить комментарий
Имя:
E-mail:
не публикуется
Текст:
Защита от спама:
В чем измеряется электрическое сопротивление?
Файлы:
 
Для выбора нескольких файлов использйте CTRL

Мультиметр DT9205A
Мультиметр DT9205A
Модуль радиореле на 4 канала Сатфайндер
вверх