সুচিপত্র:

MQ-7 সেন্সর ব্যবহার করে Arduino CO মনিটর: 8 টি ধাপ (ছবি সহ)
MQ-7 সেন্সর ব্যবহার করে Arduino CO মনিটর: 8 টি ধাপ (ছবি সহ)

ভিডিও: MQ-7 সেন্সর ব্যবহার করে Arduino CO মনিটর: 8 টি ধাপ (ছবি সহ)

ভিডিও: MQ-7 সেন্সর ব্যবহার করে Arduino CO মনিটর: 8 টি ধাপ (ছবি সহ)
ভিডিও: How to use Allegro ACS712 AC/DC Current Sensor with Arduino 2024, নভেম্বর
Anonim
MQ-7 সেন্সর ব্যবহার করে Arduino CO মনিটর
MQ-7 সেন্সর ব্যবহার করে Arduino CO মনিটর
MQ-7 সেন্সর ব্যবহার করে Arduino CO মনিটর
MQ-7 সেন্সর ব্যবহার করে Arduino CO মনিটর

এই নির্দেশনা কেন তৈরি করা হয়েছিল তার কয়েকটি শব্দ: একদিন আমার বান্ধবীর মা আমাদের মধ্যরাতে ফোন করেছিলেন কারণ তিনি সত্যিই অসুস্থ বোধ করেছিলেন - তার মাথা ঘোরা, টাকাইকার্ডিয়া, বমি বমি ভাব, উচ্চ রক্তচাপ ছিল, এমনকি তিনি অজ্ঞাত সময়ের জন্য (সম্ভবত ~ 5 মিনিট, কিন্তু বলার কোন উপায় নেই), সবই কোন আপাত কারণ ছাড়াই। তিনি হাসপাতাল থেকে দূরে একটি ছোট্ট গ্রামে থাকেন (আমাদের জায়গা থেকে 60 কিমি, নিকটতম হাসপাতালে 30 কিমি, কোন স্বাভাবিক রাস্তা ছাড়াই 10 কিমি), তাই আমরা তার কাছে ছুটে যাই এবং অ্যাম্বুলেন্সের পরপরই সেখানে পৌঁছাই। তিনি হাসপাতালে ভর্তি হন এবং সকালে তিনি প্রায় ভাল অনুভব করেন, কিন্তু ডাক্তাররা এর কারণ খুঁজে বের করতে সক্ষম হননি। পরের দিন আমাদের একটি ধারণা ছিল: এটি সিও বিষক্রিয়া হতে পারে, যেহেতু তার গ্যাস জলের বয়লার রয়েছে (ছবিতে), এবং যখন এটি ঘটেছিল তখন পুরো সন্ধ্যায় এটির কাছে বসে ছিল। আমরা সম্প্রতি MQ-7 CO সেন্সর কিনেছি, কিন্তু এর জন্য একটি স্কিম্যাটিক্স একত্রিত করার সময় ছিল না, তাই এটি করার জন্য উপযুক্ত সময় ছিল। যে কোন নির্দেশনার জন্য ইন্টারনেটে অনুসন্ধান করার এক ঘণ্টা পর, আমি বুঝতে পারলাম যে আমি এমন কোন গাইড খুঁজে পাচ্ছি না যে একই সময়ে সেন্সর প্রস্তুতকারকের নির্দেশাবলী তার ডেটশীটে দেওয়া আছে এবং যেকোনো কিছু ব্যাখ্যা করে (একটি উদাহরণ বেশ ভাল কোড বলে মনে হয়েছিল, কিন্তু এটি কিভাবে এটি প্রয়োগ করতে হবে তা স্পষ্ট ছিল না, অন্যরা অতিরিক্ত সরলীকৃত ছিল এবং ভাল কাজ করবে না)। সুতরাং আমরা স্কিম্যাটিক্স বিকাশ, 3 ডি কেস তৈরি এবং মুদ্রণ, সেন্সর পরীক্ষা এবং ক্যালিব্রেট করার জন্য প্রায় 12 ঘন্টা ব্যয় করেছি এবং পরের দিন সন্দেহজনক বয়লারের কাছে গিয়েছিলাম। দেখা গেল যে সেখানে CO- এর মাত্রা অত্যন্ত বেশি ছিল, এবং যদি CO এক্সপোজার সময় বেশি থাকে তবে এটি মারাত্মক হতে পারে। তাই আমি বিশ্বাস করি যে যার মত একই অবস্থা আছে (যেমন গ্যাস বয়লার বা জীবন্ত জায়গার ভিতরে অন্যান্য জ্বলন ঘটছে) এমন কিছু সেন্সর পাওয়া উচিত যাতে খারাপ কিছু না ঘটে।

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

