Низкочастотный генератор на микроконтроллере. Функциональный DDS генератор

Уже давно пользуюсь генератором сигналов UDB1005S , построенном по DDS технологии, куплен он был на али за 30$.

Если кратко, то серия UDB100 x включает в себя 3 модели UDB1002, UDB1005, UDB1008, последняя цифра определяет максимальную рабочую частоту, а буква S на конце, если она есть, говорит о том, что генератор поддерживает sweep_mode . В основе генератора лежит связка плис + мк, мк обслуживает периферию(кнопки, энкодер, дисплей), а плис занимается генерацией сигнала.

Генератор имеет один аналоговый выход с возможностью регулировки амплитуды и смещения по постоянному напряжению, один цифровой с TTL уровнями, может работать в режиме счётчика импульсов и в режиме частотомера.

Теперь давайте рассмотрим основные особенности.

Аналоговый выход:

  • Форма выходного сигнала: синусоидальный, прямоугольный, пилообразный
  • Амплитуда выходного сигнала ≤9Vp-p(без нагрузки)
  • Выходное сопротивление 50Ω±10%
  • Смещение по постоянному напряжению ±2.5V(без нагрузки)
  • Частотный диапазон

    0.01Hz~2MHz(UDB1002S)
    0.01Hz~5MHz(UDB1005S)
    0.01Hz~8MHz(UDB1008S)

  • Точность частоты ±5×10-6
  • Стабильность частоты ±1×10-6
  • Время нарастания и спада прямоугольного сигнала ≤100ns
  • Коэффициент заполнения прямоугольного сигнала 1%-99%
TTL выход:
  • Частотный диапазон

    0.01Hz~2MHz(UDB1002S)
    0.01Hz ~5MHz(UDB1005S)
    0.01Hz ~8MHz(UDB1008S)

  • Амплитуда >3Vp-p
  • Нагрузочная способность >20TTL
Функция счётчика:
  • Диапазон счётчика импульсов 0~4294967295
  • Диапазон частотомера 1Hz~60MHz
  • Диапазон входных напряжений 0.5Vp-p~20Vp-p
Генератор качающей частоты (sweep_mode ):
  • Частотный диапазон fM1~fM2 (частоты предварительно устанавливаются)
  • Временной диапазон 1s~99s
Дополнительная возможность: сохранять и загружать конфигурации M0~M9 (по умолчанию M0)

Что касается генератора качающей частоты , для его настройки необходимо задать два значения частоты и время, за которое частота генератора изменится от fM1 до fM2 . Это очень удобно если надо узнать как реагирует схема на разные частоты, например, с помощью генератора качающей частоты можно легко найти резонансную частоту контура с неизвестными элементами. Для этого через последовательно включённый резистор номиналом несколько сотен Ом подключаем генератор к контуру, а щупом осциллографа к выводам контура. Если контур последовательный, то на резонансной частоте амплитуда колебаний будет максимальна, а если параллельный - минимальна. Фиксируя амплитуду на экране осциллографа можно узнать резонансную частоту контура.

Но не буду отходить от темы, ниже приведу несколько осциллограмм для разных видов колебаний и разных частот.
Синус 1КHz


Синус 10КHz


Синус 100КHz


Синус 1МHz


Синус 5МHz

Пила 1КHz


Пила 10КHz


Пила 100КHz


Пила 1МHz


Пила 5МHz


Еще можно изменять наклон пилы


Меандр 1КHz


Меандр 10КHz


Меандр 100КHz


Меандр 1МHz


Меандр 5МHz

Меандр 100KHz с TTL выхода


Меандр 1МHz с TTL выхода


Меандр 5МHz с TTL выхода

На осциллограммах видно, что стабильность частоты сильно отличается от заявленной, также хотелось отметить, что если частота прямоугольного сигнала превышает 1MHz, сигнал начинает сильно дрожать.
Сигнал для проверки частотомера взял с калибратора осциллографа, по паспортным данным на его выходе должен быть меандр с частотой 1KHz, частотомер показал ровно 1KHz. Режим счётчика импульсов не тестировал.

Всё вышеперечисленное можно отнести к плюсам, ну а чего можно хотеть от генератора сигналов за 30$? А теперь минусы, их всего два за то какие.....
В общем, в этом генераторе присутствует импульсная система питания, которая очень шумит. На осциллограмме ниже видно, что происходит на выходе генератора в отсутсвие сигнала.


но это мелочь по сравнению с регулировкой амплитуды, при вращении ручки регулировки амплитуды, последняя изменяется скачками, поэтому выставить нужную амплитуду с погрешность 100mV очень сложно .

Быстрый поиск на ютубе по запросу «генератор сигналов с али» показал, что генератора сигналов, у которого можно точно выставить амплитуду стоит, гораздо дороже, поэтому по соотношению цена-возможности этот генератор вне конкуренции.
Генератор покупал .

Данный DDS функциональный генератор (версия 2.0) сигналов собран на микроконтроллере AVR, обладает хорошей функциональностью, имеет амплитудный контроль, а также собран на односторонней печатной плате.

Данный генератор базируется на алгоритме DDS-генератора Jesper , программа была модернизирована под AVR-GCC C с вставками кода на ассемблере. Генератор имеет два выходных сигнала: первый - DDS сигналы, второй - высокоскоростной (1..8МГц) "прямоугольный" выход, который может использоваться для оживления МК с неправильными фузами и для других целей.
Высокоскоростной сигнал HS (High Speed) берется напрямую с микроконтроллера Atmega16 OC1A (PD5).
DDS-сигналы формируются с других выходов МК через резистивную R2R-матрицу и через микросхему LM358N, которая позволяет осуществить регулировку амплитуды (Amplitude) сигнала и смещение (Offset). Смещение и амплитуда регулируются при помощи двух потенциометров. Смещение может регулироваться в диапазоне +5В..-5В, а амплитуда 0...10В. Частота DDS-сигналов может регулироваться в пределах 0... 65534 Гц, это более чем достаточно для тестирования аудио-схем и других радиолюбительских задач.

Основные характеристики DDS-генератора V2.0:
- простая схема с распространенными и недорогими радиоэлементами;
- односторонняя печатная плата;
- встроенный блок питания;
- отдельный высокоскоростной выход (HS) до 8МГц;
- DDS-сигналы с изменяемой амплитудой и смещением;
- DDS-сигналы: синус, прямоугольник, пила и реверсивная пила, треугольник, ЭКГ-сигнал и сигнал шума;
- 2×16 LCD экран;
- интуитивная 5-ти кнопочная клавиатура;
- шаги для регулировки частоты: 1, 10, 100, 1000, 10000 Гц;
- запоминание последнего состояния после включения питания.

На представленной ниже блок-схеме, приведена логическая структура функционального генератора:

Как вы можете видеть, устройство требует наличие нескольких питающих напряжений: +5В, -12В, +12В. Напряжения +12В и -12В используются для регулирования амплитуды сигнала и смещения. Блок питания сконструирован с использованием трансформатора и нескольких микросхем стабилизаторов напряжения:

Блок питания собран на отдельной плате:

Если самому собирать блок питания нет желания, то можно использовать обычный ATX блок питания от компьютера, где уже присутствуют все необходимые напряжения. Разводка ATX разъема .

LCD-экран

Все действия отображаются через LCD-экранчик. Управление генератором осуществляется пятью клавишами

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

Для установки шага изменения частоты предусмотрено отдельное значение. Это удобно, если вам необходимо менять частоту в широких пределах.

Генератор шума не имеет каких-либо настроек. Для него используется обычная функция rand() непрерывно подающиеся на выход DDS-генератора.

Высокоскоростной выход HS имеет 4 режима частоты: 1, 2, 4 и 8 МГц.

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

Схема функционального генератора простая и содержит легкодоступные элементы:
- микроконтроллер AVR Atmega16, с внешним кварцем на 16 МГц;
- стандартный HD44780-типа LCD-экранчик 2×16;
- R2R-матрица ЦАП из обычных резисторов;
- операционный усилитель LM358N (отечественный аналог КР1040УД1);
- два потенциометра;
- пять клавиш;
- несколько разъемов.

Плата:

Функциональный генератор собран в пластиковом боксе:


Программное обеспечение

Как я уже говорил выше, в основе своей программы я использовал алгоритм DDS-генератора Jesper . Я добавил несколько строчек кода на ассемблере для реализации останова генерирования. Теперь алгоритм содержит 10 ЦПУ циклов, вместо 9.

void static inline Signal_OUT(const uint8_t *signal, uint8_t ad2, uint8_t ad1, uint8_t ad0){
asm volatile("eor r18, r18 ;r18<-0″ "\n\t"
"eor r19, r19 ;r19<-0″ "\n\t"
"1:" "\n\t"
"add r18, %0 ;1 cycle" "\n\t"
"adc r19, %1 ;1 cycle" "\n\t"
"adc %A3, %2 ;1 cycle" "\n\t"
"lpm ;3 cycles" "\n\t"
"out %4, __tmp_reg__ ;1 cycle" "\n\t"
"sbis %5, 2 ;1 cycle if no skip" "\n\t"
"rjmp 1b ;2 cycles. Total 10 cycles" "\n\t"
:
:"r" (ad0),"r" (ad1),"r" (ad2),"e" (signal),"I" (_SFR_IO_ADDR(PORTA)), "I" (_SFR_IO_ADDR(SPCR))
:"r18″, "r19″
);}

Таблица форм DDS-сигналов размещена во флэш памяти МК, адрес которой начинается с 0xXX00. Эти секции определены в makefile, в соответствующих местах в памяти:
#Define sections where to store signal tables
LDFLAGS += -Wl,-section-start=.MySection1=0x3A00
LDFLAGS += -Wl,-section-start=.MySection2=0x3B00
LDFLAGS += -Wl,-section-start=.MySection3=0x3C00
LDFLAGS += -Wl,-section-start=.MySection4=0x3D00
LDFLAGS += -Wl,-section-start=.MySection5=0x3E00
LDFLAGS += -Wl,-section-start=.MySection6=0x3F00

В первой части статьи рассматривается схемотехническое решение, устройство и конструкция DDS генератора (генератор с прямым цифровым синтезом формы сигнала) на микроконтроллере ATmega16 . В приборе, кроме синтеза сигнала различной формы и частоты, реализуется возможность регулировки амплитуды и смещения выходного сигнала.

Основные характеристики прибора:

  • простое схемотехническое решение, доступные компоненты;
  • односторонняя печатная плата;
  • сетевой источник питания;
  • специализированный выход частоты от 1 МГц до 8 МГц;
  • DDS выход с регулировкой амплитуды и смещения;
  • форма выходного DDS сигнала: синусоида, прямоугольные импульсы, пилообразные импульсы, треугольные импульсы, ЭКГ, шум;
  • для отображения текущих параметров используется двухстрочный ЖК дисплей;
  • пятикнопочная клавиатура;
  • шаг перестройки частоты: 1, 10, 10, 1000, 10000 Гц;
  • восстановление последней конфигурации при включении;
  • регулировка смещения: -5 В … +5 В;
  • регулировка амплитуды: 0 … 10 В;
  • регулировка частоты: 0 … 65534 Гц.

За основу прибора, а точнее алгоритм работы микроконтроллера, была взята разработка DDS генератора Jesper Hansen . Предложенный алгоритм был немного переработан и адаптирован под компилятор WinAVR-GCC

Сигнальный генератор имеет два выхода: выход DDS сигнала и выход высокочастотного сигнала (1 - 8 МГц) прямоугольной формы, который может использоваться для «оживления» микроконтроллеров с неправильными установками Fuse-битов или для других целей.

Высокочастотный сигнал поступает непосредственно с микроконтроллера, с вывода OC1A (PD5). DDS сигнал формируется микроконтроллером с использованием цепочки резисторов R2R (ЦАП), регулировка смещения и амплитуды возможна благодаря использованию низкопотребляющего операционного усилителя LM358N .

Блок-схема DDS генератора

Как видно, для питания устройства необходимо три напряжения: +5 В, +12 В, -12 В. Напряжения +12 В и -12 В используются для аналоговой части устройства на операционном усилителе для регулировки смещения и амплитуды.

Принципиальная схема источника питания изображена на рисунке ниже.

В источнике питания используются стабилизаторы напряжения LM7812 , LM7805 , LM7912 (стабилизатор отрицательного напряжения -12 В).

Внешний вид источника питания для генератора

Возможно использование компьютерного блока питания форм-фактора ATX, для этого необходимо распаять переходник в соответствии со схемой:

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

Для сборки прибора потребуется:

  • микроконтроллер ATmega16;
  • кварцевый резонатор 16 МГц;
  • стандартный двухстрочный ЖК индикатор на базе контроллера HD44780 ;
  • R2R ЦАП выполненный в виде цепочки резисторов;
  • сдвоенный операционный усилитель LM358;
  • два потенциометра;
  • пять кнопок;
  • несколько коннекторов и разъемов.

Рисунок печатной платы

Примененные компоненты, за исключением микроконтроллера и разъемов, в корпусах для поверхностного монтажа (smd).

Прибор смонтированный в корпусе

Тестовый запуск

Загрузки

Принципиальная схема и печатная плата (формат Eagle) -
Проект для симуляции в среде Proteus -

  • Кто пробовал сваять?
  • Смотрите ветку Функцинальный генератор, начиная с 4 поста идет обсуждение этой конструкции, и пользователи QED и куко собрали этот генератор. И в протеусе был проверен - работает.
  • скажите кто-нибудь, пожалуйста, перечень компонентов для блока питания используемые в первом(http://www..html?di=69926) варианте генератора. в частности интересует какой модель трансформатора и выпрямитель использовал автор. или хотя бы полные аналоги. из просьбы ясно, что я в электротехнике не силён, но думаю собрать осилю без углубления в дебри предмета. Просто форс-мажор. С конденсаторами и 3-мя стабилизаторами всё понятно. Собственно вот эта схема прикреплена.
  • Трансформатор любой маломощный с двумя вторичными обмотками с выходным напряжением 15 В (переменка). В частности автор использовал трансформатор TS6/47 (2х15 В/2х0.25 А) Диодный мостик тоже любой маломощный сгодится. На фотке в статье виден и трансформатор и диодный мостик.
  • а подскажите пожалуйста, какая связь должна быть между вторичным выходом трансформатора и выпрямителем, учитывая схему БП автора?:confused: ну имею ввиду, если на выходе трансформатора 15в (вроде нашел вот такой -ТПС-7.2(2х15В)сим.(7.2Вт)15Вх2_7.2Вт_сим.(0.24А)х2 - 160,00руб) , то какой выпрямитель к нему? и на случай, если 12в на выходе трансформатора?
  • Не совсем понял вопрос, честно говоря... Трансформатор указанный вами вроде подходит... Мостик вполне, думаю подойдет к примеру DB106
  • Vadzz, спасибо огромное за подсказку. если DB106 подходит, значит и имеющий аналогичные параметры W08 подойдет. это так? просто, именно его имеется возможность(желание) купить. и ещё не смог разобраться с номиналами конденсаторов на схеме автора, подскажите, пожалуйста. они в все в nF(нанофарад-нФ)?
  • W08 - вполне подойдет. Конденсаторы в схеме блока питания или в схеме самого генератора? Если блок питания - то там все кондеры в микрофарадах (2000 мкф, 100 мкф, 0.1 мкф). В схеме генератора - по-моему только два кондера в обвязке кварца 18 пикофарад.
  • Vadzz, безгранично благодарю. вроде все вопросы сняты. Со схемой самого генератора вроде немного проще(есть файл EAGLE). Буду воплощать в реальность. Если всё будет путём, то попробую выложить печатную плату (формат Eagle) Блока питания.
  • Обязательно должно все получиться у вас... Рисунок печатной платы выкладывайте, кому-то обязательно пригодится...
  • Я спаял и пользуюсь. Честно говоря по ходу возникли несколько проблем: 1) недостаток - невозможна перестройка частоты при включенном генераторе. Т.е. если нужно менять частоту, то сначала выключаем генерацию сигнала, потом перестраиваем частоту, потом снова включаем генерацию сигнала. Это зачастую неудобно, когда нужно следить за реакцией налаживаемого устройства на плавное изменение частоты. Например для управления оборотами шаговика перестраивать частоту нужно только плавно. 2) недостаток - дважды слетал EEPROM. Автор предусмотрел запоминание установленных режимов в EEPROM, но это совсем не обязательно. Уж лучше бы ничего не запоминал и не использовал его совсем. Или в крайнем случае при повреждении EEPROM грузил установки "по умолчанию" из FLASH. Зато был бы надежнее. В целом в остальном работой я доволен. Просьба к тем, кто смыслит в написании программ для AVR исправить эти два недостатка.
  • По поводу перестройки частоты "налету" тут скорее всего нужно использовть DMA, чего в подобных микроконтроллерах нет. Может я ошибаюсь... надо глянуть исходники генератора... Насчет "слетает EEPROM" - интересно конечно причину узнать, но два раза я думаю еще не показатель.
  • Готовые генераторы на ad9850(51) есть здесь: http://radiokit.tiu.ru/product_list/group_802113
  • Готовые генераторы на AD9850 это хорошие девайсы, но другое дело когда собираешь и налаживаешь сам...
  • Разрушение данных в EEPROM приводит к полной неработоспособности генератора. Очень неприятная проблема в самый неподходящий момент. Я обычно внутри корпуса генератора держу запасной запрограммированый контроллер. Но это же не выход из положения. Почему не предусмотреть сохранение только текущих данных, которые не повлияют в целом на работоспособность, если будет разрушение EEPROM? При потере данных из Flash грузим установки по умолчанию. Все остальное, что касается работоспособности программы хранится во Flash. Так надежнее будет работать. ПРЕДЛАГАЮ разместить список ссылок с другими проектами генераторов на AVR.
  • Тут несколько людей собирали этот генератор (с их слов конечно же), они ничего не говорили по этому поводу, есть ли такая проблема у них или нет...
  • Подскажите,в данном генераторе есть возможность менять только частоту или скважность тоже?
  • В характеристика генератора указано, что можно менять частоту, к сожалению возможности менять скованность нет...
  • парни подскажите по поводу RESET джампера -когда его включить и когда снять..... благодарю
  • Нормальное состояние джампера - разомкнут.И это скорее всего не джампер, а имелось ввиду разъем для возможности подключения кнопки, с помощью которой можно будет сбрасывать мк, если вдруг чего...

$15,3

Прежде всего, DDS — Direct Digital Synthesizer или цифровой синтезатор сигналов или электронный прибор, предназначенный для синтеза сигналов произвольной формы и частоты из опорной частоты.

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

Выбор DDS-модулей на просторах интернет оказался невелик. Из более-менее недорогих и с нормальным набором функций я нашел только 2 вида. Они одинаковые по функционалу, отличаются только расположением органов управления и питанием. Для работы одного из них было нужно три напряжения (+12В, -12В и +5В), второй работает от одного напряжения 7-9В. Это было решающим, проще потом запитать его от готового блока питания и не придется специально городить схему питания.

Из описания на сайте:

Operating voltage: DC7-9V
DDS frequency range: 1HZ-65534Hz.
High-speed frequency (HS) output up to 8MHz;
DDS signal amplitude of the offset amount can be adjusted separately by two potentiometers;
DDS signals: sine wave, square wave, sawtooth, reverse sawtooth, triangle wave, the ECG wave and noise wave.
1602 LCD menu;
Intuitive keyboard.
Section into the value: 1,10,100,1000,10000 Hz;
The power automatically restore the last used configuration.
Offset: 0.5pp-5Vpp
Amplitude amount: 0.5Vpp-14Vpp

Сама плата сделана очень качественно, пайка приличная, флюс смыт.

Так как под руками не нашлось блока питания на 9В с подходящим разъемом подключил блок питания на 5В. Как ни странно, все заработало. Пришлось только чуть подкорректировать контрастность LCD дисплея. Для этого под самим дисплеем имеется подстроечный резистор.

У генератора удобный алфавитно цифровой LCD дисплей 1602 с синей подсветкой и немало кнопок управления и 2 ручки настройки. Пойдем по порядку. Разъем питания 8-9В (как уже выяснили и от 5В работает уверенно). Кнопка включения/выключения питания. Светодиод, сигнализирующий включение.

  • вверх и вниз — выбор формы сигнала (функции);
  • вправо и влево — выбор частоты генерации (шаг задается в меню Freq Step).
  • центральная кнопка — старт/стоп генерации.

Две рукоятки управления:

  • амплтиуда;
  • оффсет 0,5 — 5В.

Сбоку 2 BNC разъема. Один для вывода DDS, второй для высокочастоного сигнала.

Генератор может формировать следующие формы импульсов:

  • ECG = электрокардиограмма (in the OFF state, the «left «and «right» keys to set the output frequency. Middle button start, all of the following waveform set)
  • NOISE = шум.
  • SawTooth = пила.
  • Rev Sawtooth = обратная пила.
  • Triangle = треугольные.
  • Sine=синусоида.
  • Square = прямоугольные.

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 непропай ножки микроконтроллера, и в результате на поиски проблемы ушло пару дней.

Прошивка

Прошивка для микроконтроллера была написана в . Для заливки.hex файла использовался программатор и софт . Скриншот с примером выставления 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 и др. и имеет разрешение 101x80 пикселей.

Настройка

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

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

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

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


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



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





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


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

Обозначение Тип Номинал Количество Примечание Магазин Мой блокнот
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


Copyright © 2024 Строительный портал - Djec.