Push-Pull преобразователь с использованием STM32F103

Одной из популярнейших топологий импульсных преобразователей напряжения является двухтактный преобразователь или push-pull (в дословном переводе — тяни-толкай).

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

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

В силу высокой эффективности (КПД до 95%) и наличия гальванической развязки первичной и вторичной цепей, двухтактные импульсные преобразователи широко используется в стабилизаторах и инверторах мощностью от 200 до 500 Вт (блоки питания, автомобильные инверторы, ИБП и т.д.)

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

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

Ключи в первичной цепи двухтактного преобразователя (MOSFET или IGBT) должны быть рассчитаны на удвоенное напряжение питания, чтобы выдержать действие не только ЭДС источника, но и добавочное действие ЭДС, наводимых во время работы друг друга.

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

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

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

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

Источник

Как работает усилитель класса АВ (Push Pull) 19.02.2021 19:52

Класс АВ — это тот тип усилителей, который до недавнего времени применялся в Hi-Fi-аппаратуре в разы чаще, чем любой другой. Сейчас над ним уже нависла угрожающая тень усилителей класса D, занимающих все большую долю рынка Hi-Fi, но пока модели класса АВ по-прежнему в большинстве и сдаваться так легко они не собираются. В классе АВ могут работать как ламповые, так и транзисторные схемы, но если говорить об абсолютном большинстве класс АВ ассоциируется скорее с эпохой транзисторного Hi-Fi.

Реализация

Вся реализация разбилась на две функции и константы:

  1. Две выделенных константы типа TIM_OCInitTypeDef и TIM_OCInitTypeDef2.
  2. Инициализация со стоповыми параметрами. Это делается для того, чтобы после инициализации блок питания блок питания не начал работать. Запуск инициируется установкой функции на нужное значение скважности.
  3. Функция регулировки скважности. Важно, чтобы значение скважности были ниже, чем 0.45.

Всё реализовано с помощью библиотек SPL. У меня конечно в планах переписать потом под CMSIS, но пока по старинке решил набросать под SPL.

Инициализация с комментариями:

