humka.ru- про электронику

Зарядка высоковольтного конденсатора

Итак, сегодня будем заряжать конденсатор от блока питания или аккумулятора 12V до напряжения 600V. Так как для зарядки эффективнее всего источник тока, топология преобразователя будет flyback. Именно flyback а не boost, потому что в противном случае потребуется высоковольтный транзистор, который, как известно имеет гораздо худшие параметры (Rds, Qq, Ciss) чем низковольтный.

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

Трансформатор участвующий в эксперименте имеет сердечник EE25х10х6, материал PC40, содержит 6 витков в первичной обмотки проводом 0.4 в три жилы и 70 витков во вторичной обмотке проводом 0.18. Как по мне – достаточно компактно. При помощи зазоров между крайними кернами сердечника индуктивность первичной обмотки составила 7.2uH при частоте 1kHz. Для примера фотография платы электропастуха с таким трансформатором:

Для снятия показаний было сделано следующее:

Всем этим хозяйством заведует МК PIC16F18326, имеющий на борту всю необходимую для измерений периферию и передающий данные в компьютер по UART.

Интересующие нас параметры:

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

Небольшое отступление: энергию сердечник запасает за время в которое транзистор открыт, будем называть это время T-on (transistor on) и отдаёт когда транзистор закрыт, будем называть это время T-off (transistor off). Сердечник за время T-on может запасти некоторое количество энергии, и если его не закрыть через определенноё время, зависящее от индуктивности первичной обмотки и массогабаритных параметров сердечника, наступит насыщение. Первичная обмотка перестанет быть индуктивностью и превратится в обычный проводник с крайне-низким сопротивлением, что вызовет за собой моментальный рост тока через ключ и закончится волшебным дымом. Поэтому время T-on, зависящее в частности от напряжения питания строго фиксировано, и в нашем случае составляет 8us.

За время T-off, сердечник должен полностью отдать энергию в нагрузку, что на следующем периоде позволит транзистору снова включиться при нулевом токе и напряжении (мягкий режим), и это большой плюс. Кому интересно могут подробнее поискать про режимы работы flyback при DCM, CCM и про ZVS и ZCS.

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

Представим, что энергия запасённая в сердечнике за время T-on находится у нас в кружке в форме обычной воды, которую мы выплёскиваем в конденсатор за время T-off. Выглядеть это будет так:

В самом начале заряда, буквально несколько кружек достаточно быстро повысят уровень заряда (напряжения), но чем дальше, тем больше и больше потребуется кружек для повышения уровня, и самое главное, при этом будет изменяться время T-off за которую энергия передаётся в нагрузку!

Работа тестовой схемы выглядит следующим образом:

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

Микроконтроллер посылает импульс T-on продолжительностью 8us, после чего компаратором засекает временя за которое энергия из сердечника полностью переходит в нагрузку (конденсатор), затем следует замер напряжения на конденсаторе и пауза 200us. Далее цикл повторяется. Результаты измерений по UART поступают в компьютер, где на их основе были составлены графики заряда.

Здесь и далее, на диаграммах показывающих время за которое передается энергия, первые несколько тактов пропущены т.к. имеют значения типа ~160, 140, 100, 80us и из-за этого область видимости будет менее информативной.

На первом графике видно как по мере роста заряда с каждым периодом уменьшается время, необходимое для передачи энергии. На втором наблюдается увеличение напряжения с каждым пройденном периодом. Под словом период в данном случае подразумевается время T-on+T-off=208us.

Почему неэффективен преобразователь с фиксированной частотой? Для примера представим что частота в нашем преобразователе 40kHz, в этом случае, в самом начале заряда примерно первые ~120 тактов будет срабатывать токовая защита (если есть) и ключ будет работать в неоптимальном режиме. При 40kHz период равен 25us. Из них 8us ключ находится в открытом состоянии (T-on) а 17 в закрытом (T-off). После ~120-го такта такой преобразователь попосту начнет тратить время, т.к. например уже на 600-м такте время за которое энергия полностью уйдет в нагрузку составит 8us, а оставшееся время 17-8=9us будет просто бесполезной паузой, которая будет расти по мере заряда конденсатора.

Зарядим конденсатор 50uF до 600 вольт (9 Джоулей):

Видно, что для достижения 200V потребовалось примерно 1900 тактов. А вот для достижения 400V – около 7100. Для того чтобы напряжение на конденсаторе выросло до 600 вольт потребовалось целых 16500 тактов, такова суровая реальность. Теперь посмотрим каким образом за эти 16500 тактов измеряется время отдачи энергии нагрузку:

Видно что после 3000-го такта этот параметр стабилизировался и составил примерно 4.125us. Округлим до 5. Получаем 8us (T-on) + 5us = 13us = 76,9kHz, оптимальная частота для 80% всего времени заряда конденсатора!

Моя задача состояла в зарядке конденсатора электропастуха, в котором максимальная частота следования импульсов была равна 800ms, а максимальная ёмкость применяемого конденсатора 100uF. Для решения был составлен график заряда конденсатора с максимальной ёмкостью, параметр T-off немного увеличен для безопасности а получившийся результат в виде небольшого массива внесен в МК.

Данное решение позволило без каких-либо проблем уложиться в отведенное время (с запасом в разы), даже пришлось делать алгоритм который наоборот, растягивал бы время заряда на максимально возможное (~700ms) для снижения нагрузки по току на источник питания.

И последняя но достаточно важная картинка. Как известно, коэф. трансформации влияет на уровень отраженного напряжения. В примере выше это было 70/6=11,6. 600V / 11.6 + VCC = 63V, что безопасно для типовых транзисторов на 100V. А что если намотать не 70 а 140 витков? Понятное дело что значительно вырастет индуктивность обмотки и снизится ток, а как это будет выглядеть на графике? Конденсатор 50uF, заряжаем от 12V. Смотрим:

Красная линия – 70 витков, синяя – 140. График напряжения не изменился, зато значительно возросло время передачи энергии в нагрузку. Теперь мы видели всё.

И да, кому интересно, примерная функция заряда: у=134.4088714*x^(-0.4021521). С циферками понятное дело можно поиграть. На этом пожалуй всё, спасибо за внимание!