Универсальный внешний накопитель для всех iOS-устройств, совместим с PC/Mac, Android
Header Banner
8 800 100 5771 | +7 495 540 4266
c 9:00 до 24:00 пн-пт | c 10:00 до 18:00 сб
0 Comments
Конструктор для сборки простого DDS генератора сигналов
Продолжая тему электронных конструкторов я хочу и в этот раз рассказать о одном из устройств для пополнения арсенала измерительных приборов начинающего радиолюбителя.
Правда измерительным это устройство не назовешь, но то что оно помогает при измерениях это однозначно.

Довольно часто радиолюбителю, да и не только, приходится сталкиваться с необходимостью проверки разных электронных устройств. Это бывает как на этапе отладки, так и на этапе ремонта.
Для проверки бывает необходимо проследить прохождение сигнала по разным цепям устройства, но само устройство не всегда позволяет это сделать без внешних источников сигнала.
Например при настройке/проверке многокаскадного НЧ усилителя мощности.

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

Генераторы бывают разные, например ниже тоже генераторы 🙂

Но собирать мы будем генератор сигналов. Я много лет пользуюсь стареньким аналоговым генератором. В плане генерации синусоидальных сигналов он очень хорош, диапазон частот 10-100000Гц, но имеет большие габариты и не умеет выдавать сигналы других форм.
В данном случае же собирать будем DDS генератор сигналов.
DDS это Direct Digital Synthesizer или на русском — схема прямого цифрового синтеза.
Данное устройство может формировать сигналы произвольной формы и частоты используя в качестве задающего внутренний генератор с одной частотой.
Преимущества данного типа генераторов в том, что можно иметь большой диапазон перестройки с очень мелким шагом и при необходимости иметь возможность формирования сигналов сложных форм.

Как всегда, для начала, немного об упаковке.
Помимо стандартной упаковки, конструктор был упакован в белый плотный конверт.

Все компоненты сами находились в антистатическом пакете с защелкой (довольно полезная в хозяйстве радиолюбителя вещь 🙂 )

Внутри упаковки компоненты были просто насыпом, и при распаковке выглядели примерно так.

Дисплей был обернут пупырчатым полиэтиленом. Примерно с год назад я уже делал обзор такого дисплея с применением, потому останавливаться на нем не буду, скажу лишь что доехал он без происшествий.
В комплекте также присутствовали два BNC разъема, но более простой конструкции чем в обзоре осциллографа.

Отдельно на небольшом кусочке вспененного полиэтилена были микросхемы и панельки для них.
В устройстве применен микроконтроллер ATmega16 фирмы Atmel.

Иногда люди путают названия, называя микроконтроллер процессором. На самом деле это разные вещи.
Процессор это по сути просто вычислитель, микроконтроллер же в своем составе содержит кроме процессора ОЗУ и ПЗУ, и также могут присутствовать различные периферийные устройства, ЦАП, АЦП, ШИМ контроллер, компараторы и т.п.

Вторая микросхема — Сдвоенный операционный усилитель LM358. Самый обычный, массовый, операционный усилитель.

Сначала разложим весь комплект и посмотрим что же нам дали.
Печатная плата
Дисплей 1602
Два BNC разъема
Два переменных резистора и один подстроечный
Кварцевый резонатор
Резисторы и конденсаторы
Микросхемы
Шесть кнопок
Разные разъемы и крепеж

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

Металлизация выполнена качественно, замечаний у меня не возникло, покрытие контактных площадок отличное, паяется легко.

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

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

Так и оказалось, поиск в интернет вывел меня на изначальную версию данного устройства.
По ссылке можно найти, схему, печатную плату и исходники с прошивкой.
Но я все равно решил дочертить схему в именно том виде как она есть и могу сказать, что она на 100% соответствует исходному варианту. Разработчики конструктора просто разработали свой вариант печатной платы. Это означает, что если существуют альтернативные прошивки данного прибора, то они будут работать и здесь.
Есть замечание к схемотехнике, выход HS взят прямо с вывода процессора, никаких защит нет, потому есть шанс случайно сжечь этот выход 🙁

Раз уж рассказывать, то стоит описать функциональные узлы данной схемы и расписать некоторые из них более расширенно.
Я сделал цветной вариант принципиальной схемы, на котором цветом выделил основные узлы.

Мне тяжело подобрать названия цветам, потом буду описывать как смогу 🙂
Фиолетовый слева — узел первоначального сброса и принудительного при помощи кнопки.
При подаче питания конденсатор С1 разряжен, благодаря чему на выводе Сброс процессора будет низкий уровень, по мере заряда конденсатора через резистор R14 напряжение на входе Сброс поднимется и процессор начнет работу.
Зеленый — Кнопки переключения режимов работы
Светло фиолетовый? — Дисплей 1602, резистор ограничения тока подсветки и подстроечный резистор регулировки контрастности.
Красный — узел усилителя сигнала и регулировки сдвига относительно нуля (ближе к концу обзора показано что он делает)
Синий — ЦАП. Цифро Аналоговый Преобразователь. Собран ЦАП по схеме R2R матрицы, это один из самых простых вариантов ЦАП. В данном случае применен 8 бит ЦАП, так как используются все выводы одного порта микроконтроллера. Изменяя код на выводах процессора можно получить 256 уровней напряжения (8 бит). Состоит данный ЦАП из набора резисторов двух номиналов, отличающихся друг от друга в 2 раза, от этого и пошло название, состоящее из двух частей R и 2R.
Преимущества такого решения — большая скорость при копеечной стоимости, резисторы лучше применять точные. Мы с товарищем применяли такой принцип но для АЦП, выбор точных резисторов был невелик, потому мы использовали немного другой принцип, ставили все резисторы одного номинала, но там где надо 2R, применяли 2 последовательно включенных резистора.
Такой принцип Цифро аналогового преобразования был в одной из первых «звуковых карт» — Covox. Там была также R2R матрица, подключаемая к LPT порту.
Как я выше писал, в данном конструкторе ЦАП имеет разрешение 8 бит, или 256 уровней сигнала, для простого прибора этого более чем достаточно.

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

