Цитата(Валентиныч @ Mar 19 2006, 14:10)

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

Да еще и ярлыки вешают направо и налево.

Вы всегда вот так о себе, прежде чем навешивать ярлыки? Забавно...

Цитата(Валентиныч @ Mar 19 2006, 14:10)

В данном, конкретном случае, шаг приращения равен периоду CLC таймера, с учетом прескалера/8 - это ровно 1 мкс.
Отсюда, максимальная частота ШИМ (f), который возможен для этого устройства - 500 кГц. При этом скважность будет равна 2. В принципе, возможно изменение как f, так и скважности с шагом 1 мкс, но в данном случае, как мне кажется, предпочтительнее СТС мода (она легко реализуется аппратано), которая позваляет генерировать меандр на любой частоте кратной 2 мкс. Таким образом, снижение частоты ШИМ до 100 кГц (период - 5*2 мкс) позволит реализовать ЧИМ с дискретность 10% от базовой частоты 100 кГц. При уменьшении частоты относительный шаг приращения будет уменьшаться, при увеличении - увеличиваться. И только на частотах ШИМ менее 5 кГц дискретность регулирования достигнет 1 % (впрочем, я отнюдь не убежден, что такая точность требуется для решения моей задачи). Относительный шаг приращения вверх будет только увеличивать дискретизацию, в пределе доводя ее до 100%.
Если Вы такие режимы называете Fast PWM, то я ничего не имею против.
Но меня это НЕ УСТРАИВАЕТ.
Ну я же говорил, "безапелляционное мнение часто бывает ошибочным, а доводы не приводятся по той простой причине, что их или вообще нет, или же они слишком шаткие", Вы эту закономерность еще раз подтвердили. Может, Вы не знаете что такое ЧИМ?
Посчитаем ЧИМ для заданных ограничений. Примем, что длительность прямого хода постоянна и равна 2мкс, длительность обратного хода будем менять по мере необходимости, но выдерживая дискретнoсть 2мкс, и большими скачками (это все же будет дискретная ЧИМ, для Вашего сведения). Для начала примем, что конденсатор должен быть заряжен за 200 циклов, при этом в каждом цикле надо бы передавать Е=152.5 мкДж.
Зададимся некой разумной величиной приращения тока первичной за время прямого хода, например, 16А (зависит от параметров ключа и пр. обстоятельств, потом уточним). L=t*V/i=2мкс*8В/16А=1мкГн (входное напр. берем максимальное). Длина средней линии у Б18 равна le=25.8мм. Введем зазор g=1мм (прокладка 0.5мм), эквивалентная проницаемость ue=le/g=25.8/1~25.8. Зная AL для сердечника без зазора (3.1мкГн для материала с проницаемостью 1470) найдем AL для сердечника с зазором 1мм, AL'=3.1*25.8/1470=0.054 мкГн. Требуемое кол-во витков N1=sqrt(1мкГн/0.054мкГн)=4.3.
Округляем до 4 витков. При этом L=0.054*4^2=0.864мкГн, ток в конце прямого хода при макс. вх. напряжении i=2*8/0.864=18.5А, энергия 149 мкДж, что достаточно близко к желаемым 152.5 мкДж
Максимальный ток сердечника Imax=(Bmax*g)/(u0*N1), где Bmax~0.35T (для хорошего силового феррита), зазор g=1мм, u0=1.257*10^-3 мкГн/мм, N1 - кол-во витков в первичной. Получаем Imax=(0.35*1)/(1.257*10^-3 * 4)= 69А, запас есть, так что даже сердечник можно взять поменьше чем Б18, или же закачивать в него больше энергии, чтобы зарядить кондер не за 200 циклов, а быстрее.
Примем, что при напряжении на нагрузке в 200В мы сможем перейти на скважность 2. При этом индуктивность вторичной должна быть не более L'=(2мкс*200В)^2/(2*149мкДж)=537мкГн. Коэфф трансформации K=sqrt(537/0.864)=25 (100 витков во вторичке), реальная индуктивность 540 мкГн. В принципе можно отмотать один виток от вторичной, однако сути дела это не меняет.
В первом цикле, как уже ранее было подсчитано, при передаче 149 мкДж напряжение на кондере возрастет примерно до 25В, "среднее" составит примерно 8.5В, ток в начале обратного хода 18.5/25=0.74А, а длительность обратного хода должна быть не менее 0.74*540/8.5=47мкс. При помощи TOP устанавливаем период, например 52 мкс (с запасом), и задаем, например, что в течении первых 10 циклов период не меняем, чтобы не грузить проц.
То есть, за первые 0.52мс мы закачаем в кондер 10 порций по 149мкДж, в сумме 1490мкдж. Напряжение на кондере при этом возрастет до V10=sqrt(2*E/C)=79.6В
После этого запишем в TOP такое новое меньшее значение, чтобы при 80В (т.е. в следующем цикле) на нагрузке энергия все же полностью ушла в кондер. Для этого длительность обратного хода должна быть не менее 0.74*540/80=5мкс, округляем до 6мкс чтобы было кратно 2мкс, а период, соответственно, 2+6=8мкс, что тоже с запасом. Посчитаем, сколько циклов мы должны закачивать энергию в нагрузку, чтобы напряжение выросло до 200В.
Энергия кондера при 200В равна 0.47*200^2/2=9400мкДж. Мы в него уже закачали 1490мкдж, осталось 7910мкДж, для чего надо выполнить 53 цикла закачки. По 8мкс на цикл, это 424 мкс. То есть, через 0.52+0.424=0.944мс напряжение на кондере достигнет 200В, можно переключаться на скважность 2 (период 4 мкс).
Конечное значение энергии в кондере 30500мкДж, 9400мкДж уже закачали, осталось 21100 мкДж. Это закачивается за 142 цикла, которые займут 4*142=568мкс.
Суммарное время заряда, таким образом, равно 0.52+0.424+0.568=1.512мс, корректировка значения TOP делалась всего лишь дважды.
Чем это Вас не устраивает, если не секрет? Вы считаете, что на Atmega8 этого реализовать нельзя?