Колебательный контур arduino

Колебательный контур arduino

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

Конденсатор C и катушка L, соединенные последовательно, образуют так называемый последовательный колебательный контур. В реальном контуре присутствует еще и резистор R. Нет, специально резистор в контур конечно никто добавляет, но нужно учитывать, например, сопротивление провода, которым намотана катушка.

Для наглядности, изобразим все, что происходит в контуре, на графике, по горизонтальной оси будем откладывать частоту, по вертикально — значение токов, сопротивлений и напряжений. Мы уже знаем, что ёмкостное сопротивление (график XC) с увеличением частоты уменьшается, индуктивное, напротив, линейно растет (график XL). При некотором значении частоты fрез емкостное и индуктивное сопротивление будут одинаковы, и компенсируют друг друга, а общее реактивное сопротивление контура X=XL-XC будет равно нулю, а значит полное сопротивление контура будет минимальным и будет равно сопротивлению R (график Z). Частота fрез называется резонансной. На резонансной частоте резко возрастает ток в контуре и вместе с ним и напряжение на катушке UL и конденсаторе UC, также ставшими равными из-за равенства сопротивлений XL и XC.

Параллельный колебательный контур.

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

Общее сопротивление контура можно представить как параллельное соединение двух сопротивлений XL и XC, а значит на резонансной частоте fрез сопротивление контура будет максимально, а на частотах больше или меньше резонансной — сопротивление контура будет уменьшаться и чем дальше от резонансной частоты тем меньше будет сопротивление контура. Следовательно напряжение, в полном соответвии с законом Ома, также будет максимально на резонансной частоте (график ULC). Но самое интересное что ток до контура будет минимальным, но внутри контура, так называемый контурный ток будет достаточно велик.

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

В исходном состоянии конденсатор C подключен к батарее B и через некоторое время он полностью зарядится, между его обкладками накопится энергия, можно сказать, что электроэнергия полученная конденсатором от батареи преобразуется в энергию электрического поля. Теперь переключим конденсатор от батареи к катушке L, создав тем самым параллельный колебательный LC-контур. Конденсатор начнет разряжаться, напряжение на обкладках уменьшается, ток через катушку нарастает и вокруг катушки образуется магнитное поле. Можно сказать, что накопленная конденсатором энергия снова преобразуется в электрический ток, который протекая через катушку преобразуется в магнитное поле катушки. Процесс будет продолжаться пока конденсатор полностью на разрядится, а значит магнитное поле вокруг катушки больше нечем будет удерживать и оно снова начнет преобразовываться в электрический ток, вызывая появление ЭДС самоиндукции обратной полярности, которая «помогает» удержаться уменьшающемуся току и заряжает конденсатор, теперь уже в другой полярности. То есть вся накопленная катушкой энергия преобразуется в электрическую, а та в свою очередь зарядит конденсатор. Дальше процесс будет повторяться и он продолжался бы бесконечно, если бы не внутреннее сопротивление контура R. Какая-то часть энергии, преодолевая сопротивление R, будет преобразовываться в тепло и рассеиваться, а значит электроэнергия в контуре будет постепенно уменьшаться, пока вся не рассеется. Такой процесс называется затухающие колебания:

Любопытно то, что несмотря на то, что амплитуда колебаний уменьшается, частота колебаний остается постоянной, и она равна резонансной частоте контура. Частота этих колебаний в равной мере зависит от индуктивности катушки и емкости конденсатора и вычисляется по формуле Томсона:

где Fрез — частота (Гц), L — индуктивность (Г), C — емкость (Ф).

Еще одна важная характеристика контура — добротность Q, которая говорит о том, какая часть запасённой энергии теряется при каждом её перекачивании из конденсатора в катушку и обратно. Чем больше потери, тем быстрее израсходуется энергия, и тем быстрее затухнут колебания. Если потери будут очень большими — колебания могут даже не начаться, конденсатор просто отдаст всю свою энегию, которую сопротивление потерь превратит в тепло. Потери в контуре иногда отображают двкмя условными сопротивлениями: RK1 — — включено параллельно конденсатору и RK2 — включено последовательно с катушкой. и . Чем больше RK1 и меньше RK2, тем меньше общие потери и выше добротность Q. Часто все потери пересчитывают в одно сопротивление RK, включая его последовательно с катушкой.

Кроме того, добротность Q зависит от соотношения L и C, для получения высокой добротности желательно чтобы L было побольше, а C поменьше.

Источник

Измеритель индуктивности на Arduino

Arduino

В статье мы рассмотрим простую конструкцию, которая, по сути, является Arduino Uno-совместимой платой расширения, позволяющей измерять индуктивность. Такой прибор просто необходим при разработке радиочастотных трактов, импульсных источников питания и DC/DC преобразователей. Автор конструкции посчитал, что это именно тот функционал, который отсутствует во многих цифровых измерительных приборах-мультиметрах. Существуют специализированные измерители LCR, но зачастую они не позволяют измерять напряжение и ток, поэтому автором было решено сконструировать отдельное устройство для измерения индуктивности (Рисунок 1).

Рисунок 1. Плата расширения Arduino для измерения индуктивности.

Устройство представляет собой измеритель частоты LC генератора, выполненного по схеме емкостной трехточки (генератор Колпитца, Colpitts Oscillator) на основе комбинации индуктивности и емкости. Величина емкости известна заранее – это конденсатор в схеме колебательного контура, к которому щупами мы будем подключать неизвестную индуктивность. В таком случае LC генератор начнет работать на некоторой частоте, измерением которой занимается контроллер Arduino. Зная величину емкости и частоту, контроллер по известной простой формуле выполняет вычисление значения индуктивности. Измеренная частота и вычисленное значение индуктивности отображаются на двухстрочном ЖК-индикаторе.

Рисунок 2. Принципиальная схема измерителя индуктивности
на Arduino (плата расширения).

Принципиальная схема платы расширения изображена на Рисунке 2. Плата выполнена в форм-факторе плат расширения Arduino Uno и подключается к разъемам Digital1, Digital2 и Power. Перечень использованных компонентов приведен в Таблице 1.

В схеме LC генератора последовательно с измеряемой индуктивностью установлена индуктивность 1 мкГн (L1), выполняющая две основные функции. Во-первых, при таком схемном решении LC генератор будет работать при коротком замыкании измерительных щупов, и текущее измерение может использоваться в качестве новой калибровки измерителя. Во-вторых, таким способом мы задаем верхний предел резонансной частоты. Как видно, в схеме генератора используются два конденсатора (С2, С3) емкостью 1 нФ, включенных последовательно. При коротком замыкании щупов последовательно в цепь включается индуктивность L1, которая и определяет верхний предел резонансной частоты, составляющий 7.1 МГц. На практике при указанных номиналах элементов генератор будет возбуждаться на частоте 5.4 МГц.

Преобразование синусоидального выходного сигнала генератора в прямоугольную форму выполняет компаратор Microchip MCP6561R. Это относительно недорогой, но быстрый компаратор, имеющий максимальную задержку распространения сигнала 80 нс, что соответствует диапазону рабочих частот генератора.

Как вы понимаете, 5.4 МГц – это тоже слишком быстро для Arduino. Микроконтроллер работает на частоте 16 МГц, а для обработки каждого импульса от платы расширения потребуется выполнить несколько десятков инструкций. Для решения этой проблемы используется микросхема 8-разрядного двоичного счетчика 74HC590, выполняющего роль делителя частоты на 256. Это дает теоретическую максимальную частоту 7.1 МГц/256 = 27.7 кГц, с которой Arduino прекрасно справится. Выходной сигнал SLOW_FREQ с делителя частоты поступает непосредственно в микроконтроллер для обработки.

Рисунок 3. Вид платы измерителя индуктивности со стороны
ЖК индикатора.

По очевидным причинам на плате расширения установлены двухстрочный ЖК-индикатор и кнопка калибровки (Рисунки 3, 4). Индикатор подключен по 4-битному интерфейсу, для регулировки контрастности используется потенциометр R10. Нажатие кнопки калибровки приводит к обнулению измерителя – текущее измерение принимается как нулевое смещение; например, как мы упоминали выше, калибровку можно провести при замыкании щупов (включена индуктивность 1 мкГн).

Рисунок 4. Вид платы измерителя индуктивности без ЖК индикатора.

Подавление дребезга контактов выполняется аппаратно с помощью низкочастотного RC-фильтра и буфера на триггере Шмидта.

Рисунок 5. При разомкнутых щупах на ЖК индикаторе отображается
текущее значение нулевого смещения.

В рабочем режиме при разомкнутых измерительных щупах на дисплее отображается надпись «Not resonating» (отсутствует генерация) и текущее значение нулевого смещения (Рисунок 5).

Источник

Реализация системы управления на базе Arduino для настройки резонансной колебательной цепи

Упрощенная модель системы регулировки. Стандартный конструктив Ардуино с платами расширения. Внешний вид Ардуино Uno. Среда разработки Arduino. Встроенный текстовый редактор программного кода. Программа управления шаговым двигателем в однофазном режиме.

Рубрика Коммуникации, связь, цифровые приборы и радиоэлектроника
Вид курсовая работа
Язык русский
Дата добавления 02.06.2015
Размер файла 4,5 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Размещено на http://www.allbest.ru

МИНИСТЕРСТВО ОБРАЗОВАНИЯ РЕСПУБЛИКИ БЕЛАРУСЬ

БЕЛОРУССКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ

ФАКУЛЬТЕТ РАДИОФИЗИКИ И КОМПЬЮТЕРНЫХ ТЕХНОЛОГИЙ

Кафедра информатики и компьютерных систем

Реализации системы управления на базе Arduino для настройки резонансной колебательной цепи

студент 4 курса 4 группы

Цед Александр Дмитриевич

Семенович Сергей Николаевич

arduino резонансная колебательная цепь

1.1 LC- Колебательный контур

1.2 Упрощенная модель системы регулировки

2. ПРОГРАММНО-АППАРАТНЫЙ КОМПЛЕКС ARDUINO

2.1 Аппаратная часть

2.2 Среда разработки Arduino

3. РЕАЛИЗАЦИЯ СИСТЕМЫ УПРАВЛЕНИЯ РЕЗОНАНСНЫМ LC-КОНТУРОМ

3.1 Реализация модуля управления шаговым двигателем

3.2 Реализация модуля генератора синуса

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

Целью данного курсового проекта была реализация управляющей системы для резонансного LC контура с вынужденными колебаниями.

Система реализована на базе отладочного комплекта аппаратно-программного комплекса Arduino.

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

В качестве задающего генератора — ЦАП, реализованный по схеме R-2R на базе микроконтроллера ATmega328. Генератор подключен к первичной обмотке трансформатора.

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

1.1 LC- Колебательный контур

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

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

— Конденсатор C — реактивный элемент. Обладает способностью накапливать и отдавать электрическую энергию. — Катушка индуктивности L — реактивный элемент. Обладает способностью накапливать и отдавать магнитную энергию.

На схеме эксперимента изображены основные элементы:

Модуль генератора синуса

Модуль управления шаговым двигателем

Рисунок контура, резонансная частота

Если конденсатор ёмкостью C заряжен до напряжения U, то потенциальная энергия его заряда составит. Если параллельно заряженному конденсатору подключить катушку индуктивности L, в цепи пойдёт ток его разряда, создавая магнитное поле в катушке.

Рисунок 1.2 Колебательный контур

Магнитный поток, увеличиваясь от нуля, создаст ЭДС в направлении противоположном току в катушке, что будет препятствовать нарастанию тока в цепи, поэтому конденсатор разрядится не мгновенно, а через время t1, которое определяется индуктивностью катушки и ёмкостью конденсатора из расчёта t1 = . По истечении времени t1, когда конденсатор разрядится до нуля, ток в катушке и магнитная энергия будут максимальны. Накопленная катушкой магнитная энергия в этот момент составит. В идеальном рассмотрении, при полном отсутствии потерь в контуре, EC будет равна EL. Таким образом, электрическая энергия конденсатора перейдёт в магнитную энергию катушки.