С основной частью описания закончили, расширенная будет далее по тексту, а мы перейдем непосредственно к сборке.
Как и в прошлых примерах начать я решил с резисторов.
В данном конструкторе резисторов много, но номиналов всего несколько.
Основное количество резисторов имеют всего два номинала, 20к и 10к и почти все задействованы в R2R матрице.
Чтобы немного облегчить сборку, скажу что можно даже не определять их сопротивелние, просто 20к резисторов 9 штук, а 10к резисторов соответственно 8 🙂

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

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

С обратной стороны выводы немного загибаются, но несильно, главное чтобы элементы не выпали, и плата кладется на стол выводами вверх.

Дальше берем припой в одну руку, паяльник в другую и пропаиваем все заполненные контактные площадки.
Сильно усердствовать с количеством компонентов не стоит, так как если набить так сразу всю плату, то в этом «лесу» можно и заблудиться 🙂

В конце обкусываем торчащие выводы компонентов впритык к припою. Бокорезами можно захватывать сразу несколько выводов (4-5-6 штук за один раз).
Лично я такой способ монтажа не очень приветствую и показал его просто ради демонстрации различных вариантов сборки.
Из недостатков такого способа:
После обрезки получаются острые торчащие кончики
Если компоненты стоят не в ряд, то легко получается каша из выводов, где все начинает путаться и это только тормозит работу.

Из достоинств:
Высокая скорость монтажа однотипных компонентов установленных в один — два ряда
Так как выводы сильно не загибаются, то облегчается демонтаж компонента.

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

После монтажа основного количества резисторов у нас останется несколько штук разного номинала.
С парой понятно, это два резистора 100к.
Три последних резистора это —
коричневый — красный — черный — красный — коричневый — 12к
красный — красный — черный — черный — коричневый — 220 Ом.
коричневый — черный — черный — черный — коричневый — 100 Ом.

Запаиваем последние резисторы, плата после этого должна выглядеть примерно так.

Резисторы с цветовой маркировкой вещь хорошая, но иногда возникает путаница с тем, откуда считать начало маркировки.
И если с резисторами, где маркировка состоит из четырех полосок, проблем обычно не возникает, так как последняя полоска чаще либо серебряная либо золотая, то с резисторами где маркировка из пяти полос, могут возникнуть проблемы.
Дело в том, что последняя полоса может иметь цвет как у полосок означающих номинал.

Для облегчения распознавания маркировки, последняя полоса должна отстоять от остальных, но это в идеальном случае. В реальной же жизни все бывает совсем не так как задумывалось и полоски идут в ряд на одном расстоянии друг от друга.
К сожалению в таком случае помочь может либо мультиметр, либо просто логика (в случае сборки устройства из набора), когда просто убираются все известные номиналы, а уже по оставшимся можно понять что за номинал перед нами.
Для примера пара фото вариантов маркировки резисторов в этом наборе.
1. На двух соседних резисторов попалась «зеркальная» маркировка, где не имеет значения откуда читать номинал 🙂
2. Резисторы на 100к, видно что последняя полоска стоит чуть дальше от основных (на обоих фото номинал читается слева — направо).

Ладно, с резисторами и их сложностями в маркировке закончили, перейдем к более простым вещам.
Конденсаторов в этом наборе всего четыре, при этом они парные, т.е. всего два номинала по две штуки каждого.
Также в комплекте дали кварцевый резонатор на 16 МГц.

О конденсаторах и кварцевом резонаторе я рассказывал в прошлом обзоре, потому просто покажу куда они должны устанавливаться.
Видимо изначально все конденсаторы задумывались одного типа, но конденсаторы на 22 пФ заменили небольшими дисковыми. Дело в том, что место на плате рассчитано под расстояние между выводами 5мм, а мелкие дисковые имеют всего 2.5мм, потому придется выводы им немного разогнуть. Разгибать придется около корпуса (благо выводы мягкие), так как из-за того что над ними стоит процессор, то необходимо получить минимальную высоту над платой.

В комплекте к микросхемам дали пару панелек и несколько разъемов.
На следующем этапе они нам и понадобятся, а кроме них возьмем длинный разъем (мама) и четырехконтактного «папу» (на фото не попал).

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

При установке панелек устанавливаем их также как сделано обозначение на печатной плате.

После установки панелек плата начинает приобретать некоторый вид.

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

Выше я писал что в комплекте дали два переменных резистора, также в комплекте еще был подстроечный резистор. Немного расскажу про эти компоненты.
Переменные резисторы предназначены для оперативного изменения сопротивления, кроме номинала имеют еще маркировку функциональной характеристики.
Функциональная характеристика это то, как будет меняться сопротивление резистора при повороте ручки.
Существует три основные характеристики:
А (в импортном варианте В) — линейная, изменение сопротивления линейно зависит от угла поворота. Такие резисторы, например, удобно применять в узлах регулировки напряжения БП.
Б (в импортном варианте С) — логарифмическая, сопротивление сначала меняется резко, а ближе к середине более плавно.
В (в импортном варианте A) — обратно-логарифмическая, сопротивление сначала меняется плавно, ближе к середине более резко. Такие резисторы обычно применяют в регуляторах громкости.
Дополнительный тип — W, производится только в импортном варианте. S-образная характеристика регулировки, гибрид логарифмического и обратно-логарифмического. Если честно, то я не знаю где такие применяются.
Кому интересно, могут почитать здесь подробнее.
Кстати мне попадались импортные переменные резисторы у которых буква регулировочной характеристики совпадала с нашей. Например вот современный импортный переменный резистор имеющий линейную характеристику и букву А в обозначении. Если есть сомнения, то лучше искать дополнительную информацию на сайте.
В комплекте к конструктору дали два переменных резистора, причем маркировку имел только один 🙁

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

Запаиваем резисторы и кнопки и переходим к BNC разъемам.
Если планируется использовать устройство в корпусе, то возможно стоит купить кнопки с более длинным штоком, чтобы не наращивать те, что дали в комплекте, так будет удобнее.
А вот переменные резисторы я бы вынес на проводах, так как расстояние между ними очень маленькое и пользоваться в таком виде будет неудобно.

BNC разъемы хоть и попроще, чем в обзоре осциллографа, но мне понравились больше.
Ключевое — их легче паять, что немаловажно для начинающего.
Но появилось и замечание, конструкторы так близко поставили разъемы на плате, что закрутить две гайки невозможно в принципе, всегда одна будет сверху другой.
Вообще в реальной жизни редко когда необходимы оба разъема сразу, но если бы конструкторы раздвинули их хотя бы на пару миллиметров, то было бы гораздо лучше.

Собственно пайка основной платы завершена, теперь можно установить на свое место операционный усилитель и микроконтроллер.

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

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

На этом монтаж основной платы можно считать законченным.
После всех операций плата должна выглядеть примерно так.

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

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

Промывать можно разными способами и средствами, кто то использует спирт, кто то спирто-бензиновую смесь, я мою платы ацетоном, по крайней мере пока могу его купить.
Уже когда промыл, то вспомнил совет из предыдущего обзора по поводу щетки, так как я пользуюсь ваткой. Ничего, придется перенести эксперимент на следующий раз.

У меня в работе вработалась привычка после промывки платы покрывать ее защитным лаком, обычно снизу, так как попадание лака на разъемы недопустимо.
В работе я использую лак Пластик 70.
Данный лак очень «легкий», т.е. он при необходимости смывается ацетоном и пропаивается паяльником. Есть еще хороший лак Уретан, но с ним все заметно сложнее, он прочнее и паяльником пропаять его гораздо труднее. ТАкой лак используется для тяжелых условий эксплуатации и тогда, когда есть уверенность в том, что плату паять больше не будем, хотя бы какое то длительное время.

После покрытия лаком плата становится более глянцевой и приятной на ощупь, возникает некоторое ощущение законченности процесса 🙂
Жалко фото не передает общую картину.
Меня иногда смешили слова людей типа — этот магнитофон/телевизор/приемник ремонтировали, вон видно следы пайки 🙂
При хорошей и правильной пайке следов ремонта нет. Только специалист сможет понять, ремонтировали устройство или нет.

Пришла очередь установки дисплея. Для этого в комплекте дали четыре винтика М3 и две монтажные стойки.
Дисплей крепится только со стороны обратной разъему, так как со стороны разъема он держится собственно за сам разъем.

Устанавливаем стойки на основную плату, затем устанавливаем дисплей, ну и в конце фиксируем всю эту конструкцию при помощи двух оставшихся винтиков.
понравилось то, что даже отверстия совпали с завидной точностью, причем без подгонки, просто вставил и вкрутил винтики :).

Ну все, можно пробовать.
Подаю 5 Вольт на соответствующие контакты разъема и…
И ничего не происходит, только включается подсветка.
Не стоит пугаться и сразу искать решение на форумах, все нормально, так и должно быть.
Вспоминаем что на плате есть подстроечный резистор и он там не зря 🙂
Данным подстроечным резистором надо отрегулировать контрастность дисплея, а так как он изначально стоял в среднем положении, то вполне закономерно, что мы ничего не увидели.
Берем отвертку и вращаем этот резистор добиваясь нормального изображения на экране.
Если сильно перекрутить, то будет переконтраст, мы увидим все знакоместа сразу, а активные сегменты будут еле просматриваться, в этом случае просто крутим резистор в обратную сторону пока неактивные элементы не сойдут почти на нет.
Можно отрегулировать так, что неактивные элементы вообще не будут видны, но я обычно оставляю их еле заметными.

Дальше мне бы перейти к тестированию, да не тут то было.
Когда я получил плату, то первым делом заметил, что помимо 5 Вольт ей надо +12 и -12, т.е. всего три напряжения. Я прям вспомнил РК86, где надо было +5, +12 и -5 Вольт, причем подавать их надо было в определенной последовательности.

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

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

Трансформатор я поставил также почти без запаса. Но при этом он достаточен при нормально сетевом напряжении.
Я бы рекомендовал применить трансформатор как минимум на 2 ВА, а лучше на 3-4ВА и имеющий две обмотки по 15 Вольт.
Кстати потребление платы небольшое, по 5 Вольт вместе с подсветкой ток составляет всего 35-38мА, по 12 Вольт ток потребления еще меньше, но зависит от нагрузки.

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

Разводка платы на первый взгляд может показаться несколько странной, так как можно было повернуть трансформатор на 180 градусов и получить более аккуратную разводку, я так сначала и сделал.
Но в таком варианте выходило, что дорожки с сетевым напряжением оказывались в опасной близости от основной платы прибора и я решил немного изменить разводку. не скажу что стало отлично, но по крайней мере так хоть немного безопаснее.
Можно убрать место под предохранитель, так как с примененным трансформатором в нем нет особой нужды, тогда будет еще лучше.

Так выглядит полный комплект прибора. для соединения БП с платой прибора я спаял небольшой жесткий соединитель 4х4 контакта.

Плата БП подключается при помощи соединителя к основной плате и теперь можно переходить к описанию работы прибора и тестированию. Сборка на этом этапе окончена.
Можно было конечно поставить все это в корпус, но для меня такой прибор скорее вспомогательный, так как я уже смотрю в сторону более сложных DDS генераторов, но и стоимость их не всегда подойдет новичку, потому я решил оставить как есть.

Перед началом тестирования опишу органы управления и возможности устройства.
На плате есть 5 кнопок управления и кнопка сброса.
Но по поводу кнопки сброса думаю все понятно и так, а остальные я опишу более подробно.
Стоит отметить небольшой «дребезг» при переключении правой/левой кнопки, возможно программный «антидребезг» имеет слишком маленькое время, проявляется в основном только в режиме выбора частоты выхода в режиме HS и шага перестройки частоты, в остальных режимах проблем не замечено.
Кнопки вверх и вниз переключают режимы работы прибора.
1. Синусоидальный
2. Прямоугольный
3. Пилообразный
4. Обратный пилообразный

1. Треугольный
2. Высокочастотный выход (отдельный разъем HS, остальные формы приведены для выхода DDS)
3. Шумоподобный (генерируется случайным перебором комбинаций на выходе ЦАП)
4. Эмуляция сигнала кардиограммы (как пример того, что генерировать можно любые формы сигналов)

1-2. Изменять частоту на выходе DDS можно в диапазоне 1-65535ГЦ с шагом 1Гц
3-4. Отдельно есть пункт, позволяющий выбрать шаг перестройки, по умолчанию включается шаг 100Гц.
Изменять частоту работы и режимы можно только в режиме, когда генерация выключена., изменение происходит при помощи кнопок влево/вправо.
Включается генерация кнопкой START.

Также на плате расположены два переменных резистора.
Один из них регулирует амплитуду сигнала, второй — смещение.
На осциллограммах я попытался показать как это выглядит.
Верхние две — изменение уровня выходного сигнала, нижние — регулировка смещения.

Дальше пойдут результаты тестов.
Все сигналы (кроме шумоподобного и ВЧ) проверялись на четырех частотах:
1. 1000Гц
2. 5000Гц
3. 10000Гц
4. 20000Гц.
На частотах выше был большой завал потому эти осциллограммы приводить не имеет особого смысла.
Для начала синусоидальный сигнал.

Пилообразный

Обратный пилообразный

Треугольный

Прямоугольный с выхода DDS

Кардиограмма

Прямоугольный с ВЧ выхода
Здесь предоставляется выбор только из четырех частот, их я и проверил
1. 1МГц
2. 2МГц
3. 4МГц
4. 8МГц

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

Как показало тестирование, сигналы имеют довольно искаженную форму начиная примерно с 10КГц. Сначала я грешил на упрощенный ЦАП, да и на саму простоту реализации синтеза, но захотелось проверить более тщательно.
Для проверки я подключился осциллографом прямо на выход ЦАП и установил максимально возможную частоту синтезатора, 65535Гц.
Здесь картина получше, особенно с учетом того, что генератор работал на максимальной частоте. Подозреваю что виной простая схема усиления, так как до ОУ сигнал заметно «красивее».

Ну и групповое фото небольшого «стенда» начинающего радиолюбителя 🙂

Резюме.
Плюсы
Качественное изготовление платы.
Все компоненты были в наличии
Никаких сложностей при сборке не возникло.
Большие функциональные возможности

Минусы
BNC разъемы стоят слишком близко друг к другу
Нет защиты по выходу HS.

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

Фух, вроде все, если накосячил где то, пишите, исправлю/дополню 🙂

Товар предоставлен для написания обзора магазином. Обзор опубликован в соответствии с п.18 Правил сайта.

ФУНКЦИОНАЛЬНЫЙ ГЕНЕРАТОР НА МИКРОКОНТРОЛЛЕРЕ

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

Генератор сигналов: функциональный генератор своими руками

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

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

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

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

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

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

  Печатная плата генератора (63.6 KiB, 3,749 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. Данная программа имеет в своем составе несколько подпрограмм – это и осциллограф, частотомер, анализатор спектра, генератор,  и кроме того имеется русский интерфейс:

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

  Virtins Multi-Instrument (41.7 MiB, 5,511 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.



Наука и жизнь в России » Архив сайта » DDS генератор на микроконтроллере

16Ноя

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

Лучше, проще и удобней схемы для дома и работы я не мог представить .  Она обладает следующими характеристиками

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

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

Разработка не моя, поэтому просто выкладываю ссылки на проект.
DDS генератор на микроконтроллере ATmega16. Второй вариант конструкции
DDS ГЕНЕРАТОР НА ATMEGA16

И, конечно, архивы с печатной платой в программе Eagle  1.zip, hex файл и файл Proteus 2.zip и исходными кодами на WinAVR-GCC Proshivka.zip

Мини-лаборатория юного радиолюбителя. Функциональный генератор / Блог им. Ghost_D / RoboCraft. Роботы? Это просто! Эпиграф.
«Когда собаке не фиг делать, она… песенки поет»

Признаться, я очень часто отвлекаюсь на всякие «полезно-бесполезные» поделки (это я про свое хобби: Ардуино, радиоэлектроника), которые не занимают много времени. И те, кто со мной хорошо знаком знают об этой моей особенности. Причем, я как быстро «вспыхиваю», так же быстро могу потерять всяческий интерес к тому или иному проекту. Копошась в интернете могу назаказывать в Китае кучу всяких интересных модулей, а получив их благополучно скинуть в коробку, зачастую даже и не распечатав пакетик 🙂 Потому что меня уже заинтересовало что-то другое. Я знаю, что это не хорошо, но ничего поделать не могу.

Как-то просматривая китайские электронные конструкторы на моей любимой (как иногда пишут: ЛЕГЕНДАРНОЙ) микросхеме NE555 выделил для себя два интересных набора для самостоятельной сборки:

Слева — генератор прямоугольных импульсов, с возможностью установки частоты и справа — функциональный генератор сигналов на выбор: меандр, синус, пила. Но… только на частоте 1 kHz.

Что же это такое — “Функциональный генератор“? Это устройство, которое имеет возможность формирования сигналов различных форм (как правило, более 3-х наиболее типичных сигналов: синус, прямоугольник, треугольник/пила). Такой прибор просто необходим в практике радиолюбителя для настройки различных радиолюбительских схем – усилителей, цифровых устройств, фильтров и так далее.

Как говориться: «глазки заблестели, ручки затряслись», ХОЧУ. Точнее, ХОЧУ СДЕЛАТЬ. Но непросто сделать/скопировать, а объединить два этих набора в одной поделке.

Изучив внимательно китайскую схему можно отметить, что неспроста китайцы клепают генератор только на одну частоту (1 kHz) — фильтры рассчитаны именно для этой частоты. Так что «ХАЛЯВЫ ТУТ НЕТ»: только МЕАНДР будет на всех частотах. Остальные сигналы (синус, треугольник и интегратор) — только при установке частоты 1 kHz. Меня вполне такой расклад устраивает. Далее несколько часов напряженной работы и «усовершенствованная» схема:

Как вы смели заметить, добавлен блок переключения частот и подстроечный резистор (100 kOm) для точной подстройки частоты. Следом печатная плата (не без гордости отмечаю, что ее размер буквально на 10 мм больше, чем у китайского варианта). Есть пару «плюшек»: все детали — выводные (значит, легко паять новичкам), два варианта подключения питания, два варианта подключения выходного сигнала.

Ну и далее, как обычно «Лутим-травим-паяем…». Не буду на этом заострять внимание. Вот как выглядит готовое устройство:

Заработало сразу, да и чему тут не заработать?!?!
Просто приведу результаты контрольных проверок:

Синус. Похож, очень даже.


Пила. Ну это… не идеально, но сойдет.


Треугольник. Нормально.


А вот форма меандра вызывает небольшое недоумение: горизонтальные линии слегка «не параллельны». Однако для большинства цифровых схем — вполне сойдет. Тем более, что мне не довелось увидеть как работает «китайский оригинал» 🙂

Всем заинтересовавшимся ссылка на материалы для повторения ТУТ.

Генераторы сигналов, схемы самодельных измерительных приборов
Генератор синусоидального сигнала со стабильной амплитудой Генератор синусоидального сигнала со стабильной амплитудой

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

0 655 0

Генератор ВЧ на 10-50МГц с индикацией частоты на мультиметре Генератор ВЧ на 10-50МГц с индикацией частоты на мультиметре

Схема генератора высокой частоты, который вырабатывает сигналы в диапазоне от 10 до 50 МГц. Сигнал можно промодулировать по частоте подав НЧ напряжение от ГНЧ или микрофона. Девиация частоты зависит от величины этого напряжения ЗЧ. Если нужна девиация 50-100 кГц, то, при крайне верхнем …

0 1265 0

Схема генератора импульсов 1Hz – 10KHz (4011) Схема генератора импульсов 1Hz - 10KHz (4011)

Принципиальная схема самодельного генератора логических импульсов с частотой от 1 Гц до 10КГц, собран на микросхеме 4011 (К561ЛА7). При ремонте и налаживании схем на цифровых микросхемах может быть очень полезен генератор логических импульсов. В общем, это генератор прямоугольных импульсов …

1 4209 11

Схема лабораторного генератора сигнала низкой частоты (10Гц-100КГц) Схема лабораторного генератора сигнала низкой частоты (10Гц-100КГц)

Низкочастотный генератор синусоидального сигнала – очень важный прибор в лаборатории любого радиолюбителя.Возможно, такой уже есть у всех. Но все же хочу познакомить читателей журнала со своим генератором. Генератор выполнен в виде самостоятельного прибора, питающегося от электросети. Но шкала …

2 4322 0

Схема очень простого генератора-пробника (100-10000 Гц) Схема очень простого генератора-пробника (100-10000 Гц)

Простой самодельный генератор-пробник, с регулировкой выходной частоты от 100 Гц до 10000 Гц, выполнен на микросхеме К561ЛА7. Если нужно экспромтом проверить прохождение сигнала по аудиотракту многие корифеи пользуются собственным пальцем как генератором НЧ (50 Гц сетевых наводок), регулируя …

1 3833 0

Генератор синусоидальных сигналов с широким диапазоном частот (МАХ038) Генератор синусоидальных сигналов с широким диапазоном частот (МАХ038)

Принципиальная схема самодельного широкодиапазонного генератора синусоидального сигнала для лабораторных целей, выполнен на микросхеме МАХ038. Синусоидальный генератор является одним из важнейших приборов лаборатории радиолюбителя. Обычно делаютдва генератора, низкочастотный и высокочастотный …

4 4942 2

Схема генератора плавного диапазона до 50 MHz (HC4046) Схема генератора плавного диапазона до 50 MHz (HC4046)

Принципиальная схема простого генератора плавного диапазона на микросхеме HC4046, Частота до 50 MHz. Микросхема НС4046 (а так же аналогиMM74HC4046N, MJM74HC4046 и другие) представляет собой RC-генератор с ФАПЧ, способный генерировать стабильную частоту до 50 MHz, что позволяет сделать ГПД …

1 4273 0

Схема низкочастотного генератора на микросхеме КР140УД708 (20-20000Гц) Схема низкочастотного генератора на микросхеме КР140УД708 (20-20000Гц)

Приведена принципиальная схема низкочастотного генератора сигналов, который выполнен на ОУ КР140УД708. Низкочастотный генератор является одним из необходимейших приборов врадиолюбительской лаборатории. С его помощью можно налаживать различные усилители, снимать АЧХ, проводить эксперименты …

0 4727 0

Генератор на 60 Герц с использованием часового кварцевого резонатора Генератор на 60 Герц с использованием часового кварцевого резонатора

Для питания электронных часов, а возможно и другой аппаратуры производства США и некоторых других стран, необходимо напряжение со стабильной частотой 60 Гц При наличии кварцевого резонатора на частоту 1966 08 кГц получить его несложно (см., например, статью В. Полякова “Преобразователь …

0 3415 0

Схема генератора НЧ и ВЧ на микросхеме К561ЛЕ5 (0,15-1,6МГц. 70-6000Гц ) Схема генератора НЧ и ВЧ на микросхеме К561ЛЕ5 (0,15-1,6МГц. 70-6000Гц )

Предлагаемая конструкция гене

Генератор импульсов на ATmega8 Deneb-80

Приветствую!

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

Проект такого генератора я и хочу предложить.

Сначала схема генератора импульсов:

Основу устройства составляет популярный микроконтроллер ATmega8 фирмы Atmel.

Описание схемы. Вся схема питается напряжением 5 В. Микроконтроллер тактируется частотой 8 МГц, которая стабилизирована кварцем Х1. Для генерации импульсов используется таймер/счетчик №1. В виде кнопок на схеме, подключенных к выводам PC3, PC4 и PC5 изображен энкодер. Две крайних кнопки заменяют переключение энкодера при вращении, а кнопка посередине – это кнопка энкодера, замыкающаяся при нажатии на его ось. Прямоугольные импульсы заданной с помощью энкодера частоты амплитудой 5 В снимаются с выхода таймера 1 (OCR1A). Для отображения выходной частоты применяется 16-и символьный однострочный ЖК-дисплей Wh2601, подключенный к порту D микроконтроллера. Дисплей тоже распространенный, на драйвере HD44780. Резистором R1 регулируется контраст дисплея. Обмен данными между МК и дисплеем организован с помощью 4-х проводной шины. Разъем J1 для внутрисхемного программирования МК.

Теперь о программе для микроконтроллера.

Программа написана в среде разработки CodeVisionAVR. В данной среде имеются готовые библиотеки для работы с дисплеем, да и настройка МК понятна и проста. Я использовал версию до выхода CodeVisionAVR версии 3.12. Она немного отличается в генерации кода с использованием Wizarda. Но, в основном, все то же самое. Далее все описано на примере работы с CodeVisionAVR версии 3.12. В интернете полно ссылок для изучения данной среды, например: изучение интегрированной среды разработки CodeVisionAVR.

Запускаем CVAVR. Создаем новый проект (New Project). Программа предложит использовать мастер создания проекта.

Соглашаемся. Затем выбираем семейство контроллера.

Далее с левой стороны выбираем закладку Chip, выбираем контроллер (ATmega8), вводим его рабочую частоту (8 МГц).

Настраиваем порты ввода-вывода. Нужно сделать выходом бит 1 порта B (PB1) – с него снимается генерируемая частота. Порт D пока оставляем как есть. А выводы, с которых будет считываться состояние энкодера (PC3, PC4, PC5) настроить на вход (Data Direction: In) и включить внутреннюю подтяжку к питанию (Pullup/Output Value – значение P). 

Переходим на вкладку Timers/Counters. Здесь нужно настроить 2 таймера: Timer0 и Timer1, остальные таймеры оставляем выключенными (Clock Value: Stopped).

Устанавливаем частоту Timer0 125 кГц. Данный таймер необходим для периодического опроса состояния энкодера. Опрос будет происходить каждый раз, как только таймер досчитает до верхнего значения. Поскольку Timer0 8-и разрядный, то верхнее значение у него 255. А чтобы контроллер прерывал выполнение основной программы для опроса энкодера, нужно включить прерывание по переполнению Timer0 (Overflow Interrupt). 

Настраиваем Timer1. Нужно выбрать режим (Mode) CTC (Clear Timer on Compare – Сброс при совпадении). В этом режиме выход таймера будет переключаться в лог. 0 как только содержимое счетного регистра TCNT1 совпадет с регистром OCR1A. За счет изменения значения в регистре OCR1A мы и будет изменять частоту выходных импульсов. В схеме используется выход А таймера 1. Для него нужно выбрать значение Toggle on Compare Match (переключиться в другое состояние при совпадении). В общем, смотрим картинку:

Следующий шаг – подключение дисплея. В CodeVisionAVR достаточно указать к какому порту МК будет подключен дисплей. Выбираем порт D.

Теперь нужно сгенерировать код программы. Нажимаем Program ->Generate, Save and Exit

Программа предложит сохранить 3 файла: файл кода (расширение .с), файл проекта (.prj) и файл ресурсов (.cwp).

Теперь нужно зайти в настройки Project -> Configure и проверить, что правильно заданы тип МК и его тактовая частота:

Готовый проект для CVAVR

  ATmega8_Generator (316,0 KiB, 1 014 hits)

Для прошивки МК нужен файл с расширением .hex. В готовом проекте это файл Gen_mega8.hex. Он расположен в папке Release/Exe/.

Если есть желание написать программу с нуля, то в проекте есть комментарии, какие команды для чего нужны. Или можно просто вставить готовый код из файла gen_mega8.c. И, изменяя его, смотреть как это отражается на готовом устройстве. Для генерации файла прошивки МК нужно нажать кнопку Build the project. Файл с расширением .hex сгенерится в папку Release/Exe/.
Fuse-биты контроллера программируются на работу с внешним кварцевым резонатором 8 МГц в соответствии с рисунком:

Теперь об управлении генератором импульсов.

После подачи питания происходит инициализация дисплея и энкодера (настраиваются выводы, к которым подключен энкодер). Далее по дисплею пробегает полоса (необязательная “фишка”, была сделана для тренировки вывода на дисплей) и высвечивается надпись “Генератор выкл.”. Спустя 2 сек дисплей очищается. Частота на выходе появляется после вращения ручки энкодера, и изменяется на единицы Герц. При нажатии и удержании кнопки энкодера около 0.5 сек на экран выводится сообщение “Отпусти кнопку”. После этого вращением ручки энкодера частота меняется по десяткам Герц. Для изменения частоты на сотни (тысячи) Герц нужно еще раз (2 раза) нажать кнопку энкодера. Затем все снова начинается с единиц Герц.

   

Для увеличения нагрузочной способности генератора выход МК можно включить через транзистор.

О точности выходной частоты.

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

Недавно приобрел очень удобный и компактный мультиметр, которым можно померить частоту (до 9.999 МГц). Вот его видеообзор. А заказать можно по этой ссылке.

Микроконтроллер можно прошить специальным программатором либо сделать простой программатор самому. Например, я успешно использую программатор USBasp. Такой программатор можно заказать по ссылке по очень привлекательной цене.

Оставить сообщение:

См. также:


Если Вы нашли что-то полезное, поделитесь с друзьями:

  • Генератор импульсов на ATmega8

    http://deneb-80.ru/wp-content/plugins/svensoft-social-share-buttons/images/placeholder.png

    Приветствую! Радиолюбителям, схемотехникам иногда необходимо настроить какое-нибудь цифровое устройство, как например, счетчик импульсов, тахометр, осциллограф и т.п. Или просто узнать, работает ли оно. Очень удобно пользоваться генератором, выдающим прямоугольные импульсы различной частоты.  Проект такого генератора я и хочу предложить. Сначала схема генератора импульсов: Основу устройства составляет популярный микроконтроллер ATmega8 фирмы Atmel. Описание схемы. Вся схема […]

  • Facebook
  • Twitter
  • ВКонтакте
  • Одноклассники
  • Mail.ru
  • Google+
  • Livejournal
Сделай сам Зонд генератора сигналов – случайные странствия Фрэнка

Некоторое время назад я построил генератор сигналов, который является довольно удобным оборудованием. Но я периодически разочаровывался тем, что у меня не было подходящего зонда, чтобы легко вводить сигнал в цепь. Стандартный кабель BNC – BNC имеет свои применения, но он не слишком хорош для такого рода вещей. И свисающий кусок проволоки не доставляет ничего, кроме неприятностей.

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

Поэтому я решил взломать зонд области, чтобы построить кабель / зонд генератора сигналов. Из DealExtreme я заказал дешевый осциллографический зонд – их SKU 32422 за большие 6 долларов. Примерно через три недели он попал в мой почтовый ящик. Я быстро обнаружил, что его легко разобрать.Вроде так:


Разгрузку от натяжения (слева на фотографии) можно просто снять. Это удерживает небольшую квадратную коробку, закрывающую печатную плату, – при снятии натяжения защитная крышка теперь тоже сдвигается. Минута качественного времени с паяльником удаляет резисторы и конденсатор триммера на печатной плате (сделано до того, как я сделал эти фотографии), затем я припаял провод через середину печатной платы, чтобы соединить разъем BNC обратно к центру кабеля , Вот крупный план:

Затем крышка печатной платы и предохранитель от натяжения были снова вставлены на место, а переключатель X1 / X10 на ручке датчика был помещен в положение X1, а затем обмотан лентой, чтобы убедиться, что его нельзя было случайно переключить на X10.Когда переключатель находится в положении X10, большой резистор включается последовательно с наконечником – не хотите этого! Наконец, я наклеил ярлык на зонд, чтобы не перепутать его с обычными зондами. Готово!

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

,
Что такое микроконтроллер? – Как работают микроконтроллеры

Микроконтроллер – это компьютер. Все компьютеры – речь идет о персональном настольном компьютере, большом мэйнфрейме или микроконтроллере – имеют несколько общих черт:

  • Все компьютеры имеют ЦП (центральный процессор), который выполняет программы. Если вы сейчас сидите за настольным компьютером и читаете эту статью, процессор на этом компьютере выполняет программу, которая реализует веб-браузер, отображающий эту страницу.
  • CPU загружает программу откуда-то. На настольном компьютере программа браузера загружается с жесткого диска.
  • Компьютер имеет некоторое ОЗУ (оперативное запоминающее устройство), где он может хранить «переменные».
  • И у компьютера есть несколько устройств ввода и вывода, чтобы он мог общаться с людьми. На настольном компьютере клавиатура и мышь являются устройствами ввода, а монитор и принтер – устройствами вывода. Жесткий диск – это устройство ввода-вывода – он обрабатывает как ввод, так и вывод.

Используемый вами настольный компьютер – это «компьютер общего назначения», который может запускать любую из тысяч программ.Микроконтроллеры – это «компьютеры специального назначения». Микроконтроллеры делают одну вещь хорошо. Существует ряд других общих характеристик, которые определяют микроконтроллеры. Если компьютер соответствует большинству этих характеристик, то вы можете назвать его «микроконтроллером»:

    Микроконтроллеры
  • – это « встроенный » внутри какого-либо другого устройства (часто это потребительский продукт), чтобы они могли контролировать функции или действия продукта. Поэтому другое название микроконтроллера – «встроенный контроллер».«
  • Микроконтроллеры
  • – это , выделенные для одной задачи и запускающие одну конкретную программу. Программа хранится в ПЗУ (постоянное запоминающее устройство) и, как правило, не изменяется.
  • Микроконтроллеры
  • часто представляют собой устройств с низким энергопотреблением . Настольный компьютер почти всегда подключен к сетевой розетке и может потреблять 50 ватт электроэнергии. Микроконтроллер с батарейным питанием может потреблять 50 милливатт
  • Микроконтроллер имеет выделенное устройство ввода и часто (но не всегда) имеет небольшой светодиод или ЖК-дисплей для вывода .Микроконтроллер также получает данные от устройства, которым он управляет, и управляет устройством, посылая сигналы различным компонентам в устройстве. Например, микроконтроллер внутри телевизора принимает вход от пульта дистанционного управления и отображает вывод на экране телевизора. Контроллер управляет селектором каналов, акустической системой и некоторыми настройками электроники кинескопа, такими как оттенок и яркость. Контроллер двигателя в автомобиле получает данные от датчиков, таких как датчики кислорода и детонации, и управляет такими вещами, как топливная смесь и время зажигания.Контроллер микроволновой печи принимает ввод с клавиатуры, отображает вывод на ЖК-дисплее и управляет реле, которое включает и выключает микроволновый генератор.
  • Микроконтроллер часто бывает небольшим и недорогим . Компоненты выбраны таким образом, чтобы минимизировать размер и быть как можно более дешевыми.
  • Микроконтроллер часто, но не всегда, в некотором смысле . Например, микроконтроллер, управляющий двигателем автомобиля, должен работать при экстремальных температурах, с которыми обычный компьютер обычно не справляется.Микроконтроллер автомобиля на Аляске должен нормально работать при -30 градусах F (-34 C), в то время как тот же микроконтроллер в Неваде может работать при 120 градусах F (49 C). Когда вы добавляете тепло, естественным образом генерируемое двигателем, температура в моторном отсеке может доходить до 150 или 180 градусов F (65-80 C). С другой стороны, микроконтроллер, встроенный в видеомагнитофон, вообще не имеет повышенной прочности.

Фактический процессор , используемый для реализации микроконтроллера, может широко варьироваться.Например, сотовый телефон, показанный на вкладке «Внутри цифрового сотового телефона», содержит процессор Z-80. Z-80 – это 8-битный микропроцессор, разработанный в 1970-х годах и изначально использовавшийся в домашних компьютерах того времени. Мне сказали, что Garmin GPS, показанный в разделе «Как работают GPS-приемники», содержит версию Intel 80386 с низким энергопотреблением. Изначально 80386 использовался в настольных компьютерах.

Во многих продуктах, таких как микроволновые печи, спрос на процессор довольно низкий, и цена является важным фактором.В этих случаях производители обращаются к специализированным микросхемам микроконтроллеров – микросхемам, которые изначально были предназначены для недорогих, небольших и маломощных встроенных процессоров. Motorola 6811 и Intel 8051 являются хорошими примерами таких чипов. Существует также линейка популярных контроллеров под названием «PIC microcontrollers», созданная компанией Microchip. По сегодняшним стандартам эти процессоры невероятно минималистичны; но они чрезвычайно недороги при покупке в больших количествах и часто могут удовлетворить потребности дизайнера устройства с одним чипом.

Типичная микросхема микроконтроллера младшего класса может иметь 1000 байтов ПЗУ и 20 байтов ОЗУ на чипе вместе с восемью выводами I / 0. В больших количествах стоимость этих чипов иногда может составлять всего лишь копейки. Вы, конечно, никогда не собираетесь запускать Microsoft Word на таком чипе – Microsoft Word требует, возможно, 30 мегабайт оперативной памяти и процессор, который может выполнять миллионы инструкций в секунду. Но тогда вам не нужен Microsoft Word для управления микроволновой печью. С микроконтроллером у вас есть одна конкретная задача, которую вы пытаетесь выполнить, и важна низкая стоимость и низкое энергопотребление.

,
Использование микроконтроллеров – как работают микроконтроллеры

В разделе «Как работают электронные ворота» вы узнали об устройствах TTL серии 7400, а также о том, где их купить и как их собирать. Что вы обнаружили, так это то, что для реализации простых устройств часто требуется много возможностей. Например, в статье о цифровых часах разработанные нами часы могут содержать 15 или 20 чипов. Одним из больших преимуществ микроконтроллера является то, что программное обеспечение – небольшая программа, которую вы пишете и выполняете на контроллере, – может заменить многие шлюзы.Поэтому в этой статье мы будем использовать микроконтроллер для создания цифровых часов. Это будут довольно дорогие цифровые часы (почти 200 долларов!), Но при этом вы накопите все, что вам нужно, чтобы играть с микроконтроллерами на долгие годы. Даже если вы на самом деле не создаете эти цифровые часы, вы многое узнаете, прочитав об этом.

Микроконтроллер, который мы будем использовать здесь, – это специальное устройство, призванное максимально упростить жизнь.Устройство называется «BASIC Stamp» и создается компанией под названием Parallax. Штамп BASIC – это микроконтроллер PIC, настроенный для понимания языка программирования BASIC. Использование языка BASIC делает создание программного обеспечения для контроллера чрезвычайно простым. Микросхему микроконтроллера можно приобрести на небольшой несущей плате, которая принимает 9-вольтовую батарею, и вы можете запрограммировать ее, подключив ее к одному из портов на вашем настольном компьютере. Маловероятно, что какой-либо производитель будет использовать штамп BASIC в реальном производственном устройстве – штампы стоят дорого и медленно (условно говоря).Тем не менее, довольно часто используют Stamps для создания прототипов или для одноразовых демонстрационных продуктов, потому что их невероятно легко установить и использовать.

Кстати, их называют «Марки», потому что они размером с почтовую марку.

Конкретный штамп BASIC, который мы будем использовать в этой статье, называется «BASIC Stamp Revision D».

BASIC Stamp Revision D – это BS-1, установленный на несущей плате с 9-вольтовым держателем батареи, регулятором мощности, разъемом для кабеля программирования, контактными штырьками для линий ввода / вывода и небольшой областью прототипирования.Вы можете купить чип BS-1 и подключить другие компоненты к макету. Редакция D просто делает жизнь проще.

Вы можете видеть из предыдущей таблицы, что вы не собираетесь делать ничего экзотического со штампом Бейсик. Предел в 75 строк (256 байт EEPROM может содержать программу BASIC длиной около 75 строк) для BS-1 довольно ограничен. Тем не менее, вы можете создавать довольно аккуратные вещи, и тот факт, что штамп настолько мал и работает от батареи, означает, что он может работать практически везде.

,
Использование вашего компьютера в качестве простого генератора сигналов

[Дебраю] нужен был простой генератор сигналов для проекта, над которым он работал, но у него не было ни одного удобного. Он обнаружил, что самый простой и дешевый способ получить чистую и надежную сигнализацию – это использовать что-то, что уже сидело на его столе – его компьютер.

Он обнаружил, что встроенный в Audacity генератор тонов был весьма полезен, по крайней мере, для генерации сигналов с частотой менее 20 кГц или около того. Подключив прицел к аудиоразъему звуковой карты, он заметил, что у ПК хорошая точность воспроизведения частоты, хотя для этого требуется дополнительное смещение постоянного тока, так как большинство карт построены для удаления этого смещения из формы сигнала.

Используя LM358 в качестве неинвертирующего суммирующего усилителя, он смог применить постоянное смещение постоянного тока и генерировать полезные сигналы для своих проектов микроконтроллеров. Схема для его схемы смещения доступна на его сайте, если вы хотите построить один из своих собственных.

[Дебрадж] также отмечает, что, хотя Audacity – это дешевый дешевый бесплатный способ генерирования простых сигналов, любое количество сложных сигналов может быть сгенерировано с помощью MATLAB, если у вас есть копия.

,

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

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