এই নিবন্ধে আমরা বেশ কয়েকটি সাধারণ আরডুইনো ভিত্তিক স্বয়ংক্রিয় তাপমাত্রা নিয়ন্ত্রিত ডিসি ফ্যান সার্কিট তৈরি করতে যা যা একটি ফ্যান বা এটির সাথে যুক্ত অন্য কোনও গ্যাজেটগুলিতে স্যুইচ করবে, যখন পরিবেষ্টনের তাপমাত্রা পূর্ব নির্ধারিত প্রান্তিক স্তরে পৌঁছবে। আমরা এই প্রকল্পের জন্য ডিএইচটি 11 সেন্সর এবং আরডুইনো ব্যবহার করতে যাচ্ছি।
ওভারভিউ
মাইক্রোকন্ট্রোলারদের সৌন্দর্য হ'ল, আমরা পেরিফেরিয়ালগুলির সাথে সংযুক্ত যাগুলি খুব সুনির্দিষ্ট নিয়ন্ত্রণ পেতে পারি। এই প্রকল্পে ব্যবহারকারীর কেবলমাত্র প্রোগ্রামের প্রান্তিক তাপমাত্রাকে ইনপুট করতে হবে, মাইক্রোকন্ট্রোলার বাকী কাজটি যত্ন নেবে।
ইন্টারনেটের আশেপাশে প্রচুর নন-মাইক্রোকন্ট্রোলার ভিত্তিক স্বয়ংক্রিয় তাপমাত্রা নিয়ামক প্রকল্পগুলি পাওয়া যায় যেমন তুলনামূলক এবং ট্রানজিস্টর ব্যবহার।
এগুলি খুব সহজ এবং তারা ভাল কাজ করে তবে প্রিসেট রোধক বা পেন্টিওমিটার ব্যবহার করে প্রান্তিক স্তরটি ক্যালিব্রেট করার সময় সমস্যা দেখা দেয়।
এটি ক্যালিব্রেট করার সময় আমাদের একটি অন্ধ ধারণা রয়েছে এবং মিষ্টি স্পটটি খুঁজে পেতে ব্যবহারকারীকে ট্রায়াল এবং ত্রুটি পদ্ধতিটি করার প্রয়োজন হতে পারে।
এই সমস্যাগুলি মাইক্রোকন্ট্রোলাররা কাটিয়ে উঠেছে, ব্যবহারকারীকে কেবল এই প্রকল্পের সেলসিয়াসে তাপমাত্রা প্রবেশ করতে হবে, তাই ক্রমাঙ্কণের প্রয়োজন নেই।
এই প্রকল্পটি ব্যবহার করা যেতে পারে যেখানে সার্কিটের অভ্যন্তরীণ তাপমাত্রা স্থিতিশীল করা বা ওভারহিটিং থেকে এটি সংরক্ষণ করা প্রয়োজন।
চিত্র 1-এ, আমরা সিপিইউ ফ্যানকে আউটপুট হিসাবে সংযুক্ত করছি। এই সেটআপটি একটি বদ্ধ সার্কিটের অভ্যন্তরীণ পরিবেষ্টনের তাপমাত্রা নিয়ন্ত্রণ করতে ব্যবহার করা যেতে পারে।
যখন প্রান্তিক তাপমাত্রা পৌঁছে যায় তখন ফ্যানটি চালু হয়। যখন তাপমাত্রা প্রান্তিকের নীচে যায় তাপমাত্রা পাখা বন্ধ হয়ে যায়। সুতরাং এটি মূলত একটি স্বয়ংক্রিয় প্রক্রিয়া।
চিত্র 2-এ, আমরা ডিভাইসগুলি নিয়ন্ত্রণের জন্য রিলে সংযুক্ত করেছি যা মেইন ভোল্টেজ যেমন টেবিল ফ্যানের উপর চলে।
ঘরের তাপমাত্রা যখন প্রান্তিক তাপমাত্রায় পৌঁছে যায় তখন ফ্যানটি চালু হয় এবং ঘর শীতল হয়ে গেলে বন্ধ হয়।
শক্তি সাশ্রয়ের জন্য এটি সর্বোত্তম উপায় এবং এটি অলস লোকদের জন্য স্বর্গ হতে পারে যারা অন্যদের উষ্ণতা অনুভব করার সময় ফ্যানটি স্যুইচ করতে চান।
সার্কিট ডায়াগ্রাম একটি ডিসি ফ্যান নিয়ন্ত্রণ দেখায়
এই সেটআপটি সার্কিটগুলির জন্য মোতায়েন করা যেতে পারে যা একটি বাক্সে আবদ্ধ। প্রিসেটের প্রান্তিক স্তরের স্তরে পৌঁছালে এলইডি চালু হয় এবং ফ্যানও চালু হয়।
আরও বড় ভক্তদের নিয়ন্ত্রণের জন্য রিলে সংযুক্ত করা
এই সার্কিটটি পূর্ববর্তী সার্কিটের অনুরূপ ফাংশনটি করে, এখন ফ্যানটি রিলে দ্বারা প্রতিস্থাপিত হয়।
এই সার্কিটটি কোনও টেবিল ফ্যান বা সিলিং ফ্যান বা অন্য কোনও গ্যাজেট নিয়ন্ত্রণ করতে পারে যা পরিবেষ্টিত তাপমাত্রাকে শীতল করতে পারে।
সংযুক্ত ডিভাইসটি প্রसेट প্রান্তিক স্তরের নীচে পৌঁছানোর সাথে সাথেই বন্ধ হয়ে যায়।
তাপমাত্রা নিয়ন্ত্রিত ডিসি ফ্যান সার্কিট ডায়াগ্রাম এখানে চিত্রিত করা অনেক সম্ভাবনার মাত্র কয়েকটি। আপনি নিজের উদ্দেশ্যে সার্কিট এবং প্রোগ্রামটি কাস্টমাইজ করতে পারেন।
দ্রষ্টব্য 1: # পিন 7 আউটপুট।
দ্রষ্টব্য 2: এই প্রোগ্রামটি কেবলমাত্র DHT11 সেন্সরের সাথে সামঞ্জস্যপূর্ণ।
আরডুইনো ব্যবহার করে উপরে বর্ণিত স্বয়ংক্রিয় তাপমাত্রা নিয়ন্ত্রক সার্কিটের জন্য প্রোগ্রাম:
প্রোগ্রাম কোড
দ্রষ্টব্য: প্রোগ্রামে int th = 30 // সেলসিয়াসে প্রান্তিক তাপমাত্রা সেট করুন। পছন্দসই মান দিয়ে '30' প্রতিস্থাপন করুন। দ্বিতীয় নকশা নীচে আলোচিত দ্বিতীয় তাপমাত্রা নিয়ন্ত্রিত ডিসি ফ্যান সার্কিট প্রকল্পটি স্বয়ংক্রিয়ভাবে পরিবেশন করা হবে তাপমাত্রা তাপমাত্রা এবং আশেপাশের তাপমাত্রাকে নিয়ন্ত্রণে রাখতে ফ্যান মোটর গতির সাথে সামঞ্জস্য করে। এই স্বয়ংক্রিয় প্রক্রিয়াকরণটি একটি আরডুইনো এবং একটি তাপমাত্রা সংবেদক আইসি এলএম 35 এর মাধ্যমে করা হয়। দ্বারা:অঙ্কিত নেগি 1)। আশেপাশের তাপমাত্রা 25 ডিগ্রি সেলসিয়াস ছাড়িয়ে যাওয়ার সাথে সাথে (আপনি নিজের প্রয়োজন অনুসারে প্রোগ্রামে এই মানটি পরিবর্তন করতে পারেন, কার্য বিভাগে ব্যাখ্যা করেছেন) মোটর চলতে শুরু করে। 2)। এবং তাপমাত্রায় প্রতিটি ডিগ্রি বৃদ্ধির সাথে সাথে মোটরের গতিও বৃদ্ধি পায়। 3)। তাপমাত্রা 40 ডিগ্রি সেলসিয়াসে বাড়ার সাথে সাথে মোটর তার শীর্ষ গতিতে চালিত হয় (প্রোগ্রামটিতে এই মানটি পরিবর্তন করা যেতে পারে)। উপরে উল্লিখিত টাস্কটি অর্জন করতে আমরা টেম্পে ব্যবহার করতে যাচ্ছি। সেন্সর এলএম 35 এটি ব্যাপকভাবে এবং সহজেই উপলব্ধ হিসাবে ব্যবহৃত হয়। LM35 এর 3 টি পিন রয়েছে যা আপনি চিত্রে দেখতে পাচ্ছেন। 1. ভিন-- এই পিনটি 4 থেকে 20 ভি এর মধ্যে ডিসি বিদ্যুৎ সরবরাহের সাথে সংযুক্ত। LM35, যখন পাওয়ার সাপ্লাই সংযুক্ত থাকে তখন ses পারিপার্শ্বিক তাপমাত্রা এবং এর আউটপুট পিনের মাধ্যমে তাপমাত্রায় প্রতি ডিগ্রি বৃদ্ধি অনুসারে সমপরিমাণ ভোল্টেজ প্রেরণ করে। LM35 যে কোনও অস্থিরতা বুঝতে পারে। -50 ডিগ্রি থেকে +150 ডিগ্রি সেলসিয়াস এবং তাপমাত্রায় 1 ডিগ্রি বৃদ্ধি সহ 10 মিলিভোল্টের আউটপুট বৃদ্ধি করে increases সুতরাং আউটপুট 1.5 ভোল্ট হিসাবে এটি দিতে পারে সর্বোচ্চ ভোল্টেজ। আরডুইনোকে এলএম 35 এর আউটপুট পিন থেকে প্রাপ্ত এনালগ মানটি ডিজিটাল মানে পরিবর্তন করতে হবে এবং এটি সম্পর্কিত ডিজিটাল আউটপুট (পিডাব্লুএম) মোসফেটের গোড়ায় প্রেরণ করে। আমরাও ব্যবহার করব আরডুইনো তাপমাত্রা মুদ্রণের আদেশ দেয়, আরডিনো আইডির সিরিয়াল মনিটরে ম্যাসফেটের সাথে সম্পর্কিত অ্যানালগ মান এবং ডিজিটাল আউটপুট। উচ্চতর বর্তমানের মোটর চালাতে না পারলে এই সার্কিটটি কোনও কাজে আসবে না। অতএব এই জাতীয় মোটর চালাতে পাওয়ার মোসফেট ব্যবহার করা হয়। ডায়োড চলমান চলাকালীন মোটর দ্বারা উত্পাদিত পিছনের E.M.F থেকে মোসফেটটি রক্ষা করতে ব্যবহৃত হয়। 1. এলএম 35 ২.আরডিনো ৩. পাওয়ার মোসফেট (IRF1010E) 4. ডায়োড (1N4007) ৫. ফ্যান (মোটর) 6. ফ্যান পাওয়ার সাপ্লাই সার্কিট ডায়াগ্রামে প্রদর্শিত হিসাবে সংযোগ তৈরি করুন। ক) আরএমডিনোর lm358 এর ভিন পিনটি সংযুক্ত করুন ক)। পরিবর্তনশীল এক্স- এটি কেবল এনালগ মান যা পিন নং দ্বারা প্রাপ্ত হয়। LM35 এর আউটপুট পিন থেকে A0। খ)। পরিবর্তনশীল এবং- শুধুমাত্র এই পরিবর্তনশীল কারণে, আমাদের ফ্যান মোটর সংশ্লিষ্ট তাপমাত্রা অনুযায়ী চালিত হয়। এই ভেরিয়েবলটি যা করে তা হ'ল এনালগের মানটি পরিবর্তিত হয় পার্শ্ববর্তী তাপমাত্রার সাথে পরিবর্তনশীল এক্স। Y = (500 * x) / 1023 গ)। পরিবর্তনশীল জেড- z = মানচিত্র (x, 0, 1023, 0,255) বিঃদ্রঃ :: আমরা জানি যে lm35 সর্বোচ্চ 1.5 ভোল্ট সরবরাহ করতে পারে এবং তাও যখন অস্থির হয়। 150 ডিগ্রি হয়। যা ব্যবহারিক নয়। এর অর্থ 40 ডিগ্রি সেলসিয়াসের জন্য আমরা 0.40 ভোল্ট পাই এবং 25 ডিগ্রির জন্য আমরা 0.25 ভোল্ট পাই। যেহেতু মোসফেটে যথাযথ পিডব্লিউমের জন্য এই মানগুলি খুব কম, তাই আমাদের এটি একটি ফ্যাক্টর দ্বারা গুণ করতে হবে। অতএব আমরা এটি 10 দিয়ে গুণ করব এবং পরিবর্তে PWM পিন 10 অর্থাৎ এনালগ আউটপুট হিসাবে এই মানটি দেব give ** অ্যানালগ রাইট (10, জেড * 10) এখন .25 ভোল্টের জন্য মফফেট 0.25 * 10 = 2.5 ভোল্ট পায় .40 ভোল্টের জন্য মোসফেটটি 0.40 * 10 = 4 ভোল্ট পায় যেখানে মোটর প্রায় পুরো গতিতে চলে CASE 1. যখন অস্থায়ী। 25 ডিগ্রি কম এই ক্ষেত্রে আরডুইনো কোডের শেষ লাইনের মতো 10 পিনে 0 পিডব্লিউএম ভোল্টেজ প্রেরণ করে ** অন্য যেহেতু মোসফেটের বেসে পিডব্লিউএম ভোল্টেজ 0 হয়, এটি বন্ধ থাকে এবং মোটরটি সার্কিট থেকে সংযোগ বিচ্ছিন্ন হয়ে যায়। এক্ষেত্রে সিমুলেটেড সার্কিট দেখুন। আপনি দেখতে পারেন যেহেতু তাপমাত্রা 20 ডিগ্রি অ্যানালগ মান = 41 তবে যেহেতু টেম্প 25 ডিগ্রির কম হয় তাই মফফেট ডুমুরের শো হিসাবে 0 ভোল্ট পায় (নীল বিন্দু দ্বারা নির্দেশিত)। যখন তাপমাত্রা 25 ডিগ্রি পৌঁছে যায়, তারপরে কোডে উল্লিখিত হিসাবে পিডব্লিউএম সিগন্যালটি মোসফেটের গোড়ায় প্রেরণ করা হয় এবং প্রতিটি ডিগ্রি তাপমাত্রায় বৃদ্ধির সাথে সাথে এই পিডব্লিউএম ভোল্টেজও বৃদ্ধি পায় i.e. এক্ষেত্রে সিমুলেটেড সার্কিট দেখুন। আপনি দেখতে পাচ্ছেন যে তাপমাত্রা 20 ডিগ্রি থেকে 40 ডিগ্রি পর্যন্ত বৃদ্ধি পায়, তিনটিই মান পরিবর্তন হয় এবং 40 ডিগ্রি সেলসিয়াসে থাকে অ্যানালগ মান = 82 যেহেতু টেম্প 25 ডিগ্রির বেশি হয় তাই মফফেট ডুমুরের শো হিসাবে (পিড ডাব দ্বারা নির্দেশিত) পিওডাব্লুএম ভোল্টেজের সাথে সম্পর্কিত হয়। অতএব মোটর 25 ডিগ্রি থেকে চলতে শুরু করে এবং প্রতি ডিগ্রি তাপমাত্রায় পিডব্লিউএম ভোল্টেজের সাথে পিন 10 থেকে ম্যাসফেটের বেস পর্যন্ত বৃদ্ধি পায়। সুতরাং তাপমাত্রা বৃদ্ধির সাথে মোটরের গতি রৈখিকভাবে বৃদ্ধি পায় এবং প্রায় 40 ডিগ্রি সেলসিয়াস হয়ে যায়। উপরের বর্ণিত স্বয়ংক্রিয় তাপমাত্রা নিয়ন্ত্রিত ডিসি ফ্যান সার্কিট এবং ফ্যান এবং আরডুইনো ব্যবহার করে যদি আপনার আরও প্রশ্ন থাকে তবে আপনি সর্বদা নীচের মন্তব্য বাক্সটি ব্যবহার করতে পারেন এবং আপনার মতামত আমাদের কাছে পাঠাতে পারেন। আমরা তাড়াতাড়ি ফিরে আসার চেষ্টা করব।//--------------------Program developed by R.Girish---------------------//
#include
dht DHT
#define DHTxxPIN A1
int p = A0
int n = A2
int ack
int op = 7
int th = 30 // set thershold tempertaure in Celsius
void setup(){
Serial.begin(9600) // May be removed after testing
pinMode(p,OUTPUT)
pinMode(n,OUTPUT)
pinMode(op,OUTPUT)
digitalWrite(op,LOW)
}
void loop()
{
digitalWrite(p,1)
digitalWrite(n,0)
ack=0
int chk = DHT.read11(DHTxxPIN)
switch (chk)
{
case DHTLIB_ERROR_CONNECT:
ack=1
break
}
if(ack==0)
{
// you may remove these lines after testing, from here
Serial.print('Temperature(°C) = ')
Serial.println(DHT.temperature)
Serial.print('Humidity(%) = ')
Serial.println(DHT.humidity)
Serial.print('
')
// To here
if (DHT.temperature>=th)
{
delay(3000)
if(DHT.temperature>=th) digitalWrite(op,HIGH)
}
if(DHT.temperature {
delay(3000)
if(DHT.temperature }
}
if(ack==1)
{
// may be removed after testing from here
Serial.print('NO DATA')
Serial.print('
')
// To here
digitalWrite(op,LOW)
delay(500)
}
}
//-------------------------Program developed by R.Girish---------------------// আমাদের উদ্দেশ্য:
তাপমাত্রা সেন্সর LM35:
2. ভাউট - এই পিনটি ভোল্টেজ আকারে আউটপুট দেয়।
৩. জিএনডি-- এই পিনটি সার্কিটের জিন্ড টার্মিনালের সাথে সংযুক্ত। এই ডিসি ফ্যান কনট্রোলার প্রকল্পের জন্য আরডুইনো কেন?
পাওয়ার মোসফেটের ভূমিকা কী?
কেন ডায়োড ব্যবহার করা হয়?
প্রকল্পের অংশগুলি তালিকাভুক্ত:
বর্তনী চিত্র:
খ) আরএমডিনোর A0 এর সাথে lm358 এর ভোল্ট পিনটি সংযুক্ত করুন
c) আরএমডিনোর GND এর সাথে lm358 এর গ্রাউন্ড পিনটি সংযুক্ত করুন
d) আরডুইনোর পিডব্লিউএম পিন 10-এ মোসফেটের বেসটি সংযুক্ত করুন কোড:
float x// initialise variables
int y
int z
void setup()
{
pinMode(A0,INPUT) // initialize analog pin A0 as input pin
Serial.begin(9600) // begin serial communication
pinMode(10,OUTPUT) // initialize digital pin 10 as output pin
}
void loop()
{
x=analogRead(A0) // read analog value from sensor's output pin connected to A0 pin
y=(500*x)/1023// conversion of analog value received from sensor to corresponding degree Celsius (*formula explained in working section)
z=map(x,0,1023,0,255) // conversion of analog value to digital value
Serial.print('analog value ')
Serial.print( x) // print analog value from sensor's output pin connected to A0 pin on serial monitor( called 'analog value')
Serial.print(' temperature ')
Serial.print( y) // print the temprature on serial monitor( called 'temprature')
Serial.print(' mapped value ')
Serial.print( z*10) // multiply mapped value by 10 and print it ( called ' mapped value ' )
Serial.println()
delay(1000) // 1 sec delay between each print.
if(y>25)
{analogWrite(10,z*10) // when temp. rises above 25 deg, multiply digital value by 10 and write it on PWM pin 10 ( ** explained in working section)
}
else
{analogWrite(10,0) // in any other case PWM on pin 10 must be 0
}
} কাজ (কোড বোঝার):
1. প্রথম অ্যানালগ মানটি অবশ্যই সংশ্লিষ্ট ভোল্টেজে পরিবর্তন করতে হবে i.e.
1023: 5v
অতএব, (5000 মিলিভোল্ট * এক্স) / 1023 ভি
২. এখন আমরা জানি যে প্রতিটি ডিগ্রি বৃদ্ধির জন্য তাপমাত্রা সংশ্লিষ্ট ভোল্টেজের আউটপুট 10 এমভি বৃদ্ধি পায় অর্থাৎ
1 ডিগ্রি সেলসিয়াস: 10 মিলিভোল্টস
অতএব, (5000 মিলিভোল্ট * এক্স) / (1023 * 10) ডিগ্রি
এই পরিবর্তনশীলটি পিন 10-এ pwm আউটপুটটির জন্য অ্যানালগ মানটিকে ডিজিটাল মানে পরিবর্তন করে।
{এনালগ রাইট (10,0) // অন্য যে কোনও ক্ষেত্রে পিড 10 এ পিডাব্লুএমএম 0 হতে হবে
} **
তাপমাত্রা = 20
মানচিত্রে মান = 100
CASE 2. যখন অস্থায়ী। 25 ডিগ্রির চেয়ে বড়if(y>25)
{analogWrite(10,z*10)
} which is z* 10.
তাপমাত্রা = 40
মানচিত্রে মান = 200
পূর্ববর্তী: সাধারণ রেফ্রিজারেটর প্রোটেক্টর সার্কিট পরবর্তী: একটি নিরবচ্ছিন্ন বিদ্যুৎ সরবরাহ (ইউপিএস) সার্কিট কীভাবে ডিজাইন করবেন