LTSpice स्वचालन


15

मेरे पास एक बैटरी-पावर्ड बूस्टर कनवर्टर है और मैं कई बैटरी प्रकारों (विभिन्न वोल्टेज) के अलावा उच्च वर्तमान ड्रॉ (अलग-अलग ड्यूटी-साइकल / आवधिक) की विभिन्न लोड स्थितियों के तहत अधिकतम इनपुट (बैटरी) वोल्टेज ड्रॉप को मापने का प्रयास कर रहा हूं। आंतरिक प्रतिरोध)। चूंकि मैं इतनी अधिक (अपेक्षाकृत) बड़ी मात्रा में परिचालन समय का अनुकरण कर रहा हूं, इसलिए सिमुलेशन फाइलें बहुत अधिक हो रही हैं, यह उल्लेख करने के लिए नहीं कि वे थोड़ी देर लेते हैं। मैं एलटीस्पाइस को स्वचालित करना चाहूंगा ताकि मैं घटक मूल्यों को प्रोग्रामेटिक और रेरन सिमुलेशन बदल सकें और डेटा (वोल्टेज या वर्तमान जैसी चीजों के मूल्यों) को कैप्चर कर सकूं। मुझे पता है:

  • WAV फ़ाइलों को प्रोग्राम से इनपुट / आउटपुट डेटा के लिए इस्तेमाल किया जा सकता है
  • प्रोग्राम को कमांड लाइन से चलाया जा सकता है

अब तक मेरा सबसे अच्छा विकल्प अपने खुद के कोड / स्क्रिप्ट के साथ इन दो विकल्पों के संयोजन का उपयोग फैशन में होता है जो मेरे लक्ष्यों को पूरा करता है, लेकिन मुझे आश्चर्य है कि अगर पहले से ही बेहतर तरीका है।

क्या किसी ने स्वचालित एलटीस्पाइस या पता है कि क्या इसके लिए किसी भी तरह का ऑटोमेशन एपीआई लिखा गया है (या तो निर्माता द्वारा या तीसरे पक्ष द्वारा)?

आदर्श रूप में मैं एक सॉल्वर रखना चाहूंगा, जैसे कि मैंने इसे वांछित पैरामीटर दिया और इसने विभिन्न घटक मूल्यों की कोशिश की जब तक कि यह मेरे बाधाओं के लिए "इष्टतम" समाधान नहीं मिला।


आपके रैखिक FAE ने क्या कहा? मैं उनसे पहले पूछूंगा।
ब्रायन कार्लटन

1
क्या आप .STEP और .PARAM कमांड्स के बारे में जानते हैं? यकीन नहीं है कि अगर आप चाहते हैं तो यह वास्तव में हासिल करेगा, लेकिन अगर आप रुचि रखते हैं तो मैं कुछ उदाहरणों के साथ एक उत्तर दूंगा।
ओली ग्लेसर

1
यह प्रश्न ऑफ़-टॉपिक प्रतीत होता है क्योंकि यह इलेक्ट्रॉनिक डिज़ाइन के बारे में नहीं है।
लियोन हेलर

12
@LeHHeller WHAT ग्रह पर SPICE डिजाइन का हिस्सा नहीं है?
प्लेसहोल्डर

1
आप पाएंगे कि मोंटे कार्लो विकल्प इसके लिए पूरी तरह से अनुकूल हैं। आप अलग-अलग मापदंडों को अपना सकते हैं और यह विभिन्नताओं को भी प्रदर्शित कर सकता है। LT-Spice MAY ने इसे SPICE द्वारा निष्क्रिय कर दिया है और मूल रूप से इसका समर्थन करता है। वहाँ शुरू
प्लेसहोल्डर

जवाबों:


15

कई बार एक सिमुलेशन चलाना और कई घटक मूल्यों को बदलना सिर्फ एक को बदलने की तुलना में थोड़ा अधिक शामिल है (जो इतना बुरा नहीं है)

यहाँ एक मूल्य को बदलने की अवधारणा है:

  • एक प्रतिरोध मान के लिए दूर दाईं ओर स्थित SPICE निर्देश आइकन का उपयोग करके .param स्टेटमेंट जोड़ें .param X=R
  • इसका उपयोग करने के लिए आप {x} को रोकनेवाला मान में प्रवेश करेंगे, फिर उदाहरण के .step param X 100 500 50लिए 50 की वेतन वृद्धि में 100 और 500 के बीच मूल्य को शामिल करें ।

उदाहरण:

स्टेप उदाहरण

परिणाम:

ग्राफ़

एकाधिक मानों के लिए, मुझे काम करने का एकमात्र तरीका एक्स के लिए मूल्यों की एक सूची का उपयोग करना और तालिका विवरण का उपयोग करना था। यह संभवतः एक उदाहरण के साथ सबसे अच्छा समझाया गया है (उपयोग किए गए आदेशों के लिए सहायता पढ़ना संभवतः यहां उपयोगी होगा)। लेकिन ध्यान दें कि टेबल कमांड सिंटैक्स फॉर्म टेबल में है (इंडेक्स, एक्स 1, वाई 1, एक्स 2, वाई 2, .... एक्सएन, वाईएन), इंडेक्स को इनपुट के रूप में लेता है और आपूर्ति एक्स के आधार पर एक्स = इंडेक्स के लिए एक प्रक्षेपित मूल्य देता है। , वाई जोड़े।

मेरे एक सिमुलेशन में मुझे 3 अलग-अलग घटक मूल्यों को बदलने के साथ 12 सिमुलेशन करने की आवश्यकता थी, यहां आदेश दिए गए हैं:

.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)

परिणाम:

उदाहरण प्राप्त करें

उम्मीद है कि आपको यह विचार मिलेगा, आप एक स्क्रिप्ट का उत्पादन कर सकते हैं जो आपके वांछित मूल्यों को भरने पर आवश्यक स्पाइस कमांड का उत्पादन करेगा। या बस एक टेम्प्लेट बनाएं (जैसे मैंने अभी कॉपी की है और उपरोक्त को कुछ अलग सिमुलेशन में बदल दिया है और मूल्यों को बदल दिया है)

यदि उपरोक्त आप जो चाहते हैं वह नहीं करते हैं, तो शायद NI की बहु की तरह कुछ देखें (मुझे लगता है कि इसमें कुछ बैच सिमुलेशन विकल्प हैं, हालांकि मुझे यकीन नहीं है कि वे कितने उपयोगी हैं) यह LTSPice पर पूछने के लिए भी उपयोगी हो सकता है मंच और देखें कि क्या किसी को चीजों को करने का एक बेहतर तरीका पता है।


3
यह उतना साफ नहीं है जितना मैं चाहूंगा, लेकिन मुफ्त सॉफ्टवेयर के लिए, मैं केवल आभारी रह सकता हूं कि उन्होंने मुझे एक हड्डी फेंक दी। इस तकनीक को प्रदर्शित करने के लिए धन्यवाद। यह निश्चित रूप से मुझे उस चीज़ के करीब ले जाएगा, जिसकी मुझे तलाश है।
जोएल बी

1
धन्यवाद, इससे मुझे अपने अनुकरण का पता लगाने में मदद मिली। अब मुझे यह पता लगाना है कि कैसे एक कथानक पर एक किंवदंती लगाई जाए ताकि मैं बता सकूं कि कौन सा अनुकरण है।

8

मुझे लगता है कि कमांड लाइन से LTSpice चलाना वास्तव में संभव है और यह एक क्षणिक सिमुलेशन चलाती है:

पवनचक्की पर:

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

लिनक्स पर:

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

1
यह एक उत्कृष्ट खोज है! मैं अब विचार कर रहा हूं कि मैं इसे स्वचालित डिजाइन के लिए कैसे उपयोग कर सकता हूं।
जोएल बी

1
@JoelB: हाँ, यह भी है कि मैं इसके लिए क्या उपयोग करता हूं। दुर्भाग्य से कुछ कमियाँ हैं: 1) जीयूआई के विपरीत, सॉल्वर सिंगल-थ्रेडेड चलता है, इसलिए यह धीमा है 2) आपके पास कोई "प्रगति रिपोर्ट" नहीं है जैसे जीयूआई
ब्लोंडीजेसबी

3

LTSpice को -bकमांड लाइन स्विच के साथ बैच मोड में चलाया जा सकता है ।

LTSpice मदद फ़ाइल से:

-b: बैच मोड में चलाएँ। उदाहरण के लिए "scad3.exe -b deck.cir" फाइल डेक में डेटा छोड़ देगा

कैसे पढ़ें और व्याख्या करें .raw आउटपुट को पाठक के लिए एक एक्सर्साइज़ के रूप में छोड़ दिया जाता है।

यह भी ध्यान दें, कमांड लाइन स्विच के बीच:

-ascii: ASCII .raw फ़ाइलों का उपयोग करें। गंभीरता से कार्यक्रम के प्रदर्शन को नीचा दिखाता है।


हालांकि मैं इसे कैसे चलाता हूं? कमांड लाइन मोड में। मैं आमतौर पर एक विंडोज़ उपयोगकर्ता नहीं हूँ और मुझे पता नहीं है कि यह विंडोज़ मशीन पर कैसे किया जाता है।
ट्रॉपिकल_पीच

1
मैंने इसे कभी नहीं चलाया है। आपको इसे अपने लिए आजमाना होगा। आप या तो कमांड विंडो खोल सकते हैं (स्टार्ट मेनू पर 'cmd.exe') या अपने टेस्ट को सीक्वेंस करने के लिए आप जिस भी भाषा का उपयोग कर रहे हैं, उससे इसे चला सकते हैं।
फोटॉन

यदि आपका मैटलैब का उपयोग कर रहा है, तो उनके पास कन्वर्ट करने के लिए एक स्क्रिप्ट है। .raw files mathworks.com/matlabcentral/fileexchange/…
वोल्ट स्पाइक

3

क्या आपने पहले से ही " LTSpice Queue Manager " की जाँच की थी ? ( लिंक मेरी खुद की वेबसाइट पर रीडायरेक्ट करता है जहां आप सॉफ्टवेयर डाउनलोड कर सकते हैं लेकिन मैं इसका लेखक नहीं हूं, जिन्होंने मूल रूप से कार्यक्रम को एक मंच पर साझा किया है जो आज बंद है। इसे मेरी वेबसाइट के माध्यम से साझा करना इसे पुनर्जीवित करने का एक तरीका है )।

यह उपकरण अतीत में मेरे लिए बहुत मददगार रहा है। आप कई सिमुलेशन फाइलें तैयार कर सकते हैं और उन्हें एक कतार फैशन में चला सकते हैं।

LTSpice कतार प्रबंधक


कतार लगाना स्वचालन नहीं है।
हैरी स्वेन्सन

1
यदि आपको जिस स्वचालन की आवश्यकता है, वह कतार में है, तो यह निश्चित रूप से है! यह ओपी की समस्या को सीधे संबोधित करता है।
डेनियल

1
यदि यह बंद-स्रोत सॉफ़्टवेयर है जिसे आपने नहीं लिखा है, तो मैं उम्मीद करूंगा कि उपयोगकर्ता इसे चलाने के लिए काफी समझदार होंगे।
डेव ट्वीड

1

अगर यह सिर्फ LT स्पाइस होना है और आप GUI से नहीं मिल सकते हैं तो मैं स्क्रिप्ट प्रोग्राम AutoIt की सिफारिश करूंगा। मैंने इसका उपयोग कुछ महत्वपूर्ण विंडोज अनुप्रयोगों को स्वचालित करने के लिए किया है जिनमें सक्रिय-एक्स-डीडीई-कॉम.डेल-जो कुछ भी कमी थी। आप इसे फ़ाइलों के लिए प्रतीक्षा करने, विंडोज़ बटन, मेनूइट, तर्क के साथ कॉल प्रोग्राम, इत्यादि के लिए सेट कर सकते हैं।

अच्छी तरह से देखिए:

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

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

यदि आप स्क्रिप्ट प्रोग्राम के लिए भुगतान करना चाहते हैं तो मैं विनबैच के लिए जाऊंगा।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.