এনজিস্পাইসে কারেন্ট প্লট করবেন কীভাবে?


11

আমি এনজিস্পাইসে বর্তমান এবং শক্তি খুঁজে বের করতে চাই। ভোল্টেজের ক্ষেত্রে, উদাহরণস্বরূপ, আমি নোড 1 এ ভোল্টেজ প্লট করতে চাইলে আমি এটি ব্যবহার করব:

plot v(1)

সমস্যাটি হল, যখন আমি চেষ্টা করি (1), ভেক্টরটি স্বীকৃত নয়। কেউ কীভাবে এটি করতে পারে তার কয়েকটি উদাহরণ সরবরাহ করতে পারে?


উত্তর:


8

অলি একটি সঠিক উত্তর দিয়েছে তবে আমি (এলিমেন্ট_নাম) কেবলমাত্র বাণিজ্যিক স্পাইস সংস্করণগুলিতে যুক্ত একটি এক্সটেনশন।

এনজিস্পাইসে (যা বার্কলে স্পাইস 3 এর উপর ভিত্তি করে) আপনি কেবল (স্বতন্ত্র) ভোল্টেজ উত্সের সাহায্যে স্রোতের প্লট করতে পারেন। এগুলিই কেবল স্রোত যা স্পেস থেকে কাজ করা সার্কিট সমীকরণগুলিতে প্রদর্শিত হয়।

একটি ইন্টারেক্টিভ স্পাইস সেশনে বা স্ক্রিপ্টের একটি বিশেষ ব্লক থেকে ( এই প্রশ্নটিও দেখুন ) আপনি (v(1)-v(2))/1kযখন নোড 1 এবং 2 এর মধ্যে 1kΩ রেজিস্টারের মধ্য দিয়ে স্রোত যখন হন তেমন এক্সপ্রেশন ব্যবহার করতে পারেন প্রতিক্রিয়াশীল উপাদানগুলির জন্য (1μF ক্যাপাসিটরের মতো) এমন কিছু (v(1) - v(2))/(2*pi*frequency*1u)হওয়া উচিত কাজ।


আমার দ্বিতীয় সমাধান (এক্সপ্রেশন সহ) প্রয়োগ করা খুব কঠিন হওয়া উচিত নয়। আপনি যদি ম্যানুয়ালটিতে দেখতে পারেন যে এনজিস্পাইসের মান পাওয়ার কোনও উপায় আছে এবং কোনও উপাদানটির নোডের নামও রয়েছে। আমি নিশ্চিত জানি যে সেখানে মডেল পরামিতিগুলির সাথে ডামি ভেক্টর রয়েছে।
jpc

6

আমি ngspice ব্যবহার করেন নি, কিন্তু সাধারণত আপনি বর্তমান প্লটে বিভক্ত (আমি LTSpice ব্যবহার করেন, কিন্তু আমি যা বুঝতে প্রায় কাছাকাছি সব মশলা মূল বার্কলে সিনট্যাক্স এর উপর ভিত্তি করে, এবং কাজের একভাবে থেকে) মাধ্যমে একটি উপাদান বা ট্রানজিস্টর যেমন ভিত্তিতে, বরং কোনও নোডের চেয়ে কির্চফের প্রথম আইন অনুসারে (এক পর্যায়ে স্রোতের মিলনের যোগফল শূন্য)

সম্পাদনা - জেপিসি হিসাবে উল্লেখ করা হয়েছে, এনজিস্পাইসের জন্য (এবং সম্ভবত বেশিরভাগ অন্যান্য অ-বাণিজ্যিক / প্রাথমিক ভেরিয়েন্ট) জিনিসগুলি কিছুটা পৃথক, কারণ আপনি কেবল ভোল্টেজ উত্সের সাহায্যে স্রোত তৈরি করতে পারেন। সুতরাং সুদের সার্কিটের লেগে একটি 0 ভি উত্স যুক্ত করতে হবে এবং এর মাধ্যমে বর্তমানের প্লট করতে হবে। আমি নীচে একটি উদাহরণ যুক্ত করেছি।

সুতরাং আপনার যদি একটি সরল সার্কিট থাকে যাতে এটির জুড়ে ভোল্টেজ উত্স (ভি 1) সহ একটি রেজিস্টার (আর 1) থাকে (আমি নেটলিস্টে বিশেষজ্ঞ নই তাই মোটামুটি উদাহরণ হিসাবে ধরুন):

ভি 1 1 0 5

আর 1 1 0 1000

(1, 0 হ'ল নোড, 5 (ভি) এবং 1000 (ওহমস) স্ব স্ব মানসমূহ)

আপনি হয় আই (আর 1), বা আমি (ভি 1) দিয়ে কারেন্ট প্লট করতে পারেন, আমি (1) নয়। তবে আপনি ভোল্টেজের জন্য ভি (1) প্লট করতে পারেন।

এনজিএসপাইস সংস্করণ (পরীক্ষিত এবং নিশ্চিত)

ভি 1 1 0 5
আর 1 1 2 1000 ভিডমি 2 0 0

দ্রষ্টব্য যে ভিডমি রেজিস্টারের সাথে সিরিজে রয়েছে, সুতরাং একই বর্তমান এটির মধ্য দিয়ে প্রবাহিত হবে। সুতরাং আর 1 এর জন্য কারেন্ট প্লট করতে আমরা লিখি (ভিডমি)। আরও জটিল সার্কিটের জন্য আমরা ঠিক নিশ্চিত করেছি যে একই শর্তগুলি প্রযোজ্য।

এখানে এলটিস্পাইসের একটি "বাস্তব" উদাহরণ রয়েছে:

NETLIST

ভি 1 ভি + 0 24 রেসার = 0
ভি 2 সিগ 0 সাইন (-1.4563 1 মি 1000 0 0 0 0) এসি 2 রেসার = 0
ভি 3 ভি- 0 -24
কিউ 1 এন 1001 এন002 এন003 0 2 এন 2222
আর 1 ভি + এন001 1f
আর 2 এন 1003 ভি-
2 কে 7 সি 2 এন 004 এন003 100µF
R3 N004 0 3K9
R4 N002 0
22K C1 N002 SIG 100µF

চিকিত্সার চিত্র

সার্কিট প্রাক্তন

প্লট বিকল্প

(মনে রাখবেন যে আমি (এন 1001), আই (এন 1002), ইত্যাদি নেই

প্লটের বিকল্পসমূহ


1
যেমনটি জেপিসি কেবল মন্তব্য করেছে, এটি এনজিস্পাইস সহ প্রদর্শিত হবে আপনি কেবল ভোল্টেজ উত্সের সাহায্যে স্রোত প্লট করতে পারবেন। আমি কেবল এনজিস্পাইস ডাউনলোড করেছি এবং এটি নিশ্চিত করেছি, i (Vx) স্থাপন করা সম্ভব, তবে আমি (আরএক্স) ইত্যাদি তৈরি করতে পারি না তাই আমার ধারণা আপনার সার্কিটের যে কোনও লেগের মাধ্যমে আপনি বর্তমানের প্লট করতে চান সেখানে আপনাকে 0V উত্স যুক্ত করতে হবে (বলুন এটি Vx বলা হয়) এবং প্লট i (Vx) রাখুন।
অলি গ্লেজার

@ অলিগ্লেজার: আসলে বেশিরভাগ বাণিজ্যিক স্পাইস কাঁটাচোড়া SPICE2 কোডবাসের উপর ভিত্তি করে (ফোর্ট্রানে) অন্যদিকে এনজিস্পাইস (এবং অন্যান্য ওপেন সোর্স / ফ্রিওয়্যার সংস্করণ) নতুন (!) সি ভাষার পুনর্লিখনের উপর ভিত্তি করে যাকে SPICE3 বলা হত। আমি বিশ্বাস করি যে জুরি এখনও ঠিক আছে যার উপরে আরও ভাল। :)
jpc

4

আপনি স্রোতগুলি প্লট করতে পারেন, তবে আপনার সিমুলেশন চালানোর আগে আপনি কী স্রোতগুলি সম্পর্কে জানতে চান তা জানতে হবে।

উদাহরণস্বরূপ আপনার যদি ডায়োড ডি 1 থাকে এবং আপনি এটির মাধ্যমে কারেন্টটি প্লট করতে চান তবে আপনি এটি করতে পারেন:

.save @d1[id]
.tran <slice> <end>
.plot tran @d1[id]

আরও তথ্যটি এনজিস্পাইস ম্যানুয়ালটির 519 (অধ্যায় 31) http://ngspice.sourceforge.net/docs/ngspice-manual.pdf- এ রয়েছে


3

একক উপাদান জুড়ে ডিসি ভোল্টেজ ঝাড়ানোর ক্ষেত্রে, আপনি শাখার বর্তমান প্লট করতে পারেন। নিম্নলিখিত নেটলিস্টটি লোড করে

.MODEL DI1N4004 D (IS=76.9n RS=42.0m  BV=4 IBV=5.00u CJO=39.8p
+M=0.333 N=1.45 TT=4.32u)

D1 1 0 DI1N4004
Vin 1 0 dc 12 ac 0

এনজিস্পাইস এবং কমান্ডিং

dc vin -10 5 0.001
plot -vin#branch

আপনি ডায়োড ডি 1 জুড়ে কারেন্টের প্লটের চিত্রটি পেতে সক্ষম হবেন।


2

বর্তমান প্লট করার জন্য সেই শাখায় শূন্য ভোল্টেজ উত্স যুক্ত করুন এবং টার্মিনালে vlabel # শাখা টাইপ করুন।


3
এটি অন্যান্য উত্তরগুলি ইতিমধ্যে বলে নি এমন কিছুই জুড়ে না এবং এটি নিজেই কার্যকর হওয়ার জন্য খুব সংবেদনশীল।
ডেভ

2

এনজিস্পাইস 27 আর ২০১7 সাল থেকে কোডের এই লাইনটি রেখে:

.options savecurrents

স্রোত, যার জন্য মাধ্যমে বলা যেতে পারে সংরক্ষণ @R1[i], @D1[id]ইত্যাদি

plot @R1[i] vs v(1)

এনজিস্পাইস ম্যানুয়ালটিতে এই বিকল্পটির সন্ধান করুন ।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.