שְׁאֵלָה:
האם ארדואינו מסוגל לרוץ 24/7?
Butzke
2014-02-12 04:24:10 UTC
view on stackexchange narkive permalink

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

אני משתמש ב- Arduino Uno עם מגן אתרנט. הוא מופעל באמצעות ספק כוח פשוט 5V @ 1A.

השאלות שלי:

  • האם יהיו לי בעיות בהשארת Arduino מופעלת כל הזמן?
  • האם יש לוח ארדואינו אחר שמומלץ יותר לכך?
  • האם יש אמצעי זהירות שאני צריך לשים לב אליהם זה?
שאלה ראשונה!
** הערת מנחה: ** נראה שאנחנו מקבלים הרבה תשובות שקובעות שזה עבד במצבם. אם יש לך משהו טכני להוסיף לשאלה, אל תהסס לענות. עם זאת, נראה שהתשובות הטכניות מכסות שזה עובד. אם אתה בהחלט חייב * לציין שמצבך עבד, עדיף להוסיף הערה.
אחת עשרה תשובות:
sachleen
2014-02-12 04:36:58 UTC
view on stackexchange narkive permalink

לא אמורה להיות לך שום בעיה להשאיר את זה כל הזמן, עם זאת, משהו שיש לקחת בחשבון הוא כל הדלפקים שיש לך, כמו השימוש ב millis () . p> מתוך מסמכי Arduino במיליון:

מספר זה יעלה על גדותיו (יחזור לאפס), לאחר כ- 50 יום.

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

אם לדייק, מילי הוא משתנה `uint32_t`, ולכן הוא יעלה על גדותיו (" תחזור לאפס ") תוך 4294967296 אלפיות השנייה, כלומר ~ 49.7 ימים, ~ 1193 שעות או ~ 71582 דקות.
ואז כל שעליך לעשות הוא להשתמש ב- uint32_t נוסף שמתגבר כשהראשון מתהפך ואז אתה יכול ליהנות מכ- 5.846 × 10 ^ 8 שנים בין ההפעלה.
הרבה זמן, התהפכות של מילס () אינה באמת בעיה מכיוון שאנשים נוטים להשתמש במיליס () זו דרך יחסית. הם ייקחו את ההפרש בין שתי שיחות של מיליס (), או שייקחו זמן התחלה, ויבדקו אם מילי () גדול מהתחלה + זמן. התהפכות אריתמטית וגלגול מיליס () לעיתים קרובות מבטלות כך ש- time2-time1 מדויק גם אם ישנו גלגול ביניהם, כל עוד אין שני גלגולים. לעתים קרובות אם הקוד שלך משתמש בערכי מיליס מוחלטים () ניתן לשחזר אותו ולהשתמש בהיגיון מיליס () יחסי.
אם אתה עושה מיליס () - startTime (עם זמן ההתחלה כארוך לא חתום, aka uint32_t), תמיד תקבל תוצאה חוקית אלא אם כן קרה יותר מהצפה אחת
ליתר דיוק, ההצפה מתרחשת לאחר 49 יום, 17 שעות, 2 דקות, 47 שניות ו- 295 אלפיות השנייה.
המיליס () הצפה ** לעולם ** לא צריכה להיות בעיה. ראה [מיליס () הצפה ... דבר רע?] (Http://www.gammon.com.au/millis) לקבלת פרטים נוספים. בעיקרון אם תחשב מרווחי זמן על ידי חיסור, תוך שימוש בסוגי הנתונים המתאימים, לעולם לא תהיה לך בעיה.
גם אם לא משתמשים במיליס ישירות, אני תוהה אם אפשר להיות בטוחים שאף אחת מהספריות המיובאות לא עושה זאת.
Matthew G.
2014-02-12 04:40:23 UTC
view on stackexchange narkive permalink

כמה דברים שכדאי לזכור (מחוץ לאזכור של @ Sachleen את millis () ):

  • כמו כל אלקטרוניקה, חום יכול להיות מְשַׁבֵּשׁ. סביר להניח שמיקרו-בקר עצמו לא יהיה נושא ענק מבחינת החום, אך רכיבים אחרים כמו ספק הכוח עלולים לגרום לבעיות.

  • אם הקוד שלך משתמש ב- EEPROM.write () , שים לב שה- EEPROM ב- ATmega328P של Uno שלך מדורג רק עבור 100,000 כותבים.

TheDoctor
2014-02-12 04:54:56 UTC
view on stackexchange narkive permalink

זכור שלפלאש ו- EEPROM יש אורך חיים מוגבל (כ -10,000 ו -100,000 מחזורי כתיבה בהתאמה), אם אם אתה כותב הרבה לאלה, הם עלולים להיות מושחתים. במבחן שערכתי, לקח ל- EEPROM חיצוני כשלושה ימים להתחיל להשחית.

בעוד שהתיעוד עשוי לרשום מחזורי 10k, בדיקות רבות הראו ~ 100k הוא המקום בו מתחילות להתרחש בעיות.
אורך החיים של EEPROM הוא מינימום 100,000 מחזורי כתיבה בהתאם לגליון הנתונים. אני חושב שאני זוכר שקראתי מבחן שבו השחיתות החלה בקרוב למיליון כותבים.
JVarhol
2014-02-12 04:47:08 UTC
view on stackexchange narkive permalink

הפעלת Arduino 24/7 לא אמורה להיות בעיה.

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

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

ל- ATmega אין מצבי צריכת חשמל נמוכים מסורתיים כמו מחשבים רגילים, כך שהעומס אינו רלוונטי. אם אתה לא עושה חישוב פעיל, זה פשוט מחכה לסחרור. צריכת החשמל בזמן הריצה היא למעשה די סטטית (למעט דברים כמו כתיבה ל- EEPROM / flash), לפחות עבור ה- ATmega MCU. יתכנו וריאציות בהספק הכוח של ממשק Ethernet שנקבעו על ידי עומס התנועה, אך שום דבר לא עשוי לייצר מספיק חום כדי להוות בעיה אלא אם כן הוא נמצא בוואקום מושלם או על דוד או משהו אחר.
ל- [Atmega328p] (http://www.atmel.com/Images/Atmel-8271-8-bit-AVR-Microcontroller-ATmega48A-48PA-88A-88PA-168A-168PA-328-328P_datasheet.pdf) הספק נמוך מצב שינה המושך ~ 0.1 uA.
מה שרלוונטי רק אם הקוד אכן מרדים את המעבד.
sdcharle
2014-07-17 20:08:02 UTC
view on stackexchange narkive permalink

אנו מפעילים את מערכת הגישה שלנו ל- RFID מבוססת ארדוינו ב- Bloominglabs Hackerspace בבלומינגטון IN מאז סוף 2011 ומלבד כמה הפסקות חשמל ועדכוני תוכנה היא פועלת מסביב לשעון, אין בעיה. לאחרונה הוספנו תרמוסטט ברשת, אותה עסקה - הוא פועל מסביב לשעון.

גם לי יש מערכת גישה RFID הפועלת 24/7. הפעם היחידה שהיא "נכשלת" היא אם הכוח נכבה מכיוון שהוא פועל מכוח החשמל. זה פועל מאז 2011 ללא בעיות.
האה, היי סטיב!
@NickGammon כן, המערכת שלך מגניבה, אבל מדוע האימות אינו מבוסס על DATA של הכרטיס, אלא רק UID סמלי? אנא הראה לנו פיתרון חכם.
מה הכוונה שלך? זה לא קשור לשאלת הכרזה.
Manishearth
2014-02-12 04:50:23 UTC
view on stackexchange narkive permalink

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

בנוסף, שמור עליו מאוורר היטב.

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

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

אין שום סיבה לצפות שעומס חישובי יביא להתחממות יתר של ארדואינו. כפי שצוין בתשובות מבוססות העובדות יותר, המקרה ** הרגיל ** הוא לפעול בעומס מלא. אם יש רכיב שעשוי להתחמם יתר על המידה שיהיה רגולטור המתח, אבל זה בעיקר פונקציה של מתח כניסה, מכיוון שהוא כבר פועל כמעט בזרם הצפוי הגבוה ביותר כאשר אינו עושה דבר.
@ChrisStratton מגן אתרנט עשוי להשתנות בהספק בהתאם לשימוש. כמו כן, הארדואינו יכול להיות במצב צריכת חשמל נמוכה (למשל, שינה בין השעות 12: 00-5: 00).
Steven10172
2014-02-12 07:48:43 UTC
view on stackexchange narkive permalink

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

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

EternityForest
2014-04-04 12:08:21 UTC
view on stackexchange narkive permalink

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

הרבית אותי לזה, +1.
אני מאמין שכיתת המיתרים משתמשת במאלוק וזה די נפוץ.
מוסכם. במיוחד עם שרת אינטרנט, ודא שאתה לא עושה שום דבר שעשוי לפצל זיכרון, כמו להשתמש במחלקה String. עם זאת קל להימנע מכך. יש לי ארדואינו הפועל כשרת אינטרנט כדי ליידע אותי אם דלת המוסך שלי סגורה. זה פועל כבר שנים.
TimboTinkerer
2014-04-07 01:13:32 UTC
view on stackexchange narkive permalink

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

הוא מחובר גם למטען לטלפון נייד המחובר לחשמל -שקע חשמל UPS.

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

היא הותקנה בסוף ספטמבר 2013, ב- 23 במרץ 2014 - קיבלתי את הדוא"ל הראשון שלי!

אז לא ראיתי בעיה (היא לא משתמשת במיליס ()) אך היא מדגימה את הכוח כל 5 שניות.

next-hack
2017-09-02 21:53:46 UTC
view on stackexchange narkive permalink

האם ארדואינו מסוגל לפעול 24/7?

זו שאלה של אמינות. באמינות, יש לקחת בחשבון הרבה דברים.

  1. התוכנה. יש תוכנות חזקות יותר. יש תוכנות פחות חזקות. לדוגמא, עבור יישומים קריטיים, הקצאת זיכרון דינמי אינה מיועדת מכיוון שהיא עלולה להוביל לפיצול זיכרון. למרבה הצער, Arduino מסתמך בכבדות על הקצאת זיכרון דינמית. בעיה זו מחמירה מכיוון שלרוב לוח הארדואינו יש זיכרון RAM מוגבל מאוד.
  2. הספריות. בספריות ארדואינו רבות יש באגים (אפילו מובנים בחבילת Arduino, פשוטה כמו WString!). בתפעול רגיל יתכן ובאגים כאלה לא מופיעים כלל. עם זאת, אינך יכול לקוות ש"הכל יהיה בסדר "וכי" המשתמש "(או תת המערכת) יפעל כצפוי. לספריות יכולות להיות גבולותיהן (כלומר לא כהלכה). לדוגמה, משתמשים רבים כבר ציטטו את פונקציית themillis (), שמתאפסת לאחר 50 יום. זה, אם לא מטפלים בו נכון, עלול להוביל לבאגים חמורים.
  3. האמינות של החומרה (אפילו לא מדברים על שיבוטים זולים של ארדואינו ...). כאן נפתח סוג חדש של שאלות משנה. אני אצטט רק קבוצת משנה מוגבלת מאוד.
    • האם לוחות Arduino מיועדים לאמינות? (למשל, מה האמינות של הקבלים המשומשים? ורכיבים אחרים?)
    • אמינות נגד EMI? לא הייתי מסתמך על זה: ברוב לוחות הארדואינו יש רק שתי שכבות, וחוסר מישור קרקע / כוח תקין.
    • EEPROM (זו גם תוכנה וגם חומרה). האם התוכנה שלך משתמשת ב- EEPROM? האם יישום אלגוריתם כלשהו מונע רכיבה על אופניים (כתיבה / מחיקה חוזרת על אותם תאים)?
    • זמן שמירה על זיכרון פלאש. זמן השמירה יורד עם הטמפרטורה, וגם עם מספר מחזורי התכנות.
    • קרינה מייננת. כן, גם אם ההסתברות נמוכה מאוד, לפחות בגובה פני הים, ההסתברות להפרעה של אירוע יחיד המושרה בקרינה אינה אפסית, ויש לנקוט באמצעי נגד נאותים (במיוחד לקחת בחשבון כי ל- RAM אין זיהוי שגיאות חומרה ) ביישומים קריטיים.
    • איכות אספקת החשמל.
    • סביבת ההפעלה. סביבה מבוקרת של 25 מעלות צלזיוס, או בקופסה שחורה מעל הגג (70 מעלות צלזיוס תחת השמש בקיץ)? ככל שהטמפרטורה גבוהה יותר, כך כל מנגנוני ההשפלה מהירים יותר.
    • ...

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

אמצעי נגד מסוימים יגבירו את האמינות:

  • השתמש בכלב השמירה: עדיף לאפס מערכת שאינה מגיבה, מאשר לנהוג במערכת תקועה / לא מתנהגת.
  • הימנע משימוש בכל ספרייה המשתמשת בהקצאת זיכרון.
  • יישם (אם אתה משתמש ב- EEPROM) אלגוריתם לשמירה!
  • ספק כוח טוב.
  • הימנע ראיות קשות (טמפרטורה גבוהה, לחות גבוהה, מחזורים תרמיים גדולים ורציפים וכו ').
user2497
2017-11-05 02:34:11 UTC
view on stackexchange narkive permalink

זה בהחלט יכול לפעול 24/7. אני משתמש ב- 5V לסיכה של 5V, או ב- 7808 לסיכה Vin כדי להוריד את ה- VREG. באופן אידיאלי זה יהיה 6.5 וולט, אבל אין לי אספקה ​​כזו. ייתכן שתרצה מכסה של צירוף לפתיחה על 5 וולט, כדי להשרות כל קוצים קלים בעת הפעלת האספקה. של 78XX, אך תזדקק לכמה נגדים עבור אותם, אולי טרימפוטים.



שאלה ותשובה זו תורגמה אוטומטית מהשפה האנגלית.התוכן המקורי זמין ב- stackexchange, ואנו מודים לו על רישיון cc by-sa 3.0 עליו הוא מופץ.
Loading...