Arduino तापमान नियंत्रित डीसी फैन सर्किट

समस्याओं को खत्म करने के लिए हमारे साधन का प्रयास करें





इस लेख में हम सरल Arduino आधारित स्वचालित तापमान नियंत्रित डीसी फैन सर्किटों के एक जोड़े का निर्माण करने जा रहे हैं जो ऑन-अ फैन या इससे जुड़े किसी अन्य गैजेट्स को स्विच करेगा, जब परिवेश का तापमान पूर्व-निर्धारित सीमा स्तर पर पहुंच जाता है। हम इस परियोजना के लिए DHT11 सेंसर और आर्डिनो का उपयोग करने जा रहे हैं।

अवलोकन

माइक्रोकंट्रोलर्स की सुंदरता यह है कि, हम उन बाह्य उपकरणों पर बहुत सटीक नियंत्रण प्राप्त करते हैं जो इससे जुड़े हुए हैं। इस परियोजना में उपयोगकर्ता को प्रोग्राम में केवल थ्रेशोल्ड तापमान इनपुट करने की आवश्यकता होती है, माइक्रोकंट्रोलर बाकी फ़ंक्शन का ख्याल रखेगा।



इंटरनेट के चारों ओर गैर-माइक्रोकंट्रोलर आधारित स्वचालित तापमान नियंत्रक परियोजनाएं उपलब्ध हैं, जैसे कि तुलनित्र और ट्रांजिस्टर का उपयोग करना।

वे बहुत सरल हैं और वे अच्छी तरह से काम करते हैं लेकिन, प्रीसेट रेसिस्टर या पोटेंशियोमीटर का उपयोग करके थ्रेसहोल्ड स्तर को कैलिब्रेट करते समय समस्या उत्पन्न होती है।



इसे कैलिब्रेट करते समय हमारे पास एक अंधे विचार है और उपयोगकर्ता को मीठे स्थान को खोजने के लिए परीक्षण और त्रुटि विधि करने की आवश्यकता हो सकती है।

इन समस्याओं को माइक्रोकंट्रोलर्स द्वारा दूर किया जाता है, उपयोगकर्ता को इस परियोजना में केवल सेल्सियस में तापमान दर्ज करने की आवश्यकता होती है, इसलिए अंशांकन की कोई आवश्यकता नहीं है।

इस परियोजना का उपयोग किया जा सकता है, जहां सर्किट के आंतरिक तापमान को स्थिर करने या इसे गर्म होने से बचाने की आवश्यकता होती है।

आरेख 1 में, हम एक सीपीयू प्रशंसक को आउटपुट के रूप में जोड़ रहे हैं। इस सेटअप का उपयोग संलग्न सर्किट के आंतरिक परिवेश के तापमान को नियंत्रित करने के लिए किया जा सकता है।

जब थ्रेसहोल्ड तापमान पहुंच जाता है तो पंखा चालू हो जाता है। जब तापमान थ्रेसहोल्ड तापमान से नीचे चला जाता है तो पंखा बंद हो जाता है। तो यह मूल रूप से एक स्वचालित प्रक्रिया है।

आरेख 2 में, हम उपकरणों को नियंत्रित करने के लिए एक रिले से जुड़े जो टेबल पंखे जैसे साधन वोल्टेज पर चलता है।

जब कमरे का तापमान थ्रेसहोल्ड तापमान तक पहुँच जाता है तो पंखा चालू हो जाता है और कमरा ठंडा होने पर बंद हो जाता है।

यह बिजली बचाने का सबसे अच्छा तरीका हो सकता है और यह आलसी लोगों के लिए स्वर्ग हो सकता है जो दूसरों को गर्म महसूस होने पर पंखे को चालू करने की इच्छा रखते हैं।

एक डीसी फैन नियंत्रण दिखाते हुए सर्किट आरेख

तापमान समायोजित करने के लिए डीसी प्रशंसक नियंत्रण स्वचालित

यह सेटअप सर्किट के लिए तैनात किया जा सकता है जो एक बॉक्स में संलग्न हैं। पूर्व निर्धारित दहलीज स्तर तक पहुंचने पर एलईडी चालू हो जाती है और पंखे पर भी मुड़ जाती है।

बिग फैंस को नियंत्रित करने के लिए एक रिले को जोड़ना

Arduino तापमान सेंसर का उपयोग करके रिले स्विच प्रशंसक नियंत्रण

यह सर्किट पिछले सर्किट के समान कार्य करता है, अब प्रशंसक को रिले द्वारा बदल दिया जाता है।

यह सर्किट टेबल फैन या सीलिंग फैन या किसी अन्य गैजेट को नियंत्रित कर सकता है जो परिवेश के तापमान को ठंडा कर सकता है।

कनेक्टेड डिवाइस प्रीसेट थ्रेशोल्ड स्तर से नीचे पहुंचते ही बंद हो जाता है।

यहाँ नियंत्रित तापमान डीसी फैन सर्किट आरेख बहुत सारी संभावनाओं में से कुछ हैं। आप अपने स्वयं के उद्देश्य के लिए सर्किट और कार्यक्रम को अनुकूलित कर सकते हैं।

नोट 1: # 7 आउटपुट है।

नोट 2: यह प्रोग्राम केवल DHT11 सेंसर के साथ ही संगत है।

Arduino का उपयोग करके ऊपर वर्णित स्वचालित तापमान नियामक सर्किट के लिए कार्यक्रम:

प्रोग्राम कोड

//--------------------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---------------------//

नोट: कार्यक्रम में

int th = 30 // सेल्सियस में थ्रेशोल्ड तापमान सेट करें।

वांछित मान के साथ '30' बदलें।

दूसरा डिजाइन

नीचे चर्चा किए गए दूसरे तापमान नियंत्रित डीसी फैन सर्किट प्रोजेक्ट में परिवेशी तापमान को स्वचालित रूप से महसूस किया जाता है और आसपास के तापमान को नियंत्रण में रखने के लिए पंखे की मोटर गति को समायोजित करता है। यह स्वचालित प्रसंस्करण एक Arduino और एक तापमान सेंसर IC LM35 के माध्यम से किया जाता है।

द्वारा:अंकित नेगी

हमारा उद्देश्य:

1)। जैसे ही आसपास का तापमान 25 डिग्री सेल्सियस से अधिक बढ़ जाता है (आप अपनी आवश्यकता के अनुसार कार्यक्रम में इस मूल्य को बदल सकते हैं, काम करने वाले भाग में समझाया गया) मोटर चलने लगता है।

२)। और तापमान में वृद्धि के प्रत्येक डिग्री के साथ, मोटर की गति भी बढ़ जाती है।

३)। जैसे ही तापमान 40 डिग्री सेल्सियस तक बढ़ जाता है (यह मान कार्यक्रम में बदला जा सकता है) मोटर अपनी शीर्ष गति से चलता है।

तापमान सेंसर LM35:

ऊपर वर्णित कार्य को प्राप्त करने के लिए, हम अस्थायी का उपयोग करने जा रहे हैं। सेंसर LM35 क्योंकि यह व्यापक रूप से और आसानी से उपलब्ध है।

LM35 में 3 पिन हैं जैसा कि आप आंकड़ा में देख सकते हैं।

LM35 आईसी पिनआउट

1. विन-- यह पिन 4 से 20 वी के बीच डीसी बिजली की आपूर्ति से जुड़ा है।
2. Vout-- यह पिन वोल्टेज के रूप में आउटपुट देता है।
3. GND-- यह पिन सर्किट के gnd टर्मिनल से जुड़ा है।

LM35, जब बिजली की आपूर्ति से जुड़ा होश चारों ओर का तापमान और इसके आउटपुट पिन के माध्यम से तापमान में प्रति डिग्री वृद्धि के अनुसार बराबर वोल्टेज भेजता है।

LM35 किसी भी अस्थायी समझ सकता है। -50 डिग्री से +150 डिग्री सेल्सियस के बीच और तापमान में 1 डिग्री वृद्धि के साथ 10 मिलीवॉट तक उत्पादन बढ़ाता है। इस प्रकार अधिकतम वोल्टेज यह आउटपुट के रूप में दे सकता है 1.5 वोल्ट।

क्यों इस डीसी प्रशंसक नियंत्रण परियोजना के लिए ARDUINO?

Arduino को LM35 के आउटपुट पिन से प्राप्त एनालॉग मूल्य को डिजिटल मूल्य में बदलने के लिए आवश्यक है और इसी डिजिटल आउटपुट (PWM) को मस्जिद के बेस में भेजता है।

हम भी उपयोग करेंगे Arduino तापमान मुद्रित करने के लिए आदेश देता है, इसी अनुरूप मूल्य और डिजिटल आउटपुट ARDUINO IDE के धारावाहिक मॉनिटर पर।

बिजली की खराबी का क्या कारण है?

यदि यह उच्च धारा की मोटर नहीं चला सकता तो यह सर्किट किसी काम का नहीं रहेगा। इसलिए इस तरह की मोटरों को चलाने के लिए बिजली का उपयोग किया जाता है।

क्यों इस्तेमाल किया जाता है?

डायोड का उपयोग चलने के दौरान मोटर द्वारा उत्पन्न E.M.F से मच्छर से बचाने के लिए किया जाता है।

परियोजना के लिए भागों की सूची:

1. LM35

2. ARDUINO

3. पावर मोसेट (IRF1010E)

पावर मोसेट (IRF1010E)

4. डायोड (1N4007)

DIODE (1N4007)

5. FAN (मोटर)

6. बिजली की आपूर्ति

सर्किट आरेख:

Arduino तापमान निर्भर डीसी प्रशंसक नियंत्रण

सर्किट आरेख में दिखाए गए अनुसार कनेक्शन बनाएं।

a) arduino के vv lm358 से 5v तक कनेक्ट करें
ख) Arduino के A0 को lm358 के vout पिन से कनेक्ट करें
c) arduino के GND को lm358 का ग्राउंड पिन कनेक्ट करें
d) अर्दीनो के PWM पिन 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
}
}

काम करना (कोड समझना):

ए)। VARIABLE X-

यह केवल एनालॉग मूल्य है जो पिन नंबर द्वारा प्राप्त किया जाता है। LM35 के आउटपुट पिन से A0।

बी)। वार्बल और

केवल इस चर के कारण, हमारे पंखे की मोटर इसी तापमान के अनुसार चलती है। यह चर क्या करता है यह एनालॉग वैल्यू यानी चर x को परिवेश के तापमान के अनुरूप बदलता है।

Y = (500 * x) / 1023
1. पहले एनालॉग वैल्यू को संबंधित वोल्टेज में बदला जाना चाहिए यानी
1023: 5 वी
इसलिए, (5000 मिलीवॉट * x) / 1023 वी
2. अब हम जानते हैं कि तापमान में प्रत्येक डिग्री वृद्धि के लिए इसी वोल्टेज का उत्पादन 10 mv से बढ़ता है यानी
1 डिग्री सेल्सियस: 10 मिलीलीटर
इसलिए, (5000 मिलीवॉट * x) / (1023 * 10) DEGREE

सी)। वार्बल जेड-

z = नक्शा (x, 0, 1023, 0,255)
यह चर पिन 10 पर pwm आउटपुट के लिए डिजिटल मूल्य के एनालॉग मूल्य को बदलता है।

ध्यान दें :: हम जानते हैं कि lm35 अधिकतम 1.5 वोल्ट प्रदान कर सकता है और वह भी जब अस्थायी हो। 150 डिग्री है। जो व्यावहारिक नहीं है।

इसका मतलब 40 डिग्री सेल्सियस के लिए हमें 0.40 वोल्ट मिलता है और 25 डिग्री के लिए हमें 0.25 वोल्ट मिलता है। चूंकि ये मूल्य मस्जिद पर उचित pwm के लिए बहुत कम हैं, इसलिए हमें इसे एक कारक से गुणा करना होगा।

इसलिए हम इसे 10 से गुणा करते हैं और इसके बजाय इस आउटपुट को PWM पिन 10 के अनुरूप आउटपुट के रूप में देते हैं।

** अनुरूपता (10, z * 10)

अब, .25 वोल्ट के मस्जिद के लिए 0.25 * 10 = 2.5 वोल्ट हो जाता है

.40 वोल्ट के लिए मस्जिद को 0.40 * 10 = 4 वोल्ट प्राप्त होता है, जिस पर मोटर लगभग पूरी गति से चलती है

मामला 1. जब अस्थायी। 25 डिग्री से कम है

इस मामले में arduino कोड के अंतिम पंक्ति के रूप में 10 को पिन करने के लिए 0 PWM वोल्टेज भेजता है

** अन्य
{एनालॉगवृइट (10,0) // किसी अन्य मामले में पिन 10 पर पीडब्लूएम 0 होना चाहिए
} **

चूंकि मस्जिद के आधार पर pwm वोल्टेज 0 है, यह बंद रहता है और सर्किट से मोटर कट जाता है।

इस मामले में नकली सर्किट देखें।

Arduino प्रशंसक नियंत्रण सिमुलेशन

जैसा कि आप देख सकते हैं कि तापमान 20 डिग्री है

अनुरूप मूल्य = ४१
तापमान = 20
मैप किया गया मूल्य = 100

लेकिन चूंकि टेंप 25 डिग्री से कम है, इसलिए मॉस्फ़ेट को अंजीर में दिखाए गए (ब्लू डॉट द्वारा इंगित) के रूप में 0 वोल्ट मिलता है।
मामला 2. जब अस्थायी। 25 डिग्री से अधिक है

जब तापमान 25 डिग्री तक पहुंच जाता है, तो जैसा कि कोड में निर्दिष्ट किया गया है pwm सिग्नल को मस्जिद के आधार पर भेजा जाता है और तापमान में प्रत्येक डिग्री वृद्धि के साथ यह PWM वोल्टेज भी बढ़ता है यानी

if(y>25)
{analogWrite(10,z*10)
} which is z* 10.

इस मामले में नकली सर्किट देखें।

जैसा कि आप देख सकते हैं कि तापमान 20 डिग्री से बढ़कर सभी तरह से 40 डिग्री, तीनों मानों में परिवर्तन और 40 डिग्री सेल्सियस पर है

एनालॉग मूल्य = 82
तापमान = 40
मैप किया गया मान = 200

चूंकि अस्थायी 25 डिग्री से अधिक है, इसलिए मस्जिद को पीडब्लूएम वोल्टेज के अनुसार अंजीर में दिखाया गया है (लाल बिंदु द्वारा दर्शाया गया है)।

इसलिए मोटर 25 डिग्री पर चलना शुरू कर देता है और इसके साथ ही प्रति डिग्री तापमान वोल्टेज में वृद्धि होती है, जो पिन 10 से मच्छर के आधार तक भी बढ़ जाती है। इसलिए मोटर की गति तापमान में वृद्धि के साथ रैखिक रूप से बढ़ जाती है और 40 डिग्री सेल्सियस के लिए लगभग अधिकतम हो जाती है।

यदि आपके पास प्रशंसक और Arduino का उपयोग करके ऊपर वर्णित स्वचालित तापमान नियंत्रित डीसी फैन सर्किट के बारे में कोई और प्रश्न हैं, तो आप हमेशा नीचे दिए गए टिप्पणी बॉक्स का उपयोग कर सकते हैं और अपने विचार हमें भेज सकते हैं। हम जल्द से जल्द वापस आने की कोशिश करेंगे।




पिछला: सिंपल रेफ्रीजिरेटर प्रोटेक्टर सर्किट अगला: एक निर्बाध विद्युत आपूर्ति (यूपीएस) सर्किट कैसे डिजाइन करें