Рисунок 1.3 График параметров контура

Изменение (уменьшение) магнитного потока накопленной энергии катушки создаст в ней ЭДС, которая продолжит ток в том же направлении и начнётся процесс заряда конденсатора индукционным током. Уменьшаясь от максимума до нуля в течении времени t2 = t1, он перезарядит конденсатор от нуля до максимального отрицательного значения (-U). Так магнитная энергия катушки перейдёт в электрическую энергию конденсатора.

Описанные интервалы t1 и t2 составят половину периода полного колебания в контуре. Во второй половине процессы аналогичны, только конденсатор будет разряжаться от отрицательного значения, а ток и магнитный поток сменят направление. Магнитная энергия вновь будет накапливаться в катушке в течении времени t3, сменив полярность полюсов.

В течении заключительного этапа колебания (t4), накопленная магнитная энергия катушки зарядит конденсатор до первоначального значения U (в случае отсутствия потерь) и процесс колебания повторится.

В реальности, при наличии потерь энергии на активном сопротивлении проводников, фазовых и магнитных потерь, колебания будут затухающими по амплитуде. Время t1 + t2 + t3 + t4 составит период колебаний .

Частота свободных колебаний контура ѓ = 1 / T

Рисунок 1.4 Колебательный контур и построечный конденсатор

Частота свободных колебаний является частотой резонанса контура, на которой реактивное сопротивление индуктивности XL=2рfL равно реактивному сопротивлению ёмкости XC=1/(2рfC).

Переменная емкость и ее регулировка для получения резонанса

Подстроенные конденсаторы (рисунок 1.5) применяются для точной подстройки емкостей колебательных контуров. Обычно эти конденсаторы включаются параллельно основным контурным конденсаторам большой емкости. Конструктивно они состоят из двух керамических элементов: неподвижного основания (статора) и подвижного диска (ротора).

Рисунок1.5 Подстроечный конденсатор

На ротор и статор методом выжигания нанесены тончайшие серебряные обкладки в виде секторов. Диэлектриком между обкладками служит керамический материал ротора. Ротор жестко закреплен на оси. При вращении ротора изменяется взаимное положение обкладок статора и ротора, что приводит к изменению емкости конденсатора. Когда сектор или капля припоя на роторе расположены против вывода на статоре, то емкость будет максимальной, а при повороте на 180° относительно указанного положения — минимальной.

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

В зависимости от характера изменения емкости с поворотом оси ротора на угол 1° различают следующие виды конденсаторов: прямоемкостный — с линейной зависимостью между углом поворота и емкостью; прямоволновый — с линейной зависимостью между углом поворота и резонансной длиной волны; прямочастотный — с линейной зависимостью между углом поворота ротора и резонансной частотой; логарифмический (средневолновый) — с постоянным по всей шкале изменением емкости, приходящейся на 1° угла поворота ротора.

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

Упрощенная модель системы регулировки

Реализуем генератор синуса для вынужденных колебаний на базе ЦАП R-2R и Arduino.

Рисунок 1.6Генератор синуса

Рисунок 1.7 ЦАП R-2R

Своё название (R-2R) данный ЦАП получил из-за номиналов применяемых в нём резисторов с сопротивлениями R и 2*R. Сопротивления по идее могут быть любыми (1k-2k; 10k-20k и т.д). [5]

B7..B0 — это цифровые управляющие сигналы с выхода ARDUINO, биты формирующие цифровой код ЦАП , B7 — старший, B0 — младший.

Используем шаговый двигатель для изменения параметров емкости

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

Рисунок 1.8 Современный шаговый двигатель

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

Гибридные двигатели сочетают в себе лучшие черты двигателей с переменным магнитным сопротивлением и двигателей с постоянными магнитами.

