valvol писал(а):
Victorian писал(а):
...потенциалы не получается установить даже в изолированной части схемы, всего на одном конденсаторе.
В изолированной, это как? В SPICE симуляторах не должно быть каких-то фрагментов модели, не имеющих гальванической связи с общим узлом (GND или 0)!
Разумеется, связь по GND (что и есть цепь 0) имеется. Ради интереса попробовал оставить в схеме только один варистор с плавающим потенциалом, на плавающий потенциал программа не ругается (кроме предупреждения в логах), но зато варистор не "зажат", и потенциал на нём не устанавливается, но зато работает директива ".ic".
valvol писал(а):
Victorian писал(а):
Странность в том, что устанавливаемое директивой .ic напряжение V1 и V2 недостаточно для работы варисторов, сами варисторы никуда не подключены, токи через них не протекают и кроме начального условия, никакие потенциалы на них не воздействуют.
Это разряжается собственная ёмкость варистора через его внутреннее сопротивление утечки. Так как варистор изолирован, то во внешних цепях тока нет.
Судя по всему, модель ведет себя вполне адекватно. Попробуйте также зарядить реальный варистор и посмотрите, долго ли на нем будет сохраняться первоначально заданный потенциал.
Достаточно долго, чтобы увидеть это осциллографом. Всё зависит от напряжения. Тем более, что в узле V1 мгновенно заряжается конденсатор C5 ёмкостью 1000μF напряжением 10V с бесконечной мощностью.
Сами вопросы странные — достаточно Run мою модель, чтобы всё увидеть. Я ниже привожу сильно упрощённый вариант — всего с одним "зажатым" варистором, параллельным идеальному конденсатору огромной ёмкости, который заражается и бесконечно держит потенциал в отсутствии варистора, но директива ".ic" не работает вообще при включенном параллельно варисторе.
В данном случае странно то, что если не буду пытаться задать начальный потенциал варисторам, то .ic по потенциалам работает везде.
Достаточно "зажать" начальным потенциалом этот варистор, как директива перестаёт работать везде, в том числе на не связанном конденсаторе C1 ёмкостью 500F. Но достаточно один конец варистора оторвать от GND, таким образом не зажимая его начальным напряжением, как директива ".ic" начинает работает везде.
Аналогично с подобной ошибкой ведёт себя модель микросхемы KA3525AМне пришлось отключать цепи схемы от выводов INV, NI, CMP, SHD, SS, VRF, чтобы заработала директива ".ic".
Причём в этих цепях не пытаюсь установить начальный потенциал директивами.
Что такое "волшебное" спрятано в модели микросхемы, что она ведёт себя неадекватно?
И модель ведёт себя очень неадекватно, если минус её питания смещён от GND на какую-то величину — приводит к непонятным фатальным ошибкам моделирования.
Ещё одна странность: задав начальный потенциал идеальному конденсатору C1 ёмкостью 500F, вижу его разряд со скоростью 6.1V/s, но току просто негде протекать, кроме как через сам конденсатор, которому задал дополнительные параметры нулевыми.
И этот ток величиной 3.0pA действительно протекает через него, но скорость разряда не соответствует ёмкости конденсатора — по расчётам имитируется конденсатор ёмкостью "0.5pF" вместо указанных явно "500F".
Убираю единицу измерения у C1, теперь там просто "500", как скорость разряда меняется на 0.
Экспериментируя, получаю при удалённом в схеме варисторе следующие непонятные ситуации:
1) При поставленной единице измерения Фарада появляется увеличивающийся ток утечки до 3pA в конце интервала моделирования, вопреки заданному параллельному сопротивлению, равному 0, для которого должен быть бесконечный ток утечки. Напряжение при этом ведёт себя так, словно это конденсатор 0.5pF. Каким образом наличие единицы измерения приводит у уменьшению расчётной ёмкости на 15 порядков?
2) Задаю в модели конденсатора параллельное сопротивление "1000000T", как ток утечки тоже ведёт себя странно — при практически неизменном напряжении наоборот, ток начинает убывать до нуля от теоретически правильного значения в нулевой момент времени — 0.003fA. При этом напряжение на конденсаторе не изменяется вовсе! — емкость конденсатора соответствует значению более 500F.
3) Изменяю сопротивление на "1Meg", и получаю совсем странный результат — напряжение соответствует модели в нулевой момент времени, а затем мгновенно изменяется на "4.121443e-025fV". Ток тоже мгновенно уменьшается в ноль от начального значения "3.1415925µA".
4) Убираю единицу измерения в "500F", и ток также мгновенно уменьшается в ноль от значения "3.1415925µA", но при этом напряжение практически не изменяется (скорость убывания нулевая, меньше минимальной разрядности).
Чем всё это можно объяснить?
test.asc
Код:
Version 4
SHEET 1 11444 4840
WIRE -480 80 -528 80
WIRE -416 80 -480 80
WIRE -800 128 -848 128
WIRE -416 128 -416 80
WIRE -848 144 -848 128
WIRE -528 144 -528 80
WIRE -848 224 -848 208
WIRE -528 256 -528 208
WIRE -480 256 -528 256
WIRE -416 256 -416 208
WIRE -416 256 -480 256
FLAG -480 80 V1
FLAG -848 224 0
FLAG -800 128 TEST
FLAG -480 256 0
SYMBOL polcap -544 144 R0
WINDOW 3 24 56 Left 2
SYMATTR Value 1000µ
SYMATTR InstName C5
SYMATTR Description Capacitor
SYMATTR Type cap
SYMBOL my_models\\TDK\\Varisrots\\SIOV\\monolithic\\SIOV -432 112 R0
WINDOW 0 53 34 Left 2
WINDOW 38 53 62 Left 2
SYMATTR InstName RU2
SYMATTR SpiceModel S14K250
SYMBOL cap -864 144 R0
WINDOW 0 39 14 Left 2
WINDOW 3 36 49 Left 2
SYMATTR InstName C1
SYMATTR Value 500F
SYMATTR SpiceLine V=0 Irms=0 Rser=0 Lser=0 Rpar=0 Cpar=0
TEXT -864 280 Left 2 !.tran 30ms
TEXT -392 32 Right 2 !.ic V(V1)=+10
TEXT -856 80 Left 2 !.ic V(TEST)=3.1415926