![חיישן טמפרטורה DIY באמצעות דיודה אחת: 3 שלבים חיישן טמפרטורה DIY באמצעות דיודה אחת: 3 שלבים](https://i.howwhatproduce.com/images/002/image-5409-j.webp)
תוכן עניינים:
2025 מְחַבֵּר: John Day | [email protected]. שונה לאחרונה: 2025-01-23 14:46
![חיישן טמפרטורה DIY באמצעות דיודה אחת חיישן טמפרטורה DIY באמצעות דיודה אחת](https://i.howwhatproduce.com/images/002/image-5409-1-j.webp)
![חיישן טמפרטורה DIY באמצעות דיודה אחת חיישן טמפרטורה DIY באמצעות דיודה אחת](https://i.howwhatproduce.com/images/002/image-5409-2-j.webp)
אז כאחת העובדות לגבי צמתים PN היא שירידת המתח קדימה שלהם משתנה בהתאם לזרם החולף וגם לטמפרטורת הצומת, אנחנו הולכים להשתמש בזה לייצור חיישן טמפרטורה זול פשוט.
התקנה זו משמשת בדרך כלל במעגלים משולבים רבים למדידת הטמפרטורה הפנימית שלה וחיישני טמפרטורה רבים כ- LM35 המפורסם המבוסס על מאפיין זה.
פשוט ירידת המתח קדימה של דיודה (שהיא צומת PN אחת) משתנה ככל שכמות הזרם העובר דרכה משתנה, גם כאשר טמפרטורת הדיודה משתנה ירידת המתח הולכת להשתנות (ככל שהטמפרטורה עולה, הקדימה ירידה יורדת בערך של (1.0 מילי -וולט ל -2.0 מילי -וולט עבור דיודות סיליקון ו -2.5 מילי -וולט לדודות גרמניום).
אז על ידי העברת זרם קבוע דרך הדיודה ירידת המתח קדימה צריכה כעת להשתנות רק בהתאם לטמפרטורת הדיודה. אנחנו רק צריכים עכשיו למדוד את המתח קדימה של הדיודה, החל כמה משוואות פשוטות ו voilà הנה חיישן הטמפרטורה שלך !!!
אספקה
דיודה 1 - 1n4007 #12 - 1 נגד קוהם #13 - לוח Arduino
שלב 1: תרשים מעגלים
![תרשים מעגלים תרשים מעגלים](https://i.howwhatproduce.com/images/002/image-5409-3-j.webp)
כפי שאתה יכול לראות בסכימה זה פשוט מאוד. על ידי חיבור הדיודה בסדרה עם נגד מגביל זרם ומקור מתח יציב נוכל להשיג מקור זרם קבוע גולמי, כך שהמתח הנמדד על פני הדיודה ישתנה רק עקב שינוי הטמפרטורה. ודא שערך הנגד אינו נמוך מדי עד שזרם רב עובר דרך הדיודה ומייצר חימום עצמי ניכר בדיודה, גם לא נגד גבוה במיוחד כך שהמעבר הנוכחי אינו מספיק כדי לשמור על קשר לינארי בין המתח קדימה לטמפרטורה.
נגד 1 קילו אוהם עם אספקת 5V אמור לגרום לזרם דיודה של 4 מיליאמפר שהוא ערך מספיק למטרה זו. I (דיודה) = VCC / (Rseries + Rdiode)
שלב 2: קידוד
עלינו לזכור שיש כמה ערכים שצריך לשנות בקוד כדי להשיג את התוצאות הטובות יותר כמו:
1 - VCC_Voltage: כשערך analogRead () תלוי ב- VCC של שבב ה- ATmega, עלינו להוסיף אותו למשוואה לאחר מדידתו על לוח הארדואינו.
2 - V_OLD_0_C: ירידת המתח קדימה של הדיודה בשימוש בזרם של 4 mA וטמפרטורה של 0 צלזיוס
3 - Temperature_Coefficient: שיפוע הטמפרטורה של הדיודה שלך (עדיף להגיע מגליון הנתונים) או שאתה יכול למדוד אותו באמצעות משוואה זו: Vnew - Vold = K (Tnew - Told)
איפה:
Vnew = מתח נפילה שנמדד לאחרונה לאחר חימום הדיודה
Vold = מתח ירידה נמדד בטמפרטורת חדר כלשהי
Tnew = הטמפרטורה שאליה חיממה את הדיודה
Told = טמפרטורת החדר הישנה שבה נמדד וולד
K = Temperature_Coefficient (ערך שלילי המשתנה בין -1.0 ל -2.5 מיליוולט) לבסוף תוכל כעת להעלות את הקוד ולקבל את תוצאות הטמפרטורה שלך.
#define Sens_Pin A0 // PA0 ללוח STM32F103C8
כפול V_OLD_0_C = 690.0; // 690 mV מתח קדימה ב 0 צלזיוס בזרם בדיקה של 4 mA
כפולה V_NEW = 0; // מתח קדימה חדש בטמפרטורת החדר ב 4 mA טמפרטורה כפולה הנוכחי טמפרטורה = 0.0; // חדר מחושב טמפרטורה כפולה Temperature_Coefficient = -1.6; //-1.6 mV שינוי לתואר צלזיוס (-2.5 עבור דיודות גרמניום), עדיף לקבל ממדון הנתונים של דיודה כפול VCC_Voltage = 5010.0; // מתח קיים במסילת 5V של הארדואינו במיליוולט (נדרש לדיוק טוב יותר) (3300.0 עבור stm32)
הגדרת בטל () {
// שים את קוד ההתקנה שלך כאן, להפעלה פעם אחת: pinMode (Sens_Pin, INPUT); Serial.begin (9600); }
לולאת חלל () {
// שים את הקוד הראשי שלך כאן, כדי להריץ שוב ושוב: V_NEW = analogRead (Sens_Pin)*VCC_Voltage/1024.0; // חלקו ב- 4.0 אם אתם משתמשים בטמפרטורת ADC של 12 סיביות = ((V_NEW - V_OLD_0_C)/Temperature_Coefficient);
Serial.print ("Temp =");
Serial.print (טמפרטורה); Serial.println ("C");
עיכוב (500);
}
שלב 3: השגת ערכים טובים יותר
![קבלת ערכים טובים יותר קבלת ערכים טובים יותר](https://i.howwhatproduce.com/images/002/image-5409-4-j.webp)
![קבלת ערכים טובים יותר קבלת ערכים טובים יותר](https://i.howwhatproduce.com/images/002/image-5409-5-j.webp)
אני חושב שמומלץ שיהיה לידך מכשיר למדידת טמפרטורות מהימן בעת ביצוע הפרויקט הזה.
אתה יכול לראות שיש שגיאה ניכרת בקריאות שיכולות להגיע ל -3 או 4 מעלות צלזיוס אז מאיפה נובעת השגיאה הזו?
1 - ייתכן שיהיה עליך לצבוט את המשתנים שהוזכרו בשלב הקודם
2 - רזולוציית ה- ADC של הארדואינו נמוכה ממה שאנחנו צריכים כדי לזהות את הפרש המתח הקטן
3 - התייחסות המתח של הארדואינו (5V) גבוהה מדי לשינוי המתח הקטן הזה על פני הדיודה
אז אם אתה מתכוון להשתמש בהתקנה זו כחיישן טמפרטורה, עליך להיות מודע לכך שלמרות שהיא זולה ושימושית, היא אינה מדויקת אך היא יכולה לתת לך מושג טוב מאוד לגבי הטמפרטורה של המערכת שלך או שהיא על PCB או מותקן על מנוע פועל וכו '…
הוראה זו נועדה להשתמש בכמות הרכיבים הנמוכה ביותר האפשרית אך אם ברצונך לקבל את התוצאות המדויקות ביותר מרעיון זה תוכל לבצע מספר שינויים:
1 - הוסף כמה הגברות ושלבי סינון באמצעות מגברי אופ כמו בקישור 2 - השתמש בבקר התייחסות אנלוגי פנימי נמוך יותר כמו לוחות STM32F103C8 עם מתח התייחסות אנלוגי 3.3 וולט (ראה נקודה 4) 3 - השתמש בהתייחסות האנלוגית הפנימית 1.1 V ב arduino אבל שים לב שאתה לא יכול לחבר יותר מ 1.1 וולט לאף אחד מהסיכות האנלוגיות של הארדואינו.
אתה יכול להוסיף שורה זו בפונקציית ההתקנה:
analogReference (INTERNAL);
4 - השתמש במיקרו -בקר בעל ADC ברזולוציה גבוהה יותר כמו STM32F103C8 בעל רזולוציית ADC של 12 סיביות אז בקצרה, התקנה מבוססת ארדואינו יכולה לתת סקירה נעימה לגבי הטמפרטורה של המערכת אך תוצאות לא כל כך מדויקות (בערך 4.88 mV/קריאה)
ההתקנה STM32F103C8 תעניק לך תוצאה די מדויקת מכיוון שיש לה ADC גבוה יותר של 12 סיביות וערך התייחסות אנלוגי נמוך יותר של 3.3V (כ- 0.8 mV/קריאה)
ובכן זהו זה !!: ד
מוּמלָץ:
Raspberry Pi - TMP100 חיישן טמפרטורה חיישן Java הדרכה: 4 שלבים
![Raspberry Pi - TMP100 חיישן טמפרטורה חיישן Java הדרכה: 4 שלבים Raspberry Pi - TMP100 חיישן טמפרטורה חיישן Java הדרכה: 4 שלבים](https://i.howwhatproduce.com/images/001/image-113-54-j.webp)
Raspberry Pi-חיישן טמפרטורה TMP100 מדריך Java: TMP100 חיישן טמפרטורה דיגיטלי I2C MINI בעל דיוק גבוה, הספק נמוך. TMP100 אידיאלי למדידת טמפרטורה ממושכת. מכשיר זה מציע דיוק של ± 1 ° C ללא צורך בכיול או מיזוג אות רכיב חיצוני. הוא
קריאת טמפרטורה באמצעות חיישן טמפרטורה LM35 עם Arduino Uno: 4 שלבים
![קריאת טמפרטורה באמצעות חיישן טמפרטורה LM35 עם Arduino Uno: 4 שלבים קריאת טמפרטורה באמצעות חיישן טמפרטורה LM35 עם Arduino Uno: 4 שלבים](https://i.howwhatproduce.com/images/001/image-1374-52-j.webp)
קריאת טמפרטורה באמצעות חיישן טמפרטורה LM35 עם Arduino Uno: היי חברים במדריך זה נלמד כיצד להשתמש ב- LM35 עם Arduino. Lm35 הוא חיישן טמפרטורה שיכול לקרוא ערכי טמפרטורה מ -55 ° C עד 150 ° C. זהו מכשיר בעל 3 מסופים המספק מתח אנלוגי ביחס לטמפרטורה. היג
נקודת גישה ESP8266 NodeMCU (שרת אינטרנט) עבור שרת אינטרנט עם חיישן טמפרטורה DT11 והדפסת טמפרטורה ולחות בדפדפן: 5 שלבים
![נקודת גישה ESP8266 NodeMCU (שרת אינטרנט) עבור שרת אינטרנט עם חיישן טמפרטורה DT11 והדפסת טמפרטורה ולחות בדפדפן: 5 שלבים נקודת גישה ESP8266 NodeMCU (שרת אינטרנט) עבור שרת אינטרנט עם חיישן טמפרטורה DT11 והדפסת טמפרטורה ולחות בדפדפן: 5 שלבים](https://i.howwhatproduce.com/images/001/image-1849-52-j.webp)
נקודת גישה ESP8266 NodeMCU (AP) עבור שרת אינטרנט עם חיישן טמפרטורה DT11 וטמפרטורת הדפסה ולחות בדפדפן: שלום חברים ברוב הפרויקטים בהם אנו משתמשים ב- ESP8266 וברוב הפרויקטים אנו משתמשים ב- ESP8266 כשרת אינטרנט כך שניתן יהיה לגשת לנתונים ב כל מכשיר באמצעות wifi על ידי גישה לשרת האינטרנט המתארח על ידי ESP8266 אך הבעיה היחידה היא שאנחנו צריכים נתב עובד עבור
Raspberry Pi - TMP100 חיישן טמפרטורה חיישן פייתון הדרכה: 4 שלבים
![Raspberry Pi - TMP100 חיישן טמפרטורה חיישן פייתון הדרכה: 4 שלבים Raspberry Pi - TMP100 חיישן טמפרטורה חיישן פייתון הדרכה: 4 שלבים](https://i.howwhatproduce.com/images/002/image-3148-42-j.webp)
Raspberry Pi-TMP100 חיישן טמפרטורה חיישן פייתון הדרכה: TMP100 חיישן טמפרטורה דיגיטלי I2C MINI בעל דיוק גבוה, הספק נמוך. TMP100 אידיאלי למדידת טמפרטורה ממושכת. מכשיר זה מציע דיוק של ± 1 ° C ללא צורך בכיול או מיזוג אות רכיב חיצוני. הוא
חיישן טמפרטורה DIY באמצעות Arduino ו- LM 35 פשוט: 5 שלבים
![חיישן טמפרטורה DIY באמצעות Arduino ו- LM 35 פשוט: 5 שלבים חיישן טמפרטורה DIY באמצעות Arduino ו- LM 35 פשוט: 5 שלבים](https://i.howwhatproduce.com/images/002/image-3681-49-j.webp)
חיישן טמפרטורה עשה זאת בעצמך באמצעות Arduino ו- LM 35 פשוט: היי חברים, היום אנו הולכים לבנות מעגל חיישן מדידת טמפרטורה סביב מיקרו -בקר Arduino UNO באמצעות חיישן LM35. אז בלי לבזבז את הזמן בואו נתחיל