ধাপ 1: উপকরণ বিল

উপকরণ বিল
উপকরণ বিল

আপনার প্রয়োজন হবে: 0। আরডুইনো বোর্ড। আমি $ 3 এর অসামান্য মূল্যের জন্য Arduino Nano এর চীনা ক্লোন পছন্দ করি, কিন্তু 8-বিট arduino এখানে কাজ করবে। স্কেচ কিছু উন্নত টাইমার অপারেশন ব্যবহার করে, এবং শুধুমাত্র atmega328 মাইক্রোকন্ট্রোলারে পরীক্ষা করা হয়েছিল - যদিও সম্ভবত এটি অন্যদের উপরও ভাল কাজ করবে। MQ-7 CO সেন্সর। এই ফ্লাইং ফিশ সেন্সর মডিউলের সাথে সবচেয়ে বেশি পাওয়া যায়, এটি একটি ছোট পরিবর্তন, পরবর্তী ধাপে বিবরণ, অথবা আপনি একটি পৃথক MQ-7 সেন্সর ব্যবহার করতে পারেন।

2. এনপিএন বাইপোলার ট্রানজিস্টর। কার্যত যে কোন এনপিএন ট্রানজিস্টর যা 300 এমএ বা তার বেশি পরিচালনা করতে পারে তা এখানে কাজ করবে। PNP ট্রানজিস্টার উল্লেখিত ফ্লাইং ফিশ মডিউলের সাথে কাজ করবে না (কারণ এতে সেন্সরের আউটপুটে হিটার পিন সোল্ডার করা আছে), কিন্তু একটি আলাদা MQ-7 সেন্সরের সাথে ব্যবহার করা যেতে পারে।

3. প্রতিরোধক: 2 x 1k (0.5k থেকে 1.2k পর্যন্ত ভাল কাজ করবে), এবং 1 x 10k (যেটি সর্বোত্তমভাবে সুনির্দিষ্ট রাখা হয় - যদিও যদি আপনি একেবারে ভিন্ন মান ব্যবহার করতে চান তবে সেই অনুযায়ী স্কেচে রেফারেন্স_রেসিস্টর_কেওহম ভেরিয়েবল সামঞ্জস্য করুন)।

4. ক্যাপাসিটার: 2 x 10uF বা তার বেশি। ট্যানটালাম বা সিরামিকের প্রয়োজন হয়, উচ্চ ESR এর কারণে ইলেক্ট্রোলাইটিক ভাল কাজ করবে না (তারা উচ্চ-বর্তমান তরঙ্গ মসৃণ করার জন্য পর্যাপ্ত কারেন্ট প্রদান করতে সক্ষম হবে না)। সবুজ এবং লাল LEDs বর্তমান CO স্তর নির্দেশ করে উচ্চ CO স্তর নির্দেশ করতে Piezo buzzer। ব্রেডবোর্ড এবং তারগুলি (আপনি ন্যানো পিনগুলিতে সবকিছু সোল্ডার করতে পারেন বা ইউনো সকেটে চেপে ধরতে পারেন, তবে এইভাবে ভুল করা সহজ)।

ধাপ 2: মডিউল পরিবর্তন বা বিচ্ছিন্ন সেন্সর তারের

মডিউল পরিবর্তন বা বিচ্ছিন্ন সেন্সর তারের
মডিউল পরিবর্তন বা বিচ্ছিন্ন সেন্সর তারের

মডিউলের জন্য, আপনাকে অবশ্যই রেজিস্টার এবং ক্যাপাসিটরের ডিসোল্ডার করতে হবে, যেমন ছবিতে দেখানো হয়েছে। আপনি যদি চান তবে মূলত সবকিছু ডিলোড করতে পারেন - মডিউল ইলেকট্রনিক্স সম্পূর্ণরূপে অকেজো, আমরা এটি শুধুমাত্র সেন্সরের জন্য ধারক হিসাবে ব্যবহার করি, কিন্তু এই দুটি উপাদান আপনাকে সঠিক রিডিং পেতে বাধা দেবে, আপনি যদি আলাদা সেন্সর ব্যবহার করেন, তাহলে 5V এবং ট্রানজিস্টরের সংগ্রাহককে হিটার পিন (H1 এবং H2) সংযুক্ত করুন। একটি সেন্সিং সাইড (A পিনের যেকোনো একটি) 5V এর সাথে সংযুক্ত করুন, আরেকটি সেন্সিং সাইড (B পিনের যেকোনো একটি) 10k রোধকের সাথে সংযুক্ত করুন, ঠিক স্কিম্যাটিক্সের মডিউলের এনালগ পিনের মতো।

ধাপ 3: অপারেশন নীতি

অপারেশন নীতি
অপারেশন নীতি
অপারেশন নীতি
অপারেশন নীতি

কেন আমাদের এই সব জটিলতার প্রয়োজন আছে, কেন 5V, স্থল সংযুক্ত করা যাবে না, এবং শুধু রিডিং পেতে হবে? আচ্ছা, আপনি এইভাবে দরকারী কিছু পাবেন না, দুর্ভাগ্যবশত। এবং সঠিক পরিমাপ পেতে কম গরম করার চক্র। নিম্ন তাপমাত্রার পর্যায়ে, CO প্লেটে শোষিত হয়, অর্থপূর্ণ ডেটা তৈরি করে। উচ্চ তাপমাত্রার পর্যায়ে, শোষিত CO এবং অন্যান্য যৌগগুলি সেন্সর প্লেট থেকে বাষ্পীভূত হয়, পরবর্তী পরিমাপের জন্য এটি পরিষ্কার করে।

সুতরাং সাধারণ ক্রিয়াকলাপে সহজ:

1. 60 সেকেন্ডের জন্য 5V প্রয়োগ করুন, CO পরিমাপের জন্য এই রিডিংগুলি ব্যবহার করবেন না।

2. 90 সেকেন্ডের জন্য 1.4V প্রয়োগ করুন, CO পরিমাপের জন্য এই রিডিংগুলি ব্যবহার করুন।

3. ধাপ 1 এ যান।

কিন্তু এখানে সমস্যা হল: Arduino তার পিন থেকে এই সেন্সর চালানোর জন্য পর্যাপ্ত শক্তি সরবরাহ করতে পারে না - সেন্সরের হিটারের প্রয়োজন 150 mA, আর Arduino পিন 40 mA এর বেশি দিতে পারে না, তাই যদি সরাসরি সংযুক্ত করা হয়, Arduino পিন বার্ন হবে এবং সেন্সর এখনও জিতেছে কাজ করে না। সুতরাং আমাদের অবশ্যই এমন এক ধরনের কারেন্ট এম্প্লিফায়ার ব্যবহার করতে হবে যা বড় ইনপুট কারেন্ট নিয়ন্ত্রণ করতে ছোট ইনপুট কারেন্ট নেয় অন্য সমস্যা হচ্ছে 1.4V। অনেকগুলি এনালগ উপাদান প্রবর্তন না করেই নির্ভরযোগ্যভাবে এই মানটি পাওয়ার একমাত্র উপায় হল PWM (পালস প্রস্থ মডুলেশন) পদ্ধতি ব্যবহার করে প্রতিক্রিয়া যা আউটপুট ভোল্টেজ নিয়ন্ত্রণ করবে।

এনপিএন ট্রানজিস্টর উভয় সমস্যার সমাধান করে: যখন এটি ক্রমাগত চালু থাকে, সেন্সর জুড়ে ভোল্টেজ 5V হয় এবং এটি উচ্চ-তাপমাত্রার পর্যায়ে উত্তপ্ত হয়। যখন আমরা PWM এর ইনপুটে প্রয়োগ করি, তখন স্রোত স্পন্দিত হয়, তখন এটি ক্যাপাসিটরের দ্বারা মসৃণ হয় এবং গড় ভোল্টেজ স্থির রাখা হয়। যদি আমরা উচ্চ ফ্রিকোয়েন্সি PWM ব্যবহার করি (স্কেচে এটি 62.5KHz এর ফ্রিকোয়েন্সি আছে) এবং প্রচুর পরিমাণে এনালগ রিডিং (স্কেচে আমরা average 1000 রিডিংয়ের উপরে গড়), তাহলে ফলাফলটি বেশ নির্ভরযোগ্য।

