Реклама ⓘ
Главная » Измерения
Призовой фонд
на апрель 2024 г.
1. 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 Поиск в магазине ОтронВ блокнот
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-3C1 Желтая подложкаПоиск в магазине ОтронВ блокнот
X1 Кварцевый резонатор16 МГц1 НизкопрофильныйПоиск в магазине ОтронВ блокнот
SB1-SB5 КнопкаКнопка мембранная5 Поиск в магазине ОтронВ блокнот
SA1 ПереключательПереключатель с парой нормально разомкнутых контактов1 Поиск в магазине ОтронВ блокнот
J4 РазъемUSB разъем1 Поиск в магазине ОтронВ блокнот
J1-J3 РазъемPLS-401 Поиск в магазине ОтронВ блокнот
Добавить все

Скачать список элементов (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

Конструктор: DDS генератор сигналов
Конструктор: DDS генератор сигналов
Набор для сборки - УНЧ 2х60 Вт на TDA7294 Ветрогенератор
вверх