Например TDA7294

РадиоКот >Конкурсы >Поздравь Кота по-человечески 2019! >

Теги статьи: Добавить тег

Изолированный преобразователь для питания устройств от USB

Автор: Ермаков Алексей
Опубликовано 23.09.2019
Создано при помощи КотоРед.
Участник Конкурса "Поздравь Кота по-человечески 2019"

        Повторяя одну конструкцию с питанием от USB, я столкнулся с тем, что готовые изолированные преобразователи с несколькими напряжениями на выходе и питанием от 5В очень дороги. Вот решил изобрести свой велосипед, получилось на много дешевле, но так как использовался маленький микроконтроллер PIC10F322, в ПИД вычислениях пришлось пойти на очень большие компромиссы. Фактически умножение на коэффициент, я заменил сдвигом, т.е. операцией деления на степень 2 , но результат меня устроил. В данной конструкции описывается преобразователь, который работает от 3.3 до 6В (на самом деле верхнее напряжение питания можно легко поменять, подобрав соответствующие транзисторы, диоды и пересчитав трансформатор), на одном выходеп преобразователь  имеет стабилизированное напряжение 5В при номинальном токе 200ма, для питания схемы. На другом выходе 12В при токе 200ма для питания вентилятора охлаждения. Микроконтроллер PIC10F322 был выбран по причине невозможности найти пуш-пул контроллер с питанием от 5В с сопоставимой ценой, плюс богатая периферия этого микроконтроллера призывала к творчеству, но все оказалось не так просто.

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

Мне бы хотелось сделать так, чтобы за формирование PWM импульсов отвечала аппаратура, и казалось бы, в PIC10F322 есть блок CWG, но это CWG первого поколения, у него нет режима ПУШ-ПУЛ, соответственно он не может формировать на своих выходах импульсы одинаковой длительности в противофазе, разделенные временным промежутком для защиты от сквозного тока. 

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

Поэтому мы будем сочетать и CWG и PWM1, PWM2.

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

           Из периферии остались не охваченные АЦП и TMR0. Тут все просто, в рабочем цикле программы опрашивается флаг переполнения TMR0 и запускается цикл преобразования АЦП. Для нормальной работы ПИД регулятора важно, чтобы входные отсчеты располагались строго через определенные интервалы. У меня конечно сделано не очень строго, в программном цикле, но для данной реализации этого достаточно. Период переполнения TMR0 выбран 312мкс, этого времени достаточно, чтобы успели произойти все вычисления коэффициентов. Коэффициенты ПИД регулятора подбирались в ручную. Сначала я хотел умножать на коэффициент, потом сдвигом делить на соответствующую степень двойки. Но практика показала, что гораздо важнее быстрее производить вычисления,  чем точность коэффициента, а 32битное умножение занимает много времени. Подстройка выходного напряжения на выходе 5В производиться резистором R10.

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

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

На второй осциллограмме показан момент включения преобразователя с нагрузкой 25 Ом и 60 Ом на 5В и 12В выходах соответственно, тут выброс существенно меньше .

На третьей осциллограмме показаны пульсации при отсутствии нагрузки.

На четвертой осциллограмме показаны пульсации при полной нагрузке, 25 Ом и 60 Ом на 5В и 12В выходах соответственно.

На пятой осциллограмме показано импульсное, с частотой 1Гц, подключение и отключение резисторов 25 Ом и 60 Ом на 5В и 12В выходах соответственно. Заметно, что регулировка происходит по 5В выходу. Желтый луч выход 5В, берюзовый - 12В.

На шестой осциллограмме показан момент подключения нагрузочных резисторов 25 Ом и 60 Ом на 5В и 12В выходах соответственно в более крупном масштабе. Желтый луч выход 5В, берюзовый - 12В.

И седьмая, самая страшная осциллограмма, здесь нагрузка подключается и отключается импульсами с частотой 45Гц, на этой частоте в петле регулирования находится резонанс, поэтому такие страшные пульсации. Желтый луч выход 5В, берюзовый - 12В.

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

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

Из особенностей, оптопара вводится в линейный режим с помощью построечного резистора R10, им же регулируется выходное напряжение 5В, транзисторы VT1 и VT2 с малым напряжением насыщения коллектор эмиттер, это влияет на скорость отклика от изменения нагрузки. Почему не полевики? Просто на моем складе лежит пачка таких транзисторов, с полевиками не эксперементировал.  Расчет трансформатора производил с помощью программы уважаемого Владимира Денисенко, программу можно скачать здесь: https://radiokot.ru/forum/viewtopic.php?f=11&t=33756 . Стабилизатор напряжения DA1 нужен для того чтобы, опорное напряжение АЦП было фиксированным и не плавало, так как опорное напряжение для PIC10F322 это напряжение питания. Стабилитрон VD7 защищает схему от выбросов на линии напряжения 5В при резких изменениях тока нагрузки, от больших токах к малым, пока не отработает ПИД регулятор. Намотка трансформатора проблем не представляет, так как хватает места на кольце, чтобы разнести обмотки друг от друга (для защиты от пробоя), плюс кольцо крашенное, поэтому я обмотки вообще не изолировал.

Всем спасибо, успехов в вашем творчестве.

 


Файлы:
Файл прошивки и рисунок схемы и платы
Файлы схемы и платы CAD Eagle
Исходники
Схема pdf


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




Как вам эта статья?

Заработало ли это устройство у вас?

13 8 7