תוכן עניינים:
2025 מְחַבֵּר: John Day | [email protected]. שונה לאחרונה: 2025-01-13 06:57
- פיתחתי מכשיר שניתן לחבר אותו למזל"ט ויכול להזרים בשידור חי מסגרת מעורבת העשויה מהתמונה התרמוגרפית המציגה קרינה תרמית וצילום רגיל עם אור נראה.
- הפלטפורמה מורכבת ממחשב קטן בעל לוח אחד, חיישן מצלמה תרמית ומודול מצלמה רגיל.
- מטרתו של פרויקט זה היא לבחון את האפשרויות של פלטפורמת הדמיה תרמית בעלות נמוכה לאיתור נזקים בפאנל סולארי המתאפיינת בחתימות חום.
אספקה
- פטל פי 3B+
- עין רשת רשת Panasonic AMG8833
- מצלמת פי V2
- מחשב נייד עם מציג VNC
שלב 1: פיתוח PCB
- לוח ה- PCB לחיישן עין רשת Panasonic יכול להיות מתוכנן בעזרת Auto-desk EAGLE.
- קובץ.brd מפותח בדומה למודול Adafruit AMG8833 עם שינויים קלים
- לאחר מכן ניתן להדפיס את הלוח עם יצרני הלוח והשתמשתי ב- pcbway.com, שם ההזמנה הראשונה שלי הייתה ללא תשלום.
- גיליתי שהלחמת PCB שונה בתכלית מההלחמה שהכרתי מכיוון שהיא כלולה התקנים רכובים על פני השטח, אז הלכתי ליצרן PCB אחר וקיבלתי הלחמה של ה- PCB עם החיישן.
שלב 2: פיתוח תוכנה
- הקוד כתוב ב- Thonny, סביבת פיתוח משולבת של פייתון.
- ההליך מאחורי הפרויקט היה חיבור מצלמת ה- pi והתקנת תוכנות נלוות.
- השלב הבא היה לחבר את החיישן התרמי לתיקוני סיכות GPIO ולהתקין את ספריית Adafruit לשימוש החיישן.
- ספריית Adafruit הכילה תסריט לקריאת החיישן ומיפוי הטמפרטורות לצבעים, אולם לא ניתן היה ליישם תמונות נעות שיצרה
- לכן הקוד נכתב לפורמט התומך בעיבוד תמונה, בעיקר לצורך מיזוג שתי מסגרות יחד.
שלב 3: קריאת החיישנים
- כדי לאסוף נתונים מספריית ADAFRUIT המצלמה התרמית נעשה שימוש, מה שמאפשר לשחרר את החיישנים בקלות עם פיקוד קריא פיקסלים (), ליצירת מערך המכיל טמפרטורות בגובה צלזיוס הנמדד מחיישנים נפרדים.
- עבור מצלמת ה- Pi, פקודת הפונקציה picamera.capture () מייצרת תמונה עם פורמט קובץ פלט שצוין
- על מנת להתאים לעיבוד מהיר, רזולוציה נמוכה יותר נקבעה ל- 500 x 500 פיקסלים
שלב 4: הגדרת חיישן תרמי
- ראשית, עלינו להתקין את חבילת ספריית Adafruit וחבילות פייתון
- פתח את שורת הפקודה והפעל: sudo apt-get update שיעדכן אותך Pi
- לאחר מכן הוציא את הפקודה: sudo apt-get install -y build-essential python-pip python-dev python-smbus git
- לאחר מכן הפעל: git clone https://github.com/adafruit/Adafruit_Python_GPIO…. אשר יוריד את חבילת Adafruit ל- Raspberry Pi שלך
- הזז לתוך הספרייה: cd Adafruit_Python_GPIO
- והתקן את ההתקנה על ידי הפעלת הפקודה: sudo python setup.py install
- עכשיו התקן את scipy ו- pygame: sudo apt-get install -y python-scipy python-pygame
- לבסוף, התקן את ספריית הצבעים על ידי הוצאת הפקודה: sudo pip install color Adafruit_AMG88xx
שלב 5: הפעלת ממשק I2C
- הפק את הפקודה: sudo raspi-config
- לחץ על האפשרויות המתקדמות ובחר I2C ולאחר מכן הפעל אותו ובחר סיום
- הפעל מחדש את ה- Pi כדי לאפשר בהצלחה את I2C
- ודא שהפעלת גם ממשקי מצלמה ו- VNC
שלב 6: חיווט החיישן והמצלמה
- עליך לחבר רק 4 סיכות של AMG8833 ל- Pi ולהשאיר את סיכת ה- IR.
- ניתן לחבר אספקת 5V וקרקע לסיכות GPIO 1 ו- 6
- SDA ו- SCL מחוברים לפין 4 ו -5 של ה- Pi.
- התחבר לפטל עם ssh
- הפעלה: sudo i2cdetect -y 1
- אתה אמור לראות את "69" בעמודה ה -9 אם לא, יש בעיה בחיווט החיישן עם פי.
- לבסוף חבר את מצלמת pi v2 לחריץ המצלמה ב- pi פטל
שלב 7: מיפוי חום
- הפק את הפקודה: שיבוט git
- עבור לספרייה Adafruit_AMG88xx_python/דוגמאות
- הפק את הפקודה: sudo python therm_cam.py
- צירפתי להלן את הקוד למיפוי חום AMG8833.
שלב 8: עיבוד תמונה
-
מיפוי טמפרטורות
- כדי לדמיין את הנתונים התרמיים, ערכי הטמפרטורה ממופים למדרגת צבעים, החל מכחול לאדום עם כל הצבעים האחרים ביניהם
- כאשר החיישן מופעל, הטמפרטורה הנמוכה ביותר ממופת ל 0 (כחול) והטמפרטורה הגבוהה ביותר ל- 1023 (אדום)
- לכל הטמפרטורות האחרות בין לבין מוקצים ערכים מתואמים בתוך המרווח
- פלט החיישן הוא מערך 1 x 64 אשר משתנה לגודל מטריצה.
-
שִׁרבּוּב
- הרזולוציה של החיישן התרמי נמוכה למדי, 8 x 8 פיקסלים, ולכן משתמשים באינטרפולציה מעוקבת כדי להגדיל את הרזולוציה ל 32 x 32 מה שמביא למטריצה גדולה פי 16
- אינטרפולציה פועלת על ידי בניית נקודות נתונים חדשות בין קבוצת נקודות ידועות אולם הדיוק יורד.
-
מספרים לתמונות
- מספרים הנעים בין 0 ל- 1023 במטריצה 32 x 32 מומרים לקוד עשרוני במודל הצבעים RGB.
- מהקוד העשרוני קל ליצור את התמונה באמצעות פונקציה מספריית SciPy
-
שינוי גודל עם אנטי כינוי
- כדי לשנות את גודל 32 x 32 ל- 500 x 500 על מנת להתאים את הרזולוציה של מצלמת Pi, נעשה שימוש ב- PIL (Python Image Library).
- יש לו מסנן נגד כינוי שיחליק את הקצוות בין הפיקסלים בעת הגדלה
-
כיסוי תמונה שקוף
- התמונה הדיגיטלית ותמונת החום מתמזגים לאחר מכן לתמונה סופית אחת ומוסיפה אותם עם שקיפות של 50% כל אחד.
- כאשר תמונות משני חיישנים עם מרחק מקביל ביניהם מתמזגים, הם לא יחפפו לגמרי
- לבסוף, אמצעי הטמפרטורה המינימליים והמקסימליים על ידי AMG8833 מוצגים עם טקסט מצופה על המסך
שלב 9: קוד וקבצי PCB
צירפתי להלן את הבדיקה והקוד הסופי לפרויקט
שלב 10: סיכום
- כך נבנתה מצלמה תרמית עם Raspberry Pi ו- AMG8833.
- הסרטון האחרון הוטמע בפוסט זה
- ניתן להבחין כי הטמפרטורה משתנה באופן מיידי כאשר אני מקבל את המצית ליד ההתקנה והלהבה של המצית זוהתה במדויק על ידי החיישן.
- מכאן שניתן לפתח פרויקט נוסף לאיתור חום אצל אנשים הנכנסים לחדר אשר יועיל מאוד במשבר COVID19.