সুচিপত্র:

একটি ডায়োড ব্যবহার করে DIY তাপমাত্রা সেন্সর: 3 টি ধাপ
একটি ডায়োড ব্যবহার করে DIY তাপমাত্রা সেন্সর: 3 টি ধাপ

ভিডিও: একটি ডায়োড ব্যবহার করে DIY তাপমাত্রা সেন্সর: 3 টি ধাপ

ভিডিও: একটি ডায়োড ব্যবহার করে DIY তাপমাত্রা সেন্সর: 3 টি ধাপ
ভিডিও: সিড়ির চওড়া ও লম্বা মিনিমাম কতটুকু দিতে হবে? ট্রেড ও রাইজারের সংখ্যা || সিড়ির ধাপ বিস্তারিত দেখুন। 2024, জুলাই
Anonim
একটি ডায়োড ব্যবহার করে DIY তাপমাত্রা সেন্সর
একটি ডায়োড ব্যবহার করে DIY তাপমাত্রা সেন্সর
একটি ডায়োড ব্যবহার করে DIY তাপমাত্রা সেন্সর
একটি ডায়োড ব্যবহার করে DIY তাপমাত্রা সেন্সর

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

এই সেটআপটি সাধারণত অনেক ইন্টিগ্রেটেড সার্কিটে ব্যবহৃত হয় যার অভ্যন্তরীণ তাপমাত্রা এবং অনেক তাপমাত্রা সেন্সর বিখ্যাত LM35 হিসেবে পরিমাপ করা হয় যা এই সম্পত্তির উপর ভিত্তি করে।

কেবলমাত্র একটি ডায়োডের ফরওয়ার্ড ভোল্টেজ ড্রপ (যা একটি একক পিএন-জংশন) পরিবর্তিত হয় কারণ এটির মধ্য দিয়ে যাওয়া বর্তমানের পরিমাণ পরিবর্তিত হয়, এছাড়াও ডায়োডের তাপমাত্রা পরিবর্তনের সাথে সাথে ভোল্টেজ ড্রপ পরিবর্তন হতে চলেছে (তাপমাত্রা বাড়ার সাথে সাথে ফরওয়ার্ড ড্রপ একটি মান দ্বারা হ্রাস পায় (সিলিকন ডায়োডের জন্য 1.0 মিলিভোল্ট থেকে 2.0 মিলিভোল্ট এবং জার্মেনিয়াম ডায়োডের জন্য 2.5 মিলিভোল্ট)।

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

সরবরাহ

1 - 1n4007 ডায়োড #12 - 1 কোহম প্রতিরোধক #13 - আরডুইনো বোর্ড

ধাপ 1: সার্কিট ডায়াগ্রাম

বর্তনী চিত্র
বর্তনী চিত্র

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

একটি 5V সরবরাহ সহ 1 কিলো ওহম প্রতিরোধক 4 মিলিঅ্যাম্পিয়ার ডায়োড কারেন্ট হতে হবে যা এই উদ্দেশ্যে যথেষ্ট মান। আমি (ডায়োড) = VCC / (Rseries + Rdiode)

ধাপ 2: কোডিং

আমাদের মনে রাখতে হবে যে কোডে কিছু মান আছে যাতে ভাল ফলাফল পেতে পারে:

1 - VCC_Voltage: যেমন analogRead () মান ATMEGA চিপের VCC এর উপর নির্ভর করে তখন আমাদের এটিকে arduino বোর্ডে পরিমাপ করার পর সমীকরণে যোগ করতে হবে।

2 - V_OLD_0_C: ব্যবহৃত ডায়োডের ফরওয়ার্ড ভোল্টেজ ড্রপ 4 mA এর কারেন্ট এবং 0 সেলসিয়াস তাপমাত্রায়

3 - তাপমাত্রা_গুণ: আপনার ডায়োডের তাপমাত্রা গ্রেডিয়েন্ট (ডেটশীট থেকে পাওয়া ভাল) অথবা আপনি এই সমীকরণটি ব্যবহার করে পরিমাপ করতে পারেন: Vnew - Vold = K (Tnew - Told)

কোথায়:

ডায়োড গরম করার পর নতুনভাবে পরিমাপ করা ড্রপ ভোল্টেজ

ভোল্ড = কিছু ঘরের তাপমাত্রায় মাপা ড্রপ ভোল্টেজ

নতুন = তাপমাত্রা যেখানে ডায়োড গরম করা হয়েছিল

বলা = পুরানো ঘরের তাপমাত্রা যা ভোল্ডে পরিমাপ করা হয়েছিল

কে = তাপমাত্রা_গুণ

STM32F103C8 বোর্ডের জন্য সেন্স_পিন A0 // PA0 নির্ধারণ করুন

দ্বিগুণ V_OLD_0_C = 690.0; // 690 mV ফরওয়ার্ড ভোল্টেজ 0 সেলসিয়াস 4 mA টেস্ট কারেন্ট এ

দ্বিগুণ V_NEW = 0; // ঘরের তাপমাত্রায় নতুন ফরওয়ার্ড ভোল্টেজ 4 mA টেস্ট বর্তমান ডবল তাপমাত্রা = 0.0; // রুম গণনা তাপমাত্রা দ্বিগুণ তাপমাত্রা_গুণ = -1.6; //-1.6 এমভি প্রতি ডিগ্রি সেলসিয়াস পরিবর্তন // মিলিভোল্টস এর arduino এর 5V রেল এ উপস্থিত ভোল্টেজ (ভাল নির্ভুলতার জন্য প্রয়োজন) (stm32 এর জন্য 3300.0)

অকার্যকর সেটআপ() {

// আপনার সেটআপ কোড এখানে রাখুন, একবার চালানোর জন্য: pinMode (Sens_Pin, INPUT); Serial.begin (9600); }

অকার্যকর লুপ () {

// বারবার চালানোর জন্য এখানে আপনার প্রধান কোডটি রাখুন: V_NEW = analogRead (Sens_Pin)*VCC_Voltage/1024.0; // যদি আপনি 12 বিট ADC তাপমাত্রা ব্যবহার করেন তাহলে 4.0 দ্বারা ভাগ করুন ((V_NEW - V_OLD_0_C)/তাপমাত্রা_গুণ

Serial.print ("Temp =");

সিরিয়াল.প্রিন্ট (তাপমাত্রা); Serial.println ("C");

বিলম্ব (500);

}

ধাপ 3: ভাল মান পাওয়া

উন্নত মান পাওয়া
উন্নত মান পাওয়া
উন্নত মান পাওয়া
উন্নত মান পাওয়া

আমি মনে করি এই প্রকল্পটি করার সময় আপনার পাশে একটি বিশ্বস্ত তাপমাত্রা পরিমাপক যন্ত্র থাকা বাঞ্ছনীয়।

আপনি দেখতে পাচ্ছেন যে রিডিংগুলিতে একটি লক্ষণীয় ত্রুটি রয়েছে যা 3 বা 4 ডিগ্রি সেলসিয়াস পর্যন্ত যেতে পারে তাই এই ত্রুটিটি কোথা থেকে আসছে?

1 - আপনাকে পূর্ববর্তী ধাপে উল্লিখিত ভেরিয়েবলগুলি পরিবর্তন করতে হবে

2 - Arduino এর ADC রেজোলিউশন আমাদের ছোট ভোল্টেজ পার্থক্য সনাক্ত করার জন্য যা প্রয়োজন তার চেয়ে কম

3 - ডায়োড জুড়ে এই ছোট ভোল্টেজ পরিবর্তনের জন্য arduino (5V) এর ভোল্টেজ রেফারেন্স খুব বেশি

সুতরাং যদি আপনি একটি তাপমাত্রা সেন্সর হিসাবে এই সেটআপটি ব্যবহার করতে যাচ্ছেন, আপনার সচেতন হওয়া উচিত যে যদিও এটি সস্তা এবং সহজ, এটি সঠিক নয় কিন্তু এটি আপনাকে আপনার সিস্টেমের তাপমাত্রা সম্পর্কে খুব ভাল ধারণা দিতে পারে হয় এটি একটি PCB বা চালিত মোটর ইত্যাদি লাগানো …

এই নির্দেশযোগ্যটি সম্ভাব্য উপাদানগুলির সর্বনিম্ন পরিমাণ ব্যবহার করার জন্য বোঝানো হয়েছে কিন্তু যদি আপনি এই ধারণা থেকে সবচেয়ে সঠিক ফলাফল পেতে চান তবে আপনি কিছু পরিবর্তন করতে পারেন:

1 - এই লিঙ্ক হিসাবে op -amps ব্যবহার করে কিছু পরিবর্ধন এবং ফিল্টারিং পর্যায় যোগ করুন arduino কিন্তু সচেতন থাকুন যে আপনি 1.1 ভোল্টের বেশি আরডুইনো এনালগ পিনের সাথে সংযোগ করতে পারবেন না।

আপনি সেটআপ ফাংশনে এই লাইন যোগ করতে পারেন:

analogReference (অভ্যন্তরীণ);

4 - একটি মাইক্রোকন্ট্রোলার ব্যবহার করুন যার উচ্চ রেজোলিউশন ADC STM32F103C8 হিসাবে আছে যার একটি 12 বিট ADC রেজোলিউশন আছে তাই সংক্ষেপে, এই arduino ভিত্তিক সেটআপ আপনার সিস্টেমের তাপমাত্রা সম্পর্কে একটি সুন্দর ওভারভিউ দিতে পারে কিন্তু এত সঠিক ফলাফল নয় (প্রায় 4.88 mV/পড়া)

STM32F103C8 সেটআপ আপনাকে বেশ সঠিক ফলাফল দেবে কারণ এতে উচ্চতর 12-বিট এডিসি এবং কম 3.3V এনালগ রেফারেন্স মান (প্রায় 0.8 এমভি/রিডিং)

আচ্ছা, এটাই !!: ডি

প্রস্তাবিত: