מד אנרגיה אלחוטי עם בקרת עומס: 5 שלבים
מד אנרגיה אלחוטי עם בקרת עומס: 5 שלבים
Anonim
Image
Image
מד אנרגיה אלחוטי עם בקרת עומס
מד אנרגיה אלחוטי עם בקרת עומס

מבוא

ערוץ יוטיוב::::

פרויקט זה מבוסס על המיקרו -בקר Atmega16 של Atmel כמוח העיקרי לחישוב.

מודול תקשורת אלחוטית NRF24L01+ משמש להעברת נתונים אלחוטית.

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

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

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

אם העומס חורג מהרמה המותרת אז זמזם מתחיל.

הנתונים נשמרים בצד השולח כך שלא תיווצר אובדן נתונים אם הכבל נכבה או הקישוריות מאבדת.

להלן סרטון העבודה.

רכיבים שונים הם:

  • מד אנרגיה X 3
  • NRF24L01 X 2
  • Atmega16 X 2
  • מצמד אופטי X 3

שלב 1: הגדרת מד אנרגיה

הגדרת מד אנרגיה
הגדרת מד אנרגיה
הגדרת מד אנרגיה
הגדרת מד אנרגיה
הגדרת מד אנרגיה
הגדרת מד אנרגיה

1. פתח תחילה את מד האנרגיה

2. פשוט חתוך את מסוף הקתודה של נורית ה- Cal

3. הלחמה 2 חוטים בשני קצות הלד.

4. חבר את הקתודה של ה- LED ל- Pin1 של מצמד האופטו (MCT2E) ואת הקצה השני של ה- LED ל- Pin2 של מצמד האופטו.

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

6. חבר את ספק הכוח והטען בהתאם לתמונה זו.

שלב 2: אלגו בסיסי לחישוב

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

לאחר 0.3125 ואט משתמשת מד LED (כיול) מהבהב. כלומר אם נשתמש בנורה של 100 וואט לדקה אז הדופק יהבהב 5.3 פעמים בדקה. וניתן לחשב זאת באמצעות נוסחה נתונה.

דופק = (קצב דופק של מטר * וואט * 60) / (1000 * 3600)

אם קצב הדופק של מטר הוא 3200 imp והוואט המשמש הוא 100 אז יש לנו

דופק = (3200 * 100 * 60) / (1000 * 3600)

דופק = 5.333333333 לדקה

אם התרחשו 5.3333333333 פולסים בתוך דקה אז תוך שעה אחת יתרחשו פולסים..

דופק = 5.3333333333* 60 דופק = ~ 320 ~ 320 פעימות יתרחשו תוך שעה

אז, בתוך שעה אחת נורה של 100 וואט צרכה 100 וואט חשמל וכמעט 320 פולסים מהבהבים.

כעת נוכל לחשב חשמל דופק אחד הנצרך בוואט

דופק אחד (וואט) = 100 / 320

דופק אחד (וואט) = 0.3125

פירושו 0.3125 וואט חשמל צרך דופק יחיד.

עכשיו יחידת יחידות = (אנרגיית דופק אחת (חשמל))* פולסים / 1000

אם דופק אחד = 0.3125 וואט פולסים תוך 10 שעות = 3200

אז היחידה תהיה יחידה = (0.3125 * 3200)/1000 יחידה = אמצעי אחד, יחידה אחת תוך 10 שעות לנורה של 100 וואט.

עכשיו נניח שער יחידה אחד הוא 7 רופי ואז עלות דופק אחת תהיה

עלות דופק יחיד = (7 * צריכת אנרגיית דופק אחת) / 1000

עלות דופק יחיד = (7 * 0.3125) / 1000

עלות דופק יחיד = 0.0021875 רופי

שלב 3: Nrf24L01 (אשראי ל-

Nrf24L01 (אשראי ל- Http://gizmosnack.blogspot.in/)
Nrf24L01 (אשראי ל- Http://gizmosnack.blogspot.in/)

למד את הקישור הזה

מודול nRF24L01 הוא מודול RF מדהים שעובד על פס 2, 4 GHz ומושלם לתקשורת אלחוטית בבית מכיוון שהוא יחדור אפילו לקירות בטון עבים. ה- nRF24L01 עושה את כל התכנות הקשות לפניך, ואפילו יש לו פונקציה לבדוק אוטומטית אם הנתונים המועברים מתקבלים בקצה השני. ישנן כמה גרסאות שונות של שבבי משפחת nRF ונדמה שכולם פועלים ב דרך דומה. למשל השתמשתי במודול nRF905 (433MHz) עם כמעט אותו קוד כפי שאני משתמש ב- nRF24L01 ו- nRF24L01+ ללא בעיות. למודולים הקטנים האלה יש טווח מרשים, עם כמה גרסאות שמנהלות תקשורת של עד 1000 מ '(ראייה חופשית) ועד 2000 מ' עם אנטנה biquad.

nRF24L01 לעומת nRF24L01+

הגירסה (+) היא הגרסה המעודכנת החדשה של השבב ותומכת בקצב נתונים של 1 Mbps, 2 Mbps ו- "מצב בינעירוני" של 250 kbps וזה מאוד שימושי כשרוצים להאריך את אורך השידור. NRF24L01 הישן יותר (אשר השתמשתי בהודעות הקודמות שלי) תומכים רק בקצב נתונים של 1 Mbps או 2 Mbps. שני הדגמים תואמים זה לזה, כל עוד הם מוגדרים לאותו קצב נתונים. מכיוון ששניהם עולים בערך (כמעט כלום) הייתי ממליץ לך לקנות את גרסת +!

חלק ראשון - הגדרות הבדלי חיבור למודול ה- nRF24L01 יש 10 מחברים ולגרסת + יש 8. ההבדל הוא שלגרסת + במקום שתיים 3, 3 V ושני GND יש את הקרקע שלה (זו עם ריבוע לבן סביבה) ו ספק כוח 3, 3 וולט, אחד ליד השני. אם תשנה מודול מגרסה + חדשה לישנה, הקפד לא לשכוח להעביר את כבל ה- GND למקום הנכון, אחרת הוא יקצר את המעגל שלך. הנה תמונה של גרסת + (מבט מלמעלה), שם אתה יכול לראות את כל החיבורים המסומנים. לגרסה הישנה יש שני חיבורי GND בחלק העליון ממש במקום בפינה הימנית למטה.

ספק כוח (GND & VCC) המודול חייב להיות מופעל עם 3, 3 V ואינו יכול להיות מופעל על ידי ספק כוח של 5 V! מכיוון שזה לוקח מעט מאוד זרם אני משתמש בווסת ליניארי כדי להוריד את המתח ל -3, 3 V. כדי להקל עלינו קצת, השבב יכול להתמודד עם 5 וולט על יציאות ה- I/O, וזה נחמד מכיוון שהוא היה עושה זאת להיות כואב להסדיר את כל כבלי ה- i/O משבב ה- AVR. Chip Enable (CE) משמש כאשר לשלוח את הנתונים (משדר) או להתחיל לקבל נתונים (מקלט). סיכת ה- CE מחוברת לכל שימוש שאינו בשימוש. יציאת i/O במכשיר ה- AVR ומוגדרת כפלט (סיבית מוגדרת לאחת ברישום DDx כאשר x היא אות הנמל.) Atmega88: PB1, ATtiny26: PA0, ATtiny85: PB3SPI שבב בחירה (CSN) ידוע גם בשם "Ship בחר לא ". סיכת ה- CSN מחוברת גם לכל יציאת i/O שאינה בשימוש ב- AVR ומוגדרת לפלט. סיכת ה- CSN מוחזקת גבוה כל הזמן למעט מתי לשלוח פקודת SPI מה- AVR ל nRF. Atmega88: PB2, ATtiny26: PA1, ATtiny85: PB4SPI שעון (SCK) זהו השעון הסדרתי. ה- SCK מתחבר אל פין SCK במכשיר AVR. Atmega88: PB5, ATtiny26: PB2, ATtiny85: PB2SPI פלט Master פלט Slave (MOSI או MO) זהו קו הנתונים במערכת SPI. אם שבב ה- AVR שלך תומך בהעברת SPI כמו Atmega88, זה מתחבר גם ל- MOSI ב- AVR ומוגדר כפלט. ב- AVR חסר SPI, כמו ATtiny26 ו- ATtiny85 הם מגיעים עם USI במקום זאת, וגיליון הנתונים בו כתוב: "מצב ה- Three-wire של USI הוא תואם למצב ממשק היקפי סידורי (SPI) 0 ו- 1, אך אין לו את הפונקציונליות של סיכת בחירת העבדים (SS). עם זאת, ניתן ליישם תכונה זו בתוכנה במידת הצורך "ה-" SS "שאליו מתייחסים זהה ל-" CSN " ואחרי קצת מחקר מצאתי את הבלוג הזה שעזר לי להקצות. כדי להפעיל את ה- USI ל- SPI, גיליתי שעלי לחבר את סיכת ה- MOSI מה- nRF אל סיכת ה- MISO ב- AVR ולהגדיר אותה כפלט. Atmega88: PB3, ATtiny26: PB1, ATtiny85: PB1SPI כניסת פלט Master Slave (MISO או MI) זהו קו הנתונים במערכת SPI. אם ה- AVR שלך השבב תומך בהעברת SPI כמו Atmega88, זה מתחבר ל- MISO ב- AVR וזה נשאר כקלט. כדי לגרום לו לעבוד על ה- ATtiny26 ו- ATtiny85, הייתי צריך להשתמש ב- USI כאמור לעיל. זה עבד רק כאשר חיברתי את סיכת MISO ב- nRF אל סיכת ה- MOSI ב- AVR והגדרתי אותה כקלט ומאפשרת הפעלה פנימית. Atmega88: PB4, ATtiny26: PB0, ATtiny85: PB0 בקשת הפסקה (IRQ) פין ה- IRQ אינו הכרחי, אבל דרך מצוינת לדעת מתי קרה משהו ל- nRF. אתה יכול למשל להגיד ל- nRF להגדיר את הגדרת ה- IRQ גבוהה כאשר תתקבל חבילה, או עם השלמת השידור המוצלח. מאוד שימושי! אם ל- AVR שלך יש יותר מ -8 סיכות וסיכה להפסקה זמינה אני מאוד ממליץ לך לחבר את ה- IRQ לזה ולהגדיר בקשת הפרעה. Atmega88: PD2, ATtiny26: PB6, ATtiny85: -

שלב 4: תרשים חיבור בסיסי

תרשים חיבור בסיסי
תרשים חיבור בסיסי
תרשים חיבור בסיסי
תרשים חיבור בסיסי

תרשים חיבור זה הוא סכמטי

שלב 5: קוד

לקבלת CODE בקר ב- GitHub