Навигация по сайту Моя кладовка

 

Компьютерное моделирование электронных схем

1. Введение   Версия для печати

Желание написать эти заметки у меня складывалось давно. Но окончательно подтолкнула статья "Эволюция SPICE-совместимых макромоделей операционных усилителей", опубликованная в журнале "Современная электроника" №6 за 2005 год. Текст как-то сам сложился у меня в голове, и я его перенес в компьютер.

Очень часто в интернет-форумах встречаются сообщения типа:

Или же, когда речь идет о конкретном реальном устройстве, его "тонких моментах", основывают свои суждения на основании компьютерного моделирования.

Правильно ли это?

Только не подумайте, что я противник прогресса, компьютерных моделей и прочего. Наоборот! Я категорически "за". Но! Но давайте подходить к моделированию разумно. Учитывая все преимущества, но и все ограничения моделей. Слишком часто мы бездумно доверяем результатам, полученным на компьютере, не относимся к ним критически. Когда у студента в результате ресчетов получается "косинус фи" равный 1.2, то объяснение он находит очень простое: "Так посчитал калькулятор". Девочка-сотрудница, отчитываемая за невообразимые результаты, делает невинное лицо: "А это мне компьютер выдал!".

Любая компьютерная модель, как вообще любая модель, суть упрощение реальной жизни. Если начать копать вглубь, то всегда есть предел, за которым модель перестает соответствовать. Чем модель лучше, тем этот предел глубже. Но он есть. Какие-то нюансы всегда отбрасываются - и в самой модели исследуемого объекта, и в алгоритмах, по которым производится расчет, и в количестве цифр после запятой при проведении этого расчета. Да и знания наши где-то заканчиваются.

Вот простой пример. Я собираю в Electronics Workbench простейшую схему из батарейки, выключателя и лампочки - электрический фонарик, что может быть проще!

Что будет, если выключатель замкнуть? Не угадали! Лампочка... перегорит! Если взять лампу на большее напряжение, например, на 16 вольт, то она будет гореть, а 12-ти вольтовая лампа при 12 вольтовом источнике - перегорает. По-моему это происходит из-за особенностей алгоритма: при расчете переходного процесса методом, например, последовательных приближенй, в одной из итераций напряжение оказывается заметно больше номинального, что отслеживается блоком определения целостности лампы. В результате промежуточное значение (которого в реальности не бывает, оно полученно в результате математического решения уравнений) воспринимается как реальное.

Автор этих строк разработал множество электронных устройств и неоднократно сталкивался с их "неправильным" поведением, причем в ряде случаев объяснить это поведение с научной точки зрения, без привлечения категорий мистических и экстрасенсорных, так и не удалось. Промоделировать же это вообще невозможно! Так где гарантия, что то, что великолепно работало в модели, также поведет себя и в жизни?

 

2. Для чего мы моделируем

После того, как устройство собрано, его необходимо наладить, то есть заставить работать так, как дОлжно. К сожалению, сегодня этому процессу уделяется гораздо меньше внимания, чем раньше. Судя по форумам, многие радиолюбители и не представляют о необходимости наладки. Даже "солидные" радиолюбительские журналы пишут о ней все меньше. Для чего же она нужна?

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

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

Да, современные устройства нуждаются в наладке все меньше и меньше. Это результат роста качества комплектующих, применения микросхем (т.е. упрощения устройств), применения более качественных методов проектирования и изготовления. Но полностью избавиться от процесса наладки невозможно. И нельзя его замалчивать и игнорировать. Иначе, получается совсем как в том анекдоте: "Вы не любите кошек? Да вы просто не умеете их готовить!" Только за 2005 год, просматривая интернет-форумы от случая к случаю, я столкнулся с десятками таких проявлений. И обычно они (неработоспособные схемы) имели одинаковый финал: на схеме ставится крест, и она во всеуслышанье объявляется негодной.

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

 

3. Чем мы моделируем

Не побоюсь повториться: компьютерные модели несовершенны. Они описывают реальный объект с определенной степенью упрощения. Вот выдержки из статьи, на которую я ссылался вначале (я оставил только упоминания о недостатках моделей, многочисленные их достоинства остались за кадром ;)

Раз модели неидеальны - 100% доверять моделированию нельзя. И моделирование на компьютере не избавляет от необходимости думать. Более того, оно порождает еще одну головную боль - учитывать нюансы компьютерных моделей: а вдруг то, что мы видим на экране является особенностью модели и в жизни вообще не существует!

Кстати, никогда не замечали, что разные программы моделирования иногда дают несколько разные результаты?

 

4. Что мы моделируем

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

Например, схема на 8-ми транзисторах, которая уже упоминалась вначале. В ней 4 одинаковых транзистора типа p-n-p и 4 одинаковых транзистора типа n-p-n. Причем транзисторы совершенно одинаковые (в модели)! Откроем справочник по полупроводниковым приборам. Для транзистора КТ315Г указан диапазон значений коэффициента передачи тока h21= 50...350. Какова вероятность, что найдется для схемы 4 транзистора с абсолютно одинаковыми значениями этого параметра? А кто гарантирует, что все остальные параметры при всех возникающих режимах работы будут также равны? Да никогда в жизни такого не бывает! И в модель нужно подставлять разные транзисторы, чтобы учесть разброс их параметров. Вот тогда и посмотрим, равен ли коэффициент гармоник 0,000...% (я этот транзистор взял для примера - уж очень у него разброс большой. Но разброс параметров есть у всех без исключения транзисторов!).

И не забудьте, что все резисторы имеют разброс порядка 5% (ну 2%, если уж хотите точные), а конденсаторы - 5-10-20%.

Или еще вариант - моделируется достаточно мощная схема, а в питании стоЯт идеальные источники. А пульсации? А "просадки" напряжения на 10-20%? Или использовать реальные источники - от лукавого? Ну, тогда и великолепные результаты, полученные на модели - тоже от лукавого! И очень удивляемся, почему в паспортных данных на микросхему усилителя мощности указана максимальная мощность 22 Вт, в модели получилось 22 Вт, а реально - 12? А потому, что производитель использовал стабилизированный источник близкий к идеальному, а у нас - нестабилизированный и совсем не идеальный!

Точно также в моделях часто используются реле, у которых контакты имеют нулевое сопротивление, идеальные источники-нагрузки, все резисторы и конденсаторы имеют точь-в-точь тот номинал, который на них написан, и т.д., и т.п.

 

5. Как мы моделируем

Ну, о том, что реальная компоновка устройства зачастую не имеет ничего общего с моделью, и говорить не нужно. А что это дает:

И всего этого в модели нет! Насколько это важно? Вот два примера.

1. Как-то раз я проигнорировал на печатной плате усилителя сопротивление проводника длинной 5 мм. В результате Кг этого усилителя оказался раз в 10 больше, чем должен был быть - выходной ток, протекающий через этот проводник, создавал на нем падение напряжение, попадавшее в цепь ООС. Причем через проводник протекала только одна полуволна тока. Проблема рашилась перекомпоновкой участка платы, а описание подобного явления я позже нашел у Н.Сухова.

2. Как-то на заводе по нашим схемам сделали прибор. Только он плохо работал. Я проковырялся в нем довольно долго, но все же нашел причину - были жуткие пульсации в стабилизированном блоке питания (никогда бы не подумал!). Причем схема стабилизатора была очень хорошая, детали качественные, все сделано с запасом, никаких перегрузок и близко не было. А вот монтажная схема была отвратительной:

Во-первых, вынесение конденсатора С1 наружу на длинном проводе заметно снижает его эффективность. Во-вторых, из-за того, что сопротивление проводника, соединяющего общую точку конденсаторов с землей стабилизатора, не нулевое, появляется путь для переменного тока через оба конденсатора на выход цепи. Да еще и подключение общей точки конденсаторов прямо к выходу - это шедевр! Амплитуда пульсаций составляла +/- 0,2 В от значения +15 В выходного напряжения. А на модели, показанной слева (тогда не было таких программ, все считалось ручками), величина пульсаций получалась равной 0,8 мВ, т.е. в 250 раз меньше!

Законный вопрос - а как правильно. Вот так:

Я здесь показываю только правильный способ подключения внешних конденсаторов. Вопрос правильно ли выносить их с платы наружу, я не рассматриваю. (В случае, если выносить все же приходится, дополнительные небольшие конденсаторы необходимо размещать на плате - тогда влияние проводов/разъемов практически исключается).

Но это еще не все. Использование моделей подталкивает нас к тому, что теорию изучать уже и не нужно. Все делается методом тыка. Соберем модель, поиграемся параметрами, получим что-то приемлимое - и ладно. Я прекрасно понимаю, что найти наилучший вариант из всех возможных не всегда хватает времени, сил и терпения - я сам такой. Но по крайней мере выбрать один из хороших правильных вариантов решения задачи - это просто необходимо. Но для этого нужно знать, что делаешь и действовать не бездумно, а очень и очень осмысленно. Да, модель избавляет от трудоемких расчетов, но от необходимости знать и думать - нет. А бывает, что и не думают. LC фильтр, работающий на нагрузку с заданным сопротивлением. Автор пишет: "...подбираю в модели емкость, чтобы получить частоту среза..." А то, что нужно изменять и емкость, и индуктивность одновременно (чтобы оптимальное значение сопротивления нагрузки осталось неизменным), он и не знает. И модель не подскажет об ошибке!

 

6. Заключение

Надеюсь, я убедил, что слепо доверять моделям не стОит. А иногда, им нельзя доверять вообще! Компьютерное моделирование, как и все на свете, может принести и огромную пользу, так и огромный вред. Это просто инструмент. Все зависит от того кто и как пользуется этим мощным и сложным инструментом. Он не заменит необходимость знать и думать. Наоборот, приходится думать гораздо больше - и за разрабатываемое устройство, и за ограничения модели. Реальность сложнее всех моделей, и она тяжело "бьет по голове", когда что-то ей не соответвует!

 

28.02.2006

 

Яндекс.Метрика

Счетчик