সুচিপত্র:
- ধাপ 1: প্রয়োজনীয় উপাদান
- ধাপ 2: পরিকল্পিত চিত্র
- ধাপ 3: সার্কিট বোঝা
- ধাপ 4: ফ্রিকোয়েন্সি এবং ভোল্টেজ গণনা
- ধাপ 5: Arduino কোড
- ধাপ 6: উপসংহার
ভিডিও: Arduino ব্যবহার করে পাওয়ার সাপ্লাই ফ্রিকোয়েন্সি এবং ভোল্টেজ পরিমাপ: 6 টি ধাপ
2024 লেখক: John Day | [email protected]. সর্বশেষ পরিবর্তিত: 2024-01-30 07:57
ভূমিকা:
এই প্রকল্পের লক্ষ্য হল সরবরাহের ফ্রিকোয়েন্সি এবং ভোল্টেজ পরিমাপ করা, যা ভারতে 220 থেকে 240 ভোল্ট এবং 50Hz এর মধ্যে। আমি সিগন্যাল ক্যাপচার এবং ফ্রিকোয়েন্সি এবং ভোল্টেজ গণনার জন্য একটি Arduino ব্যবহার করেছি, আপনি অন্য যে কোন মাইক্রোকন্ট্রোলার বা বোর্ড ব্যবহার করতে পারেন। সার্কিটে একটি মুষ্টিমেয় উপাদান প্রয়োজন এবং সমস্ত ব্যবহারিক উদ্দেশ্যে এটি মোটামুটি সঠিক।
ধাপ 1: প্রয়োজনীয় উপাদান
- আরডুইনো উনো
- আইসি এলএম 358
- স্টান্স ডাউন ট্রান্সফরমার (220V থেকে 12V)
-
ক্যাপাসিটর:
- 0.1uF
- 2 x 1uF
-
প্রতিরোধক:
- 3 x 1kOhm
- 2 x 100kOhm
- 1.5kOhm
- 3.3kOhm
- 6.8kOhm
- 3 x 1N4148 ডায়োড
- রুটি বোর্ড এবং জাম্পার তার (alচ্ছিক)
ধাপ 2: পরিকল্পিত চিত্র
উপরের সার্কিটে, ট্রান্সফরমার প্রাইমারি সাপ্লাই মেইনের সাথে সংযুক্ত এবং প্রাইমারি আমাদের মেজারিং সার্কিটের সাথে সংযুক্ত
ধাপ 3: সার্কিট বোঝা
কার্যকারিতা অনুসারে, এই সার্কিটটিকে চারটি ভাগে ভাগ করা যায়:
উত্তর: জিরো ক্রসিং ডিটেক্টর সার্কিট
এই সার্কিট একটি 5V বর্গ পালস উৎপন্ন করে যখনই সাইনওয়েভ পজিটিভ থেকে নেগেটিভে যায়। প্রতিরোধক R1 D1 এবং D2 এর সাথে মিলিত হয়ে ডায়োড জংশনে ইনপুট ভোল্টেজ সুইং -0.6V থেকে +5.6V (ডায়োড ফরোয়ার্ড ভোল্টেজ 0.6V বলে ধরে নিচ্ছে) সীমাবদ্ধ করে। উপরন্তু, আপনি R1 এর মান বৃদ্ধি করে সার্কিটের ইনপুট ভোল্টেজ পরিসীমা বাড়িয়ে তুলতে পারেন।
প্রতিরোধক R2 এবং R3 নেগেটিভ ভোল্টেজ সুইং -0.24 ভোল্টকে সীমাবদ্ধ করার জন্য একটি ভোল্টেজ ডিভাইডার গঠন করে কারণ LM358 এর ইনপুট কমন -মোড ভোল্টেজ -0.3 ভোল্টে সীমাবদ্ধ।
রোধকারী R4, R5, ক্যাপাসিটর C1 এবং op-amp (এখানে একটি তুলনাকারী হিসাবে ব্যবহৃত হয়) Schmitt ট্রিগার সার্কিট গঠন করে যেখানে প্রতিরোধক R4 এবং R5 মাটির উপরে ইনপুট +49.5mV এ হিস্টেরিসিস সেট করে। আরও প্রক্রিয়াকরণের জন্য শ্মিট ট্রিগারের আউটপুট Arduino PIN2 কে খাওয়ানো হয়।
বি: বিচ্ছিন্নতা এবং ভোল্টেজ স্টেপ ডাউন
নাম অনুসারে এই অংশটি বিচ্ছিন্ন করে এবং ভোল্টেজকে প্রায় 12Vrms এ নামিয়ে দেয়। স্টেপ-ডাউন ভোল্টেজটি ইন্সট্রুমেন্টেশন সার্কিটে আরও খাওয়ানো হয়।
সি: পিক ডিটেক্টর সার্কিট
এই সার্কিট ইনপুট সিগন্যালের সর্বোচ্চ শিখর ভোল্টেজ নির্ধারণ করে। প্রতিরোধক বিভাজক R6 এবং R7 ইনপুট ভোল্টেজ 0.23 এর একটি ফ্যাক্টর দ্বারা হ্রাস করে (12Vrms 2.76Vrms এ হ্রাস পায়)। ডায়োড D3 সংকেতের শুধুমাত্র ইতিবাচক অর্ধচক্র পরিচালনা করে। C2 জুড়ে ভোল্টেজ সংশোধিত সংকেতের সর্বোচ্চ মান পর্যন্ত বৃদ্ধি পায়, যা ভোল্টেজের আরও হিসাব করার জন্য Arduino এনালগ পিন A0 কে খাওয়ানো হয়।
উপরন্তু, আপনি এই সার্কিটটিকে এখানে উল্লেখিত একটি নির্ভুলতা পিক ডিটেক্টর সার্কিট দিয়ে প্রতিস্থাপন করতে পারেন। কিন্তু আমার প্রদর্শনের উদ্দেশ্যে, উপরের সার্কিট যথেষ্ট হবে।
ডি: আরডুইনো
এই অংশে, Arduino শ্মিট ট্রিগার সার্কিট দ্বারা উৎপন্ন বর্গ ডালগুলি ধরে এবং পিক ডিটেক্টর সার্কিট থেকে এনালগ ভোল্টেজ পড়ে। বর্গ পালস (যা এসি সাপ্লাই টাইম ব্যক্তির সমান) এবং সরবরাহের ভোল্টেজের সময়কাল (অতএব ফ্রিকোয়েন্সি) নির্ধারণ করতে ডেটা আরও প্রক্রিয়া করা হয়।
ধাপ 4: ফ্রিকোয়েন্সি এবং ভোল্টেজ গণনা
ফ্রিকোয়েন্সি গণনা:
Arduino এর সাহায্যে, আমরা সংকেতের সময়কাল T পরিমাপ করতে পারি। শূন্য-ক্রসিং ডিটেক্টর থেকে বর্গ তরঙ্গ ডাল 2 পিন খাওয়ানো হয়, সেখান থেকে আমরা প্রতিটি নাড়ির সময়কাল পরিমাপ করতে পারি। আমরা Arduino এর অভ্যন্তরীণ টাইমার (বিশেষ করে টাইমার 1) ব্যবহার করতে পারি, যাতে ইন্টারাপ্টের সাহায্যে বর্গ নাড়ির দুইটি উঠতি প্রান্তের মধ্যে সময়কাল গণনা করা যায়। টাইমার প্রতি ক্লক সাইকেলে 1 দ্বারা বৃদ্ধি পায় (প্রেসকলার = 1 ছাড়া) এবং মান টিসিএনটি 1 রেজিস্টারে সংরক্ষণ করা হয়। অতএব 16Mhz ঘড়ি প্রতি মাইক্রোসেকেন্ডে কাউন্টারে 16 বৃদ্ধি করে। একইভাবে prescaler = 8 এর জন্য টাইমার প্রতি মাইক্রোসেকেন্ডে 2 দ্বারা বৃদ্ধি পায়। অতএব দুটি উঠতি প্রান্তের মধ্যে সময়কাল
T = (TCNT1 মান) / প্রতিটি গণনার জন্য নেওয়া সময়
যেখানে, প্রতিটি গণনার জন্য সময় নেওয়া হয়েছে = প্রেসকলার / (Arduino ঘড়ির গতি (16MHz)
অতএব, ফ্রিকোয়েন্সি f = 1 / T = (Arduino ঘড়ির গতি (16MHz) / (Prescaler * TCNT! মান)
তাই টাইমার গতি (Hz) = (Arduino ঘড়ির গতি (16MHz)) / prescaler দ্বারা দেওয়া হয়
এবং সংকেতের ফ্রিকোয়েন্সি = (Arduino ঘড়ির গতি
অনুরূপভাবে, আমরা f = 1/T সম্পর্ক থেকে ফ্রিকোয়েন্সি f গণনা করতে পারি।
ভোল্টেজ গণনা:
Arduino এর অনবোর্ড এডিসির 10 বিট (সম্ভাব্য মান = 2^10 = 1024) এর রেজোলিউশন রয়েছে, 0-1023 এর পরিসরে মানগুলি ফেরত দেয়। সংশ্লিষ্ট এনালগ ভোল্টেজ V গণনা করতে আমাদের নিম্নলিখিত সম্পর্ক ব্যবহার করতে হবে
ভি = (এডিসি রিডিং) * 5/1023
সাপ্লাই ভোল্টেজ Vs (rms) গণনা করার জন্য আমাদের অবশ্যই ট্রান্সফরমার রেশিও, রেজিস্টর ডিভাইডার R6R7 এবং পিক ডিটেক্টর সার্কিট বিবেচনা করতে হবে। আমরা সহজভাবে বিভিন্ন ফ্যাক্টর/অনুপাত একসাথে রাখতে পারি:
ট্রান্সফরমার অনুপাত = 12/230 = 0.052
রোধকারী বিভাজক = R7/(R6 + R7) = 0.23
পিক ডিটেক্টর সার্কিটে = 1.414
বনাম (আরএমএস) = ভি/(1.414*0.052*0.23) = (এডিসি রিডিং)*0.289
এটি লক্ষ করা উচিত যে এই মানটি প্রকৃত মান থেকে অনেক দূরে, প্রধানত প্রকৃত ট্রান্সফরমার অনুপাত এবং ডায়োড ফরোয়ার্ড ভোল্টেজ ড্রপের কারণে। সার্কিট একত্রিত করার পরে ফ্যাক্টর নির্ধারণ করা এটিকে এড়ানোর একটি উপায়। এটি একটি মাল্টিমিটারের সাহায্যে সরবরাহের ভোল্টেজ এবং ক্যাপাসিটরের C2 জুড়ে ভোল্টেজ পরিমাপ করে, তারপর Vs (rms) গণনা করে নিম্নরূপ:
বনাম (rms) = ((সরবরাহ ভোল্টেজ *5)/(C2 *1023 জুড়ে ভোল্টেজ)) *(ADC রিডিং)
আমার ক্ষেত্রে, বনাম (আরএমএস) = 0.33*(এডিসি পড়া)
ধাপ 5: Arduino কোড
#ডিফাইন ভোল্ট_ইন A0 // এনালগ ভোল্টেজ রিড পিন
উদ্বায়ী uint16_t t_period; uint16_t ADC_value = 0; ভাসা ভোল্ট, freq; অকার্যকর isr () {t_period = TCNT1; // t_period TCNT1 = 0 এ TCNT1 মান সংরক্ষণ করুন; // রিসেট টাইমার 1 ADC_value = analogRead (volt_in); // read analog voltage} float get_freq () {uint16_t timer = t_period; যদি (টাইমার == 0) রিটার্ন 0; // শূন্য দ্বারা বিভাজন এড়াতে 16000000.0/(8UL*টাইমার) ফেরত দিন; // ফ্রিকোয়েন্সি দেওয়া হয় f = clk_freq/(prescaler*timeperiod)} void setup () {TCCR1A = 0; TCCR1B = বিট (CS11); // 8 টিসিএনটি 1 = 0 তে প্রেসক্যালার সেট করুন; // রিসেট টাইমার 1 মান TIMSK1 = বিট (TOIE1); // সক্ষম টাইমার 1 ওভারফ্লো ইন্টারাপ্ট EIFR | = বিট (INTF0); // পরিষ্কার INT0 বাধা পতাকা Serial.begin (9600); } অকার্যকর লুপ () {attachInterrupt (0, isr, RISING); // বাহ্যিক বাধা (INT0) বিলম্ব (1000) সক্ষম করুন; detachInterrupt (0); freq = get_freq (); ভোল্ট = ADC_value*0.33; স্ট্রিং বুফ; buf += স্ট্রিং (freq, 3); buf += F ("Hz -t"); buf += স্ট্রিং (ভোল্ট); buf += F ("Volts"); Serial.println (buf); }
ধাপ 6: উপসংহার
আপনি একটি ব্রেডবোর্ডে সার্কিট একত্রিত করতে পারেন এবং কোডটি টুইক করতে পারেন এবং তথ্য সংরক্ষণের জন্য একটি এসডি কার্ড যোগ করতে পারেন, যা পরে বিশ্লেষণ করা যেতে পারে। এরকম একটি উদাহরণ হল, আপনি সর্বোচ্চ সময়ে ভোল্টেজ এবং ফ্রিকোয়েন্সি বিশ্লেষণ করতে পারেন।
আমি যে সার্কিটটি ব্রেডবোর্ডে একত্রিত করেছি তাতে LM358 (ডুয়েল ওপ্যাম্প) এর পরিবর্তে LM324 (quad opamp) ব্যবহার করা হয়েছে কারণ আমার কাছে সেই মুহূর্তে আইসি ছিল না এবং COVID-19 মহামারীর কারণে দেশব্যাপী লকডাউন আমার জন্য নতুন আইসি পাওয়া কঠিন করে তুলেছিল । তবুও, এটি সার্কিটের কাজকে প্রভাবিত করবে না।
কোন পরামর্শ এবং প্রশ্নের জন্য নীচের মন্তব্য বিনা দ্বিধায়।
প্রস্তাবিত:
Arduino ব্যবহার করে প্রধান ফ্রিকোয়েন্সি পরিমাপ করুন: 7 টি ধাপ (ছবি সহ)
Arduino ব্যবহার করে প্রধান ফ্রিকোয়েন্সি পরিমাপ করুন: 3rd রা এপ্রিল, ভারতের প্রধানমন্ত্রী শ্রী। করোনা ভাইরাসের বিরুদ্ধে ভারতের লড়াই উপলক্ষে ৫ এপ্রিল রাত :00 টায় নরেন্দ্র মোদি ভারতীয়দের কাছে তাদের বাতি নিভিয়ে প্রদীপ (দিয়া) জ্বালানোর আবেদন করেছিলেন। ঘোষণার ঠিক পরে, বড় বিশৃঙ্খলা হয়েছিল
LM317 ব্যবহার করে DIY পাওয়ার সাপ্লাই - Lm 317 ভেরিয়েবল ভোল্টেজ আউটপুট: 12 টি ধাপ
LM317 ব্যবহার করে DIY পাওয়ার সাপ্লাই | Lm 317 ভেরিয়েবল ভোল্টেজ আউটপুট: আজ আমরা শিখব কিভাবে আপনার ছোট প্রজেক্টের জন্য একটি ছোট পাওয়ার সাপ্লাই ইউনিট তৈরি করতে হয়। LM317 কম কারেন্ট পাওয়ার সাপ্লাই এর জন্য ভালো পছন্দ হবে। Lm317 ভেরিয়েবল আউটপুট ভোল্টেজ প্রদান করে যা প্রতিরোধের মান নির্ভর করে আসলে সংযুক্ত। ওয়াই
LM317 ভোল্টেজ রেগুলেটর ব্যবহার করে নিয়মিত ভোল্টেজ ডিসি পাওয়ার সাপ্লাই: 10 টি ধাপ
LM317 ভোল্টেজ রেগুলেটর ব্যবহার করে অ্যাডজাস্টেবল ভোল্টেজ ডিসি পাওয়ার সাপ্লাই: এই প্রকল্পে, আমি LM317 পাওয়ার সাপ্লাই সার্কিট ডায়াগ্রাম সহ LM317 IC ব্যবহার করে একটি সহজ অ্যাডজাস্টেবল ভোল্টেজ ডিসি পাওয়ার সাপ্লাই ডিজাইন করেছি। যেহেতু এই সার্কিটটিতে একটি ইনবিল্ট ব্রিজ রেকটিফায়ার রয়েছে তাই আমরা সরাসরি ইনপুটে 220V/110V AC সরবরাহ করতে পারি।
IRFZ44N মোসফেট ব্যবহার করে পরিবর্তনশীল ভোল্টেজ পাওয়ার সাপ্লাই সার্কিট: 5 টি ধাপ
IRFZ44N মোসফেট ব্যবহার করে ভেরিয়েবল ভোল্টেজ পাওয়ার সাপ্লাই সার্কিট: হাই বন্ধু, আজ আমি মোসফেট IRFZ44N ব্যবহার করে ভেরিয়েবল ভোল্টেজ পাওয়ার সাপ্লাই করতে যাচ্ছি। সার্কিট চালানোর জন্য বিভিন্ন সার্কিটে আমাদের বিভিন্ন ভোল্টেজের প্রয়োজন হয়। সুতরাং এই সার্কিট ব্যবহার করে আমরা ইচ্ছা ভোল্টেজ পেতে পারি (পর্যন্ত -15V) শুরু করা যাক
হাই ফ্রিকোয়েন্সি এবং ডিউটি সাইকেল কিভাবে পরিমাপ করা যায়, একই সাথে মাইক্রোকন্ট্রোলার ব্যবহার করে।: 4 টি ধাপ
কিভাবে মাইক্রোকন্ট্রোলার ব্যবহার করে একই সাথে উচ্চ ফ্রিকোয়েন্সি এবং ডিউটি সাইকেল পরিমাপ করবেন: আমি জানি আপনি কি ভাবেন: " হু? সংকেত ফ্রিকোয়েন্সি পরিমাপ করার জন্য মাইক্রোকন্ট্রোলারগুলি কীভাবে ব্যবহার করবেন সে সম্পর্কে প্রচুর নির্দেশাবলী রয়েছে। জোয়ান। " তবে অপেক্ষা করুন, এর মধ্যে একটি নতুনত্ব রয়েছে: আমি একটি মাইক্রো থেকে অনেক বেশি ফ্রিকোয়েন্সি পরিমাপের একটি পদ্ধতি বর্ণনা করি