স্কিম্যাটিক্স অনুসারে ক্যাপাসিটার যুক্ত করা গুরুত্বপূর্ণ। এখানে চিত্রগুলি C2 ক্যাপাসিটরের সাথে এবং ছাড়া সংকেতের পার্থক্য ব্যাখ্যা করে: এটি ছাড়া, PWM তরঙ্গ স্পষ্টভাবে দৃশ্যমান এবং এটি উল্লেখযোগ্যভাবে রিডিংগুলিকে বিকৃত করে।

ধাপ 4: স্কিম্যাটিক্স এবং ব্রেডবোর্ড

স্কিম্যাটিক্স এবং ব্রেডবোর্ড
স্কিম্যাটিক্স এবং ব্রেডবোর্ড
স্কিম্যাটিক্স এবং ব্রেডবোর্ড
স্কিম্যাটিক্স এবং ব্রেডবোর্ড
স্কিম্যাটিক্স এবং ব্রেডবোর্ড
স্কিম্যাটিক্স এবং ব্রেডবোর্ড

এখানে স্কিম্যাটিক্স এবং ব্রেডবোর্ড সমাবেশ।

সতর্কতা! একটি আদর্শ ব্রেকআউট মডিউল পরিবর্তন প্রয়োজন! পরিবর্তন ছাড়া মডিউল অকেজো। দ্বিতীয় ধাপে পরিবর্তন বর্ণনা করা হয়েছে।

LEDs এর জন্য D9 এবং D10 পিন ব্যবহার করা গুরুত্বপূর্ণ, যেহেতু সেখানে আমাদের হার্ডওয়্যার টাইমার 1 এর আউটপুট আছে, এটি সহজেই তাদের রং পরিবর্তন করতে দেবে। পিন D5 এবং D6 বুজারের জন্য ব্যবহৃত হয়, কারণ D5 এবং D6 হার্ডওয়্যার টাইমার 0 এর আউটপুট। আমরা তাদের কনফিগার করব একে অপরের বিপরীত হতে, তাই তারা (5V, 0V) এবং (0V, 5V) রাজ্যের মধ্যে স্যুইচ করবে, এইভাবে বাজারে শব্দ উৎপন্ন হবে। সতর্কতা: এটি Arduino এর প্রধান টাইমিং ইন্টারাপ্টকে প্রভাবিত করে, তাই সব সময় নির্ভর ফাংশন (যেমন মিলিস ()) এই স্কেচে সঠিক ফলাফল দেবে না (এই বিষয়ে পরে আরো) পিন D3 এর সাথে হার্ডওয়্যার টাইমার 2 আউটপুট সংযুক্ত রয়েছে (পাশাপাশি D11 - কিন্তু D11 এর তুলনায় D11 তে তার লাগানো কম সুবিধাজনক) - তাই আমরা ভোল্টেজ কন্ট্রোলিং ট্রানজিস্টারের জন্য PWM প্রদান করতে এটি ব্যবহার করছি। রেজিস্টার R1 LEDs এর উজ্জ্বলতা নিয়ন্ত্রণ করতে ব্যবহৃত হয়। এটি 300 থেকে 3000 ওহম যে কোন জায়গায় হতে পারে, 1k বরং উজ্জ্বলতা/বিদ্যুৎ ব্যবহারের ক্ষেত্রে সর্বোত্তম। এটি 300 ওহমের চেয়ে কম হওয়া উচিত নয় (আরডুইনো পিন ওভারলোড না করার জন্য) এবং 1500 ওহমের বেশি নয়। 1k একটি নিরাপদ পছন্দ আছে।

একটি ভোল্টেজ ডিভাইডার তৈরির জন্য সেন্সরের প্লেটের সাথে সিরিজের রেসিস্টর R3 ব্যবহার করা হয়। সেন্সরের আউটপুটে ভোল্টেজ R3 / (R3 + Rs) * 5V এর সমান, যেখানে Rs হল বর্তমান সেন্সরের রেজিস্ট্যান্স। সেন্সর রেজিস্ট্যান্স সিও ঘনত্বের উপর নির্ভর করে, তাই ভোল্টেজ সেই অনুযায়ী পরিবর্তিত হয়।ক্যাপাসিটর সি 1 এমকিউ -7 সেন্সরে ইনপুট পিডব্লিউএম ভোল্টেজ মসৃণ করতে ব্যবহৃত হয়, এর ক্যাপাসিট্যান্স যত বেশি হবে তত ভাল, তবে এটিতে কম ইএসআর থাকতে হবে - তাই সিরামিক (বা ট্যানটালাম) ক্যাপাসিটর এখানে পছন্দ করা হয়, ইলেক্ট্রোলাইটিক ভাল কাজ করবে না।

