সুচিপত্র:

এসি কারেন্ট মনিটরিং ডেটা লগার: 9 টি ধাপ (ছবি সহ)
এসি কারেন্ট মনিটরিং ডেটা লগার: 9 টি ধাপ (ছবি সহ)
Anonim
এসি কারেন্ট মনিটরিং ডেটা লগার
এসি কারেন্ট মনিটরিং ডেটা লগার

হাই সবাই, আমার প্রথম নির্দেশযোগ্য স্বাগতম! দিনে আমি একটি কোম্পানির জন্য একটি পরীক্ষা প্রকৌশলী যা শিল্প গরম করার সরঞ্জাম সরবরাহ করে, রাতে আমি একটি আগ্রহী প্রযুক্তি শখ এবং DIY'er। আমার কাজের অংশ হিটারের পারফরম্যান্স পরীক্ষা করা, এই উপলক্ষে আমি 1000hrs এর বেশি 8 টি ডিভাইসের RMS বর্তমান ড্র পর্যবেক্ষণ করতে এবং পরে ফলাফল গ্রাফ করতে ডেটা লগ করতে সক্ষম হতে চেয়েছিলাম। আমার কাছে একটি ডেটা লগার অ্যাক্সেস আছে কিন্তু এটি ইতিমধ্যে অন্য প্রকল্পের জন্য প্রতিশ্রুতিবদ্ধ ছিল এবং আমার কিছু কম খরচের প্রয়োজন ছিল, তাই আমি এই মৌলিক ডেটালগারের সাথে একত্রিত হওয়ার সিদ্ধান্ত নিয়েছি।

প্রকল্পটি এনালগ টু ডিজিটাল কনভার্টার (ADC) এর মাধ্যমে অ্যানালগ সেন্সর পড়ার জন্য একটি Arduino Uno ব্যবহার করে এবং একটি SD কার্ডে টাইম স্ট্যাম্প দিয়ে ডেটা রেকর্ড করে। সার্কিট ডিজাইনের সাথে অনেক তত্ত্ব এবং গণনা জড়িত, তাই একেবারে সবকিছু ব্যাখ্যা করার পরিবর্তে, আমি আপনাকে এটি কীভাবে তৈরি করব তা দেখাব। যদি আপনি সম্পূর্ণ হিট দেখতে আগ্রহী হন তবে আমাকে মন্তব্যগুলিতে জানান এবং আমি আরও ব্যাখ্যা করব।

বিঃদ্রঃ:

ট্রু আরএমএস গণনা সম্পর্কে আমার প্রচুর প্রশ্ন ছিল। এই যন্ত্রটি তরঙ্গের চূড়া ক্যাপচার করার জন্য একটি অর্ধ তরঙ্গ সংশোধনকারী ব্যবহার করে, যা RMS দিতে 0.707 দ্বারা গুণিত হতে পারে। অনুগতভাবে এটি কেবল রৈখিক লোডের সাথে একটি সঠিক ফলাফল দেবে (যেমন বর্তমান পরিমাপ করা হচ্ছে একটি বিশুদ্ধ সাইন ওয়েভ)। অ-রৈখিক সরবরাহ বা লোড যা ত্রিভুজাকার, আয়তক্ষেত্রাকার বা অন্য কোন অ-সাইনাস তরঙ্গাকৃতি দেয় তা সত্যিকারের আরএমএস গণনা দেবে না। এই ডিভাইসটি এসি কারেন্ট পরিমাপ করে শুধুমাত্র এটি ভোল্টেজ পরিমাপ করার জন্য ডিজাইন করা হয়নি, সম্ভবত এটি পাওয়ার ফ্যাক্টর গণনা বা পরিমাপ করে না। কিভাবে একটি পাওয়ার ফ্যাক্টর মিটার তৈরি করতে হয় তা আমার অন্যান্য নির্দেশাবলী দেখুন যা এটি করতে ব্যবহার করা যেতে পারে। অনেক মানুষ এটাও বলেছে যে একটি 2.5V সেন্ট্রলাইন সহ একটি সোজা এসি কাপলিং ভাল, তবে এটি জটিলতার সূচনা করে কারণ এতে যথেষ্ট দ্রুত ডিজিটাল স্যাম্পলিং রেট, শক্তিশালী গড়/ডেটা স্মুথিং ইত্যাদি থাকা এবং এই অনিশ্চয়তা পরিমাপের চেয়ে অনেক বেশি কাঁচা মান। ব্যক্তিগতভাবে, আমি যেখানে সম্ভব হার্ডওয়্যার সমাধান এবং সহজ কোড পছন্দ করি তাই আমি সেই পদ্ধতিতে আগ্রহী নই। নির্ভুলতার ভিত্তিতে আমি বিশ্বাস করি এটি পরেরটির চেয়ে অনেক ভাল এবং আপনি পরে দেখবেন আমার ফলাফলে ক্রমাঙ্কনের পরে 1.0 এর কাছাকাছি একটি রিগ্রেশন কোঅফিশিয়েন্ট আছে।

ধাপ 1: বর্তমান ট্রান্সফরমার

বর্তমান ট্রান্সফরমার
বর্তমান ট্রান্সফরমার
বর্তমান ট্রান্সফরমার
বর্তমান ট্রান্সফরমার

এই প্রকল্প HMCT103C 5A/5MA বর্তমান ট্রান্সফরমার ব্যবহার করে। এটির 1: 1000 টার্ন অনুপাত রয়েছে যার অর্থ কন্ডাক্টরের মধ্য দিয়ে প্রবাহিত প্রতিটি 5A এর জন্য, 5mA সিটি দিয়ে প্রবাহিত হবে। একটি ভোল্টেজ পরিমাপ করার অনুমতি দেওয়ার জন্য সিটি এর দুটি টার্মিনাল জুড়ে একটি প্রতিরোধককে সংযুক্ত করা প্রয়োজন। এই উপলক্ষে আমি একটি 220 ওহম প্রতিরোধক ব্যবহার করেছি, অতএব ওহমের আইন V = IR ব্যবহার করে, CT এর আউটপুট হবে 1.1 ভোল্ট এসি, প্রতি 5mA CT কারেন্টের জন্য (অথবা পরিমাপ করা প্রতিটি 5A)। CT গুলিকে স্ট্রিপ বোর্ডে প্রতিরোধক এবং কিছু যন্ত্রের তারের সাথে উড়ন্ত সীসা তৈরি করা হয়েছিল। আমি 3.5 মিমি পুরুষ অডিও জ্যাক প্লাগ দিয়ে লিডগুলি বন্ধ করেছি।

বর্তমান ট্রান্সফরমারের জন্য ডেটশীট এখানে

তথ্য তালিকা

ধাপ 2: সিগন্যাল কন্ডিশনিং

সিগন্যাল কন্ডিশনিং
সিগন্যাল কন্ডিশনিং
সিগন্যাল কন্ডিশনিং
সিগন্যাল কন্ডিশনিং

সিটি থেকে সংকেত দুর্বল হবে তাই বাড়ানো প্রয়োজন। এর জন্য আমি একটি UA741 ডুয়েল রেল অপ amp ব্যবহার করে একটি সাধারণ পরিবর্ধক সার্কিট একসাথে বিক্রি করেছি। এই ক্ষেত্রে লাভ Rf / Rin (150k / 1k) সূত্র ব্যবহার করে 150 এ সেট করা হয়েছে। তবে এম্প্লিফায়ার থেকে আউটপুট সিগন্যাল এখনও এসি, অপ-এম্পের আউটপুটের ডায়োড এসির নেতিবাচক অর্ধচক্রকে কেটে দেয় এবং তরঙ্গটিকে তরল মসৃণ করতে একটি 0.1uF ক্যাপাসিটরের কাছে ধনাত্মক ভোল্টেজ প্রেরণ করে। সার্কিট তৈরির অংশগুলি নীচে দেওয়া হল:

  • V1-এই চিত্রের মধ্যে এটি নির্বিচারে, এটি কেবল সংকেত ভোল্টেজকে প্রতিনিধিত্ব করে যা অপ-অ্যাম্পের নন-ইনভার্টিং ইনপুটে খাওয়ানো হয়।
  • R1 - এটি প্রতিক্রিয়া প্রতিরোধক (Rf) নামে পরিচিত এবং 150k তে সেট করা আছে
  • R2 - এটি ইনপুট প্রতিরোধক (Rin) নামে পরিচিত এবং 1k তে সেট করা হয়
  • 741 - এটি uA741 ইন্টারগ্রেটেড সার্কিট
  • ভিসিসি - ইতিবাচক সরবরাহ রেল +12 ভি
  • VEE - নেতিবাচক সরবরাহ রেল -12 V
  • ডি 1 - হাফ ওয়েভ কি সিগন্যাল ডায়োড 1 এন 4001 সংশোধন করছে?
  • C3 - এই ক্যাপ্যাক্টর একটি নির্দিষ্ট সময়ের জন্য ডিসি সিগন্যাল ধারণ করে

ছবি 2 এ আপনি দেখতে পারেন এটি ভেরোবোর্ড এবং টিনযুক্ত তামার তার ব্যবহার করে একত্রিত হয়েছিল। পিসিবি স্ট্যান্ড অফের জন্য 4 টি গর্ত ড্রিল করা হয়েছিল যাতে সেগুলি স্ট্যাক করা যায় (কারণ সেখানে আটটি চ্যানেল রয়েছে সেখানে মোট আটটি এম্প্লিফায়ার সার্কিট থাকা দরকার।

ধাপ 3: পাওয়ার সাপ্লাই

পাওয়ার সাপ্লাই
পাওয়ার সাপ্লাই
পাওয়ার সাপ্লাই
পাওয়ার সাপ্লাই
পাওয়ার সাপ্লাই
পাওয়ার সাপ্লাই

যদি আপনি স্ক্র্যাচ থেকে এটি তৈরি করতে চান না তবে আপনি উপরের চিত্রের মতো চীন থেকে প্রি-অ্যাসেম্বল্ড বোর্ড কিনতে পারেন, তবে আপনার এখনও 3VA ট্রান্সফরমারের প্রয়োজন হবে (240V থেকে 12V ধাপ নিচে)। একটি ছবি আমাকে প্রায় £ 2.50 খরচ করে

প্রকল্পটি পাওয়ার জন্য আমি আমার নিজের দ্বৈত রেল 12VDC বিদ্যুৎ সরবরাহ করার সিদ্ধান্ত নিয়েছি। এটি সুবিধাজনক ছিল কারণ op -amps এর জন্য প্রয়োজন +12V, 0V, -12V, এবং Arduino Uno 14 VDC পর্যন্ত যে কোন সরবরাহ গ্রহণ করতে পারে। সার্কিট তৈরির অংশগুলি নীচে দেওয়া হল:

  • V1 - এটি প্রধান সকেট 240V 50Hz থেকে সরবরাহের প্রতিনিধিত্ব করে
  • T1 - এটি একটি ছোট 3VA ট্রান্সফরমার যা আমি মিথ্যা বলছিলাম। এটা গুরুত্বপূর্ণ যে ট্রান্সফরমারটি সেকেন্ডারিতে একটি কেন্দ্রীয় ট্যাপ আছে যা 0V অর্থাৎ মাটিতে সংযুক্ত হবে
  • D1 থেকে D4 - এটি 1N4007 ডায়োড ব্যবহার করে একটি পূর্ণ তরঙ্গ সেতু সংশোধনকারী
  • C1 এবং C2 - 35V ইলেক্ট্রোলাইটিক ক্যাপাসিটার 2200uF (35V হতে হবে কারণ ইতিবাচক এবং নেতিবাচক মধ্যে সম্ভাব্যতা 30V পৌঁছাবে)
  • U2 - LM7812, একটি 12V পজিটিভ ভোল্টেজ নিয়ন্ত্রক
  • U3 - LM7912, একটি 12V নেগেটিভ ভোল্টেজ রেগুলেটর (78xx এবং 79xx IC এর মধ্যে পিনের পার্থক্য লক্ষ্য করার জন্য সতর্ক থাকুন!)
  • C3 এবং C4 - 100nF স্মুথিং ক্যাপাসিটার 25V ইলেক্ট্রোলাইটিক
  • C5 এবং C6 - 10uF সিরামিক ডিস্ক ক্যাপাসিটার

আমি স্ট্রিপবোর্ডে উপাদানগুলি বিক্রি করেছি, এবং খালি একক কোর টিনযুক্ত তামার তারের সাথে উল্লম্ব ট্র্যাকগুলিতে যোগদান করেছি। উপরের ছবি 3 আমার DIY পাওয়ার সাপ্লাই দেখায়, দু sorryখিত ছবিতে প্রচুর জাম্পার আছে!

ধাপ 4: ডিজিটাল কনভার্টার থেকে এনালগ

এনালগ টু ডিজিটাল কনভার্টার
এনালগ টু ডিজিটাল কনভার্টার
এনালগ টু ডিজিটাল কনভার্টার
এনালগ টু ডিজিটাল কনভার্টার

আরডুইনো ইউনো ইতিমধ্যেই 10-বিট এডিসিতে নির্মিত, তবে সেখানে মাত্র 6 টি অ্যানালগ ইনপুট রয়েছে। অতএব আমি ADS1115 16-বিটের সাথে দুটি ADC ব্রেকআউট ব্যবহার করার সিদ্ধান্ত নিয়েছি। এটি 2^15 = 32767 বিটকে 0-4.096V (4.096V হল ব্রেকআউটের অপারেটিং ভোল্টেজ) থেকে ভোল্টেজের মাত্রা উপস্থাপন করতে দেয়, এর মানে হল প্রতি বিট 0.000125V প্রতিনিধিত্ব করে! এছাড়াও, যেহেতু এটি I2C বাস ব্যবহার করে, এর মানে হল যে 4 টি ADC পর্যন্ত সমাধান করা যেতে পারে, যদি ইচ্ছা হয় তবে 16 টি চ্যানেল পর্যবেক্ষণ করা যায়।

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

ধাপ 5: মাইক্রোকন্ট্রোলার

মাইক্রোকন্ট্রোলার
মাইক্রোকন্ট্রোলার

উপরে বর্ণিত কন্ট্রোলার হিসাবে আমি বেছে নিয়েছিলাম একটি Arduino Uno, এটি একটি ভাল পছন্দ ছিল কারণ এটিতে অনেকগুলি বোর্ড রয়েছে এবং কার্যকারিতা রয়েছে যা অন্যথায় পৃথকভাবে তৈরি করা প্রয়োজন। প্লাস এটি বিশেষভাবে নির্মিত 'ieldsাল' এর সাথে সামঞ্জস্যপূর্ণ। এই উপলক্ষে আমি সমস্ত ফলাফল টাইমস্ট্যাম্প করার জন্য একটি বাস্তব সময় ঘড়ি এবং একটি.csv বা.txt ফাইলে ফলাফল রেকর্ড করার জন্য একটি এসডি কার্ড লেখক প্রয়োজন। ভাগ্যক্রমে, Arduino ডেটা-লগিং ieldাল উভয়ই একটি ieldাল রয়েছে যা অতিরিক্ত সোল্ডারিং ছাড়াই মূল Arduino বোর্ডে ফিটগুলিকে ধাক্কা দেয়। Shালটি RTClib এবং SD কার্ড লাইব্রেরির সাথে সামঞ্জস্যপূর্ণ তাই কোন বিশেষজ্ঞ কোডের প্রয়োজন নেই।

ধাপ 6: সমাবেশ

সমাবেশ
সমাবেশ
সমাবেশ
সমাবেশ
সমাবেশ
সমাবেশ

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

ধাপ 7: কোড আপলোড করা হচ্ছে

Arduino এ কোড আপলোড করুন, অথবা আমার Github repo থেকে কোডটি পান

github.com/smooth-jamie/datalogger.git

ধাপ 8: ক্রমাঙ্কন

ক্রমাঙ্কন
ক্রমাঙ্কন
ক্রমাঙ্কন
ক্রমাঙ্কন
ক্রমাঙ্কন
ক্রমাঙ্কন

তাত্ত্বিকভাবে পরিমাপ করা বর্তমানটি মিলিত বেশ কয়েকটি জিনিসের ফলাফল হবে:

পরিমাপকৃত amps = (((a *0.45)/150)/(1.1/5000))/1000 যেখানে 'a' হল পরিবর্ধক থেকে সংকেত ভোল্টেজ

0.45 হল অ্যাম্প্লিফায়ার সার্কিটের ভাউটের rms মান, 150 হল op-amp লাভ (Rf / Rin = 150k / 1k), 1.1 হল CT এর পূর্ণ স্কেল ভোল্টেজ আউটপুট যখন পরিমাপ করা amps 5A হয়, 5000 কেবল 5A হয় mA, এবং 1000 হল ট্রান্সফরমারের পাল্লার পরিমাণ। এটি সহজ করা যেতে পারে:

পরিমাপ করা amps = (b * 9.216) / 5406555 যেখানে b এডিসি রিপোর্ট করা মান

এই সূত্রটি Arduino 10-bit ADC ব্যবহার করে পরীক্ষা করা হয়েছিল এবং মাল্টিমিটার মান এবং Arduino উত্পন্ন মানের মধ্যে পার্থক্য 11% দ্বারা পরিলক্ষিত হয়েছিল যা একটি অগ্রহণযোগ্য বিচ্যুতি। ক্রমাঙ্কনের জন্য আমার পছন্দের পদ্ধতি হল একটি স্প্রেডশীটে মাল্টিমিটারে ADC মান বনাম কারেন্ট রেকর্ড করা এবং তৃতীয় অর্ডার বহুপদী প্লট করা। এই থেকে ঘন সূত্রটি পরিমাপিত বর্তমান গণনা করার সময় আরও ভাল ফলাফল দিতে ব্যবহার করা যেতে পারে:

(ax -3) + (bx -2) + (cx -1) + d

A, b, c, এবং d এর সহগ একটি সাধারণ ডাটা টেবিল থেকে এক্সেলে গণনা করা হয়, x হল আপনার ADC মান।

ডেটা পাওয়ার জন্য আমি একটি সিরামিক 1k ভেরিয়েবল রেসিস্টার (রিওস্ট্যাট), এবং 12v ট্রান্সফরমার ব্যবহার করে 240V থেকে মেইন এসি ভোল্টেজ নামিয়ে দিলাম, যা আমাকে 13mA থেকে 100mA পর্যন্ত একটি ভেরিয়েবল কারেন্ট সোর্স তৈরি করবে। যত বেশি ডাটা পয়েন্ট সংগ্রহ করা যায় তত ভাল, তবে আমি একটি সঠিক প্রবণতা অর্জনের জন্য 10 টি ডেটা পয়েন্ট সংগ্রহ করার পরামর্শ দিই। সংযুক্ত এক্সেল টেমপ্লেটটি আপনার জন্য সহগ গণনা করবে, এটি তখন তাদের আরডুইনো কোডে প্রবেশ করার বিষয়

কোডের 69 নং লাইনে আপনি দেখতে পাবেন কোথায় সহগ লিখতে হবে

float chn0 = ((7.30315 * pow (10, -13)) * pow (adc0, 3) + (-3.72889 * pow (10, -8) * pow (adc0, 2) + (0.003985811 * adc0) + (0.663064521)));

যা এক্সেল ফাইলের শীট 1 এর সূত্রের মতো:

y = 7E-13x3-4E-08x2 + 0.004x + 0.663

যেখানে x = adc0 যে কোন চ্যানেলের আপনি ক্যালিব্রেট করছেন

ধাপ 9: শেষ করুন

শেষ করুন
শেষ করুন
শেষ করুন
শেষ করুন
শেষ করুন
শেষ করুন
শেষ করুন
শেষ করুন

এটি একটি প্রকল্প ঘের মধ্যে রাখুন। আমি একটি টগল সুইচ দিয়ে বিদ্যুৎ সরবরাহ বন্ধ করে দিয়েছি যা সরবরাহে পুরো জিনিসটি চালু/বন্ধ করে দেয় এবং প্রধান ইনপুটের জন্য একটি আইইসি "ফিগার 8" সংযোগকারী। এটা সব একসাথে স্ক্রু এবং আপনি এটি পরীক্ষা করার জন্য প্রস্তুত।

আরও কাজ

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

2016-12-18 আপডেট করুন

আমি এখন প্রথম চারটি চ্যানেল মনিটর করার জন্য I2C "ব্যাকপ্যাক" ব্যবহার করে একটি 16x2 LCD যোগ করেছি, পোস্টের মাধ্যমে পৌঁছালে শেষ চারটি পর্যবেক্ষণ করার জন্য আরেকটি যোগ করা হবে।

ক্রেডিট

DS3231 লাইব্রেরি, অ্যাডাফ্রুট ADS1015 লাইব্রেরি এবং Arduino SD লাইব্রেরী সহ আমার Arduino স্কেচে ব্যবহৃত লাইব্রেরির সমস্ত লেখক এই প্রকল্পটি সম্ভব করেছিলেন

প্রস্তাবিত: