Генерация многофазного ШИМ сигнала на TMS320F28027

Что такое ШИМ?

ШИМ (широтно-импульсная модуляция, англ. pulse—width modulation (PWM)) — это способ управления мощностью путём импульсной подачи питания. Мощность меняется в зависимости от длительности подаваемых импульсов.

ШИМ в современной электронике применяется повсеместно, для регулировки яркости подсветки вашего смартфона, скорости вращения кулера в компьютере, для управления моторами квадрокоптера или гироскутера. Cписок можно продолжать бесконечно.

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

Поздравляю radiokot.ru и Главного Кота с Днём Рождения! А также модераторов и всех, кто помогает сайту становиться все лучше и интересней. Желаю всего самого доброго! Так держать! Лично я отметил день рождения Кота, как на картинке, чего и всем советую.

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

В наше время весь мир крутится вокруг широтно-импульсной модуляции (ШИМ), да что и говорить, даже день и ночь – и те подвластны ШИМу (зимой день короче чем ночь и наоборот J ). ШИМ сейчас используется везде, где только можно представить его применение: регуляторы, стабилизаторы, преобразователи, блоки питания и прочие устройства. Учитывая тенденцию увеличения мощности, неуклонного роста используемых частот в силовой и преобразовательной технике, а также уменьшению массо — габаритных показателей, я решил что иметь у каждого в домашней лаборатории широкодиапазонный генератор ШИМ просто обязательно. Но это, конечно же, должен быть не просто генератор. Нужно что бы он имел регулировку частоты в широком диапазоне, регуляторы коэффициента заполнения, регуляторы DEAD TIME, однотактный и двухтактный выходы, а также инверсию выходов для каждого. Инверсия выходов необходима для проверки мостового преобразователя. Да и мало ли чего ещё захочется исследовать. Но в тоже время он должен быть простым для сборки, наладки и повторения. В данном случае будет достаточно перекрыть диапазон частот в однотактном режиме от 60 кГц до 2 МГц, в двухтактном режиме от 30 кГц до 1 МГц. Регулировать коэффициент заполнения в однотактном режиме от 1 % до 99%, а в двухтактном режиме от 2 % до 98%, с возможностью регулирования паузы DEAD TIME («мертвая зона»). Генератор должен иметь минимальное число переключателей по диапазонам. Все должно регулироваться плавно и без скачков. Желательно иметь настройку грубо и точно на каждый параметр регулирования.

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

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

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

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

Ради прикола, беру самый первый советский операционник К140УД1Б и загоняю его на испытания. Показатели у него значительно лучше, чем у LM358.

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

Даже проверил, как себя поведет стабилитрон TL431 на частоте 1,3 МГц:

Желтым — вход, синим — выход.

А также испытать и проверить многое другое…….

Вот, вкратце, возможности моего генератора.

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

Мои исследования

Исследование первое: на готовом ШИМ регуляторе.

На первый взгляд самой привлекательной и простой схемой, найденной в даташитах и интернете, показалась схема на основе готового PULSE WIDTH MODULATION контроллера типа TL494 и её аналогах КА7500. TL 494 и ее последующие версии — наиболее часто применяемая микросхема для построения двухтактных преобразователей питания.

Но на деле это решение подходит под наши задачи только на 1/10 решения и её нельзя использовать на частотах более 100 кГц — в однотактном режиме и до 50 кГц — в двухтактном режиме. Почему? Хотя по даташиту она может использоваться и до 300кГц, мне не понравилось, как она себя ведет на частотах выше 100 кГц.

Что гласит даташит:

Допустимы рабочие частоты от 1 до 300 кГц, рекомендованный диапазон Rt = 1…500кОм, Ct=470пФ…10мкФ. При этом типовой температурный дрейф частоты без учета дрейфа навесных компонентов +/-3%, а уход частоты в зависимости от напряжения питания — в пределах 0.1% во всем допустимом диапазоне. Да только дело то не в уходе частоты, а в непостоянстве регулирования коэффициента заполнения в зависимости от частоты.

Я попробовал испытать её возможности, и хотел перекрыть нужный мне диапазон в 2 МГц, но на частоте выше 1 МГц она нормально так и не запустилась. Пришлось пока ограничиться только 1 МГц. Сделал пять диапазонов регулирования частоты, поставил стабилизатор напряжения на 12 вольт по питанию с блокировочными конденсаторами, чтобы не нарушалась чистота эксперимента и начал испытание.

Схема:

Макетная плата подопытной схемы:

Джамперы для выбора частоты:

Результаты проведенного испытания возможностей TL494:

Данная микросхема для моего требования к генератору не подходит, и никакие средства и ухищрения разогнать её на большую частоту так ни к чему и не привели. Предел мечтаний с ней это 100 кГц (с большой натяжкой 150 кГц). На более высокой частоте даёт о себе знать очень уж медленный компаратор, использующийся в схеме кристалла. Также мешает повышению частоты и встроенная коррекция. Читаем из даташита особенности данной микросхемы:

Для стабильной работы триггера — время переключения цифровой части TL494 составляет 200 нс. На тактовых частотах до 150 кГц при нулевом управляющем напряжении фаза покоя = 3% периода (эквивалентное смещение управляющего сигнала 100..120 мВ), на больших частотах встроенная коррекция расширяет фазу покоя до 200..300 нс. Так как в ней очень медленные усилители ошибки (фактически, операционные усилители с Ку = 70..95 дБ по постоянному напряжению, Ку = 1 на 300 кГц), я их не использую в схеме испытания вообще, и они заблокированы. Эти усилители не предназначены для работы в пределах одного такта рабочей частоты. При задержке распространения сигнала внутри усилителя в 400 нс они для этого слишком медленные, да и логика управления триггером не позволяет (возникали бы побочные импульсы на выходе). В реальных схемах преобразователей напряжения частота среза цепи ОС выбирается порядка 2 — 10кГц.

Замечания по работе микросхемы 494 на повышенной частоте, которые меня не устраивают:

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

Осциллограммы работы генератора на разных частотах:

2. Сильная зависимость коэффициента заполнения от частоты, которая проявляется с нарастающим эффектом после прохождения частоты 100 кГц.

Рассматривая осциллограммы работы ШИМ регулятора с TL494 на разных частотах, при максимальном и минимальном коэффициенте заполнения, чётко заметны изменения минимального и максимального коэффициента заполнения в зависимости от частоты.

Как видно, изменение минимального коэффициента заполнения на частоте 50 кГц =5% и на частоте 1 МГц = 14,3% отличаются почти в три раза. А вот изменение максимального коэффициента заполнения, тут вообще удивляет: на частоте 50 кГц = 93% и на частоте 1 МГц = 60,7% отличаются на 32%!!!

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

Исследование второе: на 555 таймере.

Дальше на пути у меня была схема на NE555 таймере, которую я использовал лишь только в качестве генератора пилообразного напряжения. Я и не предполагал, что он тоже окажется довольно медленным, но все же, немного лучше, чем предыдущая TL494. С ним можно подняться к частотам около 200 кГц в однотактном режиме. Только надо добавить компаратор и триггер с логикой ИЛИ-НЕ.

Схема генератора на 555 таймере:

Осциллограммы работы генератора пилообразного напряжения на 555 таймере на частотах 332 кГц и 462 кГц.

Тут видно округление вершин и спада импульса. На частоте более 500 кГц пила становится неузнаваема.