void PWM_Out() { GPIO_InitTypeDef port; TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure; //Port init for working with PWM RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE); port.GPIO_Mode = GPIO_Mode_AF_PP; port.GPIO_Pin = (GPIO_Pin_6 | GPIO_Pin_7); port.GPIO_Speed = GPIO_Speed_50MHz; GPIO_Init(GPIOA, &port); RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE); port.GPIO_Mode = GPIO_Mode_AF_PP; port.GPIO_Pin = (GPIO_Pin_0|GPIO_Pin_1); port.GPIO_Speed = GPIO_Speed_50MHz; GPIO_Init(GPIOB, &port); // Global TIM Init RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3, ENABLE); TIM_TimeBaseStructure.TIM_Prescaler = 0; TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_CenterAligned1; //this is the main string. It configures TIM3 for synchronization signal center TIM_TimeBaseStructure.TIM_Period = 1000; // this if durty cykle. It must be less then 0.45 TIM_TimeBaseStructure.TIM_ClockDivision = 0; TIM_TimeBaseStructure.TIM_RepetitionCounter = 0; TIM_TimeBaseInit(TIM3, &TIM_TimeBaseStructure); //Init LINE 1 TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM1; TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable; TIM_OCInitStructure.TIM_OutputNState = TIM_OutputNState_Enable; TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_High; TIM_OCInitStructure.TIM_OCNPolarity = TIM_OCNPolarity_High; TIM_OCInitStructure.TIM_OCIdleState = TIM_OCIdleState_Set; TIM_OCInitStructure.TIM_OCNIdleState = TIM_OCNIdleState_Reset; //——start value of PWM————— TIM_OCInitStructure.TIM_Pulse= 0; TIM_OC4Init(TIM3, &TIM_OCInitStructure); //Init LINE 1 TIM_OCInitStructure2.TIM_OCMode = TIM_OCMode_PWM1; TIM_OCInitStructure2.TIM_OutputState = TIM_OutputState_Enable; TIM_OCInitStructure2.TIM_OutputNState = TIM_OutputNState_Enable; TIM_OCInitStructure2.TIM_OCPolarity = TIM_OCPolarity_Low; TIM_OCInitStructure2.TIM_OCNPolarity = TIM_OCNPolarity_Low; TIM_OCInitStructure2.TIM_OCIdleState = TIM_OCIdleState_Set; TIM_OCInitStructure2.TIM_OCNIdleState = TIM_OCNIdleState_Reset; TIM_OCInitStructure2.TIM_Pulse= 1000; TIM_OC3Init(TIM3, &TIM_OCInitStructure2); TIM_OC2Init(TIM3, &TIM_OCInitStructure2); TIM_OC1Init(TIM3, &TIM_OCInitStructure2); /* TIM3 counter enable */ TIM_Cmd(TIM3, ENABLE); /* TIM3 Main Output Enable */ TIM_CtrlPWMOutputs(TIM3, ENABLE); }

И простенькая функция регулировки:

void set_pwm(int pwm) //till 1000 { TIM_Cmd(TIM3, DISABLE); TIM_OCInitStructure.TIM_Pulse = pwm; TIM_OCInitStructure2.TIM_Pulse = 1000 — pwm; TIM_OC3Init(TIM3, &TIM_OCInitStructure2); TIM_OC4Init(TIM3, &TIM_OCInitStructure); TIM_Cmd(TIM3, ENABLE); }

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

Принцип работы

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

Создатели усилителей класса В рассуждали по-другому: «Если одна лампа или один транзистор с нулевым смещением способен воспроизвести только одну полуволну сигнала, почему бы не добавить в схему еще один активный элемент, разместив его зеркально, чтобы воспроизводить другую полуволну?».

Это вполне логично, ведь при таком раскладе оба транзистора работают с нулевым смещением. Пока на входе усилителя присутствует положительная полуволна — работает один транзистор, а когда приходит время воспроизводить отрицательную полуволну, первый транзистор полностью закрывается и вместо него в работу включается второй. В английском варианте этот принцип действия получил название push-pull или, говоря по-русски, «тяни-толкай», что в общем-то очень хорошо описывает происходящее.

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

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

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

На практике это выражается в особенной нелюбви усилителя к тихой музыке, а также в плохой передаче микродинамики. И хотя история знает успешные реализации класса В, например — легендарный Quad 405, проблемы данного режима работы никуда не делись. Тот же 405-й не только радовал энергичным и мускулистым звучанием, но также имел явную склонность рисовать звуковую картину крупными мазками, масштабно, не размениваясь на мелочи.

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

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

Железо

Так уж случилось, что силовые платы разводить приходится с завидным постоянством, поэтому немного думая, использую компоненты, которых было навалом от старых проектов, была собрана простенькая отладочная плата для проверки расчетов и подготовке к «большому проекту». Схема предоставлена на рис.1, разводка платы на рис.2, и получившийся внешний вид на рис.3.

Рис.1. Схемотехническое описание отладочной платы

Рис.2. Разводка печатной отладочной платы

Рис.3. Трёхмерная модель отладочной платы

Плата была изготовлена методом ЛУТ. В ней нет ничего сложного и необычного, кроме, пожалуй, рабочих частот: фронт сигнала в менее 0.3 мкс при рабочей частоте в 24 кГц. Для импульсного блока питания это крошечная величина, но автору вполне хватало. Радиаторы для полевых транзисторов IRFZ44N так и не потребовались, так как в схеме будут значительно быстрее перегреваться диоды.

Честно признаюсь, что данная плата у меня сгорела при нагрузке всего 80 Вт. Так что если захотите до мелочей повторить со своими разработками, то будьте аккуратнее. А на самом деле предельный ток в данном устройстве в 10 ампер потребовал наличия небольшого радиатора на транзисторах, впрочем как и снижения частоты (нагрузка на диоды).

Плюсы

Рассматривать достоинства и недостатки класса АВ имеет смысл на фоне двух исходных технологий. Класс АВ однозначно и существенно выигрывает у класса А по энергоэффективности. Его реальный КПД достигает 70–80%, если конечно производитель не сильно увлекся поднятием тока покоя. С точки зрения звучания класс АВ превосходит класс А в те моменты, когда сигнал достигает высокой амплитуды или требуется высокая мощность. В то же время на малых уровнях громкости класс АВ обычному классу А не уступает, по крайней мере в теории. В сравнении с классом В, класс АВ куда лучше ведет себя на малых громкостях и способен отрабатывать самые тихие и деликатные моменты в музыке, но при этом сохраняет практически ту же мощь и силу на больших динамических всплесках.

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

Минусы

Объективные минусы у класса АВ можно разглядеть только на фоне еще более совершенных с технической точки зрения классов G, H или D, о которых мы расскажем чуть позже. В список претензий можно отнести разве что субъективные отзывы от ценителей класса А, которые, в целом, сводятся к тому, что класс АВ звучит не столь чисто, детально и изысканно. Чтобы оценить обоснованность данных претензий, рассмотрим схемотехнику усилителей класса АВ более детально, с точки зрения качества звучания.

Особенности

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

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

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

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

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

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

Управляющий контроллер

Подключалось это всё к собственной отладочной плате на базе STM32F103C8T6. Конечно, можно использовать китайские аналоги, но так как я много работаю на данных чипах, потребовалась плата для отточки схемотехники подключения данного чипа + требовалась приличная разводка аналоговой части, которой обычно лишены китайские братья. Внешний вид платы приведён на рис.4.

Рис.4. Отладочная плата на базе STM32F103 собственной разработки

Силовая часть подключалась к РВ0 и РВ1, которые являются выводами 3-го таймера. Это таймер общего назначения. Самый обычный таймер. Выбран был просто из-за удобства расположения на плате. То, что описано далее можно с лёгкостью провернуть на любом другом таймере, вплоть до TIM1 (Advanced-control timer).

Практика

Защищать честь усилителей класса АВ в сравнительном прослушивании было уготовано мощному двухблочному усилителю Atoll серии Signature, состоящему из усилителя мощности AM200 и предварительного усилителя PR300. Интересующий нас усилитель мощности выстроен в полном соответствии с изложенными выше теоретическими выкладками.

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

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

Введение

Так уж сложилось, что интересная тема в вузе потребовала собрать интересный импульсный блок питания. До этого момента, автор уже много раз собирал однотактные преобразователи: прямоходовые и обратноходовые, на основе микроконтроллеров STM32F031 и STM32F103 и собственных печатных плат. Но тут встал вопрос с двухтактными преобразователями, которые требуют принципиально другого управления, что первоначально поставило в тупик. Решение ряда проблем, с которыми столкнулся автор приведено в данной статье.

Звук

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

В то же время на малых и средних уровнях громкости Atoll AM200 Signature показывал себя наилучшим образом. Середина была выразительна, детальность превосходна, а сцена — четко очерчена, с хорошо ощутимой глубиной и шириной. При прямом сравнении с усилителями класса А последние давали чуть более свободную и безграничную сцену и чуть тоньше отрабатывали мелкие детали в тихой камерной музыке.

Характер, свойственный классу АВ, наиболее ярко проявлялся у Atoll AM200 Signature на динамичной рок-музыке. Он выдавал очень собранный, быстрый и четкий бас, хорошо справляясь с резкими перепадами громкости и крупными штрихами. На джазе и классической музыке, требующих сочетать динамичность и мощь со способностью воспроизводить тонкие оттенки и нюансы, усилитель вел себя чуть менее уверенно. Казалось, что он слегка упрощает звучание, укрупняя музыкальные образы и уводя внимание от тонких оттенков к основной мелодической линии.

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

Программирование

Для начала пришлось разогнать контроллер до 48 МГц. Это делалось следующим куском кода:

void Rcc_INIT_new() { //PLL RCC->CFGR &= ~RCC_CFGR_PLLSRC; RCC->CR &= ~RCC_CR_PLLON; RCC->CFGR &= ~RCC_CFGR_SW;; RCC->CFGR |= RCC_CFGR_SW_PLL; RCC->CFGR &= ~RCC_CFGR_PLLMULL; RCC->CFGR |= RCC_CFGR_PLLMULL12; RCC->CR |= RCC_CR_PLLON; while((RCC->CR & RCC_CR_PLLRDY)==0) {} }

Конечно, можно расписать, что значит каждая приведённая строчка, но этим просто завалены отечественные сайты, уделим время более уникальным вещам. Заметим, для тех кому лень лезть по форумам и «обучающим сайтам», что основная регулировка производится настройкой RCC_CFGR_PLLMULL(Х).

Далее встала следующая, и собственно основная проблема, довольно слабо описанная в отечественном интернете: создание импульсов формы, показанной на Рис.5.

Рис.5. Требуемая форма импульсов для push-pull преобразователя.

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

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

В результате открыли manual по PWM, и нашли следующую чудесную вещь: синхронизация импульсов PWM центру. Это ровно то, что нужно, так как позволяет делать импульсы следующим образом + регулировка производится очень удобно (см рис.6). При правильной настройке правда придётся держать две настройки PWM каналов, так как один канал должен быть прямым, а другой инверсным. Это конечно потребует памяти, но немного.

Рис.6. Форма импульсов при синхронизации по центру импульса. Заштрихованы области, которые добавляются при увеличении времени импульса.

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

Выводы

Высокая мощность, высокий КПД с умеренным тепловыделением, способность справляться со сложной нагрузкой и хорошая динамика — вот что такое усилитель класса АВ. Это делает его, в первую очередь, идеальным решением для массового производства усилителей, что подтверждает сама история развития индустрии Hi-Fi.

Однако крайне ошибочно руководствоваться стереотипным мнением о том, что массовый универсальный продукт и продукт элитный должны быть непременно вылеплены из разного теста. При должном внимании к деталям и глубоком понимании принципов работы данная схемотехника может быть реализована на самом высоком уровне качества. Так что сегодня High End-усилитель, работающий в классе AB — такая же обыденность, как и хайэндный усилитель, работающий в любой другой схемотехнике.

https://stereo.ru/

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