Вы находитесь на странице: 1из 8

7/11.

Принцип организации управления ПИКовым ШИМ – модулятором, входящим


в состав устройства импульсной стабилизации, и реализация этого принципа в
"железе" (простой, "учебно-тренировочный", импульсный стабилизатор мощности).

Задумывая "нижележащее" и будучи реалистом, я не ставил себе целью сразу же


"закидать шапками" такую "мощную" тему как "импульсная стабилизация", да еще и с
микроконтроллерным "уклоном".
Общий принцип импульсной стабилизации (стратегия) широко известен, но в части
касающейся его микроконтроллерной тактики, имеются большие "провалы".
На свой страх и риск, постараюсь ее (м/к тактику) "слегка укусить".
Итак, речь идет о стабилизации (напряжения, тока, мощности), которую нужно
осуществить при помощи ПИКа (в данном случае, PIC16F873A).
Что может ПИК? Он может работать как ШИМ – модулятор.
То есть, речь идет об устройстве, которое управляется аналоговым сигналом,
поступающим извне.
В соответствии с уровнями этого сигнала управления, ШИМ – модулятор выдает
импульсную последовательность c фиксированной частотой, но меняющейся
скважностью.
Таким образом, аналоговый сигнал управления, косвенным образом, входит в состав
этой импульсной последовательности "на правах" ее аналоговой составляющей,
"заложенной" в скважности, и что немаловажно, эта "закладка" происходит с достаточно
высокой степенью линейности.
Само по себе, все это "добро", по причине своей "привязки" к 5-вольтовым уровням
(то есть, по причине "слабосильности"), особой, практической ценности не
представляет.
В большинстве случаев, требуется и больший "вольтаж" и больший ток.
Следовательно, нужно "протащить" импульсную последовательность через каскад с
общим эмиттером (общим истоком), работающий в ключевом режиме.
Обычно, его называют ключевым каскадом (сокращенно - КК).
Его можно и запитать тем напряжением, которое нужно, и подобрать подходящий по
мощности (в соответствии с выбранной нагрузкой) транзистор.
Эмиттерный повторитель не подойдет, так как он не усиливает по напряжению, и с
ним, "выше тех же 5-вольтовых уровней не прыгнешь" (выигрыш только по току).
Теперь нужно обратить внимание на нагрузку КК.
В ее качестве, можно применить нагревательный элемент, лампочку, двигатель и т.п.
А можно к этому делу и тиристор "пристегнуть".
Изменяя скважность, можно регулировать температуру нагревательного элемента,
интенсивность свечения лампочки, количество оборотов двигателя и "степень
активности" того, что запитывается через тиристор.
Но самый заманчивый вариант - импульсный трансформатор.
Он хорош тем, что можно получить несколько напряжений, в том числе и выше, чем
Uпит. КК.
Их можно застабилизировать стандартными, аналоговыми стабилизаторами.
Но в этом случае, от этих стабилизаторов можно отказаться и перейти на другой
способ стабилизации, основанный на изменении скважности импульсов в зависимости
от степени отклонения Uвых от заданного напряжения стабилизации.
При этом, для обеспечения стабилизации всех выходных напряжений, достаточно
застабилизировать только одно из них.
То есть, для обеспечения групповой ("оптовой") стабилизации, требуется сформировать
только одно управляющее напряжение (Uупр.) (в его уровнях "заложена" информация о
степени отклонения Uвых от заданного напряжения стабилизации) и подать это
напряжение на управляющий вход ШИМ - модулятора.
Вот Вам и обратная связь.
Например, из-за уменьшения сопротивления нагрузки (увеличения потребляемого тока),
выходное напряжение импульсного блока питания понизилось (относительно заданного
напряжения стабилизации).
В этом случае, должно быть сформировано Uупр., изменяющее скважность таким
образом, что это приводит к увеличению уровня напряжения на выходе стабилизатора.