Разочаровавшись в готовых решениях только на аналоговых элементах, я пробовал синтезировать ШИМ чисто на цифровых логических элементах и счетчиках с триггерами, без использования аналоговых компонентов, но там меня подстерегали другие, куда более сложные проблемы. Выравнивание задержек распространения сигнала по элементам и т.п. Особенно большую проблему составляют триггеры и счетчики, которые совсем не хотят щелкать на малой длительности импульса и просто тупо пропускают счет. А это значит, что ключам, на которые будет работать генератор, очень скоро придет конец. Отказался от этой затеи через неделю боя с 561 логикой. Она, оказывается, ну уж очень медленная для таких частот — 20 МГц при делении ШИМа по 10 %. Ещё через две недели отказался и от 1533 тоже.

Финальная схема генератора.

После нескольких неудачных попыток воплотить мечту в реальность (иметь в своей домашней лаборатории генератор с 2 МГц ШИМа), недельку- другую отдохнул, подумал, набрался сил и снова приступил к решению проблемы. На этот раз без выкрутасов и лёгких путей, учитывая предыдущие наработки и ошибки. Из всех опробованных решений самое большее удобство пользования предоставляла схема на TL494 или на таймере. Поэтому было решено клонировать начинку NE555 и TL494 на быстродействующих компонентах и собирать некий «симбиоз» двух микросхем на отдельных компараторах и логике. Компараторы с ТТЛ выходом я взял те, что были у меня в столе — КР597СА2, но можно и любые другие, главное быстродействующие и с ТТЛ выходом. Ну, если вдруг захочется позверствовать, то ЭСЛ будет куда круче (тогда и 20 МГц не предел), но мне пока не нужна такая большая частота (разве для преобразователя с индуктивностью без ферритового сердечника). Тогда надо ставить КР597СА1, и логику серии К500.

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

Схема:

Схема состоит из генератора пилообразного напряжения (состоящего из стабилизатора тока на транзисторах VT1, VT2, VT3; двух компараторов DA1, DA2; триггера DD1 и разрядного транзистора VT4), схемы выделения прямоугольных импульсов (с шириной зависящей от порогового напряжения на DA3), двух стабилизаторов опорного напряжения (2,5в и 2,9в), формирователя двухтактного сигнала (на триггере DD2 и элементах DD3 DD4 2-ИЛИ-НЕ), повторителя и инвертора для однотактного выхода (на DD5, DD6).

Фото макетной платы:

Для облегчения процесса настройки я приведу осциллограммы напряжений в каждой важной точке схемы. Итак…

Генератор пилообразного напряжения. Конденсатор заряжается через стабилизатор тока. Канал 1 – напряжение на конденсаторе С5, канал 2 – напряжение на базе разрядного транзистора VT4.

По графикам заметен необъяснимый факт ухода напряжения в область отрицательных значений, но это работе не мешает, так как в схему выделения прямоугольных импульсов в задающее напряжение позже я также внесу небольшое отрицательное смещение с помощью делителя R6, R10 для охвата всего диапазона изменения напряжения «пилы». R1 подбирается для ограничения верхней максимальной частоты (я ограничился лишь 2 МГц, хотя вся схема нормально работает и до 5 МГц).

Осциллограммы напряжений на выходах компараторов DA1, DA2 на разной частоте. Канал 1 – напряжение на компараторе DA1 вывод 14, канал 2 – напряжение на компараторе DA2 вывод 14:

Для борьбы со «звоном» компаратора вблизи зоны переключения, в схеме выделения прямоугольных импульсов на DA3, я ввел резисторы ПОС (положительной обратной связи) R16, R15 на одноименных входах — выходах компаратора. ПОС нужна на частоте ниже 1 МГц. На частоте в 2МГц данная цепь не требуется и сама перестает участвовать в работе, что видно по осциллограммам. Осциллограммы напряжений на входах компаратора DA3 на разной частоте. Канал 2 – напряжение на компараторе DA3 вывод 2 – задание порога переключения, канал 1 – напряжение на компараторе DA3 вывод 3 с генератора «пилы». Осциллограмма на частоте 96 кГц. Канал 2 увеличено. Видна волнистая линия синхронно переключению компаратора – это и есть работа ПОС для задания гистерезиса. Глубину гистерезиса можно было бы и уменьшить, но на карту поставлены ключи, которыми будет управлять генератор, поэтому оставим все без изменения.

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

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

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

