Низкочастотный генератор на микроконтроллере. Генератор сигналов: функциональный генератор своими руками. Возможная замена элементов

В статье использованы материалы канала Ютуб Паяльник TV. В практике радиолюбителя бывают ситуации, когда необходим генератор частот. Так, например, при настройке усилителя низких частот и при конструировании импульсных источников питания. В различных интернет-магазинах можно приобрести готовые генераторы или конструкторы. Например, цифровой конструктор, генератор частот синуса, меандра и пилы. Ориентировочная стоимость такого набора от 800 до 1000 рублей. Куплен он в китайском интернет-магазине , идет под наименованием “DDS Function Signal Generator Module DIY “.

Поставляется такой набор в антистатическом пакетике. Что же у нас внутри? Итак, видим печатную плату, довольно высокого качества. Стеклотекстолит довольно толстый. На печатной плате изображены все номиналы необходимых компонентов. Дальше – пассивные компоненты, резисторы различные, непосредственно сама микросхема ATmega 16. Можно поближе её рассмотреть. Также панелька для неё. И ещё одна микросхемка восьминогая LN358. Жидкокристаллический дисплей, 16-разрядный, кажется. Штекеры для подключения выходов, разъёмы. Болтики для крепления дисплея на плату. Также стойки под болтики. Штыревые разъёмы. Ещё панелька. Переменные резисторы; один, уже можно по плате понять, для регулировки амплитуды; второй… разберёмся, для чего. И микропереключатели. Ещё один переменный резистор. К сожалению, в комплекте не хватает, а может, производитель просто решил, что радиолюбитель не нуждается в подробной инструкции

Сборка конструктора генератора сигналов.

Собственно говоря, нет подробной инструкции, как собирать, как запускать, как пользоваться, и прочее. Но попробуем сами разобраться. В сборке, я думаю, проблем не будет, так как все номиналы подписаны. Также у конструктора нет никакого наименования, кроме как названия «DDS сигнал генератор», и некоторые маркировки TB207809. Не знаю, что это такое, номер модели или сама маркировка нашего конструктора. Не имею понятия.

Давайте приступим к пайке компонентов. Начнём с пассивных. С резисторов. Проверим номиналы их. Это резисторы на 10 кОм, это на, видимо, кОм. С большим разбросом… Да, это на 20 кОм. Как видно по плате, у нас очень много одинаковых резисторов. Вот ряд из 10-килоомных, вот ряд из 20. Проблем с пайкой не будет. Начнём с 10-килоомных. Теперь впаяем 20-килоомные резисторы. Для надёжности также можно пропаять все резисторы с лицевой стороны дорожки. Так как все отверстия металлизированы, если вы вдруг где-то что-то не пропаяли, можно здесь эту проблему компенсировать. Паяем оставшиеся резисторы, предварительно проверив номинал. Это резистор на 100 Ом, вот он на плате. Итак, все постоянные резисторы на плате запаяны.

Теперь впаяем конденсаторы, их у нас не так много. Кажется, всего 4 штучки… Так и есть. Итак, первый конденсатор, маркировка 104 – это 100 нФ. Также два конденсатора, мелких оранжевых, на 22 пФ. Они находятся справа и слева от кварцевого резонатора. Итак, все конденсаторы впаяны.

Теперь впаяем наш кварц, он на 16 МГц. Стоит между двумя конденсаторами на 22 пФ. Полярность не важно какая. Ставим его ровненько, здесь подогнём ножки. Кварцевый резонатор впаян.

Теперь впаяем панельки под микросхемы. Их у нас две. Начнём с большой. Одна панелька впаяна. Теперь впаяем маленькую панельку, LM358. Теперь впаяем два штыревых разъёмов на плате. Один из них – разъём «мама», он входит в плату в натяг в отверстие, поэтому его нигде фиксировать не нужно. И второй разъём – «папа», это входной разъём по питанию. Он тоже входит внатяг, фиксировать ничего не нужно.