ক্যাপাসিটর C2 সেন্সরের এনালগ আউটপুট মসৃণ করতে ব্যবহৃত হয় (আউটপুট ভোল্টেজ ইনপুট ভোল্টেজের উপর নির্ভর করে - এবং আমাদের এখানে একটি উচ্চ বর্তমান PWM আছে, যা সমস্ত স্কিম্যাটিক্সকে প্রভাবিত করে, তাই আমাদের C2 প্রয়োজন)। সবচেয়ে সহজ সমাধান হল C1- এর মতো একই ক্যাপাসিটর ব্যবহার করা।

ধাপ 5: Arduino প্রোগ্রাম

Arduino প্রোগ্রাম
Arduino প্রোগ্রাম

সতর্কতা: কোন ব্যবহারিক ব্যবহারের জন্য সেন্সর ম্যানুয়াল ক্যালিব্রেশন প্রয়োজন। ক্যালিব্রেশন ছাড়াই, আপনার বিশেষ সেন্সরের প্যারামিটারগুলির উপর নির্ভর করে, এই স্কেচটি পরিষ্কার এয়ারে অ্যালার্মে ঘুরতে পারে বা লেথাল কার্বন মনোক্সাইড কনসেনট্রেশন সনাক্ত করতে পারে না।

নিম্নলিখিত ধাপে ক্রমাঙ্কন বর্ণনা করা হয়েছে। রুক্ষ ক্রমাঙ্কন খুব সহজ, সুনির্দিষ্টভাবে বেশ জটিল।

সাধারণ পর্যায়ে, প্রোগ্রামটি বেশ সহজ:

প্রথমে আমরা সেন্সর দ্বারা প্রয়োজনীয় 1.4V স্থিতিশীল উৎপাদনের জন্য আমাদের PWM কে ক্যালিব্রেট করি (সঠিক PWM প্রস্থ অনেকগুলি প্যারামিটারের উপর নির্ভর করে যেমন সঠিক প্রতিরোধক মান, এই বিশেষ সেন্সরের প্রতিরোধ, ট্রানজিস্টরের VA বক্ররেখা ইত্যাদি ইত্যাদি) তাই বিভিন্ন উপায় চেষ্টা করার সর্বোত্তম উপায় এবং যেটা সবচেয়ে ভালো মানায় তা ব্যবহার করুন) তারপর, আমরা ক্রমাগত 60 সেকেন্ড হিটিং এবং 90 সেকেন্ড পরিমাপের চক্রের মধ্য দিয়ে চলি। বাস্তবায়নে এটি কিছুটা জটিল হয়ে যায়। আমাদের হার্ডওয়্যার টাইমার ব্যবহার করতে হবে কারণ আমাদের এখানে যা আছে তার সবকিছুই সঠিকভাবে কাজ করার জন্য উচ্চ-ফ্রিকোয়েন্সি স্থিতিশীল PWM এর প্রয়োজন। কোডটি এখানে সংযুক্ত করা হয়েছে এবং আমাদের গিটহাব থেকে ডাউনলোড করা যেতে পারে, সেইসাথে ফ্রিজিং-এ স্কিম্যাটিক্স সোর্স। প্রোগ্রামে আছে 3 টি ফাংশন যা টাইমারগুলি পরিচালনা করে: ভিতরে সবকিছু সামলান। এবং 5V এবং 1.4V হিটিং এর মধ্যে স্যুইচ করার জন্য যথাযথ টাইমার মান সেট করুন।

Buzz_on, buzz_off, buzz_beep ফাংশন ব্যবহার করে বাজারের অবস্থা নিয়ন্ত্রণ করা হয়। অন/অফ ফাংশন সাউন্ড অন এবং অফ করে, বীপ ফাংশন নির্দিষ্ট বীপিং সিকোয়েন্স ১.৫ সেকেন্ড সময় নিয়ে তৈরি করে যদি এটিকে পর্যায়ক্রমে বলা হয় (এই ফাংশনটি তাত্ক্ষণিকভাবে ফিরে আসে তাই এটি মূল প্রোগ্রামকে বিরতি দেয় না - কিন্তু আপনাকে এটি বারবার কল করতে হবে বীপিং প্যাটার্ন তৈরি করতে)।

