מעגלי מאוורר DC מבוקרים בטמפרטורה של Arduino

נסה את הכלי שלנו לביטול בעיות





במאמר זה אנו הולכים לבנות כמה מעגלי מאוורר DC אוטומטיים מבוססי Arduino פשוטים, אשר יפעילו מאוורר או כל גאדג'ט אחר המחובר אליו, כאשר טמפרטורת הסביבה מגיעה לרמת סף קבועה מראש. אנו הולכים להשתמש בחיישן DHT11 ובארדואינו לפרויקט זה.

סקירה כללית

היופי במיקרו-בקרים הוא בכך שאנו מקבלים שליטה מדויקת מאוד על ציוד היקפי המחובר אליו. בפרויקט זה המשתמש רק צריך להזין את טמפרטורת הסף בתוכנית, המיקרו-בקר ידאג לשאר הפונקציה.



יש טונות של פרויקטים של בקר טמפרטורה אוטומטי שאינו מבוסס על מיקרו-בקר, כגון שימוש במשווה וטרנזיסטורים.

הם פשוטים מאוד והם אכן עובדים היטב, אך הבעיה מתעוררת בזמן כיול רמת הסף באמצעות נגד קבוע מראש או פוטנציומטר.



יש לנו רעיון עיוור בזמן כיול אותו והמשתמש עשוי להזדקק לשיטת ניסוי וטעייה כדי למצוא את הנקודה המתוקה.

הבעיות הללו מתגברות על ידי מיקרו-בקרים, המשתמש רק צריך להזין את הטמפרטורה בצלזיוס בפרויקט זה, ולכן אין צורך בכיול.

ניתן להשתמש בפרויקט זה כאשר יש לייצב את הטמפרטורה הפנימית של המעגל או להציל אותו מהתחממות יתר.

בתרשים 1 אנו מחברים מאוורר מעבד כפלט. ניתן להשתמש בהתקנה זו כדי לשלוט בטמפרטורת הסביבה הפנימית של מעגל סגור.

כאשר מגיעים לטמפרטורת הסף המאוורר נדלק. כאשר הטמפרטורה יורדת מתחת לסף הטמפרטורה המאוורר נכבה. אז זה בעצם תהליך אוטומטי.

בתרשים 2 חיברנו ממסר לבקרת מכשירים שעוברים על מתח רשת כגון מאוורר שולחן.

כאשר טמפרטורת החדר מגיעה לטמפרטורת הסף המאוורר נדלק ונכבה כאשר החדר מתקרר.

זו אולי הדרך הטובה ביותר לחסוך בחשמל וזו יכולה להיות גן עדן לאנשים עצלנים שמבקשים שאחרים יפעילו את המאוורר כשהם מרגישים חמים.

תרשים מעגל המציג בקרת מאוורר DC

בקרת מאוורר DC להתאמת טמפרטורה אוטומטית

התקנה זו עשויה להתפרס למעגלים הכלואים בתיבה. הנורית נדלקת כאשר רמת הסף שנקבעה מראש הגיעה ומדליקה גם את המאוורר.

חיבור ממסר לשליטה במאווררים גדולים יותר

בקרת מאוורר מתג ממסר באמצעות חיישן טמפרטורה Arduino

מעגל זה מבצע את התפקיד הדומה למעגל הקודם, כעת המאוורר מוחלף בממסר.

מעגל זה יכול לשלוט על מאוורר שולחן או מאוורר תקרה או כל גאדג'ט אחר שיכול לקרר את טמפרטורת הסביבה.

ההתקן המחובר נכבה ברגע שהטמפרטורה הגיעה מתחת לרמת הסף שנקבעה מראש.

תרשים מעגל המאוורר dc מבוקר טמפרטורה המוצג כאן הם רק כמה אפשרויות רבות. אתה יכול להתאים אישית את המעגל והתכנית למטרה שלך.

הערה 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' בערך הרצוי.

עיצוב שני

הפרויקט השני במעגל מאוורר dc שנשלט בטמפרטורה ונדון להלן חש באופן אוטומטי את טמפרטורת הסביבה ומתאים את מהירות מנוע המאוורר כדי לשמור על הטמפרטורה שמסביב. עיבוד אוטומטי זה נעשה באמצעות ארדואינו וחיישן טמפרטורה IC LM35.

על ידי:אנקיט נגי

המטרה שלנו:

1). ברגע שהטמפרטורה של הסביבה עולה מעל 25 מעלות צלזיוס (אתה יכול לשנות ערך זה בתכנית בהתאם לצורך שלך, מוסבר בסעיף העבודה) המנוע מתחיל לפעול.

2). ובכל דרגת עליית טמפרטורה, גם מהירות המנוע עולה.

3). המנוע פועל במהירות הגבוהה ביותר ברגע שהטמפרטורה עולה ל 40 מעלות צלזיוס (ניתן לשנות ערך זה בתכנית).

חיישן טמפרטורה LM35:

כדי להשיג את המשימה שצוינה לעיל, אנו נשתמש בטמפ '. חיישן LM35 כפי שהוא נמצא בשימוש נרחב וזמין.

ל- LM35 3 פינים כפי שניתן לראות באיור.

LM35 IC pinout

1. Vin - סיכה זו מחוברת לאספקת חשמל DC בין 4 ל -20 וולט.
2. Vout - סיכה זו נותנת פלט בצורה של מתח.
3. GND - סיכה זו מחוברת למסוף ה- GN של המעגל.

LM35, כאשר הוא מחובר לאספקת חשמל מרגיש את טמפרטורת הסביבה ושולח מתח שווה ערך בהתאם לעליית הטמפרטורה לכל מעלה דרך סיכת הפלט שלו.

LM35 יכול לחוש בכל טמפ '. בין -50 מעלות ל -150 מעלות צלזיוס ומגדיל את התפוקה ב -10 מיליוולט עם עליית מעלה אחת בטמפרטורה. לפיכך המתח המרבי שהוא יכול לתת כיוון שההספק הוא 1.5 וולט.

מדוע ARDUINO לפרויקט זה של בקרת מאווררים זו?

ארדואינו נדרש לשנות את הערך האנלוגי המתקבל מסיכת הפלט של LM35 לערך דיגיטלי ושולח את הפלט הדיגיטלי המתאים (PWM) לבסיס Mosfet.

אנו גם נשתמש פקודות ארדואינו להדפיס טמפרטורה, ערך אנלוגי מקביל ופלט דיגיטלי ל- mosfet על צג סדרתי של ARDUINO IDE.

מהי תפקידו של מוסף כוח?

מעגל זה לא יועיל אם הוא אינו יכול להפעיל מנוע זרם גבוה. מכאן להפעלת מנועים כאלה נעשה שימוש במוספט כוח.

מדוע משתמשים בשיעור?

דיודה משמשת להגנה על המוספט מאחור ה- E.M.F שנוצר על ידי המנוע בזמן הריצה.

רשימת חלקים לפרויקט:

1. LM35

2. ארדו

3. MOSFET POWER (IRF1010E)

MOSFET POWER (IRF1010E)

4. DIODE (1N4007)

DIODE (1N4007)

5. מאוורר (מנוע)

6. אספקת כוח מאוורר

דיאגרמת מעגלים:

בקרת מאוורר DC תלויה בטמפרטורה של Arduino

בצע חיבורים כפי שמוצג בתרשים המעגל.

א) חבר פינ סיכה של lm358 ל -5 וולט של ארדואינו
ב) חבר את סיכת ה- vout של lm358 ל- A0 של arduino
ג) חבר סיכת קרקע של lm358 ל- GND של ארדואינו
ד) חבר את בסיס המוספט לסיכת 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
}
}

עבודה (הבנת קוד):

א). משתנה X-

זה פשוט הערך האנלוגי שמתקבל על ידי סיכה לא. A0 מסיכת הפלט של LM35.

ב). משתנים ו-

בגלל המשתנה הזה בלבד, מנוע המאוורר שלנו פועל בהתאם לטמפרטורה המתאימה. מה שמשתנה זה עושה הוא שהוא משנה את הערך האנלוגי כלומר המשתנה x לטמפרטורה המקבילה של הסביבה.

Y = (500 * x) / 1023
1. יש לשנות את הערך האנלוגי הראשון למתח המתאים כלומר.
1023: 5v
לפיכך, (5000 מיליוולט * x) / 1023 וולט
2. כעת אנו יודעים כי עבור כל דרגת עלייה בטמפרטורה תפוקת המתח המתאימה עולה ב -10 מגה-וולט כלומר.
מעלה אחת צלזיוס: 10 מיליוולט
לפיכך, (5000 מיליוולט * x) / (1023 * 10) תואר

ג). VARIABLE Z-

z = מפה (x, 0, 1023, 0,255)
משתנה זה משנה את הערך האנלוגי לערך דיגיטלי עבור פלט pwm על סיכה 10.

פתק :: אנו יודעים ש- lm35 יכול לספק מקסימום 1.5 וולט וגם זה כאשר טמפ. האם 150 מעלות שאינו מעשי.

המשמעות של 40 מעלות צלזיוס נקבל 0.40 וולט ובמשך 25 מעלות נקבל 0.25 וולט. מכיוון שערכים אלה נמוכים מאוד עבור pwm תקין ב- mosfet, עלינו להכפיל אותו בגורם.

מכאן שאנחנו מכפילים אותו ב- 10 ובמקום זאת נותנים ערך זה כפלט אנלוגי לסיכת PWM 10 כלומר.

** analogWrite (10, z * 10)

עכשיו, עבור .25 וולט מוספט מקבל 0.25 * 10 = 2.5 וולט

עבור .40 וולט מוספט מקבל 0.40 * 10 = 4 וולט בו המנוע כמעט פועל במלוא המהירות שלו

מקרה 1. כאשר זמני הוא פחות מ 25 מעלות

במקרה זה arduino שולח 0 מתח PWM לפין 10 כמו בשורת הקוד האחרונה

** אחר
{analogWrite (10,0) // בכל מקרה אחר PWM על סיכה 10 חייב להיות 0
} **

מכיוון שמתח PWM על בסיס Mosfet הוא 0, הוא נשאר כבוי והמנוע מנותק מהמעגל.

ראה מעגל מדומה במקרה זה.

הדמיית בקרת מאוורר של Arduino

כפי שאתה יכול לראות הטמפרטורה היא 20 מעלות ומכאן

ערך אנלוגי = 41
טמפרטורה = 20
ערך ממופה = 100

אך מכיוון שהטמפרטורה נמוכה מ- 25 מעלות מכאן מוספט מקבל 0 וולט כפי שמוצג באיור (מסומן על ידי נקודה כחולה).
מקרה 2. כאשר זמני גדול מ- 25 מעלות

כאשר הטמפרטורה מגיעה ל 25 מעלות, אז כמפורט בקוד אות pwm נשלח לבסיס mosfet ובכל מעלה מעלה בטמפרטורה מתח PWM זה גם עולה כלומר.

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

ראה מעגל מדומה במקרה זה.

כפי שאתה יכול לראות כטמפרטורה עולה מ 20 מעלות עד 40 מעלות, כל שלושת הערכים משתנים וב 40 מעלות צלזיוס.

ערך אנלוגי = 82
טמפרטורה = 40
ערך ממופה = 200

מכיוון שהטמפ 'גדול מ- 25 מעלות מכאן מוספט מקבל מתח PWM תואם כפי שמוצג באיור (מסומן בנקודה אדומה).

מכאן שהמנוע מתחיל לפעול ב 25 מעלות ועם עלייה תואמת במתח pwm לטמפרטורה לכל מעלה מסיכה 10 לבסיס מוספט גם עולה. מכאן שמהירות המנוע עולה ליניארית עם עליית הטמפרטורה והופכת לכמעט מקסימאלית למשך 40 מעלות צלזיוס.

אם יש לך שאלות נוספות בנוגע למעגל מאוורר DC מבוקר טמפרטורה מוסבר לעיל באמצעות מאוורר וארדואינו, אתה תמיד יכול להשתמש בתיבת ההערות למטה ולשלוח אלינו את מחשבותיך. ננסה לחזור מוקדם ביותר.




קודם: מעגל מגן מקררים פשוט הבא: כיצד לעצב מעגל אספקת חשמל ללא הפרעה (UPS)