Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Manufacturing Technology >> Промышленные технологии

Причуды SPICE

«Мусор на входе, мусор на выходе». —Анонимный

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

Я нет означают любой вид сбоя в SPICE, который может привести к ошибочным или вводящим в заблуждение результатам:это было бы правильнее называть «ошибкой». Кстати, об ошибках. В SPICE их тоже есть.

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

Хорошее начало

SPICE требует, чтобы исходный файл начинался не с первой «карты» в описании схемы «колода». Этот первый символ в исходном файле может быть переводом строки, заголовком или комментарием:просто должно быть что-то перед первой строкой файла, определяющей компонент.

В противном случае SPICE вообще откажется от анализа, заявив, что в «колоде» есть серьезная ошибка (например, неправильные соединения узлов).

Хорошая концовка

SPICE требует, чтобы .end Строка в конце исходного файла не должна заканчиваться символом перевода строки или возврата каретки. Другими словами, когда вы закончите вводить « .end "Не следует нажимать кнопку [Enter] клавишу на клавиатуре.

Курсор в текстовом редакторе должен остановиться сразу же справа от буквы «d» после « .end . »И не дальше. Игнорирование этой причуды приведет к « отсутствующей конечной карточке . ”Сообщение об ошибке в конце результатов анализа.

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

Должен иметь узел 0

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

Когда SPICE выполняет простой анализ постоянного тока, выходные данные будут содержать список напряжений на всех ненулевых узлах схемы. Точкой отсчета (заземлением) для всех этих показаний напряжения является узел 0. Например:

 напряжение узла напряжение узла (1) 15,0000 (2) 0,6522 

В этом анализе между узлом 1 и землей (узел 0) присутствует постоянное напряжение 15 вольт, а между узлом 2 и землей (узел 0) - постоянное напряжение 0,6522 вольт. В обоих этих случаях полярность напряжения отрицательна в узле 0 по отношению к другому узлу (другими словами, оба узла 1 и 2 положительны по отношению к узлу 0).

Избегайте разомкнутых цепей

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

Яркий пример этого типа ошибки обнаруживается при «подключении» источника напряжения ко входу источника, зависящего от напряжения (используется для имитации операционного усилителя). SPICE должен видеть полный путь прохождения тока, поэтому я обычно подключаю резистор большого номинала (назовите его rbogus !) на источнике напряжения, чтобы действовать как минимальная нагрузка.

Избегайте определенных петель компонентов

SPICE не может обрабатывать определенные непрерывные петли компонентов в цепи, а именно источники напряжения и катушки индуктивности. Следующие циклы заставят SPICE прервать анализ:

 список соединений l1 2 4 10m l2 2 4 50m l3 2 4 25m 

 список соединений v1 1 0 dc 12 l1 1 0 150 м 

 список соединений c1 5 6 33u c2 6 7 47u 

Причина, по которой SPICE не может справиться с этими условиями, заключается в том, как он выполняет анализ постоянного тока:все катушки индуктивности рассматриваются как короткие замыкания, а все конденсаторы - как разомкнутые. Поскольку короткие замыкания (0 Ом) и разомкнутые цепи (бесконечное сопротивление) либо содержат, либо генерируют математические бесконечности, компьютер просто не может справиться с ними, и поэтому SPICE прекратит анализ при возникновении любого из этих условий.

Как работать с индукторами и конденсаторами в SPICE

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

И наоборот, если требуется параллельный резистор, выберите очень высокое значение сопротивления. Например:

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

 исходный список соединений l1 2 4 10m l2 2 4 50m l3 2 4 25m 
 фиксированный список соединений rbogus1 2 3 1e-12 rbogus2 2 5 1e-12 l1 3 4 10m l2 2 4 50m l3 5 4 25m 

Как и в предыдущем примере с параллельными катушками индуктивности, важно сделать резистор коррекции (R bogus ) очень низкое сопротивление, чтобы существенно не повлиять на работу схемы.

Чтобы зафиксировать цепь последовательного конденсатора, на одном из конденсаторов должен быть шунтирован резистор. SPICE требует для анализа пути постоянного тока к каждому конденсатору.

 исходный список соединений c1 5 6 33u c2 6 7 47u 
 фиксированный список соединений c1 5 6 33u c2 6 7 47u rbogus 6 7 9e12 

Р фальшивка значение 9 Тераом обеспечивает путь постоянного тока к C 1 (и около C 2 ) без существенного влияния на работу схемы.

Текущее измерение

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

Например, если мы хотим узнать напряжение на конденсаторе, выводы которого подключаются между узлами 4 и 7, мы можем разобрать .print заявление выглядит так:

 c1 4 7 22u .print ac v (4,7) 

Однако, если мы хотим, чтобы SPICE измерял текущий через этот конденсатор это было бы не так просто. Токи в SPICE должны быть указаны относительно источника напряжения, а не какой-либо произвольной составляющей. Например:

 c1 4 7 22u vinput 6 4 ac 1 sin .print ac i (vinput) 

Этот .print card предписывает SPICE распечатать ток через источник напряжения V input , который оказывается таким же, как ток через наш конденсатор между узлами 4 и 7. Но что, если в нашей схеме нет такого источника напряжения, который можно было бы использовать для измерения тока?

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

 c1 4 7 22u rshunt 6 4 1 .print ac v (6,4) 

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

 c1 4 7 22u vbogus 6 4 dc 0 .print ac i (vbogus) 

Установка «фиктивного» источника постоянного напряжения с нулевым напряжением вообще не влияет на работу схемы, но обеспечивает SPICE удобное место для измерения тока. Интересно, что не имеет значения, что V фиктивный источник постоянного тока, когда мы хотим измерить переменный ток!

Тот факт, что SPICE будет выводить значение переменного тока, определяется параметром « ac »В .print карта и не более того. Также следует отметить, что способ, которым SPICE назначает полярность измерениям тока, немного странный. В качестве примера возьмем следующую схему:

 пример v1 1 0 r1 1 2 5k r2 2 0 5k .dc v1 10 10 1 .print dc i (v1) .end 

При общем напряжении 10 В и общем сопротивлении 10 кОм можно ожидать, что SPICE сообщит вам, что через источник напряжения V будет проходить ток 1 мА (1e-03) 1 , но на самом деле SPICE выдаст число отрицательное 1 мА (-1e-03)! SPICE считает, что ток на отрицательном конце источника постоянного напряжения (нормальное направление) является отрицательным значением тока, а не положительным значением тока.

Бывают случаи, когда я добавляю «фиктивный» источник напряжения в цепь постоянного тока, подобную этой, просто для того, чтобы SPICE выдал положительный текущее значение:

 пример v1 1 0 r1 1 2 5k r2 2 3 5k vbogus 3 0 dc 0 .dc v1 10 10 1 .print dc i (vbogus) .end 

Обратите внимание, как V фиктивный расположен так, чтобы ток цепи входил в его положительную сторону (узел 3) и выходил из его отрицательной стороны (узел 0). Такая ориентация обеспечит положительное значение выходного тока цепи.

Анализ Фурье

При выполнении анализа Фурье (частотной области) сигнала я обнаружил, что необходимо либо распечатать, либо построить график формы сигнала с помощью .print или .plot карты соответственно. Если вы его не распечатаете или не нанесете на график, SPICE приостановит на мгновение время анализа, а затем прервет задание после вывода «начального переходного решения».

Кроме того, при анализе прямоугольной волны, создаваемой « pulse », Вы должны задать для формы волны некоторое конечное время нарастания и спада, иначе результаты анализа Фурье будут неверными. По какой-то причине идеальная прямоугольная волна с нулевым временем нарастания / спада дает значительные уровни даже гармоники в соответствии с опцией анализа Фурье SPICE, что неверно для реальных прямоугольных волн.


Промышленные технологии

  1. Как создать автозаполнение в поиске Google
  2. Введение в SPICE
  3. История SPICE
  4. Интерфейс командной строки
  5. Компоненты схемы
  6. Практические соображения - цифровая коммуникация
  7. Полупроводниковые устройства в SPICE
  8. Причуды JFET
  9. Причуды IGFET
  10. Компьютерное моделирование электрических цепей