مقالات

یک آموزش سریع در مورد شبیه سازی PCB های Kicad خود در openEMS با استفاده از Gerber2EMS


به ما کمک کن رشد کنیم با دوستان خود به اشتراک بگذارید!

OpenEMS، یک ابزار متن باز برای شبیه سازی ساختارهای الکترومغناطیسی، برای مدتی منبع ارزشمندی برای جامعه علمی بوده است. قابلیت‌های آن به لطف مشارکت‌های مستمری که قابلیت‌های جدیدی را اضافه می‌کنند، همچنان در حال گسترش است. در حالی که بسته openEMS شامل الگوریتم های مختلف مورد نیاز برای شبیه سازی الکترومغناطیسی است، ارائه ورودی لازم می تواند خسته کننده باشد. اگرچه رابط های برنامه نویسی از طریق Matlab، Octave و Python وجود دارند، اما به اندازه گزینه های تجاری مانند HFSS یا CST Microwave Studio کاربر پسند نیستند. خوشبختانه، این به تدریج در حال تغییر است و openEMS را برای مخاطبان وسیع تری از جمله خود من قابل دسترسی تر می کند. یکی از مشارکت های قابل توجه Gerber2EMS توسط AntMicro است که استفاده از فایل های Gerber را به عنوان ورودی openEMS برای انجام شبیه سازی های الکترومغناطیسی آسان می کند.

Gerber2EMS به طور خاص برای کار با KiCAD ساخته شده است، اما با کمی تغییرات در اینجا و آنجا امکان استفاده از گربرهای تولید شده توسط هر ابزار طراحی PCB دیگری را فراهم می کند. اگر از ویندوز استفاده می کنید، فرآیند نصب بسیار ساده است. وقتی سعی کردم آن را روی لینوکس راه اندازی کنم، همه چیز اشتباه شد. بنابراین برای هدف این آموزش من از ویندوز 11 و پایتون 3.11 استفاده خواهم کرد.

مونتاژ

قبل از شروع، آخرین نسخه KiCAD را روی رایانه خود نصب کنید. Gerber2EMS برای شناسایی لایه های مختلف PCB به نام های خاصی که توسط KiCAD استفاده می شود، متکی است. در نتیجه، گربرهای تولید شده توسط ابزارهای دیگر مانند Altium Designer را مستقیماً تشخیص نخواهد داد. با این حال، با چند تغییر در اسکریپت واردات Gerber، می توانید از Gerber2EMS با فایل های Gerber تولید شده توسط Altium استفاده کنید.

در ادامه مرحله اول، مطمئن شوید که پایتون 3.10 یا پایتون 3.11 را روی رایانه خود نصب کرده اید. بسته openEMS را از لینک دانلود کنید و آن را از حالت فشرده در دستگاه خود خارج کنید. اگر از ویندوز 11 استفاده می کنید، نیازی به ساخت کدهای منبع ندارید. دستورالعمل های زیر را برای نصب بسته های پایتون دنبال کنید.

مطمئن شوید که متغیر محیطی را با اشاره به پوشه openEMS زیر تنظیم کرده اید.

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

بسته Gerber2ems را از این لینک دانلود کنید. برای کاربران git، فقط این دستور را اجرا کنید:

رفتن به gerber2ems دایرکتوری و اجرا کنید

این همه باینری ها را برای gerber2ems که از طریق ترمینال ویندوز قابل فراخوانی است.

سپس باید دو ابزار دیگر را نصب کنید، نشان ملی و Paraview.

نشان ملی آن را در یک بسته فشرده ارائه می شود که باید در جایی استخراج شود. هنگام استخراج افزودن نشان ملی دایرکتوری به شما PATH متغیر محیطی این یک مرحله بسیار مهم است و نباید از آن گذشت. من gerber2ems را بدون افزودن اجرا کردم نشان ملی به PATH متغیر. مدتی سختی کشیدم قبل از اینکه متوجه مشکل شوید پس از افزودن نشان ملی برای متغیر محیطی PATH، همه چیز به خوبی کار می کند.

برای تست نصب، دستورات زیر را در ترمینال فرمان خود اجرا کنید.

نمونه های کار شده

Antmicro چهار مثال برای امتحان ارائه می دهد و می توان آنها را در فهرست “examples” پیدا کرد. یک ترمینال فرمان را در یکی از مثال ها باز کنید. من مثالی به نام “real” را انتخاب کردم و یک ترمینال در دایرکتوری باز کردم و این را اجرا کردم

یک نصب مناسب باید به این دستور اجازه اجرا و تولید نتایج شبیه سازی را بدهد. نتایج به دایرکتوری “ems” ختم می شود.

بر اساس مثال ها، من پروژه PCB شبیه سازی خودم را ایجاد کردم. برای درک فرآیند بیشتر بخوانید.

شبیه سازی موجبر همسطح در gerber2ems

gerber2ems به دنبال سه ورودی مورد نیاز برای اجرای یک شبیه سازی با استفاده از openEMS می گردد.

  1. فایل های Gerber در فهرست “fab”.
  2. فایل PCB پشته در دایرکتوری “fab”.
  3. یک فایل شبیه سازی در فهرست پروژه

چیدمان بردهای مدار چاپی

من مثال “واقعی” را مبنای شبیه سازی قرار دادم. PCB من دی الکتریک 0.35mm FR4 دارد. من همچنین فایل stackup.json را مطابق با مقادیر جدید تغییر دادم.

پورت ها را اضافه کنید

روی برد مدار، دو پورت اضافه کنید F.Fab لایه. من این پورت ها را از یکی از پروژه های نمونه کپی کردم.

CPWG برای شبیه سازی gerber2ems آماده شده است

اطمینان حاصل کنید که یک حلقه به PCB خود روی آن اضافه کرده اید Edge_Cuts لایه. gerber2ems استفاده می کند Edge_Cuts برای شناسایی شکل PCB و محاسبه موقعیت پورت بر اساس آن.

در مورد موقعیت های پورت، شروع مته را به لبه سمت چپ پایین PCB اضافه کنید.

در پوشه ‘fab’ فایلی به نام ‘xxx-top-pos.csv’ وجود دارد که xxx نام پروژه شما است. این فایل حاوی موقعیت پورت های محاسبه شده نسبت به شروع گمانه است. من راه ساده تری بلد نیستم، بنابراین با کم کردن مختصات شروع چاه با مختصات پورت، این موقعیت ها را به صورت دستی محاسبه کردم.

به عنوان مثال، منبع مته در (144، 90) و پورت SP1 در (150، 95) است. موقعیتی که SP1 باید در فایل CSV وارد کند، (150 – 144) = 6 و (95-90) = 5 خواهد بود. بنابراین، موقعیت SP1 = (6، 5) است. به طور مشابه پورت های باقی مانده در طراحی خود را محاسبه کنید. در این مثال ما فقط 2 پورت داریم. اگر خط دیفرانسیل یا شبکه 3 پورت بود، بیش از 2 پورت داشتیم.

در نهایت، فایل های gerber را تولید کنید و مطمئن شوید که این گزینه را غیرفعال کرده اید. در طراحی دیگری، من این گزینه را فعال کرده بودم که gerber2ems را گیج می کرد و بارها و بارها برای من خطاهایی ایجاد می کرد.

گزینه ترسیم را روی یک طراحی غیرفعال کنید.

فقط اضافه کردن پورت ها به طراحی کافی نیست. این پورت ها همچنین باید در فایل simulation.json در فهرست اصلی پروژه اضافه شوند. برای شروع بهتر است به فایل شبیه سازی مثال مراجعه کنید.

شما باید فرکانس شروع و پایان را برای شبیه سازی تنظیم کنید. همچنین، یک شبکه با اندازه مناسب انتخاب کنید. برای کسب اطلاعات بیشتر در مورد پارامترهای شبیه سازی، به لینک رسمی gerber2ems github مراجعه کنید.

اطلاعات بیشتر در مورد تنظیمات شبیه سازی

با عبور از لینک github، فایل simulation.json دارای سه بخش اصلی است. متفرقه، شبکه و پورت. جزئیات هر بخش در صفحه github ارائه شده است.

از آنجایی که فایل شبیه سازی را از “مثال” کپی کردم، فقط تغییرات جزئی در پارامترها ایجاد کردم تا مطابق با نیازهایم باشد.

برای خلاصه کردن تنظیمات، یک CPWG ایجاد کردم، دو پورت اضافه کردم، stackup PCB را تغییر دادم، stackup.json را برای مطابقت با stackup PCB تغییر دادم، Gerbers را تولید کردم، و در نهایت فایل موقعیت را ویرایش کردم. حالا بیایید شبیه سازی را اجرا کنیم.

اجرای شبیه سازی openEMS بر روی PCB کیکاد

راه اندازی مناسب منجر به یک شبیه سازی بدون خطا می شود. ضروری است که موقعیت های پورت را به درستی محاسبه کنید. موقعیت های نادرست، عدم تطابق بین فایل CSV و PCB، منجر به شبیه سازی نادرست می شود.

دستور زیر را در ریشه پروژه خود اجرا کنید و منتظر نتایج باشید:

بسته به پیکربندی رایانه شما، زمان شبیه سازی ممکن است کمی طول بکشد.

شبیه سازی را با gerber2ems شروع کنید

نتایج

پس از مدتی، شبیه سازی به پایان می رسد و داده ها را در فهرست “ems/simulation/” تخلیه می کند. اکنون می توانیم این نتایج را با استفاده از Paraview ببینیم یا به سادگی نمودار اسمیت ایجاد شده توسط gerber2ems را مشاهده کنیم.

S11 از نتایج شبیه سازی

فوق العاده! Gerber2EMS نتایج شبیه سازی را از openEMS گرفت و پارامترهای S را محاسبه کرد و در نهایت آنها را به طور خودکار در یک تصویر ذخیره کرد. با بررسی دقیق، نمودار اسمیت یک CPWG نه چندان بد را نشان می دهد. علاوه بر این، gerber2ems همچنین نمودارهای تاخیر، S22، S21 و غیره را تولید می کند.

S22 تولید شده توسط gerber2ems
S11 و S21 برای CPWG توسط Kicad طراحی شده و در openEMS شبیه سازی شده است
میدان الکترونیکی مشاهده شده در Paraview
آموزش شبیه سازی kicad در gerber2ems openEMS
آموزش شبیه سازی kicad در gerber2ems openEMS

نظرات خود را در نظرات زیر به من اطلاع دهید. خوشحال می شوم به هر سوالی که در مورد این مقاله دارید پاسخ دهم.

عبارات جستجوی ورودی:


Source link

نوشته های مشابه

دکمه بازگشت به بالا