সুচিপত্র:

আপনার ইতিমধ্যে থাকা উপাদানগুলি ব্যবহার করে কীভাবে কোনও প্রতিরোধ/ধারণক্ষমতা অর্জন করবেন!: 6 টি পদক্ষেপ
আপনার ইতিমধ্যে থাকা উপাদানগুলি ব্যবহার করে কীভাবে কোনও প্রতিরোধ/ধারণক্ষমতা অর্জন করবেন!: 6 টি পদক্ষেপ

ভিডিও: আপনার ইতিমধ্যে থাকা উপাদানগুলি ব্যবহার করে কীভাবে কোনও প্রতিরোধ/ধারণক্ষমতা অর্জন করবেন!: 6 টি পদক্ষেপ

ভিডিও: আপনার ইতিমধ্যে থাকা উপাদানগুলি ব্যবহার করে কীভাবে কোনও প্রতিরোধ/ধারণক্ষমতা অর্জন করবেন!: 6 টি পদক্ষেপ
ভিডিও: ✨Law of Devil EP 01 - EP 14 Full Version [MULTI SUB] 2024, নভেম্বর
Anonim
আপনার ইতিমধ্যে থাকা উপাদানগুলি ব্যবহার করে কীভাবে কোনও প্রতিরোধ/ধারণক্ষমতা অর্জন করবেন!
আপনার ইতিমধ্যে থাকা উপাদানগুলি ব্যবহার করে কীভাবে কোনও প্রতিরোধ/ধারণক্ষমতা অর্জন করবেন!

এটি শুধু অন্য একটি সিরিজ/সমান্তরাল সমান প্রতিরোধের ক্যালকুলেটর নয়! এই প্রোগ্রামটি হিসাব করে যে আপনি কিভাবে প্রতিরোধক/ক্যাপাসিটারগুলিকে একত্রিত করবেন যা আপনাকে বর্তমানে একটি লক্ষ্য প্রতিরোধ/ক্যাপাসিট্যান্স মান অর্জন করতে হবে যা আপনার প্রয়োজন।

আপনার কি কখনও একটি নির্দিষ্ট প্রতিরোধক বা ক্যাপাসিটরের প্রয়োজন আছে যা আপনার নেই বা এটি নেই? ভয় নেই! আপনি সম্ভবত সেই নির্দিষ্ট প্রতিরোধ বা ক্যাপ্যাসিট্যান্স মান তৈরি করতে পারেন যা আপনার ইতিমধ্যে রয়েছে। লক্ষ লক্ষ বিভিন্ন সংমিশ্রণের সাথে একটি বিশাল মাল্টিভেরিয়েবল অপটিমাইজেশন সমস্যা সমাধান করার পরিবর্তে, এই প্রোগ্রামটি ব্যবহার করুন!

শুধু প্রতিরোধক বা ক্যাপাসিটর নির্বাচন করুন, টার্গেট মান লিখুন, আপনি যে উপাদানগুলি ব্যবহার করতে চান তার সর্বাধিক সংখ্যা ইনপুট করুন, আপনার থাকা উপাদানগুলির মানগুলির একটি তালিকা লিখুন এবং গণনা ক্লিক করুন! আপনার লক্ষ্য মান অর্জনের জন্য কোন উপাদানগুলি ব্যবহার করতে হবে এবং কিভাবে সেগুলিকে সংযুক্ত করতে হবে তা প্রোগ্রামটি থুতু দেবে।

ক্যালকুলেটরটি পরীক্ষা করতে, এই ওয়েব অ্যাপ্লিকেশনটিতে যান।

সোর্স কোড দেখতে, এই Github সংগ্রহস্থল দেখুন।

এই নকশা সরঞ্জামটির ব্যবহারযোগ্যতা আরও উন্নত করার জন্য আপনার কোন পরামর্শ থাকলে দয়া করে আমাকে জানান!

ধাপ 1: পটভূমি

পটভূমি
পটভূমি

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

ব্যান্ড ইন্সট্রাকটেবল প্রজেক্টের যুদ্ধের অংশ হিসাবে আমার অঙ্গের সার্কিট ডিজাইন করার সময়, আমাকে একটি নির্দিষ্ট ফ্রিকোয়েন্সি অর্জনের জন্য ক্যাপাসিটরের সেরা সংমিশ্রণটি গণনা করার চেষ্টা করতে হয়েছিল। এই প্রক্রিয়াটি অবিশ্বাস্যভাবে ক্লান্তিকর ছিল এবং অবশেষে আমি হাল ছেড়ে দিয়েছিলাম এবং ক্যাপাসিটরের সংমিশ্রণগুলির সাথে গিয়েছিলাম যা শ্রবণযোগ্য ফ্রিকোয়েন্সি তৈরি করে। এখন এই ওয়েব অ্যাপ্লিকেশনের সাহায্যে, আমি একটি নির্দিষ্ট ফ্রিকোয়েন্সি এর জন্য আমার অঙ্গ ডিজাইন করতে পারি এবং কীবোর্ডের নোটগুলিতে এটি সুর করতে পারি! নিচের সমীকরণটি নির্দিষ্ট ফ্রিকোয়েন্সি গণনা করতে ব্যবহৃত হয় এবং অন্যান্য Instructables প্রকল্পে আলোচনা করা হয়।

f = 1 / (0.693 × C × (R1 + 2 × R2))

এই সমীকরণ ব্যবহার করে যেখানে R1 = 100 kOhm এবং R2 = 10 kOhm, আমি হিসাব করেছিলাম যে একটি 27.33 nF ক্যাপাসিটর একটি A4 নোট (ফ্রিকোয়েন্সি 440 Hz) তৈরি করবে। আমার প্রোগ্রাম ব্যবহার করে, আমি.001 এনএফ (একটি স্ট্যান্ডার্ড ক্যাপাসিটরের সহনশীলতার চেয়ে অনেক কম) এর মধ্যে একটি সমতুল্য ক্যাপ্যাসিট্যান্স মান গণনা করতে সক্ষম হয়েছিলাম যা আমি ইতিমধ্যেই পড়ে থাকা ক্যাপাসিটার ব্যবহার করে তৈরি করতে পারি। ফলস্বরূপ আউটপুট এবং কনফিগারেশন নীচে বর্ণিত হয়েছে। আমি এখন অনেক বেশি দক্ষ এবং কার্যকরভাবে আমার অঙ্গকে স্ট্যান্ডার্ড নোটের সঠিক ফ্রিকোয়েন্সিগুলিতে সুর করতে সক্ষম। আমি আশা করি আমি এই কাজটি শুরু করার জন্য করেছি। অঙ্গের উপর আমার ডেমো গান সম্ভবত অনেক ভালো শোনা যেত।

নিকটতম মান: 27.329 nF পার্থক্য: 0.001 nFC ক্যাপাসিটর কনফিগারেশন: C0 = 0.068 nF || C1 = 30 nF + C2 = 300 nF

প্রতিরোধক ক্যাপাসিটর সমান সমীকরণ

রেফারেন্সের জন্য, নীচে একটি সার্কিটে প্রতিরোধক এবং ক্যাপাসিটরের সংমিশ্রণের সমতুল্য সমীকরণ রয়েছে।

  • সিরিজের প্রতিরোধক (R1 + R2): Req = R1 + R2
  • সমান্তরালে প্রতিরোধক (R1 || R2): Req = 1/(1/R1 + 1/R2)
  • সিরিজের ক্যাপাসিটার (C1 + C2): Ceq = 1/(1/C1 + 1/C2)
  • সমান্তরালে ক্যাপাসিটার (C1 || C2): Ceq = C1 + C2

ধাপ 2: ইনপুট

ইনপুট
ইনপুট

এখানে 4 টি ইনপুট আপনাকে প্রদান করতে হবে:

  1. আপনি একটি প্রতিরোধক বা একটি ক্যাপাসিটরের জন্য একটি মান গণনা করছেন কিনা।
  2. লক্ষ্য প্রতিরোধ বা ক্যাপাসিট্যান্স মান এবং একক।
  3. লক্ষ্যমাত্রা অর্জনের জন্য আপনি সর্বাধিক সংখ্যক উপাদান ব্যবহার করতে চান (যেমন আমি আমার লক্ষ্য প্রতিরোধের মান অর্জনের জন্য 3 টির বেশি প্রতিরোধক ব্যবহার করতে চাই না)।
  4. আপনার বর্তমানে যে রেজিস্টার/ক্যাপাসিটরের মান আছে তার তালিকা। এই মানগুলি আপনার লক্ষ্য মান হিসাবে একই ইউনিটে থাকা উচিত (যেমন যদি আপনার লক্ষ্য মান 110 nF হয়, আপনার সমস্ত মান nF এ প্রদান করা উচিত)।

ধাপ 3: ফলাফল

ফলাফল
ফলাফল

আপনি আপনার ফলাফলের জন্য 3 টি আউটপুট পাবেন:

  1. নিকটতম মান - নিকটতম প্রতিরোধ/ক্যাপ্যাসিট্যান্স মান যা আপনি আপনার প্যারামিটার দিয়ে অর্জন করতে পেরেছিলেন।
  2. পার্থক্য - আপনার লক্ষ্য মান থেকে আপনার নিকটতম মান কত দূরে ছিল।
  3. প্রতিরোধক/ক্যাপাসিটর কনফিগারেশন - ব্যবহার করার জন্য প্রতিরোধক/ক্যাপাসিটারগুলির মানগুলির একটি তালিকা এবং তাদের কনফিগারেশন।

ধাপ 4: আপনার ফলাফল বোঝা

আপনার ফলাফল বোঝা
আপনার ফলাফল বোঝা
আপনার ফলাফল বোঝা
আপনার ফলাফল বোঝা

কনফিগারেশন আউটপুট একটি স্ট্যান্ডার্ড নোটেশন ব্যবহার করে। "+" মানে উপাদানগুলি ধারাবাহিক এবং "||" মানে উপাদান সমান্তরাল। অপারেটরদের সমান অগ্রাধিকার আছে এবং তারা বাম-থেকে-ডান সহযোগী মানে আপনি শর্তাবলী একসাথে বাম থেকে শুরু করে ডান দিকে চলে যান।

উদাহরণস্বরূপ, নিম্নলিখিত ফলাফলটি দেখুন:

প্রতিরোধক কনফিগারেশন: R0 = 15 Ohms + R1 = 470 Ohms || R2 = 3300 Ohms + R3 = 15000 Ohms

আপনি যদি উপরে আলোচিত নির্দেশিকাগুলি অনুসরণ করেন, আপনি দেখতে পারেন যে এটি নিম্নলিখিত সমীকরণ এবং উপরের চিত্রের সমতুল্য।

((R0+R1) || R2)+R3

ধাপ 5: আরো প্রকল্প

আরও প্রকল্পের জন্য, আমার পৃষ্ঠাগুলি দেখুন:

  • https://dargen.io/
  • https://github.com/mjdargen
  • https://www.instructables.com/member/mjdargen/

ধাপ 6: সোর্স কোড

সোর্স কোড দেখতে, এই Github সংগ্রহস্থল পরিদর্শন করুন অথবা নীচের জাভাস্ক্রিপ্ট দেখুন।

/* --------------------------------------------------------------- */

/* r/c ক্যালকুলেটর স্ক্রিপ্টিং*//* --------------------------------------- -------------------------*/ var নিকটতম_ভাল; // নিকটতম মান এ পর্যন্ত var var_ close_diff = 1000000.00; // ভ্যালের পার্থক্য এবং লক্ষ্য var নিকটতম = ; // অ্যারের উপাদানগুলির মান বিশদ বর্ণনা ser_par_config = ; // অ্যারে বিস্তারিত সিরিয়াল/সমান্তরাল var outputStr = ""; ফাংশন ক্যালকুলেটর ক্লিক () {// প্রতিটি নতুন ক্লিকের জন্য গ্লোবাল ভ্যালু ক্লিয়ার করুন close_val = 0; নিকটতম_ ডিফ = 1000000.00; নিকটতম = ; ser_par_config = ; var resultDisplay = document.getElementById ("resultRow"); var exampleDisplay = document.getElementById ("exampleRow"); var calcOutput = document.getElementById ("calcOutput"); var targetTextObj = document.getElementById ('targetText'); var numCompTextObj = document.getElementById ('numCompText'); var compValsTextObj = document.getElementById ('compValsText'); var target = parseFloat (targetTextObj.value); var numComp = parseInt (numCompTextObj.value); var compValsStr = compValsTextObj.value; var compVals = ; compVals [0] = ""; var i = 0; var errFlag = 0; // লক্ষ্য মান বিশ্লেষণে ত্রুটি যদি (isNaN (target)) {outputStr = "ত্রুটি চেক 'টার্গেট ভ্যালু' ইনপুট!"} // উপাদানগুলির সংখ্যা বিশ্লেষণে ত্রুটি যদি অন্যটি (isNaN (numComp)) {outputStr = "ত্রুটি পরীক্ষা ইনপুট! {var কমা = compValsStr.indexOf (","); var newInt = parseFloat (compValsStr.substring (0, কমা)); // উপাদান মূল্য তালিকা বিশ্লেষণে ত্রুটি, পতাকা সেট করুন যদি (isNaN (newInt)) {errFlag = 1; বিরতি; } compValsStr = compValsStr.substring (কমা+1, compValsStr.length); compVals = newInt; আমি ++; } var newInt = parseFloat (compValsStr); // উপাদান মান তালিকা বিশ্লেষণে ত্রুটি, পতাকা সেট করুন যদি (isNaN (newInt)) {errFlag = 1; } compVals = newInt; if (errFlag == 0) {if (document.getElementById ("resRadio")। চেক করা হয়েছে) {প্রতিরোধক (লক্ষ্য, numComp, compVals); } অন্যথায় যদি (document.getElementById ("capRadio")। চেক করা হয়েছে) {ক্যাপাসিটর (লক্ষ্য, numComp, compVals); }} // কম্পোনেন্ট ভ্যালু লিস্ট বিশ্লেষণে ত্রুটি resultDisplay.style.display = "ব্লক"; exampleDisplay.style.display = "flex"; // ফলাফল উইন্ডোতে নিচে স্ক্রোল করুন। } / * সেরা প্রতিরোধক কনফিগারেশন পুনরুদ্ধার করে এবং মুদ্রণ করে // প্রতিরোধের মানগুলির দৈর্ঘ্য var num_res = compVals.length; // (var i = 1; i <= numComp; i ++) {var data = ; resCombination (compVals, num_res, i, 0, data, target); } var ইউনিট = document.getElementById ("selected_unit")। মান; // মুদ্রণ ফলাফল outputStr = "নিকটতম মান:" + close_val.toFixed (3) + "" + ইউনিট + ""; outputStr + = "পার্থক্য:" + close_diff.toFixed (3) + "" + ইউনিট + ""; outputStr += "প্রতিরোধক কনফিগারেশন:"; জন্য (var i = 0; i <numComp; i ++) {if (i <close.length) {outputStr + = "R" + i + "=" + নিকটতম + "" + ইউনিট + ""; if (i+1 <close.length) {if (ser_par_config [i+1]) outputStr+= "||"; অন্যথায় outputStr + = " +"; }} বিরতি; }} /* একটি লক্ষ্য মান অর্জনের জন্য প্রতিরোধকগুলির সর্বোত্তম সংমিশ্রণ গণনা করে। * res - প্রতিরোধক মানগুলির ইনপুট অ্যারে * num_res - প্রতিরোধক মানগুলির ইনপুট অ্যারের আকার * num_comb - প্রতিরোধকের সংখ্যা অনুমোদিত * সূচক - চিরুনির সূচক * চিরুনি [- বর্তমান সমন্বয়ের অ্যারে * লক্ষ্য - লক্ষ্য মান * কোন রিটার্ন মান নেই - বৈশ্বিক মানগুলিতে বর্তমান সেরা সংমিশ্রণ পাস করে */ ফাংশন resCombination (res, num_res, num_comb, index, comb, target) {// বর্তমান সমন্বয় সম্পন্ন হলে (2, num_comb); // 2^(উপাদান সংখ্যা) var ser_par = ; // বুল অ্যারে সিরিয়াল বা সমান্তরাল নির্দিষ্ট করে প্রতিটি কম্পোনেন্ট var calc; // গণনা করা সমতুল্য প্রতিরোধের মান // প্রতিটি সম্ভাব্য সিরিজের মাধ্যমে ধাপ/বর্তমান সংমিশ্রণের সমান্তরাল কনফিগারেশন (var j = 0; j k) & 1; } // সিরিজ/সমান্তরাল কম্বো (var k = 0; k <num_comb; k ++) এর ভিত্তিতে সংমিশ্রণের জন্য গণনা করুন {// প্রথম সংখ্যা, শুধু যোগ করুন যদি (k == 0) calc = comb [k]; // শূন্য মানে সিরিজ, প্রতিরোধের মান যোগ করুন অন্যথায় (! ser_par [k]) calc += comb [k]; // এক মানে সমান্তরাল, বিপরীত ব্যয়ের সমষ্টি অন্য যদি (ser_par [k]) calc = (calc*comb [k])/(calc+comb [k]); } // পূর্ববর্তী সেরা তুলনায় পার্থক্য কম কিনা তা পরীক্ষা করে দেখুন যদি close_diff = Math.abs (calc - target); // শূন্য থেকে পরিষ্কার (var k = 0; k <num_comb; k ++) {নিকটতম [k] = 0; } // আপডেট নিকটতম মান এবং সিরিজ/সমান্তরাল অ্যারে (var k = 0; k <num_comb; k ++) {নিকটতম [k] = comb [k]; ser_par_config [k] = ser_par [k]; }}} 0 ফেরত; } // পুনরাবৃত্তিমূলকভাবে কল করুন এবং (var i = 0; i = num_comb-index; i ++) {comb [index] = res ; resCombination (res, num_res, num_comb, index+1, comb, target); }} / * সেরা ক্যাপাসিটরের কনফিগারেশন পুনরুদ্ধার করে এবং মুদ্রণ করে {// ক্যাপ্যাসিট্যান্স ভ্যালুর দৈর্ঘ্য var num_cap = compVals.length; // (var i = 1; i <= numComp; i ++) {var data = ; capCombination (compVals, num_cap, i, 0, data, target); } var ইউনিট = document.getElementById ("selected_unit")। মান; // মুদ্রণ ফলাফল outputStr = "নিকটতম মান:" + close_val.toFixed (3) + "" + ইউনিট + ""; outputStr + = "পার্থক্য:" + close_diff.toFixed (3) + "" + ইউনিট + ""; outputStr += "ক্যাপাসিটর কনফিগারেশন:"; জন্য (var i = 0; i <numComp; i ++) {if (i <close.length) {outputStr + = "C" + i + "=" + নিকটতম + "" + ইউনিট + ""; if (i+1 <close.length) {if (ser_par_config [i+1]) outputStr+= "||"; অন্যথায় outputStr + = " +"; }} বিরতি; }} /* একটি লক্ষ্য মান অর্জনের জন্য ক্যাপাসিটরের সেরা সংমিশ্রণ গণনা করে। * ক্যাপ - ক্যাপাসিটরের মানগুলির ইনপুট অ্যারে * num_cap - ক্যাপাসিটরের মানগুলির ইনপুট অ্যারের আকার * num_comb - অনুমোদিত ক্যাপাসিটরের সংখ্যা * সূচক - চিরুনির সূচক * চিরুনি [- বর্তমান সমন্বয়ের অ্যারে * লক্ষ্য - লক্ষ্য মান * কোন রিটার্ন ভ্যালু নেই - বৈশ্বিক মানসমূহে বর্তমান সেরা সংমিশ্রণ পাস করে (2, num_comb); // 2^(উপাদান সংখ্যা) var ser_par = ; // প্রতিটি উপাদান var calc- এর জন্য সিরিয়াল বা সমান্তরাল নির্দিষ্ট করে বুল অ্যারে; // গণনা করা সমতুল্য ক্যাপ্যাসিট্যান্স মান // প্রতিটি সম্ভাব্য সিরিজের মাধ্যমে পদক্ষেপ k) & 1; } // সিরিজ/সমান্তরাল কম্বো (var k = 0; k) এর উপর ভিত্তি করে সংমিশ্রণের জন্য গণনা করুন

প্রস্তাবিত: