لقياس وتثبيت الذاكرة الومضية للعمليات الطويلة المعبر عنها في التيار والجهد ، مثل الشحن - تفريغ البطاريات والبطاريات. من الممكن تحديد درجة الحرارة في وقت واحد.
معلمات إشارة الإدخال:
أنا الحالي = 25mka - 2a
الجهد U = 0-5 فولت
درجة الحرارة ر = -30 - + 120 جم
يتم ضبط الوقت بواسطة ساعة الكوارتز الداخلية المدمجة
التغذية:
من المصدر 12v / 0.3a
أنا أستهلك <70ma
البناء:
يتم تجميع العداد على وحدتين اردوينو نانو متصل عبر بروتوكول ModBus ، انظر الرسم التخطيطي. يتم تثبيت Arduino واحد على رافع مع كتل طرفية. الوحدات متصلة عبر الموصلات. يتم عزل الأسلاك والوحدات نفسها من الأعطال الكامبري الحرارية.
يتم تغذية إشارات الإدخال من خلال أطراف المسمار
يوجد على اللوحة الأمامية مؤشر بلوري سائل للمعلمات المقاسة ومصابيح LED تشير إلى تبديل النطاق أو خارج النطاق.
يتم تجميع العداد في مبيت 145x85x40.
يتم تنفيذ جهاز استشعار درجة الحرارة من خلال الموصل. يتم تنظيم انتقال الإشارة على خط بسلكين. المقاوم المقاوم في الموصل.
لسهولة البرمجة ، موصلات Arduino USB خارجية.
مخطط
يمكن تنزيل المخطط من الملف Meter.rar
تم اختيار Arduino لسببين: كان Arduino Nano متاحًا وليس كافيًا في ذاكرة واحدة ، ومن المخطط إضافة المزيد من أجهزة الاستشعار. بالإضافة إلى ذلك ، أردت إتقان جمعية Arduino ، لذلك تم تحديد بروتوكول شبكة ModBus. يحدد ModBus معالج رئيسي واحد - سيد وعدة عبيد - عبد. في هذا العمل ، يوجد عبد واحد ، عليه قياس درجة الحرارة والجهد والتيار. على ماستر - ساعة وسجل لملف. يجب أن تكون ذاكرة اللحم أقل من 4 غيغابايت ومهيأة في FAT.
نظرًا لأنه تم التخطيط لقياس التيارات من μA إلى A ، يتم قياس التيارات في 4 نطاقات (انظر جدول النطاقات) ، يراقب Arduino Slave الانتقال من نطاق إلى آخر ، مما يشكل رمز التحويل المقابل للتيار المقاس الحالي من M1-2. عند الاقتراب من حدود النطاق ، يتم تشغيل النطاق التالي ، أي يتم تعطيل المفتاح الحالي من T1-1 --- T2-2 ويتم تشغيل النطاق التالي. في هذه الحالة ، يكون التحويل الأقصى = 100 أوم قيد التشغيل باستمرار. إذا كان هناك فائض من القيمة في النطاق ، فسيتم إضاءة المصابيح D8 و D9.
تقسيم القياس الحالي إلى نطاقات
Uout_max = 5v KusOU = 20 Δ = Ish / 1024
يتم تعيين كسب مكبر التشغيل M1-2 = 20 ثم لا يتغير. (على اللوحة الأمامية يتم تركيبه بشكل خاطئ).
يتم قياس الجهد من خلال تابع على OU M1-1.إن دوائر الإدخال من op-amp و Arduino محمية بواسطة الثنائيات (الثنائيات zener موجودة في Arduino ، لكنني لا أعرف المعلمات ، لذلك من الأفضل المبالغة فيها).
يتم اختيار LCD1602 كمؤشر. يتم توصيله إلى Arduino Master. علاوة على ذلك ، يمكن توصيل المؤشر بكل من Arduino ببساطة عن طريق تبديل موصلات Arduino. (عند انقطاع التيار الكهربائي.) يظهر الاتصال بـ Arduino Slave بخط متقطع (والذي تم استخدامه عند كتابة البرامج). من خلال الاتصال الرئيسي (بالسيد) على شاشة LCD1602 ، يمكن عرض 4 شاشات عن طريق تبديل منزلق مفتاح الانزلاق p1-p2.
Screen1: من فوق معلومات خدمة التبادل بين Arduino: C هو عدد التبادلات بين Arduino و E هو عدد الأخطاء أثناء تبادل Sh- رقم التحويلة ؛
اليوم السفلي - الوقت الشهر.
الشاشة 2: U1 ، I1 ، تحويلة رقم ، (0.00 أسفل الاحتياطي الأيمن)
الشاشة 3: U2 ، درجة الحرارة ، (ui standby)
الشاشة 4: تسجيل SD ممكّن ، وقت التسجيل بالساعات ، رقم السطر في الملف ،
00- حالة النطاق الحالي 1 0-عادي 1-خارج النطاق ، حالة نطاق الجهد 1 ، طاقة ثابتة لمصدر خارجي
عند الاتصال بـ Slave - 2 شاشة. يتيح رمز التبديل p3 التسجيل في ذاكرة Micro Flesh.
يتم اختيار مصدر الطاقة 12 فولت للحصول على الخصائص الخطية لمضخم العمليات (لتجنب الانسداد عند حواف النطاق). لنفس السبب ، تم استخدام الجهد السالب من المشكل عند KR1006VI1. ينتج عن استخدام مولد اردوينو جهدًا أقل استقرارًا. لتوليد طاقة 5 فولت ، تم استخدام محول تنازلي ، ولكن يمكنك الاستغناء عنه من خلال تزويد +12 فولت لمدخلات VIN Arduino Nano.
البرمجة المشتركة Arduino لها ميزات ، حيث أن الاتصال بالكمبيوتر مشغول ببروتوكول ModBus. لتحميل رسم في أحد Arduino ، من ناحية أخرى تحتاج إلى تمكين إشارة إعادة تعيين RST. للقيام بذلك ، استخدم صداري Block S أو Block M. أو اضغط مع الاستمرار على أزرار إعادة الضبط في وحدات Arduino حتى انتهاء التنزيل ، وهو أقل ملاءمة وهناك فرصة لإتلاف التنزيل. نظرًا لأنني أخطط لتوسيع جهاز USB Arduino ، فقد سحبت العلبة.
من المفترض استخدام الترانزستور T5 (FR024N) لتشغيل / إيقاف تشغيل عملية ، على سبيل المثال ، تفريغ شحن للبطارية. بينما لم تشارك.
البرمجيات.
يتم مضغه إلى أقصى حد أن المبتدئين (وأنا) لن يؤذوا ويمكن أن يكونوا مادة مرجعية ، لكنهم لا يدعون أنهم مثاليون.
توجد المكتبات ورموز البرامج في ملف Izmeritel PRO.rar.
رسم للسيد ModBus_Master10_SD_T_10_2 الرئيسي. رسم للعبد ModBus-Slave10_T_UI_10_2. باقي المكتبة.
مبرمجة في بيئة اردوينو 1.6.0. يحتوي على مكتبات SD ، LiquidCrystal ، Wire لا تحتاج إلى تنزيل.
يتم ضبط الوقت بالساعات في الإعداد على النحو التالي. ضبط الوقت الحقيقي وتحميل الرسم. ثم قم بالتعليق على الخطوط لتحديد التاريخ والوقت وأعد تحميل الرسم.
ستكون نتيجة البرنامج الإشارة إلى الوقت والتاريخ (ساعات) ، التيار ، الجهد ، درجة الحرارة على شاشة LCD1602 وتسجيل هذه المعلمات في ملف IZMER1.TXT في ذاكرة Micro Flesh. سيحتوي الملف على جدول من هذا النوع:
0 ؛ 04/13/2019 ؛ 00:11:10 ؛ زاب (ح) = 0.05 ؛ ح = 29.31 ؛ U1 = 1.71 ؛ I1 = 0.00 ؛ P1 = 0.00 ؛ U2 = 0.14 ؛ DiaI norma ؛ DiaU norma ؛ ج = 762
1 ؛ 04/13/2019 ؛ 00:11:16 ؛ زاب (ح) = 0.05 ؛ ح = 29.38 ؛ U1 = 1.79 ؛ I1 = 0.00 ؛ P1 = 0.00 ؛ U2 = 0.19 ؛ DiaI norma ؛ DiaU norma ؛ ج = 788
2 ؛ 04/13/2019 ؛ 00:11:22 ؛ زاب (ح) = 0.05 ؛ ح = 29.38 ؛ U1 = 1.54 ؛ I1 = 0.00 ؛ P1 = 0.00 ؛ U2 = 0.16 ؛ DiaI norma ؛ DiaU norma ؛ ج = 813
3 ؛ 04/13/2019 ؛ 00:11:28 ؛ زاب (ح) = 0.05 ؛ ح = 29.31 ؛ U1 = 1.30 ؛ I1 = 0.00 ؛ P1 = 0.00 ؛ U2 = 0.17 ؛ DiaI norma ؛ DiaU norma ؛ ج = 839
4 ؛ 04/13/2019 ؛ 00:11:34 ؛ زاب (ح) = 0.05 ؛ ح = 29.31 ؛ U1 = 1.90 ؛ I1 = 0.00 ؛ P1 = 0.00 ؛ U2 = 0.17 ؛ DiaI norma ؛ DiaU norma ؛ ج = 864
5 ؛ 04/13/2019 ؛ 00:11:40 ؛ زاب (ح) = 0.05 ؛ ح = 29.25 ؛ U1 = 1.53 ؛ I1 = 0.00 ؛ P1 = 0.00 ؛ U2 = 0.16 ؛ DiaI norma ؛ DiaU norma ؛ ج = 890
6 ؛ 04/13/2019 ؛ 00:11:46 ؛ زاب (ح) = 0.05 ؛ ح = 29.19 ؛ U1 = 2.03 ؛ I1 = 0.00 ؛ P1 = 0.00 ؛ U2 = 0.18 ؛ DiaI norma ؛ DiaU norma ؛ ج = 915
7 ؛ 04/13/2019 ؛ 00:11:52 ؛ زاب (ح) = 0.05 ؛ ح = 29.13 ؛ U1 = 1.81 ؛ I1 = 0.00 ؛ P1 = 0.00 ؛ U2 = 0.18 ؛ DiaI norma ؛ DiaU norma ؛ ج = 941
8 ؛ 04/13/2019 ؛ 00:11:58 ؛ زاب (ح) = 0.05 ؛ ح = 29.00 ؛ U1 = 1.30 ؛ I1 = 0.00 ؛ P1 = 0.00 ؛ U2 = 0.16 ؛ DiaI norma ؛ DiaU norma ؛ ج = 966
9 ؛ 04/13/2019 ؛ 00:12:04 ؛ زاب (ح) = 0.07 ؛ ح = 28.94 ؛ U1 = 1.25 ؛ I1 = 0.00 ؛ P1 = 0.00 ؛ U2 = 0.17 ؛ DiaI norma ؛ DiaU norma ؛ ج = 992
10 ؛ 04/13/2019 ؛ 00:12:10 ؛ زاب (ح) = 0.07 ؛ ح = 29.00 ؛ U1 = 1.85 ؛ I1 = 0.00 ؛ P1 = 0.00 ؛ U2 = 0.16 ؛ DiaI norma ؛ DiaU norma ؛ ج = 1017
11 ؛ 04/13/2019 ؛ 00:12:16 ؛ زاب (ح) = 0.07 ؛ ح = 29.00 ؛ U1 = 1.21 ؛ I1 = 0.00 ؛ P1 = 0.00 ؛ U2 = 0.18 ؛ DiaI norma ؛ DiaU norma ؛ ج = 1043
12 ؛ 04/13/2019 ؛ 00:12:23 ؛ زاب (ح) = 0.07 ؛ ح = 28.94 ؛ U1 = 1.55 ؛ I1 = 0.00 ؛ P1 = 0.00 ؛ U2 = 0.18 ؛ DiaI norma ؛ DiaU norma ؛ ج = 1068
13 ؛ 04/13/2019 ؛ 00:12:29 ؛ زاب (ح) = 0.07 ؛ ح = 28.88 ؛ U1 = 1.82 ؛ I1 = 0.00 ؛ P1 = 0.00 ؛ U2 = 0.16 ؛ DiaI norma ؛ DiaU norma ؛ ج = 1094
14 ؛ 04/13/2019 ؛ 00:12:35 ؛ زاب (ح) = 0.07 ؛ ح = 28.88 ؛ U1 = 1.30 ؛ I1 = 0.00 ؛ P1 = 0.00 ؛ U2 = 0.18 ؛ DiaI norma ؛ DiaU norma ؛ ج = 1119
حيث توجد الأعمدة n / a ؛ التاريخ الوقت تسجيل الوقت بالساعات ؛ درجة الحرارة الجهد المقاس U1 ؛ قياس I1 الحالي ؛ الجهد الثاني المقاس U2 ؛ معلومات حول خروج / غياب نطاق القياس ؛ معلومات الخدمة عن عدد التبادلات بين اردوينو.
تم اختيار فاصل تسجيل القياس لمدة 6 ثوانٍ ، فمن السهل تغييره عن طريق استبدال قيمة ثابت # CYCLE_TIME_F 3000 بآخر بالصيغة Tsec = Constant (ms) * 2/1000 في Master.
علاوة على ذلك ، يمكن تقديم هذا الجدول في شكل رسوم بيانية جميلة.
عند كتابة البرامج استخدمت المواد. أعبر عن امتناني للمؤلف.