למדידה וקיבוע בזמן בזיכרון הבזק של תהליכים ארוכים המתבטאים בזרם ומתח, כגון טעינה - פריקת מצברים וסוללות. אפשר לתקן את הטמפרטורה בו זמנית.
פרמטרי אות קלט:
הנוכחי I = 25mka - 2a
מתח U = 0 - 5V
טמפרטורה t = -30 - + 120 גרם
הזמן נקבע על ידי שעון הקוורץ המובנה הפנימי
תזונה:
מהמקור 12v / 0.3a
אני צריכה <70ma
בנייה:
המונה מורכב על שני מודולים ארדואינו ננו מחובר באמצעות פרוטוקול ModBus, ראה תרשים. ארדואינו אחד מורכב על גבי מסגרת עם אבני מסוף. המודולים מחוברים דרך מחברים. החוטים והמודולים עצמם מבודדים מתקלות תרמיות-קמבריות.
אותות כניסה מוזנים דרך מסופי בורג
בלוח הקדמי ישנו מחוון גבישים נוזליים של הפרמטרים הנמדדים ונורות הלד המציין מעבר של טווח או מחוץ לטווח.
המונה מורכב בתוך בית 145x85x40.
חיישן הטמפרטורה מתבצע דרך המחבר. העברת האות מסודרת על קו דו חוט. נגן הזנה במחבר.
כדי להקל על התכנות, מחברי USB של Arduino הם חיצוניים.
תוכנית
ניתן להוריד את התוכנית מהקובץ Meter.rar
שני ארדואינו נבחרו משתי סיבות: ארדואינו ננו היו זמינים ולא די בזיכרון אחד, והיא מתוכננת להוסיף עוד חיישנים. בנוסף רציתי לשלוט בעמותת ארדואינו, מכיוון שנבחר בפרוטוקול הרשת של ModBus. ModBus מגדיר מעבד מאסטר אחד - מאסטר וכמה עבדים - עבד. בעבודה זו יש עבד אחד, ועליו מדידה של טמפרטורה, מתח וזרם. ב- Master - שעון ותיעוד לקובץ. זיכרון הבשר חייב להיות פחות מ- 4GB ומעוצב ב- FAT.
מכיוון שתוכנן למדוד זרמים מ- μA ל- A, נמדדים זרמים בארבעה טווחים (ראו טבלת הטווחים), Arduino Slave מפקח על המעבר מטווח אחד למשנהו, ויוצר את קוד השאנט המתאים לזרם הנמדד הנוכחי מ- M1-2. כאשר ניגשים לגבול הטווח, הטווח הבא מופעל, כלומר המפתח הנוכחי מ- T1-1 --- T2-2 מכובה והקודב הבא מופעל. במקרה זה, הכוונון המרבי = 100ohm פועל ללא הרף. אם יש עודף מערך בטווח, נוריות נוריות D8, D9 מוארות.
חלוקת המדידה הנוכחית לטווחים
Uout_max = 5v KusOU = 20 Δ = איש / 1024
הרווח של המגבר התפעולי M1-2 מוגדר = 20 ואז לא משתנה. (בלוח הקדמי הוא מותקן בטעות).
המתח נמדד באמצעות חסיד על OU M1-1.מעגלי הקלט של מגבר ה- OP ו- Arduino מוגנים על ידי דיודות (דיודות זנר נמצאות בארדואינו, אבל אני לא יודע את הפרמטרים, ולכן עדיף להגזים).
LCD1602 נבחר כאינדיקטור. זה קשור לאדון הארדואינו. יתר על כן, ניתן לחבר את המחוון לשני הארדואינו פשוט על ידי החלפת מחברי הארדואינו. (כאשר הכיבוי כבוי.) החיבור לשפחת הארדואינו מוצג עם קו מקווקו (ששימש בעת כתיבת תוכניות). עם החיבור הראשי (למאסטר) על LCD1602, ניתן להציג 4 מסכים על ידי החלפת מחוון מתג ההחלפה p1-p2.
מסך 1: מלמעלה מידע השירות על חילופי הדברים בין ארדואינו: C הוא מספר החילופים בין ארדואינו, E הוא מספר השגיאות במהלך חילופי ה- Sh- מספר של השאנט;
יום תחתון - זמן חודש.
מסך 2: U1, I1, מספר Shunt, (0.00 מילואים שמאל למטה)
מסך 3: U2, טמפרטורה, (מצב המתנה)
Screen4: הקלטת SD מופעלת, זמן הקלטה בשעות, מספר שורה בקובץ,
00- מצב טווח זרם 1 0-נורמלי 1 מחוץ לטווח, מצב טווח מתח 1, כוח קבוע של מקור חיצוני
כאשר אתה מחובר למסכי Slave - 2. Switch p3 מאפשר הקלטה בזיכרון ה- Micro Flesh.
ספק הכוח נבחר 12 v כדי להשיג מאפיינים ליניאריים של מגבר המגבר (כדי למנוע סתימות בקצוות הטווח). מאותה סיבה, נעשה שימוש במתח שלילי מהמעצב ב- KR1006VI1. שימוש בגנרטור ארדואינו מייצר מתח פחות יציב. כדי לייצר כוח 5 וולט, נעשה שימוש בממיר מוריד, אך אתה יכול להסתדר בלעדיו על ידי אספקת + 12V לתשומות ה- VIN Arduino Nano.
לתכנות משותפת לארדואינו יש תכונות שכן התקשורת עם המחשב עמוסה בפרוטוקול ModBus. כדי לטעון סקיצה לאחד הארדואינו, מצד שני אתה צריך לאפשר את אות האיפוס RST. לשם כך, השתמשו במגשרים Block S, Block M. או לחץ והחזק את לחצני האיפוס במודולי Arduino עד שיסתיים ההורדה, וזה פחות נוח ויש סיכוי לפגוע בהורדה. מכיוון שאני מתכנן להרחיב את מכשיר ה- Arduino USB שלי, שלפתי את התיק.
הטרנזיסטור T5 (FR024N) אמור לשמש להפעלת / כיבוי של תהליך, למשל, פריקת טעינה של סוללה. אמנם זה לא מעורב.
תוכנה.
נלעס באופן מקסימאלי כי מתחילים (ואני עצמי) לא יפגעו ויכולים לשמש כחומר עזר, אך אינם טוענים שהם אופטימיים.
ספריות וקודי תוכנית נמצאים בקובץ Izmeritel PRO.rar.
סקיצה עבור המאסטר ModBus_Master10_SD_T_10_2. סקיצה עבור עבד ModBus-Slave10_T_UI_10_2. שאר הספרייה.
מתוכנת בסביבה של Arduino1.6.0. זה מכיל ספריות SD, LiquidCrystal, Wire לא צריך להוריד.
השעה בשעות מוגדרת בהתקנה כדלקמן. קבעו את הזמן האמיתי וטענו את הסקיצה. לאחר מכן הגב את השורות להגדרת התאריך והשעה וטען מחדש את הסקיצה.
התוצאה של התוכנית תהיה אינדיקציה לשעה ותאריך (שעות), זרם, מתח, טמפרטורה על LCD1602 והקלטת הפרמטרים הללו בקובץ IZMER1.TXT בזיכרון ה- Micro Flesh. הקובץ יכיל טבלה מסוג זה:
0; 04/13/2019; 00:11:10; זאפ (ח) = 0.05; tc = 29.31; U1 = 1.71; I1 = 0.00; P1 = 0.00; U2 = 0.14; נורמה DiaI; נורמה DiaU; C = 762
1; 04/13/2019; 00:11:16; זאפ (ח) = 0.05; tc = 29.38; U1 = 1.79; I1 = 0.00; P1 = 0.00; U2 = 0.19; נורמה DiaI; נורמה DiaU; C = 788
2; 04/13/2019; 00:11:22; זאפ (ח) = 0.05; tc = 29.38; U1 = 1.54; I1 = 0.00; P1 = 0.00; U2 = 0.16; נורמה DiaI; נורמה DiaU; C = 813
3; 04/13/2019; 00:11:28; זאפ (ח) = 0.05; tc = 29.31; U1 = 1.30; I1 = 0.00; P1 = 0.00; U2 = 0.17; נורמה DiaI; נורמה DiaU; C = 839
4; 04/13/2019; 00:11:34; זאפ (ח) = 0.05; tc = 29.31; U1 = 1.90; I1 = 0.00; P1 = 0.00; U2 = 0.17; נורמה DiaI; נורמה DiaU; C = 864
5; 04/13/2019; 00:11:40; זאפ (ח) = 0.05; tc = 29.25; U1 = 1.53; I1 = 0.00; P1 = 0.00; U2 = 0.16; נורמה DiaI; נורמה DiaU; C = 890
6; 04/13/2019; 00:11:46; זאפ (ח) = 0.05; tc = 29.19; U1 = 2.03; I1 = 0.00; P1 = 0.00; U2 = 0.18; נורמה DiaI; נורמה DiaU; C = 915
7; 04/13/2019; 00:11:52; זאפ (ח) = 0.05; tc = 29.13; U1 = 1.81; I1 = 0.00; P1 = 0.00; U2 = 0.18; נורמה DiaI; נורמה DiaU; C = 941
8; 04/13/2019; 00:11:58; זאפ (ח) = 0.05; tc = 29.00; U1 = 1.30; I1 = 0.00; P1 = 0.00; U2 = 0.16; נורמה DiaI; נורמה DiaU; C = 966
ט; 04/13/2019; 00:12:04; זאפ (ח) = 0.07; tc = 28.94; U1 = 1.25; I1 = 0.00; P1 = 0.00; U2 = 0.17; נורמה DiaI; נורמה DiaU; C = 992
10; 04/13/2019; 00:12:10; זאפ (ח) = 0.07; tc = 29.00; U1 = 1.85; I1 = 0.00; P1 = 0.00; U2 = 0.16; נורמה DiaI; נורמה DiaU; C = 1017
11; 04/13/2019; 00:12:16; זאפ (ח) = 0.07; tc = 29.00; U1 = 1.21; I1 = 0.00; P1 = 0.00; U2 = 0.18; נורמה DiaI; נורמה DiaU; C = 1043
12; 04/13/2019; 00:12:23; זאפ (ח) = 0.07; tc = 28.94; U1 = 1.55; I1 = 0.00; P1 = 0.00; U2 = 0.18; נורמה DiaI; נורמה DiaU; C = 1068
13; 04/13/2019; 00:12:29; זאפ (ח) = 0.07; tc = 28.88; U1 = 1.82; I1 = 0.00; P1 = 0.00; U2 = 0.16; נורמה DiaI; נורמה DiaU; C = 1094
14; 04/13/2019; 00:12:35; זאפ (ח) = 0.07; tc = 28.88; U1 = 1.30; I1 = 0.00; P1 = 0.00; U2 = 0.18; נורמה DiaI; נורמה DiaU; ג = 1119
שם העמודות ממוקמות לא. תאריך זמן זמן הקלטה בשעות; טמפרטורה מתח מדוד U1; זרם נמדד I1; המתח השני שנמדד U2; מידע על יציאה / היעדר טווח המדידה; מידע על מספר החילופים בין ארדואינו.
מרווח הקלטת המדידה נבחר למשך 6 שניות, קל לשנות אותו על ידי החלפת ערך קבוע #define CYCLE_TIME_F 3000 באחר על ידי הנוסחה Tsec = Constant (ms) * 2/1000 ב- Master.
בהמשך ניתן להציג טבלה זו בצורה של גרפים יפים.
כשכתבתי תוכניות השתמשתי בחומרים. אני מביע את תודתי לסופר.