Статор гибридного двигателя также имеет зубцы, обеспечивая большое количество эквивалентных полюсов, в отличие от основных полюсов, на которых расположены обмотки. Обычно используются 4 основных полюса для 3.6 град. двигателей и 8 основных полюсов для 1.8 — 0.9 град. двигателей. Зубцы ротора обеспечивают меньшее сопротивление магнитной цепи в определенных положениях ротора, что улучшает статический и динамический момент. Это обеспечивается соответствующим расположением зубцов, когда часть зубцов ротора находится строго напротив зубцов статора, а часть между ними.

Ротор гибридного двигателя имеет зубцы, расположенные в осевом направлении. Ротор разделен на две части, между которыми расположен цилиндрический постоянный магнит. Таким образом, зубцы верхней половинки ротора являются северными полюсами, а зубцы нижней половинки — южными. Кроме того, верхняя и нижняя половинки ротора повернуты друг относительно друга на половину угла шага зубцов. Число пар полюсов ротора равно количеству зубцов на одной из его половинок. Зубчатые полюсные наконечники ротора, как и статор, набраны из отдельных пластин для уменьшения потерь на вихревые токи.[2]

Используем двухполупериодный выпрямитель для анализа напряжения в контуре.

Выпрямители бывают однополупериодными или двухполупериодными в зависимости от того, сколько полупериодов переменного тока используется — один или два. По однополупериодной схеме выполняют выпрямители, от которых требуется небольшой ток. Такую схему используют редко.[3]

В нашей системе используется двухполупериодный выпрямитель. Во время положительного полупериода ток проходит от плюса вторичной обмотки трансформатора через диод V2, сопротивление нагрузки Rн, диод V3 на минус вторичной обмотки. В это время ко второй паре диодов V1, V4 приложено обратное напряжение. Они закрыты. Во время отрицательного полупериода ток протекает от плюса обмотки (знаки в скобках) через диод V4, нагрузку Rн, диод V1 на минус вторичной обмотки.[4]

2. ПРОГРАММНО-АППАРАТНЫЙ КОМПЛЕКС ARDUINO

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

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

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

2.1 Аппаратная часть

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

Рисунок 2.1 Стандартный конструктив Ардуино с платами расширения

Существует несколько версий платформ Arduino. Последняя версия Leonardo базируется на микроконтроллере ATmega32u4. Uno, как и предыдущая версия Duemilanove построены на микроконтроллере Atmel ATmega328 (техническое описание). Старые версии платформы Diecimila и первая рабочая Duemilanoves были разработаны на основе Atmel ATmega168 (техническое описание), более ранние версии использовали ATmega8 (техническое описание). Arduino Mega2560, в свою очередь, построена на микроконтроллере ATmega2560 (техническое описание).

Ардуино и Ардуино-совместимые платы спроектированы таким образом, чтобы их можно было при необходимости расширять, добавляя в устройство новые компоненты. Эти платы расширений подключаются к Ардуино посредством установленных на них штыревых разъёмов. Существует ряд плат с унифицированным конструктивом, допускающим конструктивно жесткое соединение процессорной платы и плат расширения в стопку через штыревые линейки. Кроме того, выпускаются платы уменьшенных габаритов (например, Nano, Lilypad) и специальных конструктивов для задач робототехники. Независимыми производителями также выпускается большая гамма всевозможных датчиков и исполнительных устройств, в той или иной степени совместимых с базовым конструктивом Ардуино.

Arduino Uno контроллер построен на ATmega328 . Платформа имеет 14 цифровых вход/выходов (6 из которых могут использоваться как выходы ШИМ), 6 аналоговых входов, кварцевый генератор 16 МГц, разъем USB, силовой разъем, разъем ICSP и кнопку перезагрузки. Для работы необходимо подключить платформу к компьютеру посредством кабеля USB, либо подать питание при помощи адаптера AC/DC или батареи.

Рисунок 2.2 Внешний вид Ардуино Uno

В отличие от всех предыдущих плат, использовавших FTDI USB микроконтроллер для связи по USB, новый Ардуино Uno использует микроконтроллер ATmega8U2.

«Uno» переводится как один с итальянского и разработчики тем самым намекают на грядущий выход Arduino 1.0. Новая плата стала флагманом линейки плат Ардуино.

Входное напряжение (рекомендуемое)

Входное напряжение (предельное)

14 (6 из которых могут использоваться как выходы ШИМ)

Постоянный ток через вход/выход

Постоянный ток для вывода 3.3 В

32 Кб (ATmega328) из которых 0.5 Кб используются для загрузчика

Микроконтроллер ATmega328 располагает 32 кБ флэш памяти, из которых 0.5 кБ используется для хранения загрузчика, а также 2 кБ ОЗУ (SRAM) и 1 Кб EEPROM.(которая читается и записывается с помощью библиотеки EEPROM).

2.2 Среда разработки Arduino

Рисунок 2.3 Встроенный текстовый редактор программного кода

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

Программа, написанная в среде Arduino, называется скетч. Скетч пишется в текстовом редакторе, имеющем инструменты вырезки/вставки, поиска/замены текста. Во время сохранения и экспорта проекта в области сообщений появляются пояснения, также могут отображаться возникшие ошибки. Окно вывода текста(консоль) показывает сообщения Arduino, включающие полные отчеты об ошибках и другую информацию. Кнопки панели инструментов позволяют проверить и записать программу, создать, открыть и сохранить скетч, открыть мониторинг последовательной шины

Средой Arduino используется принцип блокнота: стандартное место для хранения программ (скетчей). Скетчи из блокнота открываются через меню File > Sketchbook или кнопкой Open на панели инструментов. При первом запуске программы Arduino автоматически создается директория для блокнота. Расположение блокнота меняется через диалоговое окно Preferences.

Загрузка скетча в Arduino. Перед загрузкой скетча требуется задать необходимые параметры в меню Tools > Board и Tools > Serial Port. Платформы описываются далее по тексту. В ОС Mac последовательный порт может обозначаться как dev/tty.usbserial-1B1 (для платы USB) или /dev/tty.USA19QW1b1P1.1 (для платы последовательной шины, подключенной через адаптер Keyspan USB-to-Serial). В ОС Windows порты могут обозначаться как COM1 или COM2 (для платы последовательной шины) или COM4, COM5, COM7 и выше (для платы USB). Определение порта USB производится в поле Последовательной шины USB Диспетчера устройств Windows. В ОС Linux порты могут обозначаться как /dev/ttyUSB0, /dev/ttyUSB1.

После выбора порта и платформы необходимо нажать кнопку загрузки на панели инструментов или выбрать пункт меню File > Upload to I/O Board. Современные платформы Arduino перезагружаются автоматически перед загрузкой. На старых платформах необходимо нажать кнопку перезагрузки. На большинстве плат во время процесса будут мигать светодиоды RX и TX. Среда разработки Arduino выведет сообщение об окончании загрузки или об ошибках.

При загрузке скетча используется Загрузчик (Bootloader) Arduino, небольшая программа, загружаемая в микроконтроллер на плате. Она позволяет загружать программный код без использования дополнительных аппаратных средств. Загрузчик (Bootloader) активен в течении нескольких секунд при перезагрузке платформы и при загрузке любого из скетчей в микроконтроллер. Работа Загрузчика (Bootloader) распознается по миганию светодиода (13 пин) (напр.: при перезагрузке платы).[1]

3. РЕАЛИЗАЦИЯ СИСТЕМЫ УПРАВЛЕНИЯ РЕЗОНАНСНЫМ LC-КОНТУРОМ

3.1 Реализация модуля управления шаговым двигателем

Рисунок 3.1Шаговый двигатель и драйвер

Для реализации своей системы я использовал однополярный шаговый двигателель 28-BYJ48.

Этот шаговый двигатель относится к однополярным. Имеет четыре обмотки, представляющие собой две обмотки с отводами от середины. Отводы соединены вместе, к ним подключается один из полюсов питания двигателя. На валу двигателя 28BYJ-48 расположен ротор, состоящий из множества магнитов. Поочередная подача тока на катушки создает магнитное поле, притягивающее или отталкивающее магниты. Такая конструкция позволяет снизить затраты энергии на питание двигателя.

Существуют два (всего их 3, в приложении Б содержится программа для реализации метода WAVE DRIVE) основных метода управления с помощью 4-ступенчатой последовательности импульсов и 8-ступенчатой. В 4-ступенчатой последовательности всегда подключены к питанию две из четырех обмоток двигателя. Для совершения поворота на некоторый угол — шаг, одна из включенных обмоток меняется на следующую. Если обмоткам присвоить наименования А, В, С, D, то их поочередное включение можно представить в виде последовательной смены сочетаний включенных обмоток AB-BC-CD-DA-AB(FULL STEP).

Рисунок 3.2 Основные методы управления

Программная реализация этого метода представлена в приложении А.

В 8-ступенчатой последовательности используется сначала одна обмотка потом две, потом опять одна следующая, снова две и так далее. Управление двигателем происходит в соответствии с последовательностью: A-AB-B-BC-C-CD-D-DA-A(HALF STEP). Программная реализация этого метода представлена в приложении В.

Количество фаз: 4

Потребляемый ток: каждая обмотка 160 мА, в 4-шаговом режиме 320 мА, при быстром вращении 200 мА.

Сопротивление обмотки: 50 Ом ± 7%

Количество шагов ротора: 64

Коэффициент редукции: 1/64 (при точном исследовании 1/63,68395)

Угол шага двигателя без учета редуктора:

при 4-ступенчатой последовательности 11,25 ° (32 шага на оборот)

при 8-ступенчатой последовательности 5,625 ° (64 шага на оборот)

Количество шагов вала прибора 28BYJ-48 на один оборот:

В 4-ступенчатой последовательности 32 Х 64 = 2048 шагов

В 8-ступенчатой последовательности 64 Х 64 = 4096 шагов

Изоляция класса А

Назначение выводов: А синий, B розовый, C желтый, D оранжевый, общий красный.

Программная библиотека Arduino ориентирована на 4-ступенчатый режим.

На плате модуля расположена микросхема ULN2003 управляющая двигателем под действием сигналов модуля МК. Микросхема содержит составные транзисторы, обеспечивающие требуемый двигателю ток и диоды для защиты от обратной ЭДС, возникающей в отмотках. На плате установлены светодиоды для наблюдения переключения фаз двигателя. Модуль ULN2003 содержит перемычку, подающую питание на светодиоды. Если модуль питается напряжением 12 В или требуется экономить потребляемый ток или наладка системы закончена — перемычку снимают.

Размеры 28 x 28 x 20 мм[2]

Реализация модуля генератора синуса

Из двух методов(ЦАП R-2R; интегрирующая цепочка с использованием ШИМ Arduino) был выбран метод ЦАП R-2R, так как он обеспечивал наилучшую синусоиду с шагом 20 милливольт.

Каждый вход ЦАПа вносит свою лепту в выходной сигнал пропорционально своей «значимости». Т.е. левый вход оказывает самое большое влияние на выходной сигнал (половина опорного напряжения), следующий за ним ј, следующий — 1/8 и т.д. Ну а самый последний (правый) вход изменяет выходной сигнал на ничтожные милливольты. Подставляя значение битов на входе ЦАП выходное напряжение можно рассчитать так:

Uвых=Uпит * (B7 * 1/2 + B6 * 1/4 + B5 *1/8+ B4*1/16+B3*1/32+B2*1/64+B1*1/128+B0*1/256).

Если выставить на вход ЦАП-а значение 255 (бинарное 11111111), то получаем самый высокий выходной сигнал. Если же 00000000 — ноль.

Uпит — напряжение питания микроконтроллера. Таким образом, наш восьмибитный ЦАП способен выдать 256 различных напряжений с шагом около 20 милливольт, при опорном напряжении 5 Вольт.

Желательно чтобы ЦАП (8-ми разрядный, как у нас) был подключен к целому порту. Тогда выводить любое значение в ЦАП — будет очень просто:

Теперь математическая составляющая. Адаптируем к нашим условиям. ЦАП может выдавать значения от 0 до 255. Причем, за нулевое значение (мы будем оперировать только целыми положительными числами) примем 127. Длительность волны примем 255 шажков (опять же для удобства).

Т.е., для одного периода значение функции поменяется 255 раз. Естественно, чем больше «шажков» мы уместим в этот период, тем точнее получим синусоиду. Синим цветом я постарался обозначить значения напряжения, получаемые на выходе ЦАП, при «контрольных» значениях точек на оси Х.

Общая формула синусоиды:

Синусоида стартует со значением 127 (для ЦАП) и заканчивается этим значением. Для этого, вводим значение смещения по оси У а=127. a характеризует сдвиг графика по оси Oy. Чем больше a, тем выше поднимается график.

Значение синуса может меняться от -1 до 1 . Чтобы растянуть график по вертикали, вводим второе значение b, характеризующее растяжение графика по оси Oy. Чем больше увеличивается b, тем сильнее возрастает амплитуда колебаний; Ну, тут тоже понятно, что при максимальном значении в (254-127) b=127 характеризует растяжение графика по оси Ox.

Длина периода =2*Pi. Мы условились, что этот период мы делим на 255 «шагов». Т.е., 255-ый шаг должен иметь значение 2*Pi. Для нашего случая С=2*Pi*(1/255) или 2*Pi*0.0392 или Pi*0.007843

Окончательно получаем следующую формулу расчета: Y=127+127*SIN(Pi*X*0.007843).

Расчет таблицы для значений синусоиды, с выводов в монитор ком-порта представлен в приложении Г[5]

Скетч для вывода значений таблицы в ЦАП представлен в приложении Г

Скетч для генерации синусоиды представлен в приложении Д.

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

Генератор синуса на основе Arduino и цепи R-2R

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

Модель обратной связи

В качестве управляющего процессора выбрана программно-аппаратная платформа ARDUINO

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

1. Портал arduino.ru [Электронный ресурс]. Arduino- Режим доступа: http://arduino.ru/Hardware/ArduinoBoardUno. — Дата доступа : 07.06.2015.

2. Портал darxton.ru [Электронный ресурс]. Управление шаговым двигателем — Режим доступа: http://darxton.ru/wiki-article/shagovye-dvigateli-printsip-raboty-i-upravlenie/. — Дата доступа : 17.06.2015.

3. Портал wikipedia.org [Электронный ресурс]. Выпрямитель- Режим доступа: https://ru.wikipedia.org/wiki/%C2%FB%EF%F0%FF%EC%E8%F2%E5%EB%FC. — Дата доступа : 05.06.2015.

4. Портал konspektiruem.ru [Электронный ресурс]. Выпрямитель- Режим доступа: http://konspektiruem.ru/articles/electronics/Vyprjamiteli/. — Дата доступа : 01.06.2015.

5 Портал robocraft.ru [Электронный ресурс].Генератор синусоиды — Режим доступа: http://robocraft.ru/blog/2911.html. — Дата доступа : 27.06.2015.

Программа для управления шаговым двигателем в однофазном режиме(WAVE DRIVE)

v.01 вправо влево Arduino Шаговый двигатель 28BYJ-48 — 5V Stepper Motor

// declare variables for the motor pins

int motorPin1 = 8; // Blue / Синий — 28BYJ48 pin 1

int motorPin2 = 9; // Pink / Розовый — 28BYJ48 pin 2

int motorPin3 = 10; // Yellow / Желтый — 28BYJ48 pin 3

int motorPin4 = 11; // Orange / Оранжевый — 28BYJ48 pin 4

// установить скорость шагового двигателя.

//variable to set stepper speed.

int motorSpeed = 3000; //2050—

// Кол-во сделанных шагов.

// count of steps made.

// Необходимое количество шагов, для одного полного оборота, на (360 градусов).

// number of steps per full revolution.

int countsperrev = 512;

B00001, B00010, B00100, B01000, B00001, B00010, B00100, B01000>;

Источник

Adblock
detector