Теперь можно впаять наши кнопочки, или микропереключатели, кому как удобнее. Они тоже втыкаются в натяг. Всё переключается, всё прекрасно. Теперь впаяем три переменных резистора. Один у нас с маркировкой 102, это значит 10 и ещё два нолика, то есть 1 кОм. Он встанет вот на это место. Встаёт не совсем в натяг, поэтому придётся его придерживать. И первую пайку сделать немножко неаккуратно. Осталось впаять на этой плате два разъёма выходного сигнала. После пайки они держатся очень-очень крепко. Для того, чтобы микросхема плотно встала в свою панельку, нужно немножко подогнуть конденсаторы на 22 пФ, вот так. Теперь микросхемка встанет точно. Ключ должен располагаться, как по маркировке нарисовано. Теперь вставим вторую микросхемку. Также вставляем в соответствии с маркировкой. Ключ должен располагаться снизу. Вот так. Микросхема вставлена. Теперь можно впаять штыревой разъём на печатную плату дисплея. Предварительно нужно зафиксировать штыревой разъём, и выровнять его, чтобы вставал не криво. Для этого припаяем одну ножку. Так. С этой стороны тоже желательно. Смотрим, как он встал. Встаёт ровненько. Можно впаивать теперь полностью его. Теперь, для того, чтобы дисплей находился на своём месте, необходимо поставить стойки под болтики. Они устанавливаются в два места сюда и, соответственно, вот сюда. Для этого нам понадобится отвёрточка, можно крестовую, можно плоскую. Удобнее всё-таки крестовую. И следующим образом делаем ставим болтик, ставим стоечку, закручиваем. Одна. Вторая. Вот так.

Теперь устанавливаем наш дисплей точно на свою позицию, то есть совмещаем отверстия, штыревой разъём «мама-папа», и втыкаем его сюда. Таким образом, наш дисплей должен находиться чуть-чуть выше микросхемы. Чуть-чуть выше нашего микроконтроллера, чтобы он не касался его. И вкручиваем два болтика стойки. Вот так. На этом сборку нашего генератора можно считать завершённой. Итак, перед тем, как тестировать наш генератор, настоятельно рекомендую вам промыть плату от остатков флюса, на всякий случай. Для того, чтобы запустить генератор, ему необходимо три напряжения. То есть, это 5 В, +12 В, -12 В, и, соответственно, земляной. Для этого можно собрать блок питания на двух трансформаторах, и сделать двуполярный выход, а по плюсовому плечу сделать стабилизацию на 5 В. Либо можно взять блок питания от компьютера, у него уже имеется выход и 5 В, и 12 В, и -12 В. Для того, чтобы его запустить, достаточно зелёный и чёрный провод закоротить перемычкой. Я воспользуюсь как раз блоком питания от компьютера. Отвёл от него уже необходимые провода. Синий – это -12 В, чёрный – земляной, жёлтый +12 В, и красный +5 В. Втыкаем его в наш штыревой разъём каким-то образом…

Теперь можно включить наш блок питания в сеть. Итак, видим, что у нас загорелся экран. Ничего больше пока не видим. Но не пугайтесь, это не значит, что вы неправильно собрали. На сайте производителя я всё-таки нашёл необходимые инструкции по регулировке, и для того, чтобы у нас что-то начало показывать, нужно отрегулировать этот маленький переменный резистор 10 кОм. Крутим его в разных направлениях, и смотрим, что на экране появляется. То есть, крутим его вот так, против часовой стрелки, – у нас не происходит ничего. Крутим по часовой стрелке, и видим, что у нас начинают прорисовываться буковки. Ещё сильнее – у нас пиксели все начинают гореть. Отрегулируем так, чтобы был чистый текст. Вот так. Видим текст, надпись синусоиды SIN, 30 Гц, выключено. И для того, чтобы ещё лучше видеть, снимем защитную плёночку. Вот так. Теперь видим, что наш генератор окончательно заработал.

Тест режимов работы генератора после сборки.

Смотрим, какие у него есть режимы работы. Щёлкаем вниз, кнопочка DOWN. Здесь надпись SQUARE, это значит «прямоугольник». TRIANGLE, это значит «треугольник». SAWTOOTH, это значит «пила». REW SAWTOOTH, это «обратная пила». ECG, это один из видов сигнала тоже. И шаг частоты. А также есть шум, и высокочастотный сигнал. Влево-вправо мы меняем частоту нашу. Если зажать, он начнёт быстро менять. Кнопочкой «START» мы запускаем его. Кнопочкой «RESET» мы сбрасываем наши настройки. Можем изменять шаг частоты от 10 Гц… от 1 Гц, дальше 100, дальше 1000, дальше 10 000. То есть, допустим, выберем шаг 1 Гц. Выберем синусоиду. И можем менять по одному герцу сигнал. Не всегда будет удобно, это удобно только на низких частотах. Выберем, допустим, шаг 1000, выберем синусоиду, и посмотрим, какая максимальная. Итак, видим, что максимальная генерируемая частота обычным DDS выходом, это 65535 Гц на всех видах сигналов. То есть, смотрим, на прямоугольнике то же самое, прибавить не можем. Это закономерно, так на всех частотах. А минимальная частота, соответственно… Давайте посмотрим. Видим, от нуля. От нуля, и далее пошло, 1, 2, 3, 4, 5, 6, 7… И так далее. Ну что ж. Наш генератор заработал.

Забыл сказать, что включение можете производить с любым положением резисторов переменных, это никак не отразится. Кроме, соответственно, этого, а этот вы подрегулируете когда включите. Теперь перейдём к проверке непосредственно качества сигнала нашего. Для тестов мне понадобится ноутбук с осциллографом USB, и осциллографический пробник вот такой, чтобы подключать его к осциллографу и генератору одновременно. Подключим сперва к DDS выходу, то есть, к выходу с низкочастотным сигналом. Поставим частому синуса от 1 Гц, и попробуем включить. Пока ничего… А ничего, потому что мы не подключили осциллограф. Видим, что у нас что-то появилось. Изменим развёртку осциллографа на, допустим, 200 мс. Вот. Видим синусоиду, низкочастотную очень. Частота по осциллографу 0, 95 Гц. Для хороших тестов прибавим немножко частоту. Допустим, 20 Гц. Теперь изменим развёртку снова на 10 мс. Видим очень чистую синусоиду частотой 19, 9 Гц. Попробуем поменять амплитуду сигнала. Касаться до платы лучше не нужно с обратной стороны, происходят такие нехорошие помехи. Поэтому касаться не будем. Как видим, амплитуда очень хорошо регулируется у нас вплоть от нуля и до… Амплитуда сигнала 18, 8, то есть, от нижнего пика до верхнего пика 18, 8 В. Соответственно, от нуля и до верхнего пика у нас получается чуть меньше 10 В. Для чего же нам нужен второй резистор переменный? Посмотрим. Синусоида поползла, скажем так, вверх. А теперь поползла вниз. Так вот, для чего же он нужен? Этот резистор у нас изменяет смещение сигнала. То есть, если нам нужна синусоида от нуля до какого-то значения напряжения, мы просто перетаскиваем её вверх, уменьшаем амплитуду сигнала, и вот у нас синусоида от нуля до 10 В. А если нам нужна синусоида переменная, то есть, от напряжения питания до минус напряжения питания, мы ползунок вращаем в другую сторону, потенциометр. Вот так вот. Меняем значение амплитуды у напряжения. И как видим, у нас синусоида от -9 до +9 В. То же самое со всеми остальными. Выберем, допустим, прямоугольник. Видим прямоугольник переменный, то есть, он также от минус напряжения питания до плюс, от -10 до +10 В. Изменяя ползунок, изменяя его положение, мы меняем нижнюю составляющую нашего сигнала. То есть, сейчас у нас прямоугольник чисто импульсный, от нуля до напряжения питания. Или же наоборот, от нуля до минус напряжения питания. Синхронизацию нужно поставить… Давайте прибавим немножко частоты, чтобы у нас быстрее всё шло. То есть, выберем сейчас шаг, FREQUENCU STEP, 100 Гц, допустим. Вот так. Так будет замечательно, 500 Гц. Включаем, видим 500 Гц прямоугольник, изменим развёртку. Фронт спад довольно пологий почему-то здесь, на 500 Гц. Посмотрим, что будет происходить на дальнейших частотах, поэтому пока не будем задаваться… Ставим развёртку пока 200… Нет, 1 мс. Выставим переменное положение, как-то так… Вот у нас прямоугольник, меняется у нас амплитуда. Выберем теперь дальше что у нас идёт… Треугольник. Смотрим треугольник то же самое, амплитуда спокойно у нас меняется, без всяких проблем. То же самое меняется и положение его относительно нуля. Вот можем видеть. Выставим обратно теперь. Далее у нас идёт пила. Смотрим на пилу. То же самое, всё прекрасно меняется, и туда, и сюда. И амплитудка также у неё меняется. Всё прекрасно. Хороший качественный сигнал. Дальше идёт обратная пила. Так же, амплитуда, положение относительно нуля. Дальше идёт ECG сигнал, такой он вид имеет. И также у него меняется положение относительно нуля, и амплитуда. Последний у нас идёт шум. У шума также у нас меняется положение относительно нуля, и также меняется амплитуда. Это мы проверяли низкие частоты. Теперь шаг изменим, пускай 10 000 будет. Поставим самую высокую частоту, практически самую высокую. Запускаем. Ух ты, что это? Очень печально, на самом деле. Прямоугольника здесь соответственно никакого нет. Хорошо, поставим частому в два раза меньшую. SQUARE… Пускай будет 25 кГц. должен быть прямоугольник, но у нас почему-то треугольник здесь. Почему-то у нас здесь треугольник. Интересно… А если менять амплитуду? Теперь у нас какая-то двухполупериодная выпрямленная синусоида какая-то получается. Прямоугольника здесь также нет. Хорошо… Ещё уменьшим частоту. Допустим, до 15 кГц. Вот уже хотя бы внешний вид какой-то есть. Вот так вот. Да, не совсем радужно всё, как я думал. Какие-то у нас полки дед-тайма появляются, эти вот. Откуда они – неизвестно. Ну что ж. До 5 кГц, в принципе, ещё юзабельный наш генератор, а после, судя по всему, уже видим, траектория у нас очень пологая. Я собирал генератор на обыкновенной логике, и она вплоть до 0 кГц выдавала стабильный прямоугольник, в отличие от этого. Посмотрим, как пила себя ведёт на таких же частотах… Не пила, а треугольник. С треугольником у нас проблем особо нет, то же самое, всё регулируется. Всё хорошо. А, допустим, пила? Спад очень пологий стал, нерезкий. Характеристики сильно меняются. И то же самое у обратной пилы. ECG, тут тоже непонятное что-то. Какие-то пирамиды Хеопса. И шум… Какой-то набор гармоник из прямоугольников. Тоже, судя по всему, уже плохо используемый… Ну что можно сказать? До 5 кГц ещё генератор справляется со своей задачей почти хорошо. То есть, на низких частотах до 500 Гц всё прекрасно, после начинаются уже какие-то уходы параметров, более пологие траектории. И от 5 кГц и выше очень сильное изменение характеристик, и на самой высокой частоте 65 кГц происходит какая-то ерунда, если откровенно. Совершенно невозможно использовать такой синус и остальные виды сигнала. Ну что ж, нужно посмотреть, что у нас с высокочастотным выходом. Переключаемся на HIGH-SPEED OUT. Здесь выбираем HIGH-SPEED. И посмотрим. Развёртку сразу поменяем до 100 нс. И посмотрим, что у нас получится. Видите, регулировка здесь уже… Положением уровней ничего не меняется. Соответственно, это уже совсем другой выход. Это выход непосредственно с микросхемы. Непосредственно с микроконтроллера. Видим здесь прямоугольник, довольно-таки хороший причём. То есть, то, что было на 65 кГц, невозможно даже сравнить с этим. Здесь уже очень качественный такой мегагерцовый прямоуголиничек. Чуть-чуть похуже у меня как раз выдавал сигнал на логике. Единственное что, амплитуда здесь, смотрю, не меняется. Сигнал стабильный будет амплитудой 5 В. Теперь посмотрим, что же будет, когда мы увеличим частоту, то есть поставим, допустим, 2 МГц. Включаем. Прямоугольник почти хороший. Амплитуда также не поменялась, 5 В осталась. Смотрим дальше. 4 МГц. На 4 МГц уже прямоугольник больше походит на синус; хотя у него осталась небольшая постоянная составляющая, но уже немножко не то. Очень пологий фронт и спад получаются. И амплитуда, кстати, тоже не поменялась, 5 В. И смотрим на 8 МГц. Амплитуда поменялась, 4, 5 В, и здесь у нас уже не прямоугольник, а явный синус. Увеличивая развёртку, видим уже явно здесь что-то похожее на синус. В розетке как раз такой синус, только 50 Гц. Такие же у него кривые характеристики. Не знаю, в какой аппаратуре можно использовать такой синус. Ну что ж, 1 и 2 МГц вполне юзабельные. Выключаем.

Выводы.

Что можно сказать в целом? В целом, наборчик неплохой. Процентов на 50 оправдал ожидания. Но, конечно, сильное изменение характеристик от 5 кГц – очень плохо. Не ожидал я, что будет такой плохой сигнал выдавать. Но до 5 кГц вполне можно использовать. Допустим, для тестов усилителей низкой частоты, звуковой частоты, вполне можно использовать этот набор. На 40 кГц, то есть, это частоты работы импульсных преобразователей, где-то от 25 и до 100 кГц, здесь уже ловить нечего, тут уже никакой хороший сигнал не получишь. На той же самой TL494 ШИМ контроллере сигнал получается в разы лучше. Также хочется дополнить, что производитель всё-таки сделал описание своего набора на сайте, который будет размещён в описании к видео. Здесь есть расположение компонентов всех, настройка переменного резистора для нормальной работы дисплея, шаги частот, принципиальная работа, принципиальная схема для нашего генератора, и также сама принципиальная схема.

Собираем простой функциональный генератор для лаборатории начинающего радиолюбителя

Доброго дня уважаемые радиолюбители! Приветствую вас на сайте “ “

Собираем генератор сигналов – функциональный генератор. Часть 3.

Доброго дня уважаемые радиолюбители! На сегодняшнем занятии в Школе начинающего радиолюбителя мы закончим собирать функциональный генератор . Сегодня мы соберем печатную плату, припаяем все навесные детали, проверим работоспособность генератора и проведем его настройку с помощью специальной программы.

И так, представляю вам окончательный вариант моей печатной платы выполненной в программе, которую мы рассматривали на втором занятии – Sprint Layout :

Если вы не смогли сделать свой вариант платы (что-то не получилось, или было просто лень, к сожалению), то можете воспользоваться моим “шедевром”. Плата получилась размером 9х5,5 см и содержит две перемычки (две линии синего цвета). Здесь вы можете скачать этот вариант платы в формате Sprint Laiout^

(63.6 KiB, 3,488 hits)

После применения лазерно-утюжной технологии и травления, получилась такая заготовка:

Дорожки на этой плате выполнены шириной 0,8 мм, почти все контактные площадки диаметром 1,5 мм и почти все отверстия – сверлом 0,7 мм. Я думаю, что вам будет не очень сложно разобраться в этой плате, и так-же, в зависимости от используемых деталей (особенно подстроечные сопротивления), внести свои изменения. Сразу хочу сказать, что эта плата проверенна и при правильной пайке деталей схема начинает работать сразу.

Немного о функциональности и красоте платы. Беря в руки плату, изготовленную в заводских условиях, вы наверняка замечали как она удобно подготовлена для пайки деталей – и сверху и снизу нанесена белым цветом так называемая “шелкография”, на которой сразу видны и наименование деталей и их посадочные места, что очень облегчает жизнь при пайке радиоэлементов. Видя посадочное место радиоэлемента, никогда не ошибешься в какие отверстия его вставлять, остается только глянуть на схему, выбрать нужную деталь, вставить ее и припаять. Поэтому мы сегодня сделаем плату приближенную к заводской, т.е. нанесем шелкографию на слой со стороны деталей. Единственное, эта “шелкография” будет черного цвета. Процесс очень прост. Если, к примеру, мы пользуемся программой Sprint Layout, то выбираем при печати слой К1 (слой со стороны деталей), распечатываем его как и для самой платы (но только в зеркальном отображении), накладываем отпечаток на сторону платы, где нет фольги (со стороны деталей), центрируем его (а на просвет протравленной платы рисунок виден прилично) и применяя способ ЛУТ переносим тонер на текстолит. Процесс – как и при переносе тонера на медь, и любуемся результатом:

После высверливания отверстий, вы реально будете видеть схему расположения деталей на плате. А самое главное, что это не только для красоты платы (хотя, как я уже говорил, красивая плата – это залог хорошей и долгой работы собранной вами схемы), а главное – для облегчения дальнейшей пайки схемы. Затраченные десять минут на нанесение “шелкографии” заметно окупаются по времени при сборке схемы. Некоторые радиолюбители, после подготовки платы к пайке и нанесения такой “шелкографии”, покрывают слой со стороны деталей лаком, тем самым защищая “шелкографию” от стирания. Хочу отметить, что тонер на текстолите держится очень хорошо, а после пайки деталей вам придется растворителем удалять остатки канифоли с платы. Попадание растворителя на “шелкографию”, покрытую лаком, приводит к появлению белого налета, при удалении которого сходит и сама “шелкография” (это хорошо видно на фотографии, именно так я и делал), поэтому, я считаю, что использовать лак не обязательно. Кстати, все надписи, контура деталей выполнены при толщине линий 0,2 мм, и как видите, все это прекрасно переноситься на текстолит.

А вот так выглядит моя плата (без перемычек и навесных деталей):

Эта плата выглядела бы намного лучше, если бы я не покрывал ее лаком. Но а вы можете как всегда поэкспериментировать, и естественно, сделать лучше. Кроме того, у меня на плате установлены два конденсатора С4, нужного номинала (0,22 мкФ) у меня не оказалось и я заменил его двумя конденсаторами номиналом 0,1 мкФ соединив их параллельно.

Продолжаем. После того, как мы припаяли все детали на плату, припаиваем две перемычки, припаиваем с помощью отрезков монтажных проводов резисторы R7 и R10, переключатель S2. Переключатель S1 пока не припаиваем а делаем перемычку из провода, соединяя выводы 10 микросхемы ICL8038 и конденсатора С3 (т.е. подключаем диапазон 0,7 – 7 кГц), подаем питание с нашего (я надеюсь собранного) лабораторного блока питания на входы микросхемных стабилизаторов около 15 вольт постоянного напряжения

Теперь мы готовы к проверке и настройке нашего генератора. Как проверить работоспособность генератора. Очень просто. Подпаиваем к к выходам Х1 (1:1) и “общий” любой обыкновенный или пьезокерамический динамик (к примеру от китайских часов в будильнике). При подключении питания мы услышим звуковой сигнал. При изменении сопротивления R10 мы услышим как изменяется тональность сигнала на выходе, а при изменении сопротивления R7 – как изменяется громкость сигнала. Если у вас этого нет, то единственная причина в неправильной пайке радиоэлементов. Обязательно пройдитесь еще раз по схеме, устраните недостатки и все будет о,кей!

Будем считать, что этот этап изготовления генератора мы прошли. Если что-то не получается, или получается, но не так, обязательно задавайте свои вопросы в комментариях или на форуме. Вместе мы решим любую проблему.

Продолжаем. Вот так выглядит плата, подготовленная к настройке:

Что мы видим на этой картинке. Питание – черный “крокодил” на общий провод, красный “крокодил” на положительный вход стабилизатора, желтый “крокодил” – на отрицательный вход стабилизатора отрицательного напряжения. Припаянные переменные сопротивления R7 и R10, а также переключатель S2. С нашего лабораторного блока питания (вот где пригодился двухполярный источник питания) мы подаем на схему напряжение около 15-16 вольт, для того, чтобы нормально работали микросхемные стабилизаторы на 12 вольт.

Подключив питание на входы стабилизаторов (15-16 вольт) с помощью тестера проверяем напряжение на выходах стабилизаторов (±12 вольт). В зависимости от используемых стабилизаторов напряжения будет отличаться от ± 12 вольт, но близки к нему. Если у вас напряжения на выходах стабилизаторов несуразные (не соответствуют тому, что надо), то причина одна – плохой контакт с “массой”. Самое интересное, что даже отсутствие надежного контакта с “землей” не мешает работе генератора на динамик.

Ну а теперь нам осталось настроить наш генератор. Настройку мы будем проводить с помощью специальной программы – виртуальный осциллограф . В сети можно найти много программ имитирующих работу осциллографа на экране компьютера. Специально для этого занятия я проверил множество таких программ и остановил свой выбор на одной, которая, как мне кажется, наиболее лучше симулирует осциллограф – Virtins Multi-Instrument . Данная программа имеет в своем составе несколько подпрограмм – это и осциллограф, частотомер, анализатор спектра, генератор, и кроме того имеется русский интерфейс:

Здесь вы можете скачать данную программу:

(41.7 MiB, 5,238 hits)

Программа проста в использовании, а для настройки нашего генератора потребуется лищь минимальное знание ее функций:

Для того чтобы настроить наш генератор нам необходимо подключиться к компьютеру через звуковую карту. Подсоединиться можно через линейный вход (есть не у всех компьютеров) или к разъему “микрофон” (есть на всех компьютерах). Для этого нам необходимо взять какие-либо старые, ненужные наушники от телефона или другого устройства, со штекером диаметром 3,5 мм, и разобрать их. После разборки припаиваем к штекеру два провода – как показано на фотографии:

После этого белый провод подпаиваем к “земле” а красный к контакту Х2 (1:10). Регулятор уровня сигнала R7 ставим в минимальное положение (обязательно, что-бы не спалить звуковую карту) и подключаем штекер к компьютеру. Запускаем программу, при этом в рабочем окне мы увидим две запущенные программы – осциллограф и анализатор спектра. Анализатор спектра отключаем, выбираем на верхней панели “мультиметр” и запускаем его. Появится окошко, которое будет показывать частоту нашего сигнала. С помощью резистора R10 устанавливаем частоту около 1 кГц, переключатель S2 ставим в положение “1” (синусоидальный сигнал). А затем, с помощью подстроечных резисторов R2, R4 и R5 настраиваем наш генератор. Сначала форму синусоидального сигнала резисторами R5 и R4, добиваясь на экране формы сигнала в виде синусоиды, а затем, переключив S2 в положение “3” (прямоугольный сигнал), резистором R2 добиваемся симметрии сигнала. Как это реально выглядит, вы можете посмотреть на коротком видео:

После проведенных действий и настройки генератора, припаиваем к нему переключатель S1 (предварительно удалив перемычку) и собираем всю конструкцию в готовом или самодельном (смотри занятие по сборке блока питания) корпусе.

Будем считать, что мы успешно со всем справились, и в нашем радиолюбительском хозяйстве появился новый приборфункциональный генератор . Оснащать его частотомером мы пока не будем (нет подходящей схемы) а будем его использовать в таком виде, учитывая, что нужную нам частоту мы можем выставить с помощью программы Virtins Multi-Instrument . Частотомер для генератора мы будем собирать на микроконтроллере, в разделе “Микроконтроллеры”.

Следующим нашим этапом в познании и практическом претворении в жизнь радиолюбительских устройств будет сборка светомузыкальной установки на светодиодах.

При повторении данной конструкции был случай, когда не удалось добиться правильной формы прямоугольных импульсов. Почему возникла такая проблема сказать трудно, возможно из-за такой работы микросхемы. Решить проблему очень легко. Для этого необходимо применить триггер Шмитта на микросхеме К561(КР1561)ТЛ1 по нижеприведенной схеме. Данная схема позволяет преобразовывать напряжение любой формы в прямоугольные импульсы с очень хорошей формы. Схема включается в разрыв проводника, идущего от вывода 9 микросхемы, вместо конденсатора С6.

Этот проект - качественный и универсальный функциональный генератор, который несмотря на некоторую сложность схемы, по крайней мере в сравнении с более простыми , обладает очень широким функционалом, что оправдывает затраты на его сборку. Он способен выдавать 9 различных форм сигналов, а также работать с синхронизацией импульсов.

Принципиальная схема генератора на МК

Параметры устройства

  • Частотный диапазон: 10 Гц - 60 кГц
  • Цифровая регулировка частоты с 3 различными шагами
  • Формы сигнала: Sine, Triangle, Square, Saw, H-pulse, L-pulse, Burst, Sweep, Noise
  • Выходной диапазон: 15 В для синуса и треугольника, 0-5 В для других режимов
  • Имеется выход для синхронизации импульсов

Питание прибора осуществляется от 12 вольт переменки, что обеспечивает достаточно высокое (свыше 18 В) напряжение постоянного тока, необходимое для нормальной эксплуатации 78L15 и 79L15, формирующих двухполярку по 15 В. Это делается для того, чтобы микросхема LF353 могла вывести полный диапазон сигналов на нагрузке 1 кОм.

Регулятор уровня использован ALPS SRBM1L0800. В схеме следует использовать резисторы с погрешностью ±1% допуска или лучше. Ограничители тока светодиодов - резисторы 4306R серии. Яркость может быть увеличена в зависимости от предпочтений исполнителя. Генератор собран в пластиковом корпусе 178x154x36 мм с алюминиевой передней и задней панелями.

Многие контактные компоненты монтируются на передней и задней панелях (кнопки, ручки, разъемы RCA, светодиодные сборки, разъем питания). Печатные платы крепятся к корпусу болтами с пластиковыми прокладками. Все остальные элементы генератора смонтированы на печатных платах - блок питания отдельно. Левая кнопка по середине для изменения режима, правая - для выбора частоты режима.

Генератор вырабатывает различные сигналы и работает в трех режимах, которые выбираются с помощью клавиши "Select" и указываются тремя верхними (на схеме) светодиодами. Поворотный регулятор изменяет параметры сигнала в соответствии со следующей таблицей:

Сразу после настройки в режиме 1 идёт генерация синуса. Однако, начальная частота довольно низкая и по крайней мере один щелчок энкодера необходим, чтобы увеличить его. На плате есть контакт подключения прибора для программирования, что позволяет оперативно изменять функциональность генератора сигналов, если необходимо. Все файлы проекта - прошивки PIC16F870, рисунки плат, находятся

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

В первой части статьи рассматривается схемотехническое решение, устройство и конструкция 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 джампера -когда его включить и когда снять..... благодарю
  • Нормальное состояние джампера - разомкнут.И это скорее всего не джампер, а имелось ввиду разъем для возможности подключения кнопки, с помощью которой можно будет сбрасывать мк, если вдруг чего...