LTSpice Automation


15

ฉันมีตัวแปลงบูสเตอร์ที่ใช้พลังงานจากแบตเตอรี่และฉันกำลังพยายามวัดแรงดันไฟฟ้าตกสูงสุด (แบตเตอรี่) ภายใต้เงื่อนไขการโหลดที่หลากหลายของกระแสไฟฟ้าสูง ความต้านทานภายใน) เนื่องจากฉันกำลังจำลองเวลาที่ใช้ในการดำเนินงานจำนวนมาก (ค่อนข้าง) ไฟล์การจำลองจึงมีจำนวนค่อนข้างมากไม่ต้องพูดถึงพวกเขาใช้เวลาสักครู่ ฉันต้องการทำให้ LTSpice เป็นแบบอัตโนมัติเพื่อให้ฉันสามารถเปลี่ยนค่าองค์ประกอบโดยใช้โปรแกรมและจำลองการจำลองใหม่และจับข้อมูล (ค่าของสิ่งต่าง ๆ เช่นแรงดันหรือกระแส) ฉันรู้แล้ว:

  • ไฟล์ WAV สามารถใช้เพื่อป้อนข้อมูล / ส่งออกข้อมูลจากโปรแกรม
  • โปรแกรมสามารถเรียกใช้จากบรรทัดคำสั่ง

จนถึงตอนนี้ตัวเลือกที่ดีที่สุดของฉันดูเหมือนจะใช้ทั้งสองตัวเลือกพร้อมกับรหัส / สคริปต์ของตัวเองในแบบที่บรรลุเป้าหมายของฉัน แต่ฉันแค่สงสัยว่ามีวิธีที่ดีกว่าอยู่แล้ว

มีใคร LTSpice อัตโนมัติหรือทราบว่ามี API การทำงานอัตโนมัติใด ๆ ที่เขียนขึ้นมาหรือไม่ (โดยผู้ผลิตหรือบุคคลที่สาม)

โดยหลักการแล้วฉันต้องการตัวแก้ปัญหาเช่นที่ฉันให้พารามิเตอร์ที่ต้องการและลองใช้ค่าส่วนประกอบต่าง ๆ จนกว่าจะพบโซลูชัน "ดีที่สุด" ตามข้อ จำกัด ของฉัน


Linear FAE ของคุณพูดว่าอะไร ฉันถามพวกเขาก่อน
Brian Carlton

1
คุณรู้เกี่ยวกับคำสั่ง. STEP และ. PARAM หรือไม่ ไม่แน่ใจว่ามันจะบรรลุสิ่งที่คุณต้องการหรือไม่ แต่ฉันจะโพสต์คำตอบด้วยตัวอย่างสองสามข้อหากคุณสนใจ
Oli Glaser

1
คำถามนี้ดูเหมือนจะไม่ได้อยู่ที่หัวข้อเพราะมันไม่เกี่ยวกับการออกแบบอิเล็กทรอนิกส์
Leon Heller

12
@ LeonHeller บนดาวเคราะห์อะไรที่เครื่องเทศไม่ใช่ส่วนหนึ่งของการออกแบบ?
ตัวยึด

1
คุณจะพบว่าตัวเลือกมอนติคาร์โลเหมาะสมกับสิ่งนี้อย่างสมบูรณ์ คุณสามารถ Schmoo พารามิเตอร์ที่แตกต่างกันและมันยังสามารถแสดงรูปแบบต่างๆ LT-Spice MAY ปิดใช้งานสิ่งนี้โดย SPICE เริ่มที่นั่น
ตัวยึดตำแหน่ง

คำตอบ:


15

การรันการจำลองหลาย ๆ ครั้งและการเปลี่ยนค่าองค์ประกอบหลาย ๆ อย่างนั้นมีส่วนเกี่ยวข้องมากกว่าการเปลี่ยนเพียงครั้งเดียว (ซึ่งไม่เลวเลย)

นี่คือแนวคิดสำหรับการเปลี่ยนค่าหนึ่งค่า:

  • เพิ่มคำสั่ง. param โดยใช้ไอคอนคำสั่ง SPICE ทางด้านขวาสุดเช่นค่าความต้านทาน .param X=R
  • หากต้องการใช้งานคุณจะต้องป้อน {x} ลงในค่าตัวต้านทานจากนั้นรวมเช่น.step param X 100 500 50เพื่อก้าวมูลค่าระหว่าง 100 ถึง 500 โดยเพิ่มทีละ 50

ตัวอย่าง:

ตัวอย่างขั้นตอน

ผลลัพธ์:

กราฟ

สำหรับหลายค่าวิธีเดียวที่ฉันพบว่าทำงานคือการใช้รายการค่าสำหรับ X และใช้คำสั่งตาราง นี่อาจอธิบายได้ดีที่สุดด้วยตัวอย่าง (การอ่านวิธีใช้สำหรับคำสั่งที่ใช้อาจเป็นประโยชน์ที่นี่) แต่โปรดทราบว่าไวยากรณ์คำสั่ง table อยู่ในตารางแบบฟอร์ม (ดัชนี, x1, y1, x2, y2, .... xn, yn) รับดัชนีเป็นอินพุตและส่งคืนค่าการประมาณสำหรับ x = ดัชนีตาม x ที่ให้มา คู่ y

ในหนึ่งในการจำลองของฉันฉันต้องการที่จะดำเนินการ 12 จำลองในขณะที่การเปลี่ยนแปลง 3 ค่าส่วนประกอบที่แตกต่างกันนี่คือคำสั่ง:

.step param X list 1 2 3 4 5 6 7 8 9 10 11 12
.param Rin1 = table(X, 1, 1,1p, 2, 1p, 3, 1p, 4, 4478, 5, 4080, 6, 3400, 7, 2200, 8, 1p, 9, 1p, 10, 1p, 11, 1p, 12, 1p)
.param Rin2 = table(X, 1, 4997, 2, 4997, 3, 4997, 4, 499, 5, 897, 6, 1577, 7, 2777,  8, 4997, 9, 4997, 10, 4997, 11, 4997, 12, 4997)
.param Tval = table(X, 1, 56, 2, 56, 3, 27, 4, 1G, 5, 1G, 6, 1G, 7, 1G, 8, 1G, 9, 330, 10, 330, 11, 120, 12, 120)
.param Kval = table(X, 1, 316, 2, 147, 3, 147, 4, 6340, 5, 6340, 6, 6340, 7, 6340, 8, 6340, 9, 6340, 10, 825, 11, 825, 12, 316)

ผลลัพธ์:

ได้รับตัวอย่าง

หวังว่าคุณจะได้ความคิดคุณอาจจะสร้างสคริปต์ที่จะสร้างคำสั่ง SPICE ที่จำเป็นเมื่อคุณกรอกค่าที่คุณต้องการ หรือเพียงแค่สร้างเทมเพลต (เช่นฉันเพิ่งคัดลอกและวางด้านบนเป็นแบบจำลองที่แตกต่างกันสองสามอย่างและเปลี่ยนค่า)

หากสิ่งที่กล่าวมาข้างต้นไม่ได้ทำในสิ่งที่คุณต้องการอาจจะมองบางอย่างเช่น NI's multisim (ฉันคิดว่ามันมีตัวเลือกการจำลองแบบแบทช์ แต่ฉันไม่แน่ใจว่ามันมีประโยชน์อย่างไร) มันอาจเป็นประโยชน์เช่นกัน ฟอรัมและดูว่ามีใครรู้วิธีที่ดีกว่าในการทำสิ่งต่าง ๆ


3
นี่ไม่สะอาดเท่าที่ฉันต้องการ แต่สำหรับซอฟต์แวร์ฟรีฉันสามารถรู้สึกขอบคุณที่พวกเขาขว้างฉัน ขอขอบคุณที่สาธิตเทคนิคนี้ สิ่งนี้จะทำให้ฉันใกล้ชิดกับสิ่งที่ฉันกำลังมองหา
Joel B

1
ขอบคุณสิ่งนี้ช่วยให้ฉันเข้าใจการจำลองของฉัน ตอนนี้ฉันต้องหาวิธีที่จะนำตำนานมาวางบนพล็อตเพื่อให้ฉันสามารถบอกได้ว่าการจำลองแบบใดเป็นแบบไหน

8

ฉันคิดว่ามันเป็นไปได้จริงที่จะรัน LTSpice จากบรรทัดคำสั่งและให้มันรันการจำลองแบบชั่วคราว:

บน windoze:

cd <wherever LTSpice is installed on your computer>
scad3.exe -Run -b MyCircuit.asc

บน Linux:

cd ~/.wine/drive_c/Program Files (x86)/LTC/LTspiceIV
wine ./scad3.exe -Run -b MyCircuit.asc

1
นี่คือการค้นพบที่ยอดเยี่ยม! ตอนนี้ฉันกำลังระดมสมองว่าฉันจะใช้สิ่งนี้ในการออกแบบอัตโนมัติได้อย่างไร
Joel B

1
@ JoelB: ใช่นั่นคือสิ่งที่ฉันใช้ โชคไม่ดีที่มีข้อบกพร่องไม่กี่ข้อ: 1) ตัวแก้ปัญหาทำงานแบบเธรดเดียวดังนั้นจึงช้าลง 2) คุณไม่มี "รายงานความคืบหน้า" ใด ๆ เหมือนใน GUI
blondiepassesby

3

LTSpice สามารถเรียกใช้ในโหมดแบตช์ด้วย-bสวิตช์บรรทัดคำสั่ง

จากไฟล์ช่วยเหลือ LTSpice:

-b: ทำงานในโหมดแบทช์ เช่น "scad3.exe -b deck.cir" จะเก็บข้อมูลไว้ในไฟล์ deck.raw

วิธีการอ่านและตีความเอาต์พุต. raw ถูกปล่อยไว้เป็นแบบฝึกหัดสำหรับผู้อ่าน

นอกจากนี้โปรดสังเกตว่าระหว่างสวิตช์บรรทัดคำสั่ง:

-ascii: ใช้ไฟล์ .raw ASCII ลดประสิทธิภาพของโปรแกรมอย่างจริงจัง


ฉันจะใช้มันอย่างไร ในโหมดบรรทัดคำสั่งนั่นคือ ฉันมักจะไม่ใช่ผู้ใช้ windows และไม่รู้จะทำอย่างไรกับเครื่อง windows
Tropical_Peach

1
ฉันไม่เคยวิ่งแบบนั้น คุณจะต้องลองด้วยตัวเอง คุณสามารถเปิดหน้าต่างคำสั่ง ('cmd.exe' บนเมนูเริ่ม) หรือเรียกใช้จากภาษาที่คุณใช้เพื่อจัดลำดับการทดสอบของคุณ
โฟตอน

หากคุณใช้ matlab พวกเขาจะมีสคริปต์เพื่อแปลงไฟล์. raw mathworks.com/matlabcentral/fileexchange/…
Voltage Spike

3

คุณได้ตรวจสอบที่ " LTSpice Queue Manager " แล้วหรือยัง ( ลิงก์เปลี่ยนเส้นทางไปยังเว็บไซต์ของฉันซึ่งคุณสามารถดาวน์โหลดซอฟต์แวร์ได้ แต่ฉันไม่ใช่ผู้เขียนของมันซึ่งเดิมแชร์โปรแกรมบนฟอรัมที่ปิดวันนี้การแชร์ผ่านเว็บไซต์ของฉันเป็นวิธีหนึ่งในการชุบชีวิต )

เครื่องมือนี้ช่วยฉันได้มากในอดีต คุณสามารถจัดเตรียมไฟล์จำลองจำนวนมากและรันในคิวได้

ตัวจัดการคิว LTSpice


การเข้าคิวไม่ใช่ระบบอัตโนมัติ
Harry Svensson

1
หากระบบอัตโนมัติที่คุณต้องการกำลังเข้าคิวก็เป็นได้! ปัญหานี้แก้ไขปัญหาของ OP โดยตรง
Daniel

1
หากนี่เป็นซอฟต์แวร์โอเพนซอร์ซที่คุณไม่ได้เขียนไว้ฉันคาดว่าผู้ใช้จะต้องเรียกใช้
Dave Tweed

1

ถ้ามันต้องเป็น LT Spice และคุณไม่สามารถผ่าน GUI ได้ฉันจะแนะนำโปรแกรมสคริปต์ AutoIt ฉันใช้มันเพื่อทำให้แอปพลิเคชัน Windows ที่สำคัญบางตัวซึ่งขาด active-x-DDE-COM.dll ไม่ว่าจะเป็นอะไรก็ตาม คุณสามารถตั้งค่าให้รอไฟล์กดปุ่ม windows, menuitems, โปรแกรม call พร้อมการขัดแย้งเป็นต้น

มองไปที่:

http://www.autoitscript.com/site/

http://www.autoitscript.com/forum/

ฉันจะไปหา Winbatch ถ้าคุณต้องการจ่ายเงินสำหรับโปรแกรมสคริปต์

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.