А вот так хулиганит триггер при входных импульсах недостаточной длительности:

Видно как сбивается развертка и просматривается тот самый пропуск импульса. А это приводит например в полумостовом преобразователе к сквозному «кототоку».

Далее покажу, как формируется полтакта двухтактного импульса, пройдя компаратор, триггер и логический элемент 2ИЛИ-НЕ:

То, что получилось на выходных контактах, я поместил в первой картинке. Внимательно смотрим, изучаем. Как видно из графиков, минимальная длительность импульсов на двухтактном выходе завышена до 5%, для того, чтобы триггер четко переключался при входной частоте 2 МГЦ. На частотах до 500 кГц её можно установить и 1 % не опасаясь за пропуски импульса.

Основной нюанс по настройке генератора: самое главное – чтобы стояли блокировочные керамические конденсаторы типа КМ-5 по 0,1 мкф минимум, или SMD импортные, на каждом корпусе микросхемы. Без них схема работает очень неустойчиво. Одна сторона платы используется для дорожек, а вторая используется как экран, её нужно соединить с корпусом в нескольких точках.

Блок питания каких–либо особенностей не имеет. Для канала +12в используется КРЕНка или 7812, а для канала – 6в используется 7906

Об выходных драйверах на 2 МГц напишу позже, а то и так много читать надо. Можно использовать готовые микросхемы драйверов, можно собирать на дискретных элементах.

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

Ещё поздравляю и желаю много валерианки!!!

Макетная плата в Layout 5, видео работы генератора в разных режимах и картинки отдельно в файлах.

Файлы:

плата архив картинок видео

Все вопросы в Форум.

Принцип работы ШИМ

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

Основная характеристика ШИМ – СКВАЖНОСТЬ (процент заполнения) – процентное соотношение длительности импульсов к периоду. На рисунке ниже изображено 5 степеней скважности прямоугольного ШИМ сигнала:

ПЕРИОД — это время за которое происходит полный цикл колебания сигнала. Измеряется в секундах. Он линейно зависит от частоты сигнала и рассчитывается по формуле:

T(перод) = 1/f(частота)

f(частота) = 1/ T(перод)

Частота ШИМ – это количество периодов (или если хотите, циклов колебаний) в единицу времени. Частота измеряется в Герцах (Гц), 1 Гц это одно колебание в 1 секунду.

Если сигнал делает 100 колебаний в секунду, значит частота равняется 100 Гц. Чем выше частота тем меньше период.

ШИМ-генератор на ОУ

Исходные данные к расчету представлены в таблице 34.

Таблица 34. Исходные данные к расчету

ВходВыходПитание
ViMinViMaxVoMinVoMaxVccVeeVref
-2,0 В2,0 В0 В5 В5 В0 В2,5 В

Описание схемы

Данная схема использует генератор треугольных импульсов и компаратор для формирования ШИМ-сигнала с частотой 500 кГц и коэффициентом заполнения, обратно пропорциональным входному напряжению (рисунок 42). Операционный усилитель (U3) и компаратор (U4) генерируют треугольный сигнал, подаваемый на инвертирующий вход второго компаратора (U2). Входное напряжение схемы поступает на инвертирующий вход усилителя рассогласования (U1) и далее на неинвертирующий вход компаратора (U2). Выходной ШИМ-сигнал формируется при сравнении входного напряжения и треугольного сигнала. Сигнал с выхода U2 используется для обратной связи и подается на вход усилителя рассогласования (U1). Это сделано для улучшения точности и линейности при генерации ШИМ-сигнала.

Рис. 42. Схема ШИМ-генератора

Рекомендуем обратить внимание:

  • используйте компаратор c выходом типа “push-pull” и минимальным временем задержки;
  • Применяйте ОУ с подходящими значениями скорости нарастания, GBW и диапазона выходных напряжений;
  • частота полюса, создаваемого конденсатором С, должна лежать ниже частоты переключений и значительно выше слышимого звукового диапазона;
  • импеданс источника опорного напряжения должен быть минимальным. Для этой цели может быть использован выход ОУ.

Порядок расчета

  • Выбираем коэффициент усиления для входного сигнала по формуле 1:
  • Выбираем сопротивления R1 и R2 для деления опорного напряжения и получения единичного усиления сигнала на неинвертирующем входе (формула 2):

Тогда VO_DC = 2,5 В.

  • Амплитуда Vtri должна быть выбрана выше максимальной амплитуды входного напряжения (2,0 В), чтобы избежать коэффициента заполнения ШИМ-сигнала 0% и 100%. Выбираем Vtri = 2,1 В. Амплитуда V1 = 2,5 В (формула 3):

Задаем R6 = 10 кОм и определяем R5 по формуле 4:

  • Задаем частоту ШИМ 500 кГц, исходя из формулы 5:

Задаем С3 = 100 пФ и рассчитываем R7 по формуле 6:

  • Выбираем С1 для ограничения полосы пропускания усилителя ниже частоты ШИМ (формула 7):
  • Выбираем С2 для фильтрации шума Vref и подставляем в формулу 8:

C2 = 100 нФ (номинал).

Моделирование схемы

Моделирование в режиме постоянных токов (DC-анализ) изображено на рисунке 43.

Рис. 43. Зависимость выходного напряжения усилителя от входного

Осциллограмма переходных процессов представлена на рисунке 44.

Рис. 44. Осциллограммы переходных процессов

Рекомендации

Параметры ОУ, используемого в расчете, приведены в таблице 35.

Таблица 35. Параметры ОУ, используемого в расчете

OPA2365
Vss2,2…5,5 В
VinCMRail-to-rail
VoutRail-to-rail
Vos100 мкВ
Iq4,6 мА
Ib2 пА
UGBW50 МГц
SR25 В/мкс
Число каналов2

В качестве альтернативы могут использоваться ОУ, параметры которых представлены в таблице 36

Таблица 36. Параметры альтернативных ОУ

TLV3502OPA2353
Vss2,2…5,5 В2,7…5,5 В
VinCMRail-to-railRail-to-rail
VoutRail-to-railRail-to-rail
Vos1 мВ3 мкВ
Iq3,2 мА5,2 мА
Ib2 пА0,5 пА
UGBW44 МГц
SR22 В/мкс
Число каналов22

Как подключить к нагрузке

Напрямую генератор ШИМ сигнала к нагрузке подключать не следует, потому как он слаботочный и скорее все сразу же сгорит. Для того, чтобы управлять нагрузкой необходим ключ на мосфет-транзисторе. Берём N-канальный мосфет-транзистор IRF3205 и собираем всё по схеме:

Резистор R1 нужен для защиты пина ардуинки от выгорания, а резистор R2 для того, чтобы транзистор полностью закрывался, когда ардуина не даёт выходного сигнала.

Как видно ничего сложного. Четыре элемента и ШИМ-контроллер готов. Он уже может управлять одноцветной светодиодной лентой или каким-нибудь моторчиком.

Если нужна трехцветная лента или больше лент (делаем многоканальный ШИМ), просто добавляем ключи на пины D3, D5, D6, D9, D10, D11 (только на них работает ШИМ). Итого, Ардуина способна управлять мощностью 6-ти устройств одновременно.

IRF3205 способен выдерживать токи до 70 Ампер при напряжении до 55 Вольт, таких характеристик вполне достаточно для решения большинства бытовых задач.

Улучшение схемы контроллера

Конечно всегда есть пути дальнейшего улучшения схемы:

  1. Хорошо бы дать между выходом ШИМ и микроконтроллером некоторый буфер на транзисторе или простой усилитель, работающий в классе AB. В этом случае он защитит микроконтроллер от повреждений и дополнительно раскачает сигнал.
  2. Дополнительные шаги контроля частоты также были бы полезны. Если собираетесь внедрить проект, предлагаем более крупный микроконтроллер с аппаратным ШИМ для SMPS, чтобы было 2/4 канала и регулирование времени простоя.

Можно также расширить диапазон регулирования заполнения до 0..100%. Это может быть полезно при тестировании работы исполнительных блоков управления ШИМ. Например, при 100% заполнении — измерение падения напряжения на дорожках и открытом ключе.

Если нужно управлять плюсовым контактом

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

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

Стоит оговориться такая схема будет работать только при питании не выше 5 вольт, так как для полного закрытия P-канального транзистора необходимо подтянуть его затвор к плюсу питания, а ардуина способна выдавать на цифровой пин только 5 вольт. Значит, при питании хотя бы чуть-чуть выше напряжения выдаваемого на цифровой пин транзистор будет не полностью закрываться при верхней части импульса ШИМ и БУДЕТ СИЛЬНО ГРЕТЬСЯ. Полностью отключить нагрузку он тоже не сможет.

Если нужно управлять, к примеру,12 -ти вольтовым устройством, то схема немного усложнится. Добавится так называемое «плечо раскачки» или драйвер полевого транзистора. По классике он собирается на двух, а иногда и на трёх транзисторах, но мы есть вариант немного проще, который работает при невысоких частотах:

Генератор ШИМ сигнала на микроконтроллере с регулируемой скважностью

Это простой ШИМ-генератор работающий от стабилизированного источника питания с напряжением 4,75…5,25 В. На его выходе генерируется прямоугольный сигнал с постоянной частотой 1 Гц, но с регулируемым коэффициентом заполнения в диапазоне 0…100% с шагом 1%, в зависимости от установленных перемычек J1-J7.

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

Основой генератора является популярный микроконтроллер ATmega48. Вместо него можно использовать модели ATmega88 или ATmega168, которые отличаются только большим объемом памяти.

Управляющая программа написана на ассемблере и идентична для каждого из упомянутых микроконтроллеров (занимает 2440 байт флэш-памяти). После включения источника питания или сброса микроконтроллера с помощью кнопки S1 управляющая программа конфигурирует вывод PB0 (№ 14) в качестве выхода с низким логическим уровнем (LOW), а все остальные выводы — как входы с высоким логическим уровнем (включены внутренние подтягивающие резисторы).

Затем микроконтроллер считывает состояние перемычек J1-J7, которые подключены к контактам PD0…PD6. Если все перемычки открыты (OFF), программа переходит к выполнению цикла, генерирующего сигнал с заполнением 0% (режим 0) и на выходе генератора все еще остается низкое логическое состояние (LOW).

Однако если при помощи перемычек установлено некоторое двоичное значение X = 1…99 (J1 — самый младший бит), то программа переходит к соответствующему циклу (режим X), который выполняется без прерывания.

В каждом таком цикле есть две инструкции, которые переключают состояние выхода PB0 на противоположное. Время между переключениями различается (за исключением 50% заполнения), но их сумма всегда равна 1 секунде. Благодаря этому на выходе генератора получается прямоугольный сигнал с различным заполнением, но всегда с частотой 1 Гц.

Если перемычками установлено двоичное значение X > 99, программа переходит к выполнению цикла, генерирующего 100% сигнал (режим 100), при этом на выходе генератора постоянно высокое логическое состояние (HIGH).

Для правильной работы генератора необходимо использовать кварцевый резонатор Q1 с номинальной частотой 4 МГц, поскольку циклы в управляющей программе написаны именно для этой частоты микроконтроллера.

Резистор R2 и конденсатор C1 образуют низкочастотный фильтр, который подавляет дребезг контактов, возникающий в момент нажатия кнопки S1. Транзисторы VT1 (BC547) и VT2 (BC557) работают в качестве выходного буфера с током до 100 мА.

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

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

При программировании необходимо установить соответствующие fuse и lock биты:

  • FL (Fuse Low): $F7
  • FH (Fuse High): $DF
  • FE (Fuse Extended): $F9 ($FF для ATmega48)
  • LB (Lock Bits): $FF

При таких настройках:

  • используется внешний кварцевый резонатор (биты CKSEL3-0 = 0111);
  • делитель частоты на 8 отключен, что вызывает тактирование микроконтроллера на полной частоте резонатора (CKDIV8 = 1);
  • увеличено время запуска до 65 мс после включения напряжения питания (SUT1-0 = 11);
  • отключена генерация тактовой частоты микроконтроллера на выводе PB0 (CKOUT = 1);
  • включена возможность сброса PC6 (RSTDISBL=1) и программирования через последовательный интерфейс (SPIEN=0).

После программирования микроконтроллера отключите программатор от платы. Затем перемычками J1-J7 установите комбинацию, которая соответствует выбранному коэффициенту заполнения, и нажмите кнопку S1. На выходе генератора должен появиться прямоугольный сигнал с частотой 1 Гц и выбранной скважностью.

Скачать прошивку (2,6 KiB, скачано: 521)

Обзор типичных схем

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

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

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

Схема стабилизации напряжения: как работает

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

С нее снимается напряжение и подается для корректировки величины сигнала первичной обмотки.

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

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

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

Для закрепления материала в памяти рекомендую посмотреть видеоролик владельца Паяльник TV, который хорошо объясняет информацию про импульсные блоки питания: принципы работы на примере конкретной модели.

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

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

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

Если вы знакомы с Arduino, то вы должны знать что плата Arduino может достаточно просто формировать ШИМ сигнал (с помощью функции analogwrite) на ряде своих контактов

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

Помочь нам в этом может библиотека Arduino PWM Frequency Library (библиотека управления частотой ШИМ сигнала), более подробно работу с ней мы рассмотрим далее в статье.

Но в использовании этой библиотеки есть ряд слабых сторон. Дело в том, что данная библиотека изменяет настройки по умолчанию Таймера 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 или осуществлять управление сервомотором.

Схема стабилизации напряжения: как работает

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

С нее снимается напряжение и подается для корректировки величины сигнала первичной обмотки.

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

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

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

Для закрепления материала в памяти рекомендую посмотреть видеоролик владельца Паяльник TV, который хорошо объясняет информацию про импульсные блоки питания: принципы работы на примере конкретной модели.

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

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

Управление многоуровневыми синусоидальными ШИМ (СШИМ)[ | ]

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

Множество Nc-каскадов в одной фазе с их источниками, смещенными на угол θс = 360°/Nc и использующими то же управляющее напряжение, производят напряжение нагрузки с самым маленьким искажением. Этот результат был получен для многоэлементного инвертора в семи-уравневой конфигурацией, которая использует три подключенных последовательно сегмента в каждой фазе. Самое маленькое искажение получено, когда источник смещен на угол в θс = 360°/3 = 120 °.

Довольно обыденной практикой в промышленном применении для многоуровневого инвертора является вставка третьей гармоники в каждый сегмент, как показано на Рисунок справа(b), для увеличения выходного напряжения. Еще одна положительная сторона многоуровневого СШИМ -эффективная частота переключения напряжения нагрузки в Nc-количество раз, и частота переключения каждого сегмента, в зависимости от ее несущего сигнала. Это свойство позволяет сокращать частоты переключения каждого сегмента, таким образом уменьшая потери на переключении.

Рейтинг
( 2 оценки, среднее 4.5 из 5 )
Понравилась статья? Поделиться с друзьями:
Для любых предложений по сайту: [email protected]