প্রোগ্রামটি প্রথমে pwm_adjust ফাংশন চালায় যা পরিমাপের সময় 1.4V অর্জনের জন্য সঠিক PWM চক্রের প্রস্থ খুঁজে বের করে। তারপর এটি কয়েকবার beeps নির্দেশ করে যে সেন্সর প্রস্তুত, পরিমাপ পর্যায়ে সুইচ, এবং প্রধান লুপ শুরু।

মূল লুপে, প্রোগ্রাম চেক করে যে আমরা বর্তমান পর্যায়ে পর্যাপ্ত সময় ব্যয় করেছি (পরিমাপের জন্য 90 সেকেন্ড, গরম করার জন্য 60 সেকেন্ড) এবং যদি হ্যাঁ হয়, তাহলে বর্তমান ফেজ পরিবর্তন করে। এছাড়াও এটি ক্রমাগত সূচক রিডিংগুলিকে সূচকীয় স্মুথিং ব্যবহার করে আপডেট করে: new_value = 0.999*old_value + 0.001*new_reading। এই ধরনের প্যারামিটার এবং পরিমাপ চক্রের সাথে, এটি প্রায় শেষ 300 মিলিসেকেন্ডের উপর সংকেত গড়। ক্যালিব্রেশন ছাড়াই, আপনার বিশেষ সেন্সরের প্যারামিটারগুলির উপর নির্ভর করে, এই স্কেচটি পরিষ্কার এয়ারে অ্যালার্মে ঘুরতে পারে বা লেথাল কার্বন মনোক্সাইড কনসেনট্রেশন সনাক্ত করতে পারে না।

ধাপ 6: প্রথম রান: কি আশা করা যায়

প্রথম রান: কি আশা করা যায়
প্রথম রান: কি আশা করা যায়

আপনি যদি সবকিছু সঠিকভাবে একত্রিত করেন, স্কেচ চালানোর পরে আপনি সিরিয়াল মনিটরে এরকম কিছু দেখতে পাবেন:

PWM সমন্বয় w = 0, V = 4.93

PWM সমন্বয় w = 17, V = 3.57PWM ফলাফল: প্রস্থ 17, ভোল্টেজ 3.57

এবং তারপর সংখ্যার একটি সিরিজ বর্তমান সেন্সর রিডিংগুলিকে প্রতিনিধিত্ব করে। এই অংশটি PWM প্রস্থকে সামঞ্জস্য করছে যাতে সেন্সরের হিটার ভোল্টেজ যতটা সম্ভব 1.4V এর কাছাকাছি তৈরি করা যায়, 5V থেকে পরিমাপ করা ভোল্টেজ কাটা হয়, তাই আমাদের আদর্শ পরিমাপ করা মান 3.6V। যদি একক ধাপের পরে এই প্রক্রিয়াটি কখনো শেষ না হয় বা শেষ না হয় (ফলে প্রস্থ 0 বা 254 এর সমান) - তাহলে কিছু ভুল। আপনার ট্রানজিস্টারটি সত্যিই এনপিএন কিনা এবং সঠিকভাবে সংযুক্ত আছে কিনা তা পরীক্ষা করুন (নিশ্চিত করুন যে আপনি বেস, কালেক্টর, এমিটার পিনগুলি ঠিক ব্যবহার করেছেন - বেসটি D3, কালেক্টর থেকে MQ -7 এবং এমিটার থেকে গ্রাউন্ডে যায়, ফ্রিজিং ব্রেডবোর্ড ভিউতে গণনা করবেন না - এটি কিছু ট্রানজিস্টরের জন্য ভুল) এবং নিশ্চিত করুন যে আপনি Arduino এর A1 ইনপুটের সাথে সেন্সরের ইনপুট সংযুক্ত করেছেন। 60 এবং 90 সেকেন্ড দৈর্ঘ্যের তাপ এবং পরিমাপ চক্র একের পর এক চলছে, প্রতিটি চক্রের শেষে CO পিপিএম পরিমাপ এবং আপডেট করা হয়েছে। পরিমাপ চক্র প্রায় শেষ হয়ে গেলে আপনি সেন্সরের কাছাকাছি কিছু খোলা শিখা নিতে পারেন এবং দেখুন কিভাবে এটি রিডিংগুলিকে প্রভাবিত করবে (শিখার প্রকারের উপর নির্ভর করে, এটি 2000 পিপিএম পর্যন্ত খোলা বাতাসে CO ঘনত্ব উত্পাদন করতে পারে - তাই শুধুমাত্র একটি ছোট অংশ এটি আসলে সেন্সরে চলে যায়, এটি এখনও অ্যালার্ম চালু করবে এবং পরবর্তী চক্রের শেষ না হওয়া পর্যন্ত এটি বন্ধ হবে না)। আমি এটি ছবিতে দেখিয়েছি, পাশাপাশি লাইটার থেকে আগুনের প্রতিক্রিয়া।

ধাপ 7: সেন্সর ক্রমাঙ্কন

সেন্সর ক্রমাঙ্কন
সেন্সর ক্রমাঙ্কন
সেন্সর ক্রমাঙ্কন
সেন্সর ক্রমাঙ্কন

নির্মাতার ডেটশীট অনুসারে, সেন্সরটি ক্যালিব্রেটেড হওয়ার আগে পরপর 48 ঘন্টা হিটিং-কুলিং চক্র চালানো উচিত। এবং যদি আপনি এটি দীর্ঘ সময়ের জন্য ব্যবহার করতে চান তবে আপনার এটি করা উচিত: আমার ক্ষেত্রে, পরিষ্কার বাতাসে সেন্সর পড়া 10 ঘন্টার মধ্যে প্রায় 30% পরিবর্তিত হয়েছে। যদি আপনি এটিকে বিবেচনায় না নেন, তাহলে আপনি 0 পিপিএম ফলাফল পেতে পারেন যেখানে আসলে 100 পিপিএম আছে। আপনি যদি 48 ঘন্টা অপেক্ষা করতে না চান, তাহলে আপনি পরিমাপ চক্রের শেষে সেন্সর আউটপুট নিরীক্ষণ করতে পারেন। যখন এক ঘন্টারও বেশি সময় ধরে এটি 1-2 পয়েন্টের বেশি পরিবর্তিত হবে না - আপনি সেখানে গরম করা বন্ধ করতে পারেন।

রুক্ষ ক্রমাঙ্কন:

পরিষ্কার বাতাসে কমপক্ষে 10 ঘন্টা স্কেচ চালানোর পরে, পরিমাপ চক্রের শেষে কাঁচা সেন্সর মান নিন, হিটিং পর্ব শুরু হওয়ার 2-3 সেকেন্ড আগে, এবং এটি সেন্সর_রিডিং_ক্লিন_এয়ার ভেরিয়েবলে (লাইন 100) লিখুন। এটাই. প্রোগ্রাম অন্যান্য সেন্সর পরামিতি অনুমান করবে, তারা সুনির্দিষ্ট হবে না, কিন্তু 10 এবং 100 পিপিএম ঘনত্বের মধ্যে পার্থক্য করার জন্য যথেষ্ট হওয়া উচিত।

সঠিক ক্রমাঙ্কন:

আমি একটি ক্যালিব্রেটেড সিও মিটার খুঁজে বের করার সুপারিশ করছি, 100 পিপিএম সিও নমুনা তৈরি করুন (এটি সিরিঞ্জের মধ্যে কিছু ফ্লু গ্যাস গ্রহণ করে করা যেতে পারে - সিও ঘনত্ব সেখানে কয়েক হাজার পিপিএমের পরিসরে সহজেই হতে পারে - এবং ধীরে ধীরে এটি বন্ধ জারের মধ্যে রেখে ক্যালিব্রেটেড মিটার এবং MQ-7 সেন্সর), এই ঘনত্বের মধ্যে কাঁচা সেন্সর পড়ুন এবং এটি sensor_reading_100_ppm_CO ভেরিয়েবলে রাখুন। এই ধাপ ছাড়া, আপনার পিপিএম পরিমাপ উভয় দিকেই বেশ কয়েকবার ভুল হতে পারে (যদি আপনার বাড়িতে বিপজ্জনক CO ঘনত্বের জন্য অ্যালার্মের প্রয়োজন হয় তবে ঠিক আছে, যেখানে সাধারণত কোনও CO থাকা উচিত নয়, তবে কোনও শিল্প প্রয়োগের জন্য ভাল নয়)।

যেহেতু আমার কোন সিও মিটার ছিল না, তাই আমি আরও পরিশীলিত পদ্ধতি ব্যবহার করেছি। প্রথমে আমি বিচ্ছিন্ন ভলিউমে দহন ব্যবহার করে CO এর উচ্চ ঘনত্ব প্রস্তুত করেছি (প্রথম ছবি)। এই গবেষণাপত্রে আমি বিভিন্ন শিখার প্রকারের জন্য সিও ফলন সহ সবচেয়ে দরকারী তথ্য পেয়েছি - এটি ছবিতে নেই, কিন্তু চূড়ান্ত পরীক্ষায় একই সেটআপ সহ প্রোপেন গ্যাস জ্বলন ব্যবহার করা হয়েছিল, যার ফলে ~ 5000 পিপিএম CO ঘনত্ব। তারপর 100 পিপিএম অর্জনের জন্য এটি 1:50 কে পাতলা করা হয়েছিল, যেমন দ্বিতীয় ছবিতে সচিত্র, এবং সেন্সরের রেফারেন্স পয়েন্ট নির্ধারণ করতে ব্যবহৃত হয়েছিল।

ধাপ 8: কিছু পরীক্ষামূলক তথ্য

কিছু পরীক্ষামূলক তথ্য
কিছু পরীক্ষামূলক তথ্য

আমার ক্ষেত্রে, সেন্সর বেশ ভাল কাজ করেছে - এটি সত্যিই কম ঘনত্বের জন্য খুব সংবেদনশীল নয়, কিন্তু 50ppm এর চেয়ে বেশি কিছু সনাক্ত করার জন্য যথেষ্ট ভাল। আমি ধীরে ধীরে ঘনত্ব বাড়ানোর চেষ্টা করেছি, পরিমাপ নিয়েছি এবং চার্টের একটি সেট তৈরি করেছি। 0ppm লাইন দুটি সেট আছে - CO এক্সপোজার আগে বিশুদ্ধ সবুজ এবং পরে হলুদ সবুজ। সেন্সর এক্সপোজার পরে তার পরিষ্কার বায়ু প্রতিরোধের সামান্য পরিবর্তন বলে মনে হচ্ছে, কিন্তু এই প্রভাবটি ছোট। এটি 8 এবং 15, 15 এবং 26, 26 এবং 45 পিপিএম ঘনত্বের মধ্যে স্পষ্টভাবে পার্থক্য করতে সক্ষম বলে মনে হচ্ছে না-কিন্তু প্রবণতা খুব স্পষ্ট, তাই এটি বলতে পারে যে ঘনত্ব 0-20 বা 40-60 পিপিএম পরিসরে আছে কিনা । উচ্চ ঘনত্বের জন্য নির্ভরতা অনেক বেশি স্বতন্ত্র - যখন একটি খোলা শিখার নিষ্কাশনের সংস্পর্শে আসে, তখন বক্ররেখা একেবারে নিচে না গিয়ে শুরু থেকে উপরে চলে যায় এবং এর গতিশীলতা সম্পূর্ণ ভিন্ন। তাই উচ্চ ঘনত্বের জন্য কোন সন্দেহ নেই যে এটি নির্ভরযোগ্যভাবে কাজ করে, যদিও আমি এর নির্ভুলতা নিশ্চিত করতে পারছি না যেহেতু আমার কোন রেটিং CO মিটার নেই। এছাড়াও, এই পরীক্ষাগুলি 20k লোড রোধক ব্যবহার করে করা হয়েছিল - এবং তারপরে আমি সিদ্ধান্ত নিয়েছিলাম 10k কে ডিফল্ট মান হিসাবে সুপারিশ করার জন্য, এটি এইভাবে আরো সংবেদনশীল হওয়া উচিত। যদি আপনার একটি নির্ভরযোগ্য CO মিটার থাকে এবং এই বোর্ডটি একত্রিত করে থাকেন, অনুগ্রহ করে সেন্সরের নির্ভুলতা সম্পর্কে কিছু প্রতিক্রিয়া শেয়ার করুন - বিভিন্ন সেন্সরের উপর পরিসংখ্যান সংগ্রহ করা এবং ডিফল্ট স্কেচ অনুমানগুলি উন্নত করা ভাল হবে।

প্রস্তাবিত: