ఆర్డునో ఉష్ణోగ్రత నియంత్రిత DC ఫ్యాన్ సర్క్యూట్లు

సమస్యలను తొలగించడానికి మా పరికరాన్ని ప్రయత్నించండి





ఈ వ్యాసంలో మేము రెండు సాధారణ ఆర్డునో ఆధారిత ఆటోమేటిక్ ఉష్ణోగ్రత నియంత్రిత డిసి ఫ్యాన్ సర్క్యూట్లను నిర్మించబోతున్నాము, ఇవి అభిమానిని లేదా దానికి అనుసంధానించబడిన ఇతర గాడ్జెట్‌లను ఆన్ చేస్తాయి, పరిసర ఉష్ణోగ్రత ముందుగా నిర్ణయించిన స్థాయి స్థాయికి చేరుకున్నప్పుడు. మేము ఈ ప్రాజెక్ట్ కోసం DHT11 సెన్సార్ మరియు ఆర్డునోలను ఉపయోగించబోతున్నాము.

అవలోకనం

మైక్రోకంట్రోలర్‌ల అందం ఏమిటంటే, దానికి అనుసంధానించబడిన పెరిఫెరల్స్ పై మనకు చాలా ఖచ్చితమైన నియంత్రణ లభిస్తుంది. ఈ ప్రాజెక్ట్‌లో యూజర్ ప్రోగ్రామ్‌లో థ్రెషోల్డ్ ఉష్ణోగ్రతను ఇన్పుట్ చేయాలి, మైక్రోకంట్రోలర్ మిగిలిన ఫంక్షన్‌ను చూసుకుంటుంది.



కంపారిటర్ మరియు ట్రాన్సిస్టర్‌లను ఉపయోగించడం వంటి టన్నుల నాన్-మైక్రోకంట్రోలర్ ఆధారిత ఆటోమేటిక్ టెంపరేచర్ కంట్రోలర్ ప్రాజెక్టులు ఇంటర్నెట్‌లో అందుబాటులో ఉన్నాయి.

అవి చాలా సరళమైనవి మరియు అవి బాగా పనిచేస్తాయి కాని, ప్రీసెట్ రెసిస్టర్ లేదా పొటెన్షియోమీటర్ ఉపయోగించి ప్రవేశ స్థాయిని క్రమాంకనం చేసేటప్పుడు సమస్య తలెత్తుతుంది.



దీన్ని క్రమాంకనం చేసేటప్పుడు మాకు గుడ్డి ఆలోచన ఉంది మరియు తీపి ప్రదేశాన్ని కనుగొనడానికి వినియోగదారు ట్రయల్ మరియు ఎర్రర్ మెథడ్ చేయవలసి ఉంటుంది.

ఈ సమస్యలను మైక్రోకంట్రోలర్‌లు అధిగమిస్తాయి, వినియోగదారు ఈ ప్రాజెక్ట్‌లో సెల్సియస్‌లోని ఉష్ణోగ్రతను నమోదు చేయాలి, కాబట్టి అమరిక అవసరం లేదు.

సర్క్యూట్ యొక్క అంతర్గత ఉష్ణోగ్రత స్థిరీకరించాల్సిన అవసరం ఉన్న చోట లేదా వేడెక్కడం నుండి ఆదా చేయాల్సిన చోట ఈ ప్రాజెక్ట్ ఉపయోగించబడుతుంది.

రేఖాచిత్రం 1 లో, మేము CPU అభిమానిని అవుట్‌పుట్‌గా కనెక్ట్ చేస్తున్నాము. పరివేష్టిత సర్క్యూట్ యొక్క అంతర్గత పరిసర ఉష్ణోగ్రతను నియంత్రించడానికి ఈ సెటప్ ఉపయోగపడుతుంది.

ప్రవేశ ఉష్ణోగ్రత చేరుకున్నప్పుడు అభిమాని ఆన్ అవుతుంది. ఉష్ణోగ్రత ప్రవేశ స్థాయికి వెళ్ళినప్పుడు ఉష్ణోగ్రత అభిమాని ఆపివేయబడుతుంది. కాబట్టి ఇది ప్రాథమికంగా స్వయంచాలక ప్రక్రియ.

రేఖాచిత్రం 2 లో, టేబుల్ ఫ్యాన్ వంటి మెయిన్స్ వోల్టేజ్‌లో పనిచేసే పరికరాలను నియంత్రించడానికి మేము రిలేను కనెక్ట్ చేసాము.

గది ఉష్ణోగ్రత ప్రవేశ ఉష్ణోగ్రతకు చేరుకున్నప్పుడు, గది చల్లబడినప్పుడు అభిమాని ఆన్ చేసి, ఆపివేయబడుతుంది.

శక్తిని ఆదా చేయడానికి ఇది ఉత్తమమైన మార్గం మరియు ఇతరులు వెచ్చగా ఉన్నప్పుడు అభిమానిని ఆన్ చేయాలని ఇతరులు కోరుకునే సోమరివారికి ఇది స్వర్గం కావచ్చు.

సర్క్యూట్ రేఖాచిత్రం DC అభిమాని నియంత్రణను చూపుతోంది

ఉష్ణోగ్రత కోసం DC అభిమాని నియంత్రణ ఆటోమేటిక్ సర్దుబాటు

ఈ సెటప్ పెట్టెలో జతచేయబడిన సర్క్యూట్ల కోసం ఉపయోగించబడుతుంది. ప్రీసెట్ ప్రవేశ స్థాయికి చేరుకున్నప్పుడు LED ఆన్ అవుతుంది మరియు అభిమానిని కూడా ఆన్ చేస్తుంది.

పెద్ద అభిమానులను నియంత్రించడానికి రిలేను కనెక్ట్ చేస్తోంది

ఆర్డునో ఉష్ణోగ్రత సెన్సార్ ఉపయోగించి రిలే స్విచ్ ఫ్యాన్ కంట్రోల్

ఈ సర్క్యూట్ మునుపటి సర్క్యూట్ యొక్క సారూప్య పనితీరును చేస్తుంది, ఇప్పుడు అభిమాని రిలే ద్వారా భర్తీ చేయబడింది.

ఈ సర్క్యూట్ టేబుల్ ఫ్యాన్ లేదా సీలింగ్ ఫ్యాన్ లేదా పరిసర ఉష్ణోగ్రతను చల్లబరుస్తుంది.

ఉష్ణోగ్రత ముందుగానే అమర్చబడిన స్థాయి స్థాయికి చేరుకున్న వెంటనే కనెక్ట్ చేయబడిన పరికరం ఆపివేయబడుతుంది.

ఇక్కడ వివరించిన ఉష్ణోగ్రత నియంత్రిత డిసి ఫ్యాన్ సర్క్యూట్ రేఖాచిత్రం చాలా అవకాశాలలో కొన్ని మాత్రమే. మీరు మీ స్వంత ప్రయోజనం కోసం సర్క్యూట్ మరియు ప్రోగ్రామ్‌ను అనుకూలీకరించవచ్చు.

గమనిక 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” ని మార్చండి.

రెండవ డిజైన్

క్రింద చర్చించిన రెండవ ఉష్ణోగ్రత నియంత్రిత డిసి ఫ్యాన్ సర్క్యూట్ ప్రాజెక్ట్ పరిసర ఉష్ణోగ్రతను స్వయంచాలకంగా గ్రహించి, చుట్టుపక్కల ఉష్ణోగ్రతను అదుపులో ఉంచడానికి అభిమాని మోటారు వేగాన్ని సర్దుబాటు చేస్తుంది. ఈ ఆటోమేటిక్ ప్రాసెసింగ్ ఒక ఆర్డునో మరియు ఉష్ణోగ్రత సెన్సార్ IC LM35 ద్వారా జరుగుతుంది.

రచన:అంకిత్ నేగి

మా లక్ష్యం:

1). చుట్టుపక్కల ఉష్ణోగ్రత 25 డిగ్రీల సెల్సియస్‌కు మించి పెరిగిన వెంటనే (మీ అవసరానికి అనుగుణంగా ఈ విలువను ప్రోగ్రామ్‌లో మార్చవచ్చు, పని విభాగంలో వివరించబడింది) మోటారు నడపడం ప్రారంభిస్తుంది.

2). మరియు ఉష్ణోగ్రత పెరుగుదల ప్రతి డిగ్రీతో, మోటారు వేగం కూడా పెరుగుతుంది.

