генератор сигналов прямоугольной формы

ГЕНЕРАТОРЫ СИГНАЛОВ прямоугольной ФОРМЫ

dark fb.4725bc4eebdb65ca23e89e212ea8a0ea dark vk.71a586ff1b2903f7f61b0a284beb079f dark twitter.51e15b08a51bdf794f88684782916cc0 dark odnoklas.810a90026299a2be30475bf15c20af5b

caret left.c509a6ae019403bf80f96bff00cd87cd

caret right.6696d877b5de329b9afe170140b9f935

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

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

image182

Рис. 34. Операционный усилитель (а) и его характеристика при малых (б) и больших (в) сигналах на входе

Благодаря большому усилению (kU= 10 3 ¸10 6 ) выходное напряжение операционных усилителей пропорционально входному только при очень малых сигналах (милли- и микровольты). При напряжениях же на входе, срав­нимых с выходным (вольты), линейная зона настолько сужается, что характеристика приобретает вид, показанный на рис. 34, в, когда Uвых может иметь лишь два значения U+вых или U-вых причем скачок выходного напряжения происходит при близком к нулю входном напряжении (точнее, при близкой к нулю разности потенциалов между инвертирующим и неинвертирующим входами).

На операционном усилителе можно создать схему, выходное напряжение которой имеет одно из двух возможных значений U+вых или U-вых при Uвх=0 и меняет полярность Uвых на противоположную при подаче на вход импульса (или потенциала) той или иной полярности (триггерный режим работы). Схема с делителем напряжения R1-R2 (рис. 35, а) имеет именно такую характеристику (рис. 35, б). При Uвх= 0 за счет напряжения обратной связи Uос, снимаемого с сопротивления R1 и передаваемого на неинвертирующий вход усилителя, Uвых поддерживается равным одному из значений U±вых в зависимости от того, каким был последний сигнал Uвх.

Значения Uвх, при которых происходит скачкообразное изменение Uвых (т. е. при которых разность (Uвх—Uос=0),

image184

где g — коэффициент обратной связи.

image186

Рис. 35. Мультивибратор на операционном усилителе с внешним возбуждением (триггер Шмитта)

image188

Рис. 36. Автоколебательный мультивибратор

Предположим, что в момент t1 (рис. 36, б) напряжение Uвых изменилось скачком с U-вых до U+вых. Конденсатор С начинает перезаряжаться током (учитывая второе допущение операционного усилителя током Iвх можно пренебречь), протекающим через резистор R3 под действием напряжения U+вых, причем напряжение на конденсаторе UC изменяется по экспоненте, стремясь к U+вых. Напряжение UC представляет собой Uвх (ср. с рис. 35, а), и когда в момент t2 оно достигает значения U2, операционный усилитель скачком изменяет Uвых на U-вых. Конденсатор начнет перезаряжаться, стремясь к U-вых но, достигнув значения U1 к моменту t3, он заставит усилитель инвертировать выходное напряжение на U+вых, и далее процесс будет повторяться. Генераторы, основанные на рассмотренном принципе, называются релаксационными.

Период колебаний такого мультивибратора

image190

причем tи1=tи2. Такой вид колебаний называется «меандр».

Генератор импульсов треугольной формы. Схема на рис. 35, а инвертирует входной сигнал и может быть названа инвертирующим триггером Шмитта. Чтобы получить неинвертирующий триггер, применяют схему (рис. 37, а). Так как инвертирующий вход операционного усилителя соединен с корпусом (нулевым потенциалом), то в силу первого допущения таких усилителей, близок к нулю и потенциал точки А. Поэтому ток обратной связи, протекающий под действием разности потенциалов Uвых и точки А Iос = Uвых/R2.

640 1

image192

Рис. 37. Генератор импульсов треугольной формы:

а — неинвертирующий триггер; б — его характеристика; в—схема генератора; г — выходные напряжения

В силу второго допущения этот же ток будет протекать и по резистору R1, создавая на нем напряжение обратной связи, равное Uос= UвыхR1/R2 Так как переключение триггера происходит в момент, когдаUос – Uвх»0, то Uвх, при котором происходят переключения триггера, обозначенные U1 и U2 на рис. 37, б, определяется выражениями

image194

В схеме генератора треугольных импульсов (рис. 37, в) напряжением Uвх триггера, осуществленного на операционном усилителе ОУ1 служит напряжение.Uвых2, получаемое на инверторе-интеграторе, выполненном на операционном усилителе ОУ2. Поясним работу интегратора.

Ток, проходящий через конденсатор, равен произведению его емкости на производную от разности потенциалов на его обкладках (эта разность равна Uвых2 так как потенциал точки А близок к нулевому потенциалу корпуса в силу первого свойства операционного усилителя):

image196

Знак «—» означает, что положительный (как показано стрелкой на рис. 37, в) ток IC, поступающий на инвертирующий вход, создаст отрицательный потенциал Uвых2.

Так как потенциал точки А близок к нулю, то ток через резистор R в цепи связи между ОУ1 и ОУ2

image198

В силу же второго допущения для операционного усилителя I » IC получим

image200

Проинтегрировав это выражение от 0 до t и разделив обе части на – С, убедимся, что выходное напряжение ОУ2 пропорционально интегралу от напряжения на его входе (в данной схеме напряжению Uвых1):

image202

Здесь Uвых0 — напряжение на выходе интегратора при t=0.

Пусть в момент времени t1 триггер подал на вход ОУ2 напряжение U+вых1 (рис. 37, г). Так как U+вых1=соnst (а интеграл от постоянного значения пропорционален времени), то напряжение Uвых2 изменяется по прямой линии до тех пор, пока в момент t2 оно не достигнет значения U2, при котором триггер переключится и на вход интегратора подаст U-вых1. С момента t2 конденсатор начнет перезаряжаться и напряжение на нем линейно возрастает до момента t3, после чего процессы повторяются. Данный генератор является таким же мультивибратором, как и схема рис. 36, где напряжение на конденсаторе близко к треугольному. Повышенная линейность данного генератора объясняется использованием второго операционного усилителя-интегратора.

Амплитуда треугольного напряжения на выходе генератора определяется напряжениями переключения триггера. Период колебаний Т такого генератора определяется формулой T=4RCR1/R2.

Ждущий генератор (одновибратор). Генераторы, формирующие прямоугольный или треугольный импульс напряжения по сигналу, поданному на вход, называются ждущими. Их получают из мультивибраторов, затормозив их работу. Так, если в схеме 36, а зашунтировать конденсатор диодом Д (рис. 38), то конденсатор, разрядившись от U1 до UC=0 (см. рис. 36, б), перестанет перезаряжаться под действием U+вых, потому что ток от резистора R3 пройдет через открытый диод, а значит, напряжение на конденсаторе не достигнет значения U2 и автоколебания сорвутся.

image204

Рис. 38. Ждущий генератор

Генератор может быть запущен, если на его неинвертирующий вход поступит отрицательный импульс запуска Uзап, эквивалентный напряжению U2 на инвертирующем входе. Подобные генераторы одиночных импульсов используются при наладке ЭВМ.

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

image206

image208

Условие IС=соnst в схеме рис. 39 с операционным усилителем обеспечивается постоянным напряжением Uвх. Пока транзистор заперт, в течение временипроисходит зарядка конденсатора и выходное напряжение, снимаемое с конденсатора, нарастает по прямой.

image210

Рис. 39. Генератор пилообразного напряжения

При подаче импульса Up транзистор насыщается и через его малое сопротивление (RЭК в несколько Ом) конденсатор быстро разряжается за время tр, после чего процесс зарядки повторяется и поступающее с конденсатора на выход напряжение Uвых приобретает пилообразную форму.

Длительность tп определяется емкостью С и током зарядки, зависящим от Uвх и сопротивлений резисторов R. Изменяя значение напряжения Е0, поданного на другой вход усилителя, можно смещать «пилу» по вертикали. Пилообразная форма выходного напряжения сохраняется до тех пор, пока она располагается внутри предельных значений U±вых (см. рис. 34, в) операционного усилителя.

Источник

Генераторы сигналов (110)

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

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

Полезные статьи

Как выбрать генератор сигналов? arrow

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

По диапазону используемых частот выделяют:

В каталоге интернет-магазина «Суперайс» предложен огромный выбор функциональных генераторов по оптовым ценам. Открыв карточку товара, Вы сможете посмотреть подробные характеристики генераторов сигналов ведущих производителей – UNI-T, MHS, FeelTech, Rigol, Atten, JUNCE. Эта информация может быть полезной при выборе модели.

Источник

Генератор сигналов прямоугольной и синусоидальной формы на Arduino

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

diy waveform generator using arduino

В этой статье мы рассмотрим как на основе платы Arduino достаточно просто сконструировать генератор сигналов прямоугольной и синусоидальной формы. При формировании сигналов прямоугольной формы данный генератор может формировать прямоугольную волну с перепадами уровней 5V/0V с частотой от 1 Гц до 2 МГц. Частотой формируемого сигнала можно будет управлять с помощью инкрементального энкодера. Коэффициент заполнения (цикл занятости) данного сигнала будет равен 50%, но его можно изменить, внеся соответствующие изменения в программу. Рассматриваемый нами генератор не является промышленным устройством и его не рекомендуется использовать на серьезном производстве, но для домашних условий использования он вполне подойдет.

Также на нашем сайте вы можете посмотреть проекты более «продвинутых» генераторов для формирования сигналов прямоугольной и синусоидальной формы:

Если же вам нужно исключительно простое решение для формирования сигналов прямоугольной формы с частотой до 1 МГц с помощью платы Arduino, то рекомендуем этот проект.

Необходимые компоненты

Работа схемы

Схема генератора сигналов на основе платы Arduino представлена на следующем рисунке.

circuit diagram for diy waveform generator using arduinoПлата Arduino Nano управляет всеми процессами в схеме. ЖК дисплей используется для отображения частоты формируемого сигнала, а с помощью углового кодера производится установка частоты сигнала. Также на нашем сайте вы можете прочитать статью о подключении инкрементального энкодера к плате Arduino.

Схема запитывается от USB кабеля Arduino. Необходимые соединения в схеме представлены в следующей таблице.

guide supereyes
Контакт платы Arduino Куда подключен
D14 контакт RS ЖК дисплея
D15 контакт RN ЖК дисплея
D4 контакт D4 ЖК дисплея
D3 контакт D5 ЖК дисплея
D6 контакт D6 ЖК дисплея
D7 контакт D7 ЖК дисплея
D10 to Rotary Encoder 2
D11 to Rotary Encoder 3
D12 to Rotary Encoder 4
D9 выход прямоугольного сигнала
D2 контакт D9 платы Arduino
D5 выход SPWM сигнала

В схеме мы будем формировать прямоугольную волну (сигнал прямоугольной формы) на контакте D9 платы Arduino. Его частоту мы будем регулировать с помощью углового кодера. Для формирования синусоидального сигнала мы будем формировать SPWM сигнал (синусоидальный ШИМ (широтно-импульсной модуляции) сигнал) на контакте D5, его частота будет зависеть от частоты сигнала прямоугольной формы, которая будет подаваться на контакт D2 и будет действовать как прерывание и затем мы с помощью процедуры обработки (обслуживания) прерывания будем управлять частотой синусоидального сигнала.

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

circuit hardware for diy waveform generator using arduino

Формирование прямоугольного сигнала с изменяемой частотой

Если вы знакомы с Arduino, то вы должны знать что плата Arduino может достаточно просто формировать ШИМ сигнал (с помощью функции analogwrite) на ряде своих контактов. Но с помощью этой функции можно управлять только коэффициентом заполнения (скважностью) ШИМ сигнала, но нельзя управлять его частотой – а это как раз и нужно для нашего генератора сигналов. Управление частотой сигнала прямоугольной формы можно осуществить используя таймеры платы Arduino и непосредственно переключая состояние контактов на их основе. Помочь нам в этом может библиотека Arduino PWM Frequency Library (библиотека управления частотой ШИМ сигнала), более подробно работу с ней мы рассмотрим далее в статье.

producing square wave with variable frequency

Но в использовании этой библиотеки есть ряд слабых сторон. Дело в том, что данная библиотека изменяет настройки по умолчанию Таймера 1 (Timer 1) и Таймера 2 (Timer 2) платы Arduino. В связи с этим вы уже не сможете, к примеру, использовать библиотеку для управления серводвигателем или другие библиотеки, задействующие эти таймеры платы Arduino. Также функция analogwrite на контактах 9,10,11 & 13 использует Timer 1 и Timer 2, следовательно, вы уже не сможете формировать SPWM сигнал (синусоидальный ШИМ сигнал) на этих контактах.

Но преимуществом этой библиотеки является то, что она не мешает работа Таймера 0 (Timer 0) платы Arduino, который в нашем случае является более важным чем Timer 1 и Timer 2 потому что в этом случае вы можете без проблем использовать функцию задержки (delay) и функцию millis(). Также контакты 5 и 6 управляются Таймером 0, поэтому мы без проблем сможем использовать на этих контактах функцию analogwrite или осуществлять управление сервомотором.

Формирование синусоидальной волны (колебания) с помощью Arduino

Что такое SPWM сигнал

SPWM расшифровывается как Sinusoidal Pulse Width Modulation и переводится как синусоидальная широтно-импульсная модуляция (синусоидальная ШИМ). Этот сигнал в определенной степени похож на обычный ШИМ сигнал, но в нем коэффициент заполнения контролируется таким образом чтобы получить среднее напряжение похожее на синусоидальную волну. Например, при коэффициенте заполнения (скважности) 100% среднее выходное напряжение будет 5V, а при коэффициенте заполнения 25% оно будет всего лишь 1.25V, таким образом, управляя скважностью (коэффициентом заполнения) мы можем получить заранее определенные изменяемые значения среднего напряжения, то есть синусоидальную волну. Этот метод обычно используется в инверторах.

Принцип формирования SPWM сигнала показан на следующем рисунке.

sinusoidal pulse width modulation

Преобразование SPWM сигнала в синусоидальную волну

Преобразование SPWM сигнала в синусоидальную волну обычно требует использования схемы H-моста (H-bridge), которая состоит минимум из 4-х переключателей мощности (power switches). Подобные схемы обычно используются в инверторах. Мы не будем в статье подробно рассматривать эти вопросы поскольку нам с помощью нашей синусоидальной волны не нужно запитывать какое-либо устройство, нам всего лишь нужно ее сформировать. К тому же с помощью H-моста невозможно получить чистую синусоидальную волну – для этой цели необходимо использовать фильтр нижних частот (ФНЧ), состоящий из конденсаторов и индуктивностей.

output waveform of diy waveform generator using arduino

Библиотека для управления частотой ШИМ сигнала в Arduino

По представленной ссылке вы скачаете библиотеку в виде ZIP файла. После извлечения информации из этого ZIP файла вы получите каталог (папку) с именем PWM. Перейдите в папку с библиотеками Arduino IDE (для пользователей операционной системы Windows эта папка будет располагаться по адресу C:\Users\User\Documents\Arduino\libraries) и скопируйте туда эту PWM папку. Возможно, в библиотеках Arduino IDE у вас уже есть папка с именем PWM – в этом случае вам ее необходимо заменить на новую (скачанную) папку.

Объяснение программы для Arduino

Полный код программы приведен в конце статьи, здесь же мы рассмотрим его наиболее важные фрагменты. Перед компиляцией программы не забудьте добавить в библиотеки Arduino указанную библиотеку Arduino PWM Frequency Library, иначе компиляция программы будет выдавать вам ошибку.

Нам необходимо формировать ШИМ сигнал с изменяемой частотой на контакте 9 платы Arduino. Эта частота будет устанавливаться с помощью углового кодера, а ее значение будет отображаться на экране ЖК дисплея. А когда ШИМ сигнал будет формироваться на контакте 9 он также будет создавать прерывание на контакте 2 поскольку мы соединили оба этих контакта. Используя это прерывание мы можем управлять частотой SPWM сигнала, который будет формироваться на контакте 5.

Как обычно вначале программы мы должны подключить используемые библиотеки. Библиотека для работы с ЖК дисплеем встроена в Arduino IDE, а библиотеку для изменения частоты ШИМ сигнала мы только что скачали.

Источник

Генератор сигналов на Arduino и DDS модуле AD9833

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

arduino based function generator

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

Что такое генератор сигналов на основе прямого цифрового синтеза (DDS)

Как следует из названия, генератор сигналов может формировать различные виды сигналов заданной частоты. Аббревиатура DDS (Direct Digital Synthesis) означает прямой цифровой синтез. При этом способе любой сигнал можно сформировать в цифровом виде, а затем преобразовать его в аналоговый вид с помощью цифро-аналогового преобразователя (ЦАП). Чаще всего в современной электронике этот метод используется для формирования синусоидальных сигналов, но с его помощью можно формировать и прямоугольные, и треугольные сигналы, и вообще сигналы любой формы. Поскольку формирование сигналов происходит в цифровой форме в модуле DDS, то можно не только очень быстро переключаться между сигналами различной формы, но и также очень быстро изменять их частоту.

Принцип работы генератора сигналов AD9833

«Сердцем» нашего проекта будет микросхема AD9833, представляющая собой программируемый генератор сигналов и отличающаяся низким энергопотреблением. Микросхема (модуль) AD9833 способна формировать сигналы синусоидальной, прямоугольной и треугольной формы с максимальной частотой до 12 МГц. Таким образом, с помощью программы можно изменять частоту, фазу и форму сигналов на выходе данной микросхемы. Управляется данная микросхема по 3-х проводному интерфейсу SPI, что делает взаимодействие с ней достаточно простым. Функциональная схема микросхемы AD9833 приведена на следующем рисунке.

ad9833 function generator ic

Принцип работы данной микросхемы достаточно прост. Если мы посмотрим на ее функциональную схему, то мы обнаружим в ее составе аккумулятор фазы (Phase Accumulator), чья работа состоит в сохранении всех возможных значений синусоидальной волны, начиная от 0 to 2π. Также в ее схеме присутствуют SIN ROM, который преобразует информацию о фазе в амплитуду, и 10-битный ЦАП, который принимает данные от SIN ROM и преобразует их в соответствующие аналоговые значения напряжения, которые и подаются на выход микросхемы. На выходе микросхемы присутствует программно управляемый выключатель – его можно включать и выключать. Его роль мы рассмотрим далее в статье.

Основные особенности модуля AD9833:

Вкратце принцип работы данной микросхемы мы рассмотрели, более подробную информацию об этом вы можете посмотреть в даташите на микросхему AD9833.

Расположение выводов микросхемы AD9833 показано на следующем рисунке.

ad9833 pinout

Назначение выводов микросхемы:

VCC – плюс питания для цифровых и аналоговых цепей генератора.
DGND – цифровая земля.
SDATA – вход данных интерфейса SPI. Передача осуществляется 16-битными словами.
SCLK – вход тактового сигнала SPI. Используется второй режим работы: (CPOL = 1, CPHA = 0).
FSYNC – выбор микросхемы. Перед началом передачи данных должен быть установлен в 0, по завершении в 1.
AGND – аналоговая земля.
OUT – выход генератора.

Необходимые компоненты

Схема проекта

Схема генератора сигналов на основе платы Arduino и DDS модуле AD9833 представлена на следующем рисунке.

ad9833 based function generator schematic diagram«Сердцем» схемы является модуль AD9833, который подключен к плате Arduino. Для питания схемы используется регулятор напряжения LM7809 с подключенными к нему развязывающими конденсаторами, которые используются для фильтрации нежелательных шумов, способных оказать негативное воздействие на формируемые сигналы.

Управляет работой всей схемы плата Arduino. Для отображения информации используется OLED дисплей 128х64. Для изменения частоты формируемого сигнала мы используем три переключателя: первый устанавливает частоту в Гц, второй – в кГц, а третий – в МГц. Также мы используем кнопку для включения или отключения выхода схемы. И, наконец, в схеме используется инкрементальный энкодер (rotary encoder) вместе с подключенными к нему подтягивающими резисторами (чтобы правильно работали переключатели). Инкрементальный энкодер используется для изменения частоты, а тактильный переключатель внутри него используется для выбора формы сигнала.

arduino based signal generator

Объяснение программы для Arduino

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

Для написания кода программы нам прежде всего необходимо скачать необходимые библиотеки по следующим ссылкам:

Далее в программе мы подключим заголовочные файлы используемых библиотек. Библиотека AD9833.h используется для работы с DDS модулем AD9833, а библиотека math.h – для выполнения ряда математических операций.

Источник

Понравилась статья? Поделить с друзьями:

А вот еще кое-что интересное для вас:

  • Для чего нужен дубликаты госномера авто. 10 причин сделать себе его
  • Разновидности похоронных бюро и сферы их деятельности
  • Как быстро изучить английский язык? Плюсы и минусы онлайн школы по изучения языков
  • Эффективное создание текста вакансии: ключевые шаги и рекомендации
  • Размещение серверов в дата-центрах: преимущества и недостатки

  • 0 0 голоса
    Article Rating
    Подписаться
    Уведомить о
    0 Комментарий
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии