Разделы сайта
Выбор редакции:
- Открыть с помощью — как добавить и удалить пункты меню Как сделать открыть с помощью
- Покупаем ноутбук! Какой выбрать для игр? Как выбрать игровой ноутбук Какой ноутбук лучше подойдет для игр
- Как зарегистрироваться в плей маркете?
- Функции VBA для работы с текстом
- Обратная связь на YouTube: как общаться с подписчиками и увеличить их число
- Какие методы существуют и как искать одновременно по нескольким значениям
- Личный кабинет столото Столото как зарегистрироваться не получается
- Телеграмм на андроид Скачать телеграмм по номеру телефона
- Обзор Samsung Galaxy J7 (2017): достойное ли продолжение?
- Пользовательский интерфейс на базе Twitter Bootstrap для начинающих Качаем и устанавливаем bootstrap signed
Реклама
Обозначение dc. Обозначения постоянного и переменного тока: AC и DC ток. Топологии для формирования синусоидального сигнала |
На сегодняшнее время в продаже существует адаптивный ксенон с лампами и блоками розжига AC и DC. Это один и тот же ксенон, но имеющий некоторые различия, о которых вы, как покупатель и пользователь, обязательно должны знать. Этот материал посвящен ксенону AC и DC, особенностям, отличиям и многому другому, что полезно будет знать. Вступительная часть о ксеноне AC и DCНа первый взгляд отличить блоки розжига AC и DC невозможно. Главное их различие в том, что AC – это блоки розжига, которые имеют переменный ток, а DC – постоянный. Различие таких двух ксенонов можно заметить при их работе, а точнее во время розжига и поддержания тлеющего разряда. Мерцание ламп выдает блоки розжига DC. Для того, чтобы конкретно понять различия между ксеноном AC и DC необходимо знать их конструкцию. Разительно отличаются такие комплекты именно по принципу работы, что является наиболее важным для данного устройства в светотехнике для автомобилей. Как уже отмечалось, их принцип работы виден в момент розжига ксеноновой лампы и поддержании горения. Для того, чтобы образовать электрическую дугу между электродами в колбе лампы необходима мощная подача импульса, то есть тока до 25000 В. После того, как запустилось горение источника, для поддержания функционирования лампы необходима беспрерывная подача тока с напряжением 80-85 В, и следит за этим контроллер, который вмонтирован в балласт игнитора. Это стандартный принцип работы блоков розжига ксеноновых ламп. В AC блоках присутствует игнитор (инвертер) и стабильно работающий стабилизатор, в отличие от комплектов DC. Комплекты блоков розжига DC: принцип розжига лампыАдаптивные блоки розжига и ксеноновые лампы с постоянным током DC имеют значительно меньшую стоимость, легкий вес и небольшие габариты. Они обеспечивают единичный и нецикличный разряд, что и приводит, зачастую, к дрожанию электрической дуги и мерцанию света ксенонового источника. Чтобы правильно активизировать работу ксеноновой лампы необходим повторный импульс, что занимает дополнительные несколько секунд на ожидание повторной подачи тока. Отметим, что система DС по качеству намного лучше, чем галоген, но все же уступает комплектам AC c переменным током. Комплекты блоков розжига AC: принцип розжига лампыКсеноновые блоки розжига и лампы с переменным током AC работают намного стабильнее и лучше, поскольку оснащены специальным стабилизатором, выравнивающим напряжение. АС блоки создают импульсы необходимой частоты и мощности, что и позволяет обеспечить бесперебойность и стабильность выдачи света лампами. Для того, чтобы создать амплитуду колебания в блоках и лампах АС используются специальные игниторы (иногда могут называться инверторами), которые обеспечивают преобразование низковольтного тока в высоковольтный импульс и наоборот. Таким образом из напряжения бортовой сети транспортного средства 12 В (иногда 24 В) обеспечивается генерация тока в 25000 В, что в считанные секунды гарантирует розжиг ксенонового излучателя. Стоит отметить, что у блоков АС есть двусторонняя связь с ксеноновыми лампами, таким образом, если свет начинает тухнуть, то блок обеспечивает подачу высоковольтного импульса, чтобы не привести к деактивации излучателя. Таким образом, комплекты адаптивного ксенона АС более стабильно работают, не наблюдается мерцаний ламп и скачков напряжения.
Будьте бдительны!Зачастую случается так, что приобретая блоки розжига у недобросовестных продавцов, например на базарах, или же магазинах «в подвалах» покупатели наталкиваются на мошенничество. Многие хитрят и монтируют муляж инвертера в блоки розжига DC и выдают их за AC, естественно по стоимости на порядок выше. Именно поэтому, приобретайте адаптивные комплекты ксенона только у проверенных продавцов, которые гарантируют высокое качество продукции и обязательно предоставляют гарантию на любые приобретенные комплекты. Вы знаете, что означают надписи AC (переменный ток) и DC (постоянный ток) на сварочных аппаратах и электродах? По сути эти термины описывают полярность электрического тока, который вырабатывается источником питания и направляется к рабочему изделию через электрод. Выбор правильной полярности для той или иной марки электродов оказывает существенное влияние на прочность и качество соединений – поэтому не забывайте проверить надпись на упаковке! Чтобы лишний раз убедиться, Вы можете сделать две пробные попытки с разной полярностью на краю рабочего изделия. В обиходе используются термины «прямая» и «обратная» полярность или «электрод-отрицательная» и «электрод-положительная» полярность. Последнее звучит более наглядно и поэтому здесь мы будем использовать именно эти обозначения. Полярность обусловлена тем, что электрический контур имеет отрицательный и положительный полюсы. Постоянный ток (DC) все время движется в одном направлении, из-за чего его полярность всегда одинакова. Переменный ток (AC) половину времени движется в одном направлении и половину – в другом. Таким образом, при частоте 60 Герц полярность тока меняется 120 раз в секунду. Сварщик должен хорошо понимать, что такое полярность и какое влияние она оказывает на процесс сварки. С некоторыми исключениями электрод-положительная (обратная) полярность обеспечивает более глубокое проплавление. Электрод-отрицательная (прямая) полярность имеет более высокую производительность расплавления электрода и, как следствие, производительность наплавки. На это могут влиять химические вещества в покрытии. Электроды из углеродистой стали с покрытием целлюлозного типа, например, Fleetweld 5P или Fleetweld 5P+, обычно рекомендуют использовать с положительной полярностью. Некоторые типы электродов для сварки в среде защитных газов пригодны для сварки с обоими типами полярности. Применение сварочных аппаратов трансформаторного типа породило необходимость в электродах, пригодных для сварки с любой полярностью из-за постоянных смен направления переменного тока. Хотя переменный ток сам по себе не имеет полярности, если электроды для сварки на переменном токе использовать с постоянным, они покажут более низкие результаты. Поэтому производители электродов обычно указывают наиболее подходящую полярность на покрытии и упаковке электродов. Чтобы обеспечить необходимое проплавление, однородную форму шва и высокие сварочные характеристики, обязательно нужно использовать подходящую полярность. Неправильная полярность вызовет недостаточное проплавление, непостоянную форму шва, избыточное разбрызгивание, сложности с контролем дуги, перегрев и быстрое сгорание электрода. На большинстве аппаратов четко обозначены контакты или подробно описано, как их настроить на определенную полярность. Например, некоторые аппараты имеют переключатель полярности, а на других для этого нужно сменить кабельные разъемы. Если Вы не уверены, какая в данный момент используется полярность, есть два несложных способа это выяснить. Первый – это сварка угольным электродом для постоянного тока, который будет нормально работать только при прямой полярности. Второй – сварка электродом Fleetweld 5P, который показывает намного лучшие результаты с обратной полярностью. Проверка полярности : А: Определение полярности с помощью угольного электрода
Б. Определение полярности с помощью металлического электрода (E6010) 1. Проведите очистку основного металла и расположите его горизонтально. Среди видов электрического тока различают: Постоянный ток: Обозначение (-) или DC (Direct Current = постоянный ток). Переменный ток: Обозначение (~) или AC (Alternating Current = переменный ток). В случае постоянного тока (-) ток течет в одном направлении. Постоянный ток поставляют, например, сухие батарейки, солнечные батареи и аккумуляторы для приборов с небольшим потреблением электротока. Для электролиза алюминия, при дуговой электросварке и при работе электрифицированных железных дорог требуется постоянный ток большой силы. Он создается с помощью выпрямления переменного тока или с помощью генераторов постоянного тока. В качестве технического направления тока принято, что он течет от контакта со знаком «+» к контакту со знаком «-». В случае переменного тока (~) различают однофазный переменный ток, трехфазный переменный ток и высокочастотный ток. При переменном токе ток постоянно изменяет свою величину и свое направление. В западноевропейской энергосети ток за секунду меняет свое направление 50 раз. Частота изменения колебаний в секунду называется частотой тока. Единица частоты - герц (Гц). Однофазный переменный ток требует наличия проводника, проводящего напряжение, и обратного проводника. Переменный ток применяется на стройплощадке и в промышленности для работы электрических машин, например ручных шлифовальных устройств, электродрелей и круговых пил, а также для освещения стройплощадок и оборудования стройплощадок. Генераторы трехфазного переменного тока вырабатывают на каждой из своих трех намоток переменное напряжение частотой 50 Гц. Этим напряжением можно снабжать три раздельные сети и при этом использовать для прямых и обратных проводников всего шесть проводов. Если объединить обратные проводники, то можно ограничиться только четырьмя проводами Общим обратным проводом будет нейтральный проводник (N). Как правило, он заземляется. Три другие проводника (внешние проводники) имеют краткое обозначение LI, L2, L3. В единой энергосистеме Германии напряжение между внешним проводником и нейтральным проводником, или землей, составляет 230 В. Напряжение между двумя внешними проводниками, например между L1 и L2, составляет 400 В. О высокочастотном токе говорят, когда частота колебаний значительно превышает 50 Гц (от 15 кГц до 250 МГц). С помощью высокочастотного тока можно нагревать токопроводящие материалы и даже плавить их, например металлы и некоторые синтетические материалы. Импульсные преобразователи и силовая электроника в целом, всегда оставались чем-то сакральным для большинства любителей и профессионалов в области разработки электроники. В статье освещается пожалуй самая интересная тема в среде DIY-щиков и фанатов альтернативной энергетики - формирование синусоидального напряжения/тока из постоянного. Думаю многие из вас наверняка видели рекламу, либо читали статьи, где была фраза «чистый синус». Вот именно о нем и пойдет речь, но не о маркетинговой составляющей, а о исключительно технической реализации. Я постараюсь максимально понятно рассказать о самих принципах работы, о стандартных (и не очень) схемотехнических решениях и самое главное - напишем и разберем ПО для микроконтроллера STM32, которое и сформирует нам необходимые сигналы. Почему STM32? Да потому, что сейчас это самый популярный МК в СНГ: по ним много обучающей русскоязычной информации, есть куча примеров, а главное эти МК и средства отладки для них - очень дешевые. Скажу прямо - в коммерческом проекте я бы поставил только TMS320F28035 или подобный DSP из серии Piccolo от TI, но это уже совсем другая история. Важно одно - STM32 позволяет стабильно управлять простыми «бытовыми» силовыми преобразователями от которых не зависит судьба мира работа какой-нибудь АЭС или ЦОДа. Вот такую картину управляющих сигналов необходимо получить, чтобы превратить ток постоянный в переменный. И да - тут именно синус! Как в том фильме: «Видишь суслика? - Нет. - А он есть...» Интересно узнать каким образом формируется синус? Хочется узнать как все-таки качают нефть киловатты энергии? Тогда добро пожаловать под кат! 1. Топологии для формирования синусоидального сигналаЕсли спросить у толпы электронщиков: «Как можно сформировать синусоидальный сигнал?», то посыпятся предложения с десятком различных методов, но какой нужен нам? Давайте оттолкнемся от изначальной задачи - нам нужно превратить, например, 380В 10А в переменное напряжение 230В. В общем это «классический» случай, его мы можете увидеть в любом хорошем on-line UPS или инверторе. Получается нам надо преобразовать мощность около 4 кВт да еще и с хорошим КПД, не слабо, да? Я думаю подобное условие поубавит количество вариантов «рисования» синуса. Так что же нам остается?В силовых преобразователях до 6-10 кВт применяется две основные топологии: полный мост и «полумост» со сквозной нейтралью. Выглядят они следующим образом : 1) Топология со сквозной нейтралью Данная топология очень чаще всего встречается в бюджетных ИБП с синусом на выходе, хотя и такие авторитеты как APC и GE не брезгуют применять ее даже на достаточно больших мощностях. Что же их побуждает к этому? Давайте рассмотрим достоинства и недостатки данной топологии. Плюсы:
Минусы:
2) Мостовая топология Мостовая топология… наверное самая понятная и самая распространенная топология в силовых преобразователях, а главное доступная разработчикам даже с небольшим опытом. После 10 кВт вы не встретите ничего другого кроме моста одно- или трехфазного. За что же его так любят? Плюсы:
Минусы:
В 70% случаев мне приходится применять мостовую схему не только в DC/AC инверторах, но и в других преобразователях. Это связано с тем, что проектирую в основном промышленные решения и все чаще для европейских заказчиков, а там принято на дорогие промышленные устройства давать гарантию 5-15 лет. Классическое требование: «Хотим железку, чтобы можно было давать гарантию 10 лет», тут уже выбирать не приходится. Конечно, когда люди хотят устройство с минимальной ценой, то тут необходимо уже отталкиваться от конкретной задачи при выборе топологии. Небольшой итог : в данной статье будет приведено ПО для работы мостового преобразователя (Н-мост или Full Bridge), но сам принцип формирования синуса одинаковый для всех топологий. Код можно будет также адаптировать и под 1-ю топологию, но это вы уже сами. 2. Формирование переменного тока с помощью мостового преобразователяДля начала давайте разберем как вообще работает мостовой преобразователь. Смотрим на схемку и видим транзисторы VT1-VT4. Они позволяют нам подавать на нашу абстрактную нагрузку (резистор, например) тот или иной потенциал. Если мы откроем транзисторы VT1 и VT4, то получится следующее: VT4 один конец нагрузки подключит к минусу (GND), а транзистор VT1 подключит к +380В, на нагрузке появится разность потенциалов «380В - 0В», которая не равна нулю, а значит через нагрузку начнет протекать ток. Я думаю все помнят, что ученые договорились - ток протекает «от плюса к минусу». Получаем такую картину:Что мы получили открыв VT1 и VT4? Мы подключили нашу нагрузку к сети! Если резистор заменить на лампочку, то он она бы просто загорелась. И еще мы не просто включили нагрузку, а определили направление тока, протекающего через нее. Это очень важно! А что было в это время с VT2 и VT3? Они были закрыты… совсем… намертво… Что будет если все таки VT2 или VT3 были так же открыты? Смотрим: Предположим, что открылись транзисторы VT1, VT4 и VT2. Вспоминаем закон Ома, смотрим сопротивление канала у высоковольтных транзисторов, например, IPP60R099P7XKSA1 и видим 0.1 Ом, у нас их 2 последовательно - значит сопротивление цепи VT1 и VT2 у нас около 0.2 Ом. Теперь посчитаем ток, которые пойдет через эту цепь: 380В / 0.2 Ом = 1900А. Думаю всем понятно, что это КЗ? Так же думаю всем понятно почему VT2 и VT3 должны быть закрыты? Данный «феномен» называется - сквозной ток . И именно с ним идет большая война в силовой электронике. Как его избежать? Создать систему управления, алгоритм которой будет жестко запрещать одновременной открытие лишнего транзистора. Зачем же нужны тогда транзисторы VT2 и VT3? Помните я писал, что очень важно направление тока? Давайте вспомнит что такое переменные ток. Собственно это ток, который имеет что-то переменное, в данном случае направление тока. У нас в розетке протекает ток, который меняет свое направление 100 раз в секунду. Давайте теперь закроем VT1 и VT4, а затем откроем транзисторы VT2 и VT3 и получим такую картину: Как видите направление тока (обозначено стрелками) изменилось на противоположное. Использование моста позволило нам менять направление тока, о чем это говорит? Да, мы получили переменный ток! Прошу обратить внимание, что у моста есть как бы 2 диагонали: первая диагональ образована VT1+VT4, а вторая диагональ образована с помощью VT2+VT3. Данные диагонали работают по очереди, коммутирую ток сначала в одну сторону, а потом в другую. Вот мы получили переменный ток, скажите вы, но не все так просто… У нас есть стандарт - сетевое напряжение. Оно нормируется двумя основными параметрами: напряжение и частота. Давайте пока разберемся с частотой, ибо вопрос напряжения простой и чисто схемотехнический. И так частота… что о ней известно - она 50 Гц (бывает 60Гц в Штатах). Период сигнала равен 20 мс. Синусоида штука симметричная в данном случае, а значит наши 2 полуволны (положительная и отрицательная) имеют одинаковую длительность, то есть 10 мс + 10 мс. Надеюсь тут все понятно. Что это значит в физическом смысле? Да то, что нам нужно менять направление тока в нагрузке каждые 10 мс. Получаем, что сначала у нас открыта 10 мс диагональ VT1+VT4, а затем она закрывается и на следующие 10 мс открывается диагональ VT2+VT3. Что значит открыть транзистор и какой сигнал на него подавать Давайте отвлечемся немного на принцип управления транзисторами. Я использую полевые N-канальные транзисторы с изолированным затвором (Mosfet). «Открытый транзистор» - это транзистор, на затвор (G) которого подали положительный потенциал (+10..18В) относительно истока (S) и транзистор изменил сопротивление канала (S-D) с бесконечно большого (2-100 МОм) на малое (обычно 0.1 - 1 Ом). То есть транзистор начал проводить ток. «Закрытый транзистор» - это транзистор, затвор (G) которого подтянули к истоку (S) и его сопротивление изменилось с маленького до бесконечно большого. То есть транзистор перестал проводить ток. Для лучше ознакомления с принципом работы полевого транзистора или IGBT - советую вам прочитать пару глав в книге Семенова «Основы силовой электроники» или другой источник, можно и википедию для начала. Для управления мы подаем сигнал с Широтно-Импульсной Модуляцией или более привычная аббревиатура - ШИМ. Особенность данного сигнала в том, что у него есть 2 состояния: нижнее напряжение (GND) и верхнее напряжение (VCC), то есть подавая его на затвор транзистора мы или открываем его или закрываем - иного не дано. Про ШИМ тоже советую почитать дополнительно, ибо я вам описал для ленивых поверхностно. И так, для того, чтобы у нас мост менял направление тока каждые 10 мс нам нужно подать на него ШИМ сигнал, период которого равен 20 мс, а скважность 50%. Это значит, что у нас из 20 мс плечо половину времени (10 мс) открыто и проводит ток, а другую половину закрыто. Подавать такой ШИМ нам надо на все ключи, но с одним условием - на диагональ VT1+VT4 мы подаем прямой ШИМ, а на диагональ VT2+VT3 уже инверсный. Если говорить более по-умному, то сигнал, подаваемый на диагонали должен иметь сдвиг 180 0 . Я думаю в этот момент у вас голова закипела в попытках понять текст, поэтому смотрим на его визуальное представление: Теперь все понятно? Нет? Тогда подробнее… Как видите я отметил специально моменты открытия и закрытия транзисторов: открываются на «плюсе» и закрываются на «минусе». Также сигналы противоположны, то есть инверсные: когда синий сигнал «плюс», то зеленый сигнал «минус». Синий сигнал мы подаем на один на одну диагональ, а зеленый сигнал на другую - как видно на осциллограмме, наши диагонали никогда не открываются одновременно. Переменный ток готов! Смотри на период. Специально показал осциллограмму с выходов контроллера, чтобы мои слова не были абстракцией. Период сигнала составляет 20 мс, одна диагональ открыта 10 мс и создает положительную полуволну, другая диагональ так же открывается на 10 мс и создает уже отрицательную полуволну. Теперь надеюсь всем понятно, а кто и сейчас не понял - пишите в ЛС, проведу для вас индивидуальное занятие на пальцах. В подтверждение моих слов осциллограмма показывает наши заветные 50 Гц! Только расслабляться рано… Мы получили переменный ток с частотой 50 Гц, но в розетке у нас синусода, а тут меандр - не дело. Формально можно подавать меандр на выход и питать им большинство нагрузок, например, импульсному блоку питанию все равно: синус или меандр. То есть для включения ноутбуков, телефонов, телевизоров, телефонов и прочего вам уже хватит, но если вы подключите двигатель переменного тока, то все будет очень плохо - он начнет греться и КПД его ощутимо меньше, а в итоге скорее всего сгорит. Вы думаете у вас нет двигателей дома? А компрессор холодильника? А циркулярный насос отопления? Последние вообще горят как будто из дерева сделаны. Такая же ситуация с глубинными насосами для скважин, да и вообще много с чем. Получается, что синусоидальный сигнал на выходе инвертора, стабилизатора или ИБП все таки бывает важен. Что же - надо его создать! Сейчас начнется совсем взрыв мозга… 3. Формирование синусоидальной формы сигнала с помощью ШИМЕсли говорить откровенно, то я не знаю как данный раздел преподнести на доступном языке. Вдруг кто не поймет, то прошу вас или погуглить дополнительно, или написать в комментарии или ЛС - попытаюсь персонально вам объяснить. Глаза боятся, а руки делают…Давайте посмотрим как выглядит обычный график синуса: Видим 2 оси: одна ось с периодом пи, пи/2 и далее, вторая с амплитудой от -1 до +1. В нашей задаче период измеряется в секундах и составляет 20 мс или 10 мс на каждую полуволну. Тут все просто и понятно, а вот с амплитудой веселее - просто примите как аксиому, что амплитуда у нас от 0 до 1000. Это значение скважности, которую устанавливает микроконтроллер, то есть 100 - это 10%, 500 - 50%, 900 - 90%. Логика думаю понятна. В следующей главе вы поймете почему от 0 до 1000, а пока перестроим наш график под наши значения: Вот так выглядит график синуса курильщика, который соответствует нашей задачи. Как видите отрицательный полупериод я не обозначил, т.к. у нас он реализуется не с помощью синусоидального сигнала, а с помощью изменения направления тока переключением диагоналей моста. По оси Х у нас время, а по оси Y скважность нашего ШИМ-сигнала. Нам нужно нарисовать синус с помощью ШИМа. Вспоминаем геометрию в школе, как мы строили графики? Правильно, по точкам! А сколько точек? Давайте построим синус по нескольким точкам О1(0,0) + О2(5,1000) + О3(10,0) + О4(15, -1000) + О5(20, 0) и получаем такой синус: Построили и видим, что в принципе данный сигнал больше похож на синус чем обычный меандр, но это все равно не синус пока что. Давайте увеличим количество точек. Это кстати называется «дискретность сигнала» или в данном случае «дискретность ШИМа». А как узнать координаты этих точек? С крайними то просто было… Расчет значений для формирования синусаКак выше я говорил - синус у нас вполне себе симметричный. Если мы построим 1/4 периода, то есть от 0 до 5 мс, то дублируя этот кусок дальше - мы можем строить синус бесконечно долго. И так формула:И так по порядку:
Теперь вернется к нашему графику синуса и построим его снова, но уже для большего количества точек и посмотрим как он изменится: Как видим сигнал куда больше похож на синус, даже с учетом моего мастерства в рисовании, а точнее в уровне лени)) Я думаю результат не требует объяснений? По результатам построения выведем аксиому:
И так, сколько же точек будем использовать… Понятно, что чем больше, тем лучше. Как посчитать:
Исходник таблицы и значений можно взять по ссылке - . 4. Управление мостовым преобразователем для формирования синусаМы получили таблицу синуса и что с ней делать? Нужно передавать эти значения с определенным шагом дискретизации, который у нас известен. Все начинается с того, что таймер инициализировался - время 0, скважность ноль. Далее мы отсчитываем шаг дискретизации 41,66 мкс и записываем в таймер значение ШИМа из таблицы 13 (0,13%), отсчитываем еще 41,66 мкс и записываем 26 (0,26%) и так далее все 240 значений. Почему 240? У нас 120 шагов на 1/4 периода, а нам надо нарисовать 1/2 периода. Значения скважности те же, только после того как они достигли 1000 мы записываем ее в обратной последовательность и получаем спад синуса. На выходе мы будем иметь вот такую осциллограмму:Как видите мы получили кучу значений ШИМа в четко заданном периоде и его длительность составляет: 240 шагов х 41,66(!) мкс = 9998,4 мкс = 9,9984 мс ~ 10 мс. Мы получили половину периода для частоты сети 50 Гц. Сигнала как видите опять два и они в противофазе, как раз то, что нужно для управления диагоналями моста. Но позвольте, где же синус спросите вы? Настал момент истины! Давайте теперь сигнал с выхода микроконтроллера подадим на ФНЧ, я сделал простой ФНЧ на RC-цепочки с номиналами 1,5 кОм и 0,33 мкФ (под рукой просто были) и получил такой результат: Вуаля! Вот он наш долгожданный синус! Красный луч осциллографа - это сигнал до ФНЧ, а желтый луч - сигнал уже после фильтрации. ФНЧ обрезал все частоты выше 321 Гц. У нас остался основной сигнал 50 Гц, ну и конечно его гармоники с небольшой амплитудой. Если хотите идеально очистить сигнал, то сделайте ФНЧ с частотой среза около 55-60 Гц, но пока это не важно, нам надо было лишь проверить получился ли у нас синус или нет. Кстати… у меня синхронизация осциллографа включена по желтому лучу (стрелка справа экрана) и мы видим внизу экрана его частоту - идеальные 50 Гц. Что еще можно пожелать? Пожалуй все, осталось определиться какой сигнал и куда подавать. Давайте рассмотрим такую картинку: Если вы обратите на саааамую первую осциллограмму в статье, то увидите, что сигнал в желтом и синем лучше имеют одинаковую фазу, то есть они в одно время становятся положительными и открывают транзисторы. Эти 2 сигнала открывают диагональ VT1+VT4. Соответственно 2 других сигнала так же имеют одинаковую фазу и открывают другую диагональ. Теперь мы не просто меняем направление тока, но и задаем амплитуду с помощью ШИМ таким образом, чтобы она изменялась по синусоидальному закону. Теперь рассмотрим эту же схемку, но уже с токами: Как видим ток через нагрузку протекает в противоположную сторону, меняя направление с частотой 50 Гц, а модулированный ШИМ, подаваемый на транзисторы VT1 и VT2 позволяет нарисовать синусоидальную форму сигнала на полуволнах. ФНЧ (фильтр низкой частоты) выполнен на индуктивности L1 и конденсаторе C2. Частоту среза для данного фильтра советую считать менее 100 Гц, это позволит минимизировать пульсации напряжения по выходу. На десерт покажу часть схемы реального устройства с подобной топологией и фильтром, она большая, поэтому скачиваем PDF-ку . 5. Борьба со сквозными токамиЯ думаю не для кого не секрет, что нет ничего идеального? Тоже самое и с Mosfet-ами, у них есть ряд недостатков и мы рассмотрим один из них - большая емкость затвора. То есть, чтобы нам открыть транзистор надо не просто подать напряжение, но и этим самым напряжением зарядить конденсатор, поэтому фронт и спад сигнала затягивается. Это приводит к тому, что на границе сигналов может возникать момент времени, когда один транзистор еще полностью не закрылся, а другой уже начал открываться.Подробнее о данном явление советую почитать, например, в этой статье . Я лишь расскажу как с ним бороться. Чтобы транзисторы успели нормально закрыться до открытия следующего плеча между управляющими сигналами вводят dead-time или проще говоря - временную задержку. У нас такая задержка будет введена между управляющими сигналами на транзисторах VT3 и VT4, т.к. именно они обеспечивают коммутацию полуволн. На транзисторах с модулируемым ШИМом (VT1 и VT2) такие задержки уже есть - синус начинается со скважности 0% и заканчивается тоже 0%. Эта задержка длиной в 1 шаг дискретизации, то есть 41.6 мкс. И так - надо реализовать мертвое время между синим и зеленым лучом/сигналом. На любом контроллере такую задержку можно сделать программным способом, но это не есть хорошо - программа подвиснет или задержится и пыщ-пыщ ваше устройство и квартира уже объяты огнем. Поэтому в силовой электронике стоит применять только аппаратные средства. На всех специализированных motor control аппаратный deadtime предусмотрен на всех выходах ШИМа и каналах, но STM32 это все таки МК общего назначения, поэтому тут все проще, но нашу функцию он выполнит. Нам понадобится таймер TIM1, только он умеет вставлять аппаратную задержку между сигналами, в разделе про написание ПО я расскажу как это сделать, а сейчас смотрим на результат и на то, что вообще должно быть: Чтобы увидеть задержку «растягиваем» сигнал на осциллографе, т.к. он имеет небольшую длительность около 300 нс. Необходимое время длительности deadtime необходимо рассчитывать для каждой конкретной задачи, чтобы защитить транзисторы от сквозных токов. Длительность задержки настраивается при иннициализации (настройке) таймера TIM1. Данная задержка присутствует и на фронте и на спаде сигнала. 6. Написание встроенного ПО для микроконтроллера STM32Вот мы и подошли наверное к самой важной и интересной части. Физику процесса мы разобрали, принцип работы вроде понятен, необходимый минимум защит тоже определен - осталось только все это реализовать в реальном железе. Для этого я использую платку STM32VL-Discovery, получил ее кстати еще в 2011 году во времена, когда ST раздавали отладки бесплатно на своих конференциях и с тех пор она лежала запакованная - открыл упаковку всего пару месяцев назад, вроде срок годности не прошел))) Выглядит мой «стенд» для написание кода вот так:Теперь пройдемся по подключению. Так как мне необходимо формировать два сигнала с разной частотой, то пришлось задействовать выходы ШИМ на разных таймерах. TIM1 формирует сигнал, который задает основную частоту 50 Гц и подает их на транзисторы VT3 и VT4. Используется канал ШИМа №3 + его комплементарный выход. Да да, в STM32 аппаратный deadtime можно настроить только между обычным и комплементарным выходом одного канала, что мне сильно не понравилось. Сам процесс формированию синуса передан таймеру TIM2, тут уже не нужна задержка (ранее писал почему) и он вполне сгодится для формирование модулированного сигнала на VT1 и VT2. Используемые выходы:
Некоторые наверняка спросят: «А почему не задействовать DMA?» Сделать это можно и нужно, но данная статья носит скорее ознакомительный характер, да и сам МК не делает ничего сложного в плане вычислений, поэтому в производительность ядра тут точно не упереться. DMA - это хорошо, но без DMA можно обойтись без каких-либо потенциальных проблем. Давайте уточним, что нам нужно сделать в программе:
6.1. Создание таблицы синусаТут все просто, обычный массив. Единственное, что стоит помнить - у нас 120 точек от 0 до 1000. Нам нужно добавить в таблицу еще 120 точек, но в обратной последовательности:Uint16_t sin_data = {13,26,39,52,65,78,91,104,117,130,143,156,169,182,195,207,220,233,246,258, 271,284,296,309,321,333,346,358,370,382,394,406,418,430,442,453,465,477,488,500, 511,522,533,544,555,566,577,587,598,608,619,629,639,649,659,669,678,688,697,707, 716,725,734,743,751,760,768,777,785,793,801,809,816,824,831,838,845,852,859,866, 872,878,884,891,896,902,908,913,918,923,928,933,938,942,946,951,955,958,962,965, 969,972,975,978,980,983,985,987,989,991,993,994,995,996,997,998,999,999,999,1000, 999,999,999,998,997,996,995,994,993,991,989,987,985,983,980,978,975,972,969,965, 962,958,955,951,946,942,938,933,928,923,918,913,908,902,896,891,884,878,872,866, 859,852,845,838,831,824,816,809,801,793,785,777,768,760,751,743,734,725,716,707, 697,688,678,669,659,649,639,629,619,608,598,587,577,566,555,544,533,522,511,500, 488,477,465,453,442,430,418,406,394,382,370,358,346,333,321,309,296,284,271,258, 246,233,220,207,195,182,169,156,143,130,117,104,91,78,65,52,39,26,13}; 6.2. Настройка системы тактированияНастройка тактирования в STM32 весьма гибкая и удобная, но есть несколько нюансов. Сама последовательность выглядит следующим образом:1) Переключаемся на тактирование от встроенной RC-цепочки (HSI) на внешний кварц (HSE), дальше ждем флага о готовности RCC->CR |= ((uint32_t)RCC_CR_HSEON); // Enable HSE
while (!(RCC->CR & RCC_CR_HSERDY)); // Ready start HSE
FLASH->ACR = FLASH_ACR_PRFTBE | FLASH_ACR_LATENCY; // Cloclk Flash memory
RCC->CFGR |= RCC_CFGR_HPRE_DIV1; // AHB = SYSCLK/1
RCC->CFGR |= RCC_CFGR_PPRE1_DIV1; // APB1 = HCLK/1
RCC->CFGR |= RCC_CFGR_PPRE2_DIV1; // APB2 = HCLK/1
RCC->CFGR &= ~RCC_CFGR_PLLMULL; // clear PLLMULL bits
RCC->CFGR &= ~RCC_CFGR_PLLSRC; // clearn PLLSRC bits
RCC->CFGR &= ~RCC_CFGR_PLLXTPRE; // clearn PLLXTPRE bits
RCC->CFGR |= RCC_CFGR_PLLSRC_PREDIV1; // source HSE
RCC->CFGR |= RCC_CFGR_PLLXTPRE_PREDIV1_Div2; // source HSE/2 = 4 MHz
RCC->CFGR |= RCC_CFGR_PLLMULL6; // PLL x6: clock = 4 MHz * 6 = 24 MHz
RCC->CR |= RCC_CR_PLLON; // enable PLL
while((RCC->CR & RCC_CR_PLLRDY) == 0) {} // wait till PLL is ready
RCC->CFGR &= ~RCC_CFGR_SW; // clear SW bits
RCC->CFGR |= RCC_CFGR_SW_PLL; // select source SYSCLK = PLL
while((RCC->CFGR & RCC_CFGR_SWS) != RCC_CFGR_SWS_1) {} // wait till PLL is used
Void RCC_Init (void){ RCC->CR |= ((uint32_t)RCC_CR_HSEON); // Enable HSE while (!(RCC->CR & RCC_CR_HSERDY)); // Ready start HSE FLASH->ACR = FLASH_ACR_PRFTBE | FLASH_ACR_LATENCY; // Cloclk Flash memory RCC->CFGR |= RCC_CFGR_HPRE_DIV1; // AHB = SYSCLK/1 RCC->CFGR |= RCC_CFGR_PPRE1_DIV1; // APB1 = HCLK/1 RCC->CFGR |= RCC_CFGR_PPRE2_DIV1; // APB2 = HCLK/1 RCC->CFGR &= ~RCC_CFGR_PLLMULL; // clear PLLMULL bits RCC->CFGR &= ~RCC_CFGR_PLLSRC; // clearn PLLSRC bits RCC->CFGR &= ~RCC_CFGR_PLLXTPRE; // clearn PLLXTPRE bits RCC->CFGR |= RCC_CFGR_PLLSRC_PREDIV1; // source HSE RCC->CFGR |= RCC_CFGR_PLLXTPRE_PREDIV1_Div2; // source HSE/2 = 4 MHz RCC->CFGR |= RCC_CFGR_PLLMULL6; // PLL x6: clock = 4 MHz * 6 = 24 MHz RCC->CR |= RCC_CR_PLLON; // enable PLL while((RCC->CR & RCC_CR_PLLRDY) == 0) {} // wait till PLL is ready RCC->CFGR &= ~RCC_CFGR_SW; // clear SW bits RCC->CFGR |= RCC_CFGR_SW_PLL; // select source SYSCLK = PLL while((RCC->CFGR & RCC_CFGR_SWS) != RCC_CFGR_SWS_1) {} // wait till PLL is used } 6.3. Настройка таймера TIM1 и «мертвого времени»Я приведу общую настройку таймера, она подробно описана в reference manual - назначение каждого регистра советую почитать. Да и базовые статьи по работе с ШИМ в интернете есть. Сам код у меня весьма неплохо прокомментирован, поэтому привожу сразу код функции инициализации таймера TIM1, а самые интересные моменты разберем:Void PWM_50Hz_Init (void){
RCC->APB2ENR |= RCC_APB2ENR_TIM1EN; // enable clock for TIM1
RCC->APB2ENR |= RCC_APB2ENR_IOPAEN; // enable clock for port A
RCC->APB2ENR |= RCC_APB2ENR_IOPBEN; // enable clock for port B
RCC->APB2ENR |= RCC_APB2ENR_AFIOEN; // enable clock for alternative gpio
/****************************** Setting PA10 **************************************/
GPIOA->CRH &= ~GPIO_CRH_CNF10; // setting out alternative push-pull for PWM
GPIOA->CRH |= GPIO_CRH_CNF10_1;
GPIOA->CRH &= ~GPIO_CRH_MODE10;
GPIOA->CRH |= GPIO_CRH_MODE10; // gpio speed 50 MHz
/***************************** Setting PB15 ***************************************/
GPIOB->CRH &= ~GPIO_CRH_CNF15; // setting complementary for CH3N
GPIOB->CRH |= GPIO_CRH_CNF15_1;
GPIOB->CRH &= ~GPIO_CRH_MODE15;
GPIOB->CRH |= GPIO_CRH_MODE15; // gpio speed 50 MHz
/************************** Config PWM channel ************************************/
TIM1->PSC = 480-1; // div for clock: F = SYSCLK /
TIM1->ARR = 1000; // count to 1000
TIM1->CR1 &= ~TIM_CR1_CKD; // div for dead-time: Tdts = 1/Fosc = 41.6 ns
TIM1->CCR3 = 500; // duty cycle 50%
TIM1->CCER |= TIM_CCER_CC3E | TIM_CCER_CC3NE; // enable PWM complementary out
TIM1->CCER &= ~TIM_CCER_CC3NP; // active high level: 0 - high, 1 - low
TIM1->CCMR2 &= ~TIM_CCMR2_OC3M;
TIM1->CCMR2 |= TIM_CCMR2_OC3M_2 | TIM_CCMR2_OC3M_1; // positiv PWM
TIM1->BDTR &= ~TIM_BDTR_DTG; // clear register
TIM1->BDTR |= TIM_BDTR_DTG_2 | TIM_BDTR_DTG_1 | TIM_BDTR_DTG_0; // value dead-time
TIM1->BDTR |= TIM_BDTR_MOE | TIM_BDTR_AOE; // enable generation output
/*******************************************************************************/
TIM1->CR1 &= ~TIM_CR1_DIR; // count up: 0 - up, 1 - down
TIM1->CR1 &= ~TIM_CR1_CMS; // aligned on the front signal
TIM1-> TIM1->CCR3 = 500; // duty cycle 50%
TIM1->CR1 &= ~TIM_CR1_CKD; // div for dead-time: Tdts = 1/Fosc = 41.6 ns
Самое же время паузы устанавливается тут: TIM1->BDTR |= TIM_BDTR_DTG_2 | TIM_BDTR_DTG_1 | TIM_BDTR_DTG_0;
6.4. Настройка таймера TIM2, формирующий синусТут все еще проще, объяснять что-то в настройке наверно нет смысла, ибо комментарии и так избыточны. Если будут вопросы - жду их в комментариях.Void PWM_Sinus_Init (void){ RCC->APB1ENR |= RCC_APB1ENR_TIM2EN; // enable clock for TIM2 RCC->APB2ENR |= RCC_APB2ENR_IOPAEN; // enable clock for port A RCC->APB2ENR |= RCC_APB2ENR_AFIOEN; // enable clock for alternative gpio /****************************** Setting PA0 ***************************************/ GPIOA->CRL &= ~GPIO_CRL_CNF0; // setting out alternative push-pull for PWM1_CH1 GPIOA->CRL |= GPIO_CRL_CNF0_1; GPIOA->CRL &= ~GPIO_CRL_MODE0; GPIOA->CRL |= GPIO_CRL_MODE0; // gpio speed 50 MHz /****************************** Setting PA1 ***************************************/ GPIOA->CRL &= ~GPIO_CRL_CNF1; // setting out alternative push-pull for PWM1_CH1 GPIOA->CRL |= GPIO_CRL_CNF1_1; GPIOA->CRL &= ~GPIO_CRL_MODE1; GPIOA->CRL |= GPIO_CRL_MODE1; // gpio speed 50 MHz /*************************** Config PWM channel ***********************************/ TIM2->PSC = 0; // div for clock: F = SYSCLK / TIM2->ARR = 1000; // count to 1000 TIM2->CCR1 = 0; // duty cycle 0% TIM2->CCR2 = 0; // duty cycle 0% TIM2->CCER |= TIM_CCER_CC1E; // enable PWM out to PA8 TIM2->CCER &= ~TIM_CCER_CC1P; // active high level: 0 - high, 1 - low TIM2->CCER |= TIM_CCER_CC2E; // enable PWM complementary out to PA9 TIM2->CCER &= ~TIM_CCER_CC1P; // active high level: 0 - high, 1 - low TIM2->CCMR1 &= ~(TIM_CCMR1_OC1M | TIM_CCMR1_OC2M); TIM2->CCMR1 |= TIM_CCMR1_OC1M_2 | TIM_CCMR1_OC1M_1 | TIM_CCMR1_OC2M_2 | TIM_CCMR1_OC2M_1; // positiv PWM1_CH1 and PWM1_CH2 /*******************************************************************************/ TIM2->CR1 &= ~TIM_CR1_DIR; // count up: 0 - up, 1 - down TIM2->CR1 &= ~TIM_CR1_CMS; // aligned on the front signal: 00 - front; 01, 10, 11 - center TIM2->CR1 |= TIM_CR1_CEN; // start count } 6.5. Настройка прерываний от таймера TIM6Настраиваем сам таймер на частоту 24 кГц:Void TIM6_step_init (void){ RCC->APB1ENR |= RCC_APB1ENR_TIM6EN; // enable clock for basic TIM6 TIM6->PSC = 1-1; // div, frequency 24 kHz TIM6->ARR = 1000; // count to 1000 TIM6->DIER |= TIM_DIER_UIE; // enable interrupt for timer TIM6->CR1 |= TIM_CR1_CEN; // start count NVIC_EnableIRQ(TIM6_DAC_IRQn); // enable interrupt TIM6_DAC_IRQn } 6.6. Реализация основного алгоритма управленияОсновные события происходят в генерируемом таймером TIM6 прерывании. Прерывание генерируется каждые 41,66 мкс, если помните это наш шаг дискретизации. Соответственно в прерывании записывается значение скважности из таблицы в регистр CCRx . Также в данном прерывании определяется какая диагональ в данный момент времени отрисовывается, путем инверсии флага sin_status после каждого полупериода. Мы выводим 240 точек, инвертируем флаг, что вызывает переход управления к другому каналу, когда уже и он отрисовал, то флаг опять инвертируется и все повторяется. Код основного алгоритма:Void TIM6_DAC_IRQHandler(void){ TIM6->SR &= ~TIM_SR_UIF; if(sin_status == 0){TIM2->CCR1 = sin_data;} if(sin_status == 1){TIM2->CCR2 = sin_data;} sin_step++; if(sin_step >= 240){ sin_step=0; sin_status = sin_status ? 0: 1; } } ИтогиСкачиваем проект, компилируем и заливаем в ваш микроконтроллер и получаем рабочий инвертор. Вам остается только сделать мост и подавать на него сигналы:Одну из своих схем моста я чуть ранее выложил в PDF-ке можете пользоваться сколько угодно, надеюсь она вам поможет в освоение силовой электроники. Надеюсь статья вам понравилась. Если у вас возникли вопросы по применению данного кода в реальном железе, то буду рад ответить на них. Также прошу не воспринимать данный код как что-то готовое, это ядро преобразователя, которое реализует основную функцию. Все «плюшки» и прочую избыточность вы можете добавить сами. Голое ядро проекта позволит вам понять как оно работает и не тратить кучу времени на разборку кода. Постоянный ток (DC - Direct Current) - электрический ток, не меняющий своей величины и направления с течением времени. В реальности постоянный ток не может сохранять величину постоянной. Например, на выходе выпрямителей всегда присутствует переменная составляющая пульсаций. При использовании гальванических элементов, батареек или аккумуляторов, величина тока будет уменьшаться по мере расхода энергии, что актуально при больших нагрузках. Постоянный ток существует условно в тех случаях, где можно пренебречь изменениями его постоянной величины. Постоянная составляющая тока и напряжения. DCЕсли рассмотреть форму тока в нагрузке на выходе выпрямителей или преобразователей, можно увидеть пульсации - изменения величины тока, существующие, как результат ограниченных возможностей фильтрующих элементов выпрямителя. Постоянная составляющая DC
- величина, равная среднему значению тока за период. AVG - аббревиатура Avguste - Среднее. Переменная составляющая AC - периодическое изменение величины тока, уменьшение и увеличение относительно среднего значения . Следует учитывать при расчётах, что величина пульсирующего тока будет равна не среднему значению, а квадратному корню из суммы квадратов двух величин - постоянной составляющей (DC ) и среднеквадратичного значения переменной составляющей (AC ), которая присутствует в этом токе, обладает определённой мощностью и суммируется с мощностью постоянной составляющей. Вышеописанные определения, а так же термины AC и DC могут быть использованы в равной степени как для тока, так и для напряжения. Отличие постоянного тока от переменногоПо ассоциативным предпочтениям в технической литературе импульсный ток часто называют постоянным, так как он имеет одно постоянное направление.
В таком случае необходимо уточнять, что имеется в виду постоянный ток с переменной составляющей. Следует помнить, что постоянный ток или напряжение характеризует, кроме направления, главный критерий - постоянная его величина,
которая служит основой физических законов и является определяющей в расчётных формулах электрических цепей. Для переменного тока (напряжения) в большинстве случаев бывает важен критерий - отсутствие постоянной составляющей, когда среднее значение равно нулю.
Параметры постоянного тока и напряженияСразу следует отметить, что устаревший термин "сила тока" в современной отечественной технической литературе используется уже нечасто и
признан некорректным. Электрический ток характеризует не сила, а скорость и интенсивность перемещения заряженных частиц. А именно, количество заряда, прошедшее за единицу времени через поперечное сечение проводника. Единица измерения тока - Ампер. Единица измерения напряжения - Вольт. Для выпрямителей и преобразователей часто бывает важными следующие параметры для постоянного напряжения или тока: Размах пульсаций
напряжения (тока) - величина, равная разности между максимальным и минимальным значениями. |
Читайте: |
---|
Новое
- Покупаем ноутбук! Какой выбрать для игр? Как выбрать игровой ноутбук Какой ноутбук лучше подойдет для игр
- Как зарегистрироваться в плей маркете?
- Функции VBA для работы с текстом
- Обратная связь на YouTube: как общаться с подписчиками и увеличить их число
- Какие методы существуют и как искать одновременно по нескольким значениям
- Личный кабинет столото Столото как зарегистрироваться не получается
- Телеграмм на андроид Скачать телеграмм по номеру телефона
- Обзор Samsung Galaxy J7 (2017): достойное ли продолжение?
- Пользовательский интерфейс на базе Twitter Bootstrap для начинающих Качаем и устанавливаем bootstrap signed
- Как заработать врачу на медицинских консультациях онлайн