3). ఉష్ణోగ్రత 40 డిగ్రీల సెల్సియస్‌కు పెరిగిన వెంటనే మోటారు దాని వేగంతో నడుస్తుంది (ఈ విలువను ప్రోగ్రామ్‌లో మార్చవచ్చు).

టెంపరేచర్ సెన్సార్ LM35:

పైన పేర్కొన్న పనిని సాధించడానికి, మేము తాత్కాలికతను ఉపయోగించబోతున్నాము. సెన్సార్ LM35 విస్తృతంగా మరియు సులభంగా లభిస్తుంది.

మీరు చిత్రంలో చూడగలిగినట్లుగా LM35 కి 3 పిన్స్ ఉన్నాయి.

LM35 IC పిన్‌అవుట్

1. విన్-- ఈ పిన్ 4 నుండి 20 వి మధ్య డిసి విద్యుత్ సరఫరాకు అనుసంధానించబడి ఉంది.
2. Vout-- ఈ పిన్ వోల్టేజ్ రూపంలో అవుట్పుట్ ఇస్తుంది.
3. GND-- ఈ పిన్ సర్క్యూట్ యొక్క gnd టెర్మినల్‌కు అనుసంధానించబడి ఉంది.

LM35, విద్యుత్ సరఫరాతో అనుసంధానించబడినప్పుడు పరిసరాల ఉష్ణోగ్రత మరియు దాని అవుట్పుట్ పిన్ ద్వారా ఉష్ణోగ్రతలో డిగ్రీ పెరుగుదలకు అనుగుణంగా సమానమైన వోల్టేజ్‌ను పంపుతుంది.

LM35 ఏదైనా తాత్కాలికతను గ్రహించగలదు. -50 డిగ్రీ నుండి +150 డిగ్రీల సెల్సియస్ మధ్య మరియు ఉష్ణోగ్రత 1 డిగ్రీ పెరుగుదలతో ఉత్పత్తిని 10 మిల్లీవోల్ట్ల పెంచుతుంది. అవుట్పుట్ 1.5 వోల్ట్లు కాబట్టి ఇది గరిష్ట వోల్టేజ్ ఇవ్వగలదు.

ఈ DC ఫ్యాన్ కంట్రోలర్ ప్రాజెక్ట్ కోసం అర్దునో ఎందుకు?

LM35 యొక్క అవుట్పుట్ పిన్ నుండి అందుకున్న అనలాగ్ విలువను డిజిటల్ విలువకు మార్చడానికి Arduino అవసరం మరియు సంబంధిత డిజిటల్ అవుట్పుట్ (PWM) ను మోస్ఫెట్ యొక్క స్థావరానికి పంపుతుంది.

మేము కూడా ఉపయోగిస్తాము ఉష్ణోగ్రత ముద్రించడానికి arduino ఆదేశాలు, ARDUINO IDE యొక్క సీరియల్ మానిటర్‌లో మోస్‌ఫెట్‌కు సంబంధిత అనలాగ్ విలువ మరియు డిజిటల్ అవుట్‌పుట్.

పవర్ మోస్ఫెట్ పాత్ర ఏమిటి?

అధిక కరెంట్ మోటారును నడపలేకపోతే ఈ సర్క్యూట్ ప్రయోజనం ఉండదు. అందువల్ల అటువంటి మోటార్లు నడపడానికి పవర్ మోస్ఫెట్ ఉపయోగించబడుతుంది.

డయోడ్ ఎందుకు ఉపయోగించబడింది?

నడుస్తున్నప్పుడు మోటారు ద్వారా ఉత్పత్తి చేయబడిన E.M.F వెనుక నుండి మోస్ఫెట్‌ను రక్షించడానికి డయోడ్ ఉపయోగించబడుతుంది.

ప్రాజెక్ట్ కోసం పార్ట్స్ జాబితా:

1. ఎల్‌ఎం 35

2. అర్దునో

3. POWER MOSFET (IRF1010E)

POWER MOSFET (IRF1010E)

4. డియోడ్ (1N4007)

DIODE (1N4007)

5. అభిమాని (మోటారు)

6. ఫ్యాన్ పవర్ సప్లి

సర్క్యూట్ డైగ్రామ్:

ఆర్డునో ఉష్ణోగ్రత ఆధారిత DC అభిమాని నియంత్రణ

సర్క్యూట్ రేఖాచిత్రంలో చూపిన విధంగా కనెక్షన్‌లను చేయండి.

a) lm358 యొక్క విన్ పిన్ను arduino యొక్క 5v కి కనెక్ట్ చేయండి
బి) lm358 యొక్క వోట్ పిన్ను arduino యొక్క A0 కి కనెక్ట్ చేయండి
సి) lm358 యొక్క గ్రౌండ్ పిన్ను ఆర్డ్యునో యొక్క GND కి కనెక్ట్ చేయండి
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
}
}

పని (అవగాహన కోడ్):

ఎ). వేరియబుల్ X-

ఇది కేవలం అనలాగ్ విలువ, ఇది పిన్ నెం. LM35 యొక్క అవుట్పుట్ పిన్ నుండి A0.

బి). వేరియబుల్ మరియు-

ఈ వేరియబుల్ కారణంగా మాత్రమే, మా ఫ్యాన్ మోటర్ సంబంధిత ఉష్ణోగ్రతకు అనుగుణంగా నడుస్తుంది. ఈ వేరియబుల్ ఏమిటంటే అది అనలాగ్ విలువను అనగా వేరియబుల్ x ను పరిసరాల యొక్క సంబంధిత ఉష్ణోగ్రతకు మారుస్తుంది.

Y = (500 * x) / 1023
1. మొదటి అనలాగ్ విలువను సంబంధిత వోల్టేజ్‌కు మార్చాలి, అనగా.
1023: 5 వి
అందువల్ల, (5000 మిల్లివోల్ట్ * x) / 1023 వి
2. ఉష్ణోగ్రతలో ప్రతి డిగ్రీ పెరుగుదలకు సంబంధిత వోల్టేజ్ ఉత్పత్తి 10 mv పెరుగుతుందని ఇప్పుడు మనకు తెలుసు.
1 డిగ్రీ సెల్సియస్: 10 మిల్లీవోల్ట్లు
అందువల్ల, (5000 మిల్లివోల్ట్ * x) / (1023 * 10) డిగ్రీ

సి). వేరియబుల్ Z-

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 డిగ్రీ కంటే తక్కువ

ఈ సందర్భంలో అర్డునో 0 PWM వోల్టేజ్‌ను పిన్ 10 కు పంపుతుంది

** లేకపోతే
{అనలాగ్‌రైట్ (10,0) // మరేదైనా సందర్భంలో పిన్ 10 లోని పిడబ్ల్యుఎం 0 గా ఉండాలి
} **

మోస్‌ఫెట్ బేస్ మీద pwm వోల్టేజ్ 0 కాబట్టి, అది ఆపివేయబడుతుంది మరియు మోటారు సర్క్యూట్ నుండి డిస్‌కనెక్ట్ అవుతుంది.

ఈ సందర్భంలో అనుకరణ సర్క్యూట్ చూడండి.

ఆర్డునో ఫ్యాన్ కంట్రోల్ సిమ్యులేషన్

మీరు చూడగలిగినట్లుగా ఉష్ణోగ్రత 20 డిగ్రీలు

అనలాగ్ విలువ = 41
ఉష్ణోగ్రత = 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 డిగ్రీల సెల్సియస్‌కు గరిష్టంగా మారుతుంది.

అభిమాని మరియు ఆర్డునో ఉపయోగించి పైన వివరించిన ఆటోమేటిక్ టెంపరేచర్ కంట్రోల్డ్ డిసి ఫ్యాన్ సర్క్యూట్‌కు సంబంధించి మీకు ఇంకా ఏవైనా ప్రశ్నలు ఉంటే, మీరు ఎల్లప్పుడూ దిగువ వ్యాఖ్య పెట్టెను ఉపయోగించవచ్చు మరియు మీ ఆలోచనలను మాకు పంపవచ్చు. మేము త్వరగా తిరిగి రావడానికి ప్రయత్నిస్తాము.




మునుపటి: సింపుల్ రిఫ్రిజిరేటర్ ప్రొటెక్టర్ సర్క్యూట్ తర్వాత: నిరంతరాయ విద్యుత్ సరఫరా (యుపిఎస్) సర్క్యూట్‌ను ఎలా డిజైన్ చేయాలి