جدول المحتويات:

نموذج تكييف اردوينو: 6 خطوات
نموذج تكييف اردوينو: 6 خطوات

فيديو: نموذج تكييف اردوينو: 6 خطوات

فيديو: نموذج تكييف اردوينو: 6 خطوات
فيديو: Simple Mechanical System in Revit Tutorial نموذج لعمل تكييف بالريفيت 2024, يوليو
Anonim
نموذج تكييف الهواء اردوينو
نموذج تكييف الهواء اردوينو

كجزء من عرض لقدرة فريقنا على إنشاء نموذج لجهاز قطار ذكي لأغراض التسويق ، كان الهدف هو إنشاء نظام يقرأ فيه مستشعر درجة الحرارة البيانات من الدائرة ويحول المعلومات إلى قيمة درجة حرارة معروضة على شاشة مضاءة وتركز على ما إذا كانت المروحة قيد التشغيل أو الإيقاف. والغرض من ذلك هو المساعدة في استيعاب ظروف الركوب للركاب باستخدام نظام آلي يعمل أيضًا على عرض درجة الحرارة في المنطقة المجاورة مباشرة.

باستخدام مجموعة Arduino microcontroller وإصدارات MATLAB 2016b و 2017b ، تمكنا من إظهار هذه النتائج بنجاح نسبي.

الخطوة 1: المعدات

ادوات
ادوات

مجموعة أدوات التحكم الدقيقة مع ما يلي:

سباركفن ريد بورد

-سباركفن اللوح

- مجلس ال سي دي

-مقياس فرق الجهد

-جهاز استشعار درجة الحرارة

-سيرفو

- محول USB / Arduino

- أسلاك توصيل (25 كحد أدنى)

كمبيوتر محمول (Windows 10) مزود بمدخل USB

كائن مطبوع ثلاثي الأبعاد (اختياري)

الخطوة 2: إعداد وحدة التحكم الدقيقة

إعداد متحكم
إعداد متحكم
إعداد متحكم
إعداد متحكم
إعداد متحكم
إعداد متحكم
إعداد متحكم
إعداد متحكم

ضع في اعتبارك هذا: يتكون النظام بأكمله من وحدات مفردة تطبق كل منها عاملاً مهمًا نحو النتيجة النهائية. لهذا السبب ، يوصى بشدة بإعداد صورة للدائرة قبل توصيل الأسلاك في فوضى معقدة.

يمكن العثور على صور كل نموذج فردي في دليل مجموعة أدوات وحدة التحكم الدقيقة أو على موقع الويب الخاص بها على

ابدأ بإرفاق مستشعر درجة الحرارة ومقياس الجهد وموصلات المؤازرة وشاشة LCD على اللوحة. يوصى ، نظرًا لحجم شاشة LCD ومتطلبات عدد الأسلاك الخاصة بها ، بوضعها على نصفها الخاص من اللوح مع الأجزاء الأخرى في النصف الآخر ولكي يكون مقياس الجهد في منطقة يمكن لشخص ما أدر مقبضه بسهولة.

كمرجع:

LCD: c1-16

المؤازرة: i1-3 (GND + -)

مستشعر درجة الحرارة: i13-15 (- GND +)

مقياس الجهد: g24-26 (- GND +)

بعد ذلك ، ابدأ في توصيل أسلاك التوصيل بكل دبوس من وحدات التحكم الدقيقة ؛ على الرغم من أنه تعسفي في المخطط العام الشامل ، فقد تم إنشاء التصميم بهذه الروابط المهمة:

توصيل مقياس الجهد بشاشات الكريستال السائل: f25 - e3

سلك مؤازر GND: j1 - الإدخال الرقمي 9

مستشعر درجة الحرارة GND: j14 - الإدخال التناظري 0

مداخل LCD: e11-e15 - إدخال رقمي 2-5

e4 - المدخلات الرقمية 7

e6 - المدخلات الرقمية 6

(ملاحظة: إذا نجحت ، يجب أن يضيء كلا المصباحين على حافة شاشة LCD ويمكن لمقياس الجهد أن يساعد في ضبط سطوعه بمجرد إعطاء الطاقة من المحول.)

اختياري: تم استخدام كائن مطبوع ثلاثي الأبعاد كجزء من أحد المتطلبات. لتجنب التلف المحتمل للأجزاء الأكثر هشاشة ، تم وضع علبة ممتدة كغطاء حول شاشة LCD. أثبتت قياسات شاشة LCD أنها 2-13 / 16 بوصة × 1-1 / 16 بوصة × 1/4 بوصة ، وبالتالي تم تغيير الارتفاع فقط بشكل كبير. إذا كانت طابعة ثلاثية الأبعاد متاحة بسهولة ، ففكر في إضافة كائن شخصي ، على الرغم من أنه غير ضروري. أيضًا ، يجب أن تدرك أن القياسات قد تختلف.

الخطوة 3: إعداد MATLAB

إعداد MATLAB
إعداد MATLAB
إعداد MATLAB
إعداد MATLAB

قم بتثبيت إصدار أكثر تحديثًا من MATLAB (2016a وما بعده) ، المتاح على موقع MathWorks https://www.mathworks.com/products/matlab.html؟s_tid=srchtitle. بمجرد الفتح ، انتقل إلى الوظائف الإضافية في علامة التبويب الصفحة الرئيسية وقم بتنزيل "حزمة دعم MATLAB لأجهزة Arduino" حتى يمكن الوصول إلى أوامر وحدة التحكم الدقيقة.

بمجرد الانتهاء ، يمكن إجراء اختبار للعثور على اتصال المتحكم الدقيق بجهاز الكمبيوتر / الكمبيوتر المحمول. بعد توصيلها بمحول USB من مجموعة الأدوات ، أدخل الأمر "fopen (serial ('nada'))."

ستظهر رسالة خطأ توضح الموصل كـ "COM #" ، والتي ستكون ضرورية لإنشاء كائن اردوينو طالما أنه نفس الإدخال في جميع الأوقات.

نظرًا لأن شاشة LCD لا تحتوي على اتصال مباشر بمكتبة Arduino ، يجب إنشاء مكتبة جديدة لعرض الرسائل. يوصى بإنشاء ملف LCDAddon.m من مثال LCD الموجود في نافذة تعليمات MATLAB بعد البحث عن "Arduino LCD" ووضعه في مجلد + arduinoioaddons ، أو استخدام المجلد المضغوط المرفق ونسخ كل محتوياته في الملف السابق ذكره. مجلد.

إذا نجحت ، فسيكون رمز إنشاء كائن Arduino في MATLAB كما هو موضح أدناه.

a = arduino ('com #'، 'uno'، 'Libraries'، 'ExampleLCD / LCDAddon') ؛

الخطوة 4: الوظائف

المهام
المهام
المهام
المهام

قم بإنشاء دالة MATLAB. بالنسبة للمدخلات ، نستخدم المتغيرين "إف" و "T_min" ؛ بالنسبة للمخرجات ، على الرغم من أنها غير ضرورية في التصميم العام ، فقد استخدمنا المتغير "B" كطريقة لاحتواء البيانات من النتائج. يسمح الإدخال "eff" بإدارة السرعة القصوى للمؤازرة ، ويتحكم إدخال "T_min" في درجة الحرارة الدنيا المطلوبة. يجب أن تنتج القيمة "B" مصفوفة تحتوي على ثلاثة أعمدة للوقت ودرجة حرارة وكفاءة المروحة. أيضًا ، كمكافأة على التفاصيل ، يحتوي الكود المدرج أدناه أيضًا على عبارة if مثل أن سرعة المروحة ستنخفض بنسبة خمسين بالمائة عندما تقترب من الحد الأدنى المطلوب لدرجة الحرارة.

إذا تم وضع جميع المدخلات وأسلاك العبور تمامًا وبافتراض أن منفذ اتصال Arduino هو COM4 واسم الوظيفة هو "fanread" ، فيجب أن يكون الكود التالي كافيًا:

الوظيفة [B] = Fanread (Tmin، eff)

مسح أ ؛ clear lcd؛ a = arduino ('com4'، 'uno'، 'Libraries'، 'ExampleLCD / LCDAddon') ؛

ر = 0 ؛ t_max = 15 ؛ ٪ الوقت بالثواني

lcd = addon (a، 'ExampleLCD / LCDAddon'، {'D7'، 'D6'، 'D5'، 'D4'، 'D3'، 'D2'})؛

InitizeLCD (lcd، 'Rows'، 2، 'Columns'، 2) ؛

إذا كانت إف> = 1 || ه <0

خطأ ("لن يتم تنشيط المروحة ما لم يتم ضبط EF بين 0 و 1.")

نهاية

بالنسبة إلى t = 1: 10٪ عدد الحلقات / الفواصل الزمنية

ج واضح ؛ ٪ يمنع تكرار الخطأ

v = readVoltage (أ ، 'A0') ؛

درجة الحرارة = (v-0.5) * 100 ؛ تقدير النسبة المئوية للجهد يتراوح بين 2.7-5.5 فولت

إذا كان TempC> Tmin إذا كان TempC

c = ['Temp'، num2str (TempC، 3)، 'C On'] ؛

writePWMDutyCycle (أ ، "D9" ، إف / 2) ؛ ٪ تشغيل المؤازرة بنصف السرعة

spd = 50 ؛

آخر

c = ['Temp'، num2str (TempC، 3)، 'C On'] ؛

writePWMDutyCycle (a، 'D9'، eff) ؛ ٪ بدوره على المؤازرة في السرعة المعطاة

spd = 100 ؛

نهاية

آخر

c = ['Temp'، num2str (TempC، 3)، 'C Off'] ؛

writePWMDutyCycle (a، 'D9'، 0) ؛ ٪ إغلاق إذا كان بالفعل قيد التشغيل

spd = 0 ؛

نهاية

printLCD (شاشات الكريستال السائل ، ج) ؛

وقفة (3) ؛ تنقضي٪ ثلاث ثوانٍ لكل حلقة

الوقت (t) = t. * 3 ؛

tempplot (t) = درجة الحرارة ؛

الفعل (t) = spd ؛

حبكة فرعية (2، 1، 1)

مؤامرة (الوقت ، tempplot ، 'b-o') الرسم البياني الخطي٪

المحور ([0 33 0 40])

xlabel ("الوقت (بالثواني)")

ylabel ("درجة الحرارة (C)")

يتمسك

المؤامرة ([0 33]، [Tmin Tmin]، 'r-')

يتمسك

قطعة الأرض ([0 33]، [Tmin + 2 Tmin + 2]، "g-")

حبكة فرعية (2، 1، 2)

شريط (الوقت ، الفعل)٪ رسم بياني شريطي

xlabel ("الوقت (بالثواني)")

ylabel ("الكفاءة (٪)")

نهاية

B = تبديل ([وقت ؛ تمبلوت ؛ فعل]) ؛

نهاية

الآن وقد اكتملت الوظيفة ، حان وقت الاختبار.

الخطوة 5: الاختبار

اختبارات
اختبارات
اختبارات
اختبارات

اختبر الآن الوظيفة في نافذة الأوامر عن طريق إدخال "function_name (input_value_1، input_value_2)" و watch. تأكد من عدم وجود كائن Arduino بالفعل ؛ إذا كان الأمر كذلك ، فاستخدم الأمر "clear a" لإزالته. في حالة حدوث أخطاء ، تحقق مما إذا كان هناك أي موصلات في المكان الخطأ أو إذا تم استخدام المدخلات الرقمية أو التناظرية الخاطئة. من المتوقع أن تختلف النتائج ، على الرغم من أن هذا قد يكون ناتجًا عن وضع أسلاك توصيل معينة ومستشعر درجة الحرارة.

يجب أن تنتج توقعات النتائج تغييرات في أداء المؤازرة والبيانات الموجودة على شاشة LCD. مع كل فاصل زمني مدته ثلاث ثوان ، يجب أن يعرض سطر نص درجة الحرارة بالدرجة المئوية وما إذا كانت المروحة نشطة أم لا أثناء تشغيل المروحة بأقصى سرعة أو نصف سرعة أو بدون سرعة. يجب ألا تكون البيانات متسقة على الأرجح ، على الرغم من أنه إذا كنت ترغب في المزيد من النتائج المتنوعة ، ضع قيمة "Tmin" بالقرب من متوسط درجة الحرارة التي تنتجها الدائرة.

الخطوة السادسة: الخاتمة

استنتاج
استنتاج

على الرغم من صعوبة إنجاز المهمة عن طريق التجربة والخطأ ، إلا أن النتائج النهائية أثبتت أنها مثيرة للاهتمام ومرضية إلى حد ما. يساعد النظام على هذا النحو في توضيح عدد الآلات المعقدة ، أو حتى بعض أجزائها ، التي يمكن اعتبارها مجموعة من الأجزاء المستقلة الموضوعة معًا لتحقيق هدف محدد.

نظرًا للتصميم المبسط إلى حد ما للمشروع النهائي ، يمكن لأولئك الذين لديهم مصلحة في تحسين أدائه إجراء تعديلات وتعديلات في المنتج النهائي يمكن أن تجعل المشروع أفضل وأكثر تفصيلاً. ومع ذلك ، فإنه يكشف عن نقاط ضعف في الدائرة مثل تنشيط المؤازرة مما يؤدي إلى تقلبات متفرقة في قراءة جهد الدائرة ، والتي يمكن أن تتسبب في عدم إنتاج النظام أبدًا لنتائج متطابقة. أيضًا ، كانت هناك مشكلات في رؤية تغيير في سرعة المؤازرة عند ضبط "eff" على 0.4 وأعلى. لو تم استخدام مستشعر درجة الحرارة والرطوبة ، فإن النموذج النهائي سيكون أكثر تعقيدًا ولكنه يقدم قيمًا أكثر اتساقًا. ومع ذلك ، فهذه تجربة تُظهر أن آلة معقدة يمكن أن تعمل كمجموعة من أجزائها البسيطة.

موصى به: