مدارات برای شبیهسازی در ویرایشگر شماتیک کشیده میشوند؛ اما شبیهسازیها در پنجره Simulator اجرا میشوند.
برای اجرای یک شبیهسازی پنجره شبیهسازی Spice را با کلیککردن روی Inspect -> Simulator در پنجره ویرایشگر شماتیک باز کنید و یا از دکمه
در نوارابزار استفاده کنید.
این پنجره به چندین قسمت تقسیم شده است:
Workbooks
ورکبوکها فایلهایی هستند که اطلاعاتی را در مورد محیط شبیهسازی شامل پارامترهای ستاپ شبیهسازی و لیست سیگنالهای موجود برای استفاده را ذخیره میکنند. این موارد میتوانند برای ذخیرهسازی مجموعهای از آنالیزها استفاده بشوند که بعداً دوباره میتوانند بارگذاری شده و در زمان دیگری دوباره اجرا شوند. یک ورکبوک میتواند بیشتر از یک شبیهسازی داشته باشد. برای مثال ممکن است سربرگهای جداگانه برای Transient (Tran) ،Operating Point (OP) و تحلیلهای Small Signal AC داشته باشد که همینطور که شما در حال کارکردن بودید اضافه کردهاید.
شما میتوانید با استفاده از File -> Save Workbook یک ورکبوک را ذخیره کنید و آن را با استفاده از File -> Open Workbook بارگذاری کنید.
ورکبوکها اطلاعات ستاپ شبیهسازی را ذخیره میکنند؛ اما آنها نتایج شبیهسازی را ذخیره نمیکنند. شما میتوانید اطلاعات شبیهسازی را با استفاده از File -> Export Current Plot as PNG و File -> Export Current Plot as CSV به فرمت PNG (گرافیکی) یا CSV (مقادیر اطلاعات شبیهسازی) صادر کنید. برای خلق مجدد نتایج شبیهسازی ذخیره شده در یک ورکبوک سربرگ آنالیز مناسب را در پنجره Simulator انتخاب کنید و دوباره شبیهسازی را اجرا کنید. (Simulation -> Run Simulation).
اجرای یک شبیهسازی
قبل از اجرای یک شبیهسازی شما باید نوع شبیهسازی را انتخاب و پارامترهای شبیهسازی را تنظیم کنید. این مورد با استفاده از Simulation -> Settings یا با دکمه
Sim Command و سپس انتخاب یکی از انواع آنالیزهای موجود میتواند صورت بگیرد:
این دسته از انواع تحلیلها با جزئیات در اسناد آموزشی ngspice توضیح داده شدهاند.
روش دیگر برای پیکرهبندی یک شبیهسازی تایپکردن دستورالعملهای SPICE داخل فیلدهای متن روی شماتیکهاست. هر دستورالعمل فیلد متن که با یک دستور شبیهسازی مرتبط است، با انجام تنظیمات انتخابی در این پنجره باطل میشود. این به این معنی است که زمانی که یک شبیهسازی اجرا میشود پنجره دستورالعملهای شماتیک تا زمانی که شبیهساز دوباره باز شود آن را باطل میکند.
زمانی که دستور شبیهسازی تنظیم شود یک شبیهسازی میتواند با Simulation -> Start Simulation یا دکمه
Run/Stop Simulation شروع شود.

تحلیل AC رفتار AC مدار را در پاسخ به یک محرک (Stimulus) محاسبه میکند. یک دکید (Decade) جاروبی از فرکانس محرک را اجرا میکند.
بهمنظور اجرای یک تحلیل AC شما باید تعدادی از نقاط را بهازای هر دیکد اندازهگیری کرده و فرکانسهای شروع و پایان را برای جاروب دکید انتخاب کنید.
خروجی به شکل یک دیاگرام Bode نمایش داده میشود. (اندازه خروجی و فاز در برابر فرکانس)

درحالیکه یک یا دو پارامتر در حال جاروب هستند رفتار DC مدار را محاسبه میکند: مقادیر منبع (ولتاژ یا جریان)، مقادیر مقاومت یا دمای شبیهسازی.
برای اجرای یک آنالیز DC شما باید انتخاب کنید که قصد دارید چه نوع جاروبی، چه منابعی، مقاومت یا مقادیر دمایی را برای جاروب با چه رنج یا گستره و قدمهایی استفاده کنید.
خروجی بهعنوان یک دیاگرام نمایش داده میشود.
نقطهکار DC مدار را محاسبه میکند. این تحلیل گزینه دیگری ندارد و نتایج در لاگ یا ثبت وقایع SPICE چاپ شده و همچنین بهعنوان لیبلهایی که جریان و ولتاژها در نقطهکار را میدهند به مدار شماتیک اضافه میشوند.

رفتار متغیر با زمان مدار را تحلیل میکند.
بهمنظور اجرای یک تحلیل گذرا شما باید یکقدم زمانی پیشنهادی و یکزمان شبیهسازی نهایی را مشخص کنید. شما میتوانید به شکل اختیاری یکزمان شروع را مشخص کنید تا مقدار پیشفرض صفر را باطل کنید.
خروجی به شکل یک دیاگرام نمایش داده میشود.

یک تحلیل سفارشی این اجازه را به شما میدهد تا دستورات SPICE را برای ستاپ کردن تحلیل بنویسید. دکمه Load directives from schematic را برای کپیکردن هر دستورالعمل SPICE در متن شماتیک به کادر متن تحلیل سفارشی فشار دهید.
تنظیمات شبیهسازی دیگر
تعدادی گزینههای دیگر شبیهسازی نیز وجود دارد که به تمام انواع شبیهسازیها اعمال میشوند.
Add full path for .include library directives اینکه مسیرهای نسبی به مطلق در دستورالعملهای .include در متن شماتیک تبدیل شوند را کنترل میکند.
اینکه شبیهساز ولتاژها و جریانها را برای گرههای داخلی قطعات ذخیره کند یا نکند را کنترل میکند. اگر تیک نخورد شبیهساز تنها ولتاژها و جریانها را برای گرههای خارجی ذخیره میکند.
منوی کشویی Compatibility mode حالت سازگاری که شبیهساز برای بارگذاری مدلها استفاده میکند را انتخاب میکند. گزینه user configuration به فایل پیکرهبندی .spiceinit ngspice کاربر اشاره میکند. حالات سازگاری در آموزشهای ngspice توضیح داده شدهاند.
شما میتوانید با Simulation -> Add signals لیستی از سیگنالهای موجود را نمایش دهید. دوبار کلیککردن روی یک المان در لیست آن سیگنال را به سیگنالهای پروب شده اضافه خواهد کرد. با استفاده از کلید ترکیبی ctrl/shift یا
میتوانید چندین سیگنال را همزمان انتخاب کنید.
ابزار پراب در نوارابزار پنجره شبیهساز
موجود هست که یک راه کاربرپسند برای انتخاب سیگنالها برای پراب شدن ایجاد میکند. هنگامی که فعال است کاربران میتوانند در ویرایشگر شماتیک روی المانها کلیک کنند. بهمنظور پراب کردن یک ولتاژ با ابزار پراب روی سیم کلیک کنید. در هنگامی که معلق روی سیمها قرار دارید گره موردنظر هایلایت میشود. برای پراب کردن یک جریان روی یک پین سمبل کلیک کنید. وقتی معلق روی پین قرار دارید نشانگر از یک پراب ولتاژ به یک سمبل پراب جریان تغییر میکند. امکان پراب کردن سیگنالهای تغذیه با این ابزار وجود ندارد.
پراب کردن ولتاژهای تفاضلی معمولاً نیازمند یک سمبل شبیهسازی است. یک عدد Simulation_SPICE:VOLTMETER_DIFF در کتابخانههای رسمی موجود هست. این سمبل دارای دو ترمینال برای دریافت سیگنال تفاضلی است.
این امکان نیز وجود دارد تا دو سر قطعات دو ترمیناله مثل یک مقاومت با قراردادن دستورالعمل .probe vd(X) پرابگذاری شود جایی که X نام قطعه است (مثل R1). سپس بهمنظور پرابگذاری آن هنگامیکه سیگنالی را با استفاده از لیست سیگنالها اضافه میکنید، vd_X را وارد کنید. دقت کنید که سیگنال در لیست سیگنالها ظاهر نخواهد شد؛ بلکه باید توسط کاربر تایپ شود. این روش این مزیت را داراست که نیاز به اضافهکردن سمبلهای اضافه به صفحه شماتیک را برطرف میکند.
حذف یک پراب سیگنال
بهمنظور حذف یک سیگنال پراب کادرتیک آن را در لیست Signal در بالای پنجره شبیهساز پاک کنید.
تنظیم قطعات
این امکان وجود دارد تا مقادیر المانهای شبیهسازی (R,L,C) را با استفاده از کشوها تغییر بدهید تا بتوانید آنها را به شکل گرافیکی تغییر دهید. هر وقت که کشو در موقعیت جدیدی قرار داده شود، شبیهسازی با پارامترهای جدید اجرا شده و دیاگرام شبیهسازی کنونی بروز میشود. بهمنظور اضافهکردن یک کشو برای یک قطعه از Simulation -> Add Tuned Value استفاده کنید و یا از میانبر T و یا دکمه استفاده کرده و سپس برای تنظیم روی قطعه
کلیک کنید.
بهعلاوه این امکان نیز وجود دارد تا مقادیر قطعات را به مقادیری مشخصی که در Preferred Values قرار دارند محدود کنید که میتواند از سریهای E24, E48, E96 یا E192 باشد. این مورد در مواردی که قصد دارید مقادیر را به آنهایی که بهصورت قطعات تجاری موجود هستند محدود کنید بسیار سودمند است.
نتایج شبیهسازی از تحلیلهای TRAN, AC ,DC ,NOISE ,SP ,FFT بهعنوان نمودارهایی تصویرسازی میشوند. به علت اینکه چندین تحلیل میتواند انجام شود پس چندین نمودار نیز در سربرگهای مجزا باز میشود؛ اما به هنگام اجرای یک شبیهسازی تنها سربرگ فعال شبیهسازی میشود. به این شکل این امکان وجود دارد تا نتایج مختلف شبیهسازی را برای اجراهای مختلف مقایسه کنید.
نشانگرها
برای اندازهگیری دقیق نشانگرها در پنجره نمودار موجود هستند. آنها از داخل صفحه سیگنال در راست با استفاده از تیکهای Cursor 1 و Cursor 2 انتخاب و فعال میشوند. هر نشانگر توسط یک عدد در یک نشانهگذار مثلثی در بالای پنجره نمودار مشخص میشود. نشانگرها در داخل پنجره نمودار با کلیککردن و درگکردنش جابهجا میشوند.
اندازهگیریها
اندازهگیریها با سیگنالها بر روی نمودارها مرتبط میشوند.
اندازهگیریها از تمامی اطلاعات از شبیهسازی حاصل میشوند و نه فقط از اطلاعاتی که در پنجره نمودار در تنظیمات بزرگنمایی جاری قابلمشاهده هستند. این موضوع ممکن است در مواردی گیجکننده باشد.
انتخابشدن یک سیگنال برای ترسیم بهمنظور انجام یک اندازهگیری روی آن الزامی نیست (با انتخاب تیک نمودار آن). حتی سیگنالهای انتخاب نشده و درنتیجه ترسیم نشده هم میتوانند اندازهگیری شوند.
اندازهگیریهای از قبل تعریف شده مرتبط با یک سیگنال با راست کلیککردن روی یک سطر سیگنال (که باعث بالا آمدن یک منوی پاپ – آپ میشود) در دسترس قرار میگیرند. این عمل اندازهگیریهای زیر را ارائه میدهد:
نتایج اندازهگیری در صفحه Measurement در پایین پنجره Simulator نمایش داده میشوند. اندازهگیریهای چندگانه بهعنوان چندین سطر در این ناحیه نمایش داده میشوند.
انجام تعاملهای زیر با پنل نمودار ممکن است:
تعدادی از عناوین تحلیل مثل تحلیل نقطهکار DC (OP) دارای هیچگونه خروجی گرافیکی برای رسم شدن نیستند. بهجای آن خروجیهایشان در کنسول SPICE چاپ میشود. در مورد آنالیز نقطهکار DC، لیبلها نیز به شماتیک اضافه میشوند تا مقادیر ولتاژ و جریان نقطهکار را در گرهها نشان دهند.
شبیهساز Kicad دو روش را برای صادرسازی نتایج ارائه میدهد:
تنها شبیهسازیهایی که اقدام به تولید نمودارها میکنند میتوانند بهعنوان یک فایل CSV و یک تصویر تکی صادر شوند.
نتایج تحلیلهای OP و OZ به این روش نمیتوانند صادر شوند.
نمودار شبیهسازی که در زمان حال قابل رویت است میتواند با استفاده از دستور File -> Export Current Plot as PNG بهعنوان یک فایل PNG صادر گردد.
اندازه و نسبت ابعاد تصویر ذخیره شده با نمودار نمایشی در شبیهساز منطبق خواهد بود.
نمودار شبیهساز قابل رویت در زمان حال میتواند بهعنوان یک فایل CSV با استفاده از دستور File -> Export Current Plot as CSV صادر گردد.
اطلاعات در نمودار شبیهسازی در قالب چندین ستون صادر میشوند. فرمت دقیق وابسته به نوع تحلیل است. در کل ستونهایی از اطلاعات که هرکدام با متغیری که برای ترسیم انتخاب شده است مرتبط بوده، به وجود خواهند آمد. اولین سطر از فایل یک سطر هدر است که شامل نام متغیر در ستون است.
زمانی که در فرمت CSV صادرسازی میکنید تنها متغیرهای انتخابی با استفاده از چکباکس Plotهایشان در فایل خروجی گنجانده خواهند شد.
اطلاعات در فایل صادره شامل همه اطلاعاتی است که درصورتیکه کل نمودار نمایشدادهشده باشد رسم خواهد شد. اگر نمودار برای نشاندادن یک ناحیهی خاص بزرگنمایی شده باشد این مورد برای آن صدق میکند و منجر به فایل خروجی خواهد شد که دارای اطلاعات بیشتری نسبت به چیزی که کاربر انتظار دارد هست.
این تابع اطلاعاتی را صادر میکند که با سمیکالن جدا شدهاند؛ و نه با کاما. برنامههایی که این اطلاعات را میخوانند ممکن است نیاز داشته باشند تا طوری پیکرهبندی شوند که پذیرای سمیکالن بهعنوان یک جداکننده باشند.
عیبیابی
گاهی اوقات عملیات شبیهسازی شکست میخورد که ممکن است با یا بدون خطاهای گزارش شده باشد. توجهکردن به پیامهای خطای گزارش شده، بهکاربستن دقت بهنگام توسعه و واردشدن به مدار شبیهسازی در Kicad و استفاده از Kicad ،ngspice و اسناد SPICE عمومی و گرفتن اطلاعاتی از کاربران دنبالکننده در انجمنها بسیار ارزشمند بوده و اغلب میتواند راهگشا باشد.
در اینجا ذکر این نکته ضروری است که برای کاربرانی که با SPICE،ngspice یا شبیهسازی مدار آشنا نیستند، انجام شبیهسازی به شکل دقیق و با اطمینان بالا برای برخی از مدارات جالب یا رایج میتواند چالشی و همراه با ترفند باشد. این ممکن شامل مدارات بهظاهر ساده مثل اسیلاتورها باشد که در مواردی اصلاً نمیتوانند نوسانسازی کنند!
این امکان همواره وجود دارد تا یک شبیهسازی را انجام دهید که کار بکند؛ اما گاهی اوقات این ممکن است نیازمند تجربه SPICE بیشتری باشد، بیشتر از چیزی که در ابتدا در ظاهر امر نشان میداد یا با راهنمایی فردی که از قبل این تجربه را داشته است. با تأکید مجدد، درصورتیکه به مشکلی برخورد کردید آموزشهای ngspice واقعاً برای داشتن یک دیدی خوب و مؤثر برای کارهای شبیهسازی میتواند ارزشمند باشد.
لیستگره اشتباه
این امکان وجود دارد تا از مسیر Simulation -> Show SPICE netlist لیستگره SPICE را مشاهده کنید. این روش عیبیابی نیازمند کمی دانش SPICE است؛ اما مشاهده خطاها در لیستگره میتواند به تعیین علت مشکلات شبیهسازی و نیز فراهمآوردن تأیید اینکه چه ورودیای ngspice در حال عملکردن روی آن است کمک کند.
پیامهای خطای شبیهسازی
کنسول خروجی پیامهایی را از شبیهساز نشان میدهد. این مورد توصیه میشود تا خروجی کنسول را بهمنظور نبود هیچ خطا یا هشداری بررسی کنید. پیامهای ظاهر شده در کنسول درصورتیکه بخواهید آنها را با دیگران به اشتراک بگذارید میتوانند بهآسانی انتخاب شده، کپی شده و پیست شوند.
مشکلات Convergence (همگرایی)
در مواردی که شبیهسازی در مدتزمان معقولی همگرا نمیشود (یا کلاً نمیشود) این امکان وجود دارد تا عملگرهای SPICE زیر را اضافه کنید.
نکته مهم: تغییر گزینههای همگرایی میتواند منجر به تولید نتایج غلط شود. این گزینهها باید بااحتیاط استفاده شوند.
|
1 2 3 4 |
.options gmin=1e-10 .options abstol=1e-10 .options reltol=0.003 .options cshunt=1e-15 |
تخصیصات غیرصحیح پینها بین شماتیک و مدل SPICE
درحالیکه شبیهسازی بدون خطاهای آشکاری اجرا میشود، درصورتیکه نتایج غیرقابلانتظاری توسط آن تولید شود، دوباره چککردن اینکه تخصیصات بین پینهای قطعه در شماتیک Kicad و مدلهای مربوط به آن صحیح باشند میتواند سودمند واقع شود. این موارد حتماً بایستی برای هر موردی از مدل در شماتیک صحیح باشند.
تعدادی نکات، سرنخها و توصیههای سودمند که به شما کمک میکنند تا حداکثر بهرهبرداری را از ngspice در Kicad داشته باشید.
با آموزشهای ngspice دوست باشید
اساساً شبیهساز Kicad دارای ظاهری کاربرپسند برای استفاده از شبیهساز قدرتمند ngspice است؛ بنابراین مشکلاتی که مربوط به جزئیات شبیهسازی و یا استفاده صحیح از المانهای SPICE است فراتر از حیطه آموزشهای Kicad میباشد. اما این مورد جای نگرانی ندارد؛ زیرا بهاحتمال خیلی زیاد شما میتوانید راهحل مشکلات پیشآمده را در آموزشهای خود نرمافزار ngspice پیدا کنید. پس ما به شما توصیه میکنیم که از آموزشهای ارزشمند آن استفاده کنید.
بهروزرسانیهایی که برای Kicad انجام میگیرد ممکن است سبب ایجاد تغییراتی در ورژن ngspice استفاده شده توسط Kicad بشود. درصورتیکه نیاز داشته باشید تا از شماره ورژن ngspice اطلاع پیدا کنید میتوانید از منوی Help -> About Kicad استفاده کنید و ورژن نرمافزار را در زیر سربرگ Version مشاهده کنید. مراجعه به اسناد آموزشی آنلاین ngspice این اطمینان را به شما میدهد که شما همواره به آخرین اطلاعات بهعنوان مرجع دسترسی دارید.
دستهبندی و چیدمان مدلهای ارائه شده توسط سازندههای دیگر
بهطورقطع این امکان وجود دارد که شما مدلهای شبیهسازی را (فایلهای .lib و .sub) در داخل دایرکتوریهای پروژههای جداگانه Kicad ذخیره کنید؛ اما این احتمال وجود دارد تا تعداد زیادی از کپی فایلهای مدل به هنگام شبیهسازی در محل انباشته شوند. این مورد را در نظر بگیرید که شما بهتر است مکان ذخیرهسازی (دایرکتوری یا فایل) اختصاصی برای مدلها را ایجاد کنید. چیدمان میتواند بر اساس نام سازندگان و یا نوع قطعه باشد. سپس این فایلها میتوانند در یک مکان مشترک در هنگام شبیهسازی ارجاع داده شوند.
سیسوگ با افتخار فضایی برای اشتراک گذاری دانش شماست. برای ما مقاله بنویسید.