1
Если, из-за увеличения сопротивления нагрузки (уменьшения потребляемого тока),
выходное напряжение импульсного БП повысится, то должно быть сформировано
Uупр., изменяющее скважность таким образом, что это приводит к уменьшению уровня
напряжения на выходе стабилизатора.
В комплексе, это приводит к стабилизации выходного напряжения в широком диапазоне
изменения токов, протекающих через нагрузку.
Такие стабилизаторы называют импульсными.
Они работают на фиксированной частоте Fшим, значение которой выбирается с
"оглядкой" на частотные свойства используемого импульсного трансформатора и на
"верхний, скоростной потолок" того, на что способен м/контроллер.
Обычно, стремятся сделать Fшим повыше, так как при этом можно уменьшить емкость
конденсаторов сглаживающего фильтра.
Общий принцип, я надеюсь, понятен. Теперь нужно понять м/контроллерную специфику.
Это лучше сделать на каком-нибудь относительно простом примере.

2
На рис.1, Вы видите "разрисовку" того случая, к которому я ранее "привязался":
Fшим = 1 Кгц., 8 – битный результат АЦП, -Uref = 0 в., +Uref = 5,12 в. (рис. 1А и рис. 1В).
Для сравнения, на рис. 1С и рис. 1D, изображено то же самое, но для случая
10 – битного результата АЦП (в PIC – калькуляторе, верхняя строка расчета).
Обратите внимание на рис. 1В (1D).
Что значит "с инверсией"?
Это значит то, что направление изменения скважности поменялось на противоположное.
Такая смена, в некоторых случаях, может оказаться очень полезной.
Осуществить такую инверсию на удивление просто: после окончательного
формирования результата АЦП, нужно инвертировать числовое значение этого
результата.
Если "привязаться" к программе предыдущего подраздела, то, в случае наличия
8-битного результата АЦП, в текст программы нужно добавить только одну команду
(comf Temp_2,F).
Обращаю Ваше внимание на то, что наличие или отсутствие упомянутой выше
инверсии, формально, есть "продукт программной деятельности", и поэтому ее, так же
формально, можно назвать программной инверсией.
Это понятийная "бирка" необходима для того, чтобы обозначить как можно более
четкую "границу" между инверсией программной ("епархия" программно – аппаратного
комплекса ПИКа) и инверсией аппаратной ("епархия" внешних, по отношению к ПИКу,
устройств, которые инвертируют обрабатываемый ими сигнал).
Не во всех, но в некоторых случаях, наличие или отсутствие такой аппаратной
инверсии имеет очень большое значение (в том числе и стратегическое).
Запомните это (тонкий намек типа "это жу-жу неспроста").
Так как пока не понятно, осуществлять ли программную инверсию или нет, работаю
"оптом" и с рис. 1А и с рис. 1В.
Задача: нужно разработать относительно простое, "учебно – тренировочное" устройство,
поработав с которым, можно было бы детально "въехать" в специфику управления
ПИКовым ШИМ –модулятором, в контексте его встроенности в некое устройство
импульсной стабилизации напряжения, тока или мощности.
Выбираю стабилизацию мощности, так как, в этом случае, можно обойтись без
импульсного трансформатора, а вместо него использовать банальную лампочку
накаливания, по интенсивности свечения которой можно судить о той мощности,
которую она потребляет (хотя и "грубовато", но зато дешево и сердито).
Таким образом, задача сводится к обеспечению как можно меньшего изменения
интенсивности свечения лампочки, при значительном изменении уровня напряжения,
которым запитывается ключевой каскад.
Далее возникает вопрос: "Какой уровень мощности нужно застабилизировать, ведь его
можно задать в достаточно широком диапазоне интенсивности свечения лампочки"?
На первых порах, лучше всего ориентироваться на интенсивность свечения лампочки в
середине диапазона питающих напряжений КК, при условии того, что в этой точке
имеет место быть ШИМ – сигнал
типа "меандр" (скважность=2).
Картинка, которую Вы видите слева,
поясняет принцип импульсной
стабилизации мощности.
На верхней эпюре, по мере
увеличения значения питающего
напряжения ключевого каскада,
происходит увеличение потребляемой
мощности, так как, при
фиксированных значениях Rнагр. и
скважности, среднее значение тока, протекающего через нагрузку, и среднее значение
напряжения, падающего на нагрузке, будут нарастать.
На нижней эпюре, по мере увеличения значения Uпит. ключевого каскада, происходит
то же самое, но длительность импульсов уменьшается, а длительность интервала
времени, в течение которого через нагрузку не протекает ток (или он очень мал),
увеличивается.

3
В идеале, это приводит к тому, что, не смотря на изменяющееся значение уровней
мощности, потребляемой нагрузкой во время "прохождения" импульсов, среднее
значение мощности за период, во всех случаях, будет неизменным.
Если рассуждать "упрощенногеометрически", то стабилизация мощности будет иметь
место быть в случае равенства "эпюрных площадей" всех, вырабатываемых ШИМ –
модулятором, в пределах диапазона стабилизации, импульсов (без учета переходных
процессов и при наличии идеальной нагрузки типа "фантастишь").
Как это, пусть и не идеально, но хоть как-то сотворить?
И дело здесь даже не столько в конкретной "железяке", сколько во "въезде" в смысл
тех "базовых правил игры", которые обязательно нужно соблюдать при
"моделировании" сигнала управления ПИКовым ШИМ – модулятором, работающим в
составе устройства автоматического регулирования.
Если с "базой" будет все в порядке, то и соответствующих "железяк" будет много.
В результате "шевеления извилиной", в комплексе с бдениями и терзаниями,
"родилось" следующее "учебно – тренировочное сооружение":

Ключевой каскад собран на транзисторе КТ815А.


Его нагрузкой является обычная, малогабаритная лампочка, расчитаная на ток
0,1 … 0,25 А.
"Вольтаж" лампочки указан на рис. 2.
Через лампочку проходит импульсный ток, и поэтому она будет "реагировать" на
изменение скважности.
КК запитывается от блока питания, выходное напряжение которого можно изменять
(имитация нестабильности питающего напряжения).

4
Нижний предел его регулировки (7,5 в.) определяется "паспортным" значением
минимального, входного напряжения 5-вольтового стабилизатора, собранного на
142ЕН5А.
Верхний предел его регулировки (14 в.) определяется теми же "паспортными"
значениями, но только в части касающейся максимальной величины входного
напряжения.
Вообще-то, значение этого напряжения равно 15 в., но лучше не поднимать его
выше 14 в.
Большая часть принципиальной схемы запитана стабилизированным напряжением 5 в.
(у меня было выставлено 5,12 в., но это не обязательно), и в диапазоне изменения
Uрег. от 7,5 в. до 14 в., стабильность уровня этого напряжения гарантируется.
Таким образом, при наличии стабильного Uпит. ПИКа, обеспечивается "искусственная
нестабильность" Uпит. КК, величиной почти 50% от максимального, выходного
напряжения регулируемого блока питания, что вполне прилично.
Номера "квантовок" (в пределах сектора) выводятся в линейку из трех 7-сегментных
индикаторов.
Теперь нужно подумать о том, откуда снять тот "материнский" сигнал управления, из
которого будет формироваться сигнал управления ШИМ – модулятором.
Лучше всего снять его непосредственно с выхода регулируемого блока питания: и
сглаживать ничего не нужно, и можно, без регулировочных проблем, менять нагрузки.
Если снять этот сигнал с коллектора транзистора, то нужно будет сглаживать
пульсации (лишняя инерционность) и при смене нагрузки, придется под нее
"подстраиваться".
Я попробовал и этот вариант, но не ощутил какого-то существенного выигрыша.
Работу с двумя источниками аналогового сигнала организовать конечно же можно, но
только в более сложных случаях.
В данном же случае, вполне можно обойтись и одним источником аналогового сигнала.
Принцип управления достаточно прост.
Нужно сделать так, чтобы, на "серединном напряжении" Uрег. = 10,75 в., ШИМ –
модулятор выдавал "меандр", а при уменьшении Uрег., длительность импульсов
увеличивалась.
Соответственно, при увеличении Uрег., длительность импульсов должна уменьшаться.
То есть, речь идет о целенаправленном "пинании голого зада проблемы", с целью его
"заваливания" в сторону соблюдения общего принципа автоматического регулирования:
управляющее напряжение должно уменьшать расстройку.
Возвращаюсь к рис. 1А и В.
Работать можно в любом из 4-х секторов, но от этого не легче, так как, при помощи
делителей напряжения, весьма затруднительно обеспечить точное наложение диапазона
управляющих напряжений на диапазон напряжений того или иного сектора, да еще и с
совмещением их середин.
Это достаточно тупиковое направление.
А вот при помощи операционного усилителя, такое сделать можно.
Я использовал "низковольтник" КР140УД1208 (работает вплоть до Uпит. 3 вольта), так
как он просто "был под рукой", но можно использовать и другой тип "низковольтника".
Применена базовая схема включения ОУ с названием "дифференциальный усилитель".
На неинвертирующий вход, подается напряжение с выхода делителя R5R6.
Изменяя уровень этого напряжения (контрольная точка КТ3) резистором R6
("Смещение"), можно "двигать" весь диапазон управляющих напряжений (контрольная
точка КТ4) вверх или вниз по оси напряжения.
На инвертирующий вход, с выхода делителя R2R3, подается входное напряжение.
Изменяя уровень этого напряжения резистором R3 ("Входной уровень"), можно
регулировать ширину диапазона изменения управляющего напряжения.
То же самое можно сделать и с помощью резистора обратной связи R8 ("Усиление"),
который задает коэффициент усиления ОУ.
Резистор R9 необходим для обеспечения "штатного" режима работы КР140УД1208.
Я пытался настроить ОУ на работу в 1-м секторе, но этого не получилось по причине
наличия проблем с напряжениями близкими к нулю.
А вот во 2-м секторе, настройка прошла "на ура".

5
На нем и остановился, хотя, можно было бы попробовать "уйти" и в секторы с
номерами 3 или 4.
Это как раз тот случай, когда "мать" (1-й сектор) "не потянула дело", и пришлось
"сунуть нашатырь под нос подходящего родственника".
Что получилось?
Получилась аппаратная инверсия (не путать с программной инверсией), ведь входной
уровень подается на инвертирующий вход ОУ.
А вот теперь можно выбрать один из двух возможных вариантов, изображенных на
рис. 1А и рис. 1В.
Под сформулированный выше, "глобальный" принцип автоматического регулирования,
подходит то, что изображено на рис. 1А.
В конечном итоге, при росте величины Uрег., длительность импульсов будет
уменьшаться, а при уменьшении величины Uрег., длительность импульсов будет
увеличиваться.
"Разрисовка" сказанного выглядит так:

То есть, программная инверсия не нужна, так как требуемая зависимость длительности


импульса от уровня Uрег., обеспечивается за счет аппаратной инверсии.
"Сухим осадком" является зависимость, изображенная на рис. 3В.
На нее и нужно ориентироваться.
Порядок настройки устройства:
1. Выставить "серединное" Uрег. = 10,75 в.
2. Выставить движки переменных резисторов R3, R6, R8 в среднее положение.
3. Резистором R6 ("Смещение") выставить уровень смещения (контрольная точка КТ3)
"в районе" 1,75 … 1,8 в.
4. Изменяя сопротивление резистора R2, нужно добиться того, чтобы на индикацию
было выведено число "127" или "128".
После этого, на выходе ОУ (контрольная точка КТ4) должно установиться 1,92 в.
Это свидетельствует о том, что работа происходит в середине 2-го сектора.
Если есть осциллограф, то, подключившись к контрольной точке КТ1, можно убедиться,
что имеет место быть "меандр".
Подключившись к коллектору транзистора, можно увидеть тот же самый "меандр", но с
большей амлитудой и инвертированный (каскад с общим эмиттером инвертирует
сигнал).
5. Теперь нужно, сначала оценить ширину диапазона регулирования, а затем "вогнать"
его в "рамки" диапазона напряжений 2-го сектора (от 1,28 в. до 2,56 в.)
6
Примечание: эпюры рис. 1 "разрисованы" под Uпит ПИКа = 5,12 в.
Постепенно изменяйте Uрег. от 10,75 в. до 7,5 в. и от 10,75 в. до 14 в.
Если, при "подходах" к этим "граничным точкам", имеет место быть Кзаполн. не
близкий к максимальному (для Uрег. = 7,5 в.) или не близкий к минимальному (для
Uрег. = 14 в.), то, изменяя R8 ("Усиление"), нужно увеличить коэффициент усиления ОУ.
Если имеет место быть выход за "границу"/"границы" 2-го сектора, то нужно, с
помощью того же R8, уменьшить коэффициент усиления ОУ, или/и, при помощи
резистора R6 ("Смещение"), соответствующим образом сдвинуть диапазон Uупр.
(контрольная точка КТ4).
6. "Верчение" резистора R8 "расцентровывает" произведенную ранее "центровку".
Для того чтобы привести ее в норму, нужно выставить Uрег. = 10,75 в. и повторить
пункт 4, а если "вертелся" резистор R6, то и пункт 5.
При помощи нескольких таких "циклов" настройки, можно точно "наложить" диапазон
Uупр. на диапазон напряжений 2-го сектора, а также и поэкспериментировать с
шириной диапазона Uупр. и с его смещением.
"Привязка" к "меандру" условна.
Ничто не мешает "поиграть" с настройками и посмотреть что из этого выйдет.
А получается довольно-таки интересно.
Например, можно сделать так, что, с повышением Uрег., не только не будет
происходить роста мощности, а она, наоборот, будет понижаться, в том числе и
значительно.
Этот эффект можно использовать в устройствах автоматической защиты от перегрузки,
в случаях существенного повышения уровня контролируемого напряжения или еще в
каких-то аналогичных целях.
За "границы" 2-го ("рабочего") сектора выходить не желательно, так как, при "переходе
границ" между секторами, происходит скачкообразное изменение скважности либо от
максимальной к минимальной, либо наоборот (зависит от того, какая именно из "границ
переходится". См. рис. 3В).
Вопрос: "Можно ли от этого избавиться"?
Ответ: можно. Но только в следующем подразделе.
Программа под это устройство называется Stabil_1.asm.
С учетом того, что она представляет собой достаточно простой "гибрид" составных
частей ранее отработанных программ этого раздела, объяснять в ней практически
нечего.
Я всего-лишь выбрал подходящие "куски" ранее отработанных программ и скомпановал
их в отдельной программе, под решение конкретной задачи.
В подобного рода случаях, "центр тяжести" перемещается из программной в
аппаратную область.

О специфике нагрузки.
Лампочка накаливания это, конечно же, нагрузка весьма далекая от идеальной, так как
она обладает большой инерционностью, и ее сопротивление изменяется в зависимости
от степени нагрева нити.
В связи с этим, в случае наличия коротких импульсов, нить просто "не успевает как
следует раскалиться".
Это приводит к тому, что создается впечатление "завала" уровня мощности, хотя это и
не всегда соответствует действительности.
В этом отношении, светодиод более выигрышен.
В случае применения светодиода, нужно заменить лампочку на резистор (резистор,
формально, считается безинерционным элементом) достаточно приличной мощности
(чтобы меньше грелся), а светодиод подключить параллельно ему.
В этом случае, естественно, нужно подобрать его номинал.
Сформулированный выше принцип стабилизации мощности не претендует на
оригинальность и не "страдает" высокой точностью, но во многих случаях, высокая
точность и не нужна.
Например, нужно, чтобы что-то не "сыграло в ящик" (защита от "перенапряга") или
нужно "вытянуть", из нестабильного источника напряжения, "все его соки", или и то, и
другое, или еще что-то, "соответствующее энергетическому моменту".
7
Лишь бы было "от чего плясать".
А народ у нас смышленый и ушлый: в миг к этому делу приспособит что-нибудь типа
тепловозного тиристора или еще нечто более оригинальное, в стиле загадочной,
русской души.
И именно поэтому нас никто и никогда не победит (себе дороже станет), кроме нас
самих (см. "полное собрание сочинений" Михаила Задорнова).
На этой мажорной ноте, имею честь откланяться.
В следующем подразделе, будет "углубление и расширение" в сторону блокировки
всего того, что шевелится (с "криками" типа "Караул! Убивают!"), в случаях выхода за
"границы" 2-го сектора.

"Практикум по конструированию устройств на PIC контроллерах"      http://ikarab.narod.ru       E-mail: karabea@lipetsk.ru