مقدمة: تشرح هذه المقالة بالتفصيل تطبيق مستشعر درجة الحرارة الرقمي DS18B20 المخصص في بناء مقياس حرارة رقمي. بما في ذلك مبدأ العمل, اتصال الأجهزة, برمجة البرمجيات وتنفيذ المحاكاة. توفير مخطط محاكاة بروتوز كامل, C رمز المصدر وتحليل النتائج لمساعدة القراء على فهم وممارسة استخدام DS18B20.
معلومات المعلمة: مزود الطاقة: 3.0V – 5.5V; قرار قابل للتعديل: 9 – 12 قليل; نطاق درجة الحرارة: -55 ℃ إلى +125 ℃; الإخراج : أحمر (VCC), أصفر (بيانات), أسود (GND);
ما تحصل عليه: سوف تحصل 4 مستشعرات درجة الحرارة DS18B20, 4 وحدات المحول و 4 أنثى إلى أسلاك الطائر الإناث; تحتوي وحدة المحول على مقاوم سحب, والتي يمكن أن تكون متوافقة مع Raspberry Pi بدون مقاوم خارجي;
مستشعر درجة الحرارة DS18B20: حجم الإسكان الفولاذ المقاوم للصدأ تقريبا. 6 س 50 مم/ 0.2 س 2 بوصة, والكابل الحراري في درجة الحرارة الرقمية لديه طول إجمالي تقريبًا. 1 م/ 39.4 بوصة, وهو طويل بما يكفي لتلبية احتياجاتك;
مواد الجودة: التحقيق مصنوع من مادة الفولاذ المقاوم للصدأ الجودة, وهو مقاوم للماء, الرطوبة المقاومة وليس من السهل الصدأ, وذلك لمنع الدوائر القصيرة;
تطبيق واسع: مستشعر درجة حرارة DS18B20 متوافق مع Raspberry Pi, ويتم تطبيقه على نطاق واسع في مراقبة درجة الحرارة من خندق الكابل, المرجل, ماذا, الدفيئة الزراعية, غرفة نظيفة, إلخ.
1. خصائص مستشعر DS18B20
يلعب مستشعر DS18B20 دورًا رئيسيًا في مجال مراقبة درجة الحرارة الحديثة. يمكن أن تقيس درجة الحرارة بدقة عالية, ويمكن تعديل قرارها وفقًا للاحتياجات, وذلك لتحقيق مراقبة درجة الحرارة بدرجات مختلفة من الدقة. فضلاً عن ذلك, حجم صغير من DS18B20 يجعله مناسبًا للاستخدام في البيئات ذات المساحة المحدودة, وخصائصها سهلة الاستخدام تقلل من العتبة التقنية من المبتدئين إلى المهنيين.
قبل استكشاف معلمات الأداء لـ DS18B20, من الضروري أولاً فهم مبدأ العمل. ينقل DS18B20 بيانات درجة الحرارة من خلال الإشارات الرقمية, الذي يجلب الراحة لجمع بيانات درجة الحرارة. مقارنة مع أجهزة استشعار درجة الحرارة التقليدية, يمكن أن توفر أجهزة الاستشعار الرقمية مثل DS18B20 قراءات أكثر دقة وأقل حساسية للضوضاء أثناء نقل الإشارة.
من أجل الاستفادة الكاملة من هذه المزايا من DS18B20, يجب أن يكون لدينا فهم عميق لمعايير أدائها. تتضمن هذه المعلمات نطاق قياس درجة الحرارة, دقة, دقة, وتزويد الجهد. هذه المعلمات لا تحدد فقط ما إذا كان DS18B20 يمكن أن تلبي احتياجات تطبيقات محددة, ولكن أيضًا يؤثر على أداء وموثوقية النظام بأكمله.
في هذا الفصل, سنقدم معلمات الأداء لـ DS18B20 بالتفصيل, تحليل مبدأ عملها, واستكشاف مزاياها في تطبيقات مختلفة. من خلال هذه المحتويات, سيحصل القراء على فهم أعمق لأجهزة استشعار DS18B20 ويضعون أساسًا متينًا للتطبيقات والبرمجة الأكثر تعقيدًا اللاحقة.
2. شرح مفصل لبروتوكول الاتصالات 1-wire من DS18B20
إن السبب وراء استخدام مستشعرات DS18B20 على نطاق واسع يرجع إلى حد كبير إلى بروتوكول الاتصالات الفريدة – 1-بروتوكول الاتصالات السلكية. يبسط هذا البروتوكول متطلبات اتصالات الأجهزة ويوفر طريقة فعالة لنقل البيانات. سيقوم هذا الفصل بتحليل آلية العمل وعملية تبادل البيانات بعمق لبروتوكول الاتصالات 1 لتوفير أساس متين لممارسة البرمجة اللاحقة.
2.1 أساسيات بروتوكول الاتصالات السلكية 1
2.1.1 ميزات بروتوكول اتصال 1 سلك:
يتم استدعاء بروتوكول اتصال DS18B20 1-WAR “حافلة واحدة” تكنولوجيا. لديها الميزات التالية: – التواصل واحد للحافلة: يتم استخدام سطر بيانات واحد فقط لنقل البيانات ثنائي الاتجاه, الذي يقلل إلى حد كبير من تعقيد الأسلاك مقارنة بالطريقة التقليدية. – اتصال متعدد الأجهزة: يدعم توصيل أجهزة متعددة على ناقل بيانات واحد, ويحدد ويتواصل من خلال رموز تحديد الجهاز. – استهلاك الطاقة المنخفض: أثناء الاتصال, يمكن أن يكون الجهاز في حالة استعداد منخفض الطاقة عند عدم المشاركة في الاتصال. – دقة عالية: مع وقت نقل البيانات الأقصر, يمكن أن يقلل من التداخل الخارجي وتحسين دقة البيانات.
2.1.2 تنسيق البيانات وتحليل توقيت التواصل 1 سلك
يتبع تنسيق البيانات لبروتوكول الاتصالات السلكية 1 قاعدة توقيت محددة. ويشمل توقيت التهيئة, اكتب التوقيت وقراءة التوقيت:
توقيت التهيئة: يبدأ المضيف أولاً توقيت اكتشاف التواجد (النبض وجود) عن طريق سحب الحافلة لفترة معينة من الزمن, ثم يرسل المستشعر نبض التواجد استجابة.
اكتب التوقيت: عندما يرسل المضيف توقيت الكتابة, يسحب الحافلة أولاً 1-15 microseconds, ثم تصدر الحافلة, ويسحب المستشعر الحافلة في 60-120 microseconds للرد.
قراءة التوقيت: يقوم المضيف بإخطار المستشعر لإرسال البيانات عن طريق سحب الحافلة وإطلاقه, وسيقوم المستشعر بإخراج بت البيانات على الحافلة بعد تأخير معين.
3. طريقة اتصال أجهزة مقياس الحرارة
اتصال الأجهزة هو الخطوة الأولى والأهم في بناء مقياس حرارة رقمي. سيضمن الاتصال الصحيح بين مستشعر DS18B20 و MicroController نقل بيانات دقيقة وتوفير أساس متين لمزيد من البرمجة ومعالجة البيانات. سيقدم هذا الفصل بالتفصيل مبادئ تصميم الواجهة بين DS18B20 و MicroController والخطوات المحددة لاتصال الدائرة, وتغطية المحتوى ذي الصلة لإمدادات الطاقة وتكييف الإشارة.
3.1 واجهة بين DS18B20 و Microcontroller
3.1.1 مبادئ تصميم دوائر الواجهة
يحتاج تصميم دائرة الواجهة لـ DS18B20 إلى اتباع العديد من المبادئ الأساسية لضمان تشغيل الجهاز المستقر والفعال:
إمدادات الطاقة المستقرة: يمكن أن تحصل DS18B20 على الطاقة من خط البيانات “DQ” (مُسَمًّى “وضع الطاقة الطفيلي”), أو يمكن أن تكون مدعومة بشكل مستقل بواسطة مصدر طاقة خارجي. بغض النظر عن الطريقة التي يتم استخدامها, يجب أن يكون مصدر الطاقة مستقرًا لمنع أخطاء نقل البيانات الناتجة عن تقلبات إمداد الطاقة.
سلامة الإشارة: نظرًا لأن DS18B20 ينقل البيانات عبر سطر واحد, سلامة الإشارة أمر بالغ الأهمية بشكل خاص. من الضروري النظر في قدرة مكافحة التدخل للإشارة ومطابقة الخصائص الكهربائية للإشارة.
حماية الدائرة: الحماية الزائدة والتفريغ الإلكتروستاتيكي (ESD) يجب تضمين تدابير الحماية في تصميم الدائرة لتجنب تلف المستشعر أو متحكم.
3.1.2 خطوات محددة لتوصيل الدائرة
عادة ما يتبع توصيل DS18B20 بالتحكم الدقيق الخطوات التالية:
اتصال الطاقة: قم بتوصيل دبوس VDD لـ DS18B20 بمصدر طاقة 3.3V أو 5V (اعتمادا على مستوى الجهد من متحكم), و PIN GND على الخط الأرضي.
اتصال خط البيانات: يتم توصيل دبوس DQ إلى دبوس I/O رقمي من متحكم. من أجل ضمان استقرار نقل البيانات, يمكن إضافة مقاوم سحب بين خط البيانات ومصدر الطاقة, مع قيمة نموذجية من 4.7kΩ إلى 10kΩ.
إعادة ضبط ووجود معالجة دبوس النبض: عادة, دبوس إعادة ضبط (RST) وحضور دبوس النبض (قدم المساواة) من DS18B20 لا تحتاج إلى الاتصال خارجيا, هي إشارات تستخدم داخليا.
في هذا القسم, لقد صممنا دائرة أساسية يمكن من خلالها توصيل مستشعر درجة حرارة DS18B20. ما يلي هو مخطط دائرة مثال يعتمد على Arduino UNO والوصف المقابل:
مخطط انسيابي LR
DS18B20 — |VDD| 5V
DS18B20 — |GND| GND
DS18B20 — |DQ| 2
DQ — |سحب| 5V
فيما بينها, يمثل DS18B20 مستشعر درجة الحرارة الرقمية, 5الخامس هو إخراج الطاقة من متحكم, GND هو السلك الأرضي, و 2 يمثل دبوس أردوينو لا. 2, الذي يستخدم لنقل البيانات. تمثل العلاقة بين DQ و 5V المقاوم السحب.
3.2 إمدادات الطاقة وتكييف الإشارة
3.2.1 اختيار طريقة تزويد الطاقة
يوفر DS18B20 طريقتين لإمداد الطاقة:
وضع الطاقة الطفيلي: في هذا الوضع, خط البيانات (DQ) لا يمكن فقط نقل البيانات, ولكن أيضا قوة DS18B20. في هذا الوقت, يجب أن يكون الجهد العالي المستوى على خط البيانات 3.0 فولت على الأقل لضمان تيار إمداد الطاقة الكافي. عادةً ما يتم استخدام هذا الوضع عندما يكون طول الناقل قصيرًا ويكون نقل البيانات غير متكرر جدًا.
وضع مزود الطاقة الخارجي: في هذا الوضع, DS18B20 لديه VDD إدخال الطاقة المستقل. يمكن أن يعزز تشغيل مصدر الطاقة الخارجي قوة إشارة المستشعر وتحسين قدرة مكافحة التداخل, وهو مناسب للنقل لمسافات طويلة أو نقل البيانات المتكرر.
3.2.2 تصفية الإشارة والتثبيت
من أجل ضمان استقرار الإشارة وقراءة البيانات الدقيقة, يجب ترشيح الإشارة بشكل صحيح واستقرارها:
مقاوم سحب: تتم إضافة مقاوم السحب بين خط البيانات ومصدر الطاقة للتأكد من أن خط البيانات في حالة عالية المستوى عند الخمول.
دائرة على القول: من أجل القضاء على القراءات الخاطئة الناجمة عن تداخل الخط أو تقلبات الجهد الفوري, يمكن أن تكون الإشارة مملوءة بالبرامج على جانب متحكم.
حماية ESD: مكونات حماية ESD (مثل ثنائيات أجهزة التلفزيون) تضاف إلى موانئ المستشعرات وموكنتها للوقاية من الأضرار الناجمة عن التفريغ الإلكتروستاتيكي.
يوضح هذا القسم أيضًا العوامل التي يجب مراعاتها عند اختيار إمدادات الطاقة وتكييف الإشارة في نموذج الجدول:
| مشروع | وضع الطاقة الطفيلي | وضع الطاقة الخارجي | وصف | | — | — | — | — | | السيناريوهات المعمول بها | خطوط قصيرة, بيانات نادرة | خطوط طويلة, البيانات المتكررة | حدد وفقًا لسيناريوهات التطبيق الفعلية | | استقرار إمداد الطاقة | أدنى | أعلى | يوصى بمصدر الطاقة الخارجي لخطوط طويلة أو ترددات عالية | | يكلف | أدنى | أعلى | يتطلب مصدر الطاقة الخارجي مكونات إضافية لإدارة الطاقة | | مكافحة التداخل | أضعف | أقوى | مزود الطاقة الخارجي أكثر ملاءمة لبيئات التداخل العالي |
يمكن لطرق الاتصال أعلاه واستراتيجيات معالجة الإشارات دمج مستشعر درجة حرارة DS18B20 بشكل فعال في أي نظام متحكم. سيقدم الفصل التالي كيفية استخدام لغة C:
ممارسة البرمجة الوظيفية لـ DS18B20:
4. DS18B20 مقياس حرارة الرقمية C Programming C
4.1 مؤسسة البرمجة وإعداد البيئة
4.1.1 أفكار تصميم البرنامج وبناء إطار عمل
قبل البدء في كتابة برنامج لغة C في مقياس الحرارة الرقمي DS18B20, تحتاج أولاً إلى إنشاء الأفكار الأساسية لتصميم البرنامج. يتواصل مستشعر DS18B20 مع متحكم من خلال بروتوكول الاتصالات السلكية 1. لذلك, تتمثل المهمة الرئيسية للبرنامج في تنفيذ العمليات ذات الصلة لبروتوكول الاتصالات ذات الأسلاك الواحدة, بما في ذلك تهيئة DS18B20, إرسال التعليمات, قراءة بيانات درجة حرارة, وتحويل وعرض بيانات القراءة.
ينقسم إطار البرنامج تقريبًا إلى الأجزاء التالية:
التهيئة: تهيئة مستشعر متحكم ومستشعر DS18B20.
حلقة رئيسية: يحتوي على حلقة تقرأ باستمرار بيانات المستشعر.
1-مكتبة وظيفة الاتصال السلكية: يحتوي على وظائف لتنفيذ بروتوكول اتصال السلك الواحد.
معالجة البيانات: قم بتحويل البيانات الأولية التي يتم إرجاعها بواسطة المستشعر إلى قيم درجة حرارة قابلة للقراءة.
عرض الإخراج: عرض بيانات درجة الحرارة المعالجة على شاشة LCD أو إخراجها إلى الكمبيوتر من خلال المنفذ التسلسلي.
4.1.2 بناء بيئة التطوير وتكوينه
من أجل برمجة وتطوير مقياس الحرارة الرقمي DS18B20, تحتاج إلى إعداد بيئة التطوير وتكوينها بشكل مناسب. فيما يلي الخطوات الأساسية للتنمية:
حدد بيئة التطوير: حدد بيئة التطوير المتكاملة المناسبة (IDE) وفقا لنوع متحكم, مثل للتطوير على أساس متحكم السلسلة القشرة الذراع. يمكنك استخدام Keil MDK أو STM32Cubeide.
تكوين المترجم: حسب IDE المستخدمة, قم بتكوين برنامج التحويل البرمجي للتأكد من أنه يمكن تجميع رمز لغة C بشكل صحيح.
بناء لوحة تطوير الأجهزة: حدد لوحة تطوير متحكم مناسبة, مثل على أساس STM32, ESP32, إلخ.
قم بتوصيل لوحة التطوير: قم بتوصيل مستشعر DS18B20 بمثابة دبوس محدد للونرولر من خلال بروتوكول الاتصالات 1-wire.
اكتب الرمز: قم بإنشاء مشروع لغة C جديد في IDE وابدأ في كتابة رمز البرنامج.
ترجمة وتصحيح: استخدم أداة IDE لتجميع الكود وتشغيلها على لوحة التطوير لتصحيح الأخطاء.
#يشمل <stdio.h>
// DS18B20 إعلان مكتبة الاتصالات في الخط الأول
void ds18b20_init();
void DS18B20_Reset();
void ds18b20_writeByte(شار غير موقعة);
char ds18b20_readbyte غير موقعة();
int ds18b20_readtemperature();
int main() {
// تهيئة مستشعر DS18B20
DS18B20_INIT();
// حلقة رئيسية
بينما(1) {
// قراءة قيمة درجة الحرارة
درجة حرارة int = DS18B20_ReadTemperature();
// قيمة درجة حرارة الإخراج للمنفذ التسلسلي أو جهاز عرض آخر
printf(“درجة الحرارة الحالية: %D n”, درجة حرارة);
}
يعود 0;
}
4.2 DS18B20 تنفيذ برنامج قراءة درجة الحرارة
4.2.1 بناء مكتبة وظائف الاتصالات الواحدة
من أجل إدراك قراءة درجة حرارة DS18B20, تحتاج أولاً إلى إنشاء مكتبة دالة اتصال واحدة. فيما يلي طرق التنفيذ للعديد من الوظائف الرئيسية:
DS18B20_INIT(): تهيئة توقيت الاتصالات الواحدة.
DS18B20_RESET(): أعد ضبط المستشعر واكتشف نبضه.
DS18B20_WRITEBYTE(شار غير موقعة): اكتب بايت من البيانات إلى المستشعر.
DS18B20_READBYTE(): اقرأ بايت من البيانات من المستشعر.
DS18B20_ReadTemperature(): اقرأ درجة الحرارة وتحويلها.
إن تنفيذ مكتبة دالة الاتصالات الواحدة لـ DS18B20 معقد للغاية لأنه يتطلب تحكمًا دقيقًا في تغييرات مستوى الدبوس لمتابعة بروتوكول اتصال السلك الواحد. فيما يلي مثال على تنفيذ الوظائف:
void DS18B20_Reset() {
// تسلسل إعادة تعيين الاتصالات أحادية السطر, بما في ذلك سحب خط البيانات, تأخير, إطلاق الحافلة, واكتشاف نبض التواجد
// …
}
الغرض من هذه الوظيفة هو إرسال نبض إعادة تعيين إلى DS18B20. بعد النجاح الناجح, سيعود DS18B20 إلى نبض التواجد.
4.2.2 تنفيذ خوارزمية قراءة درجة الحرارة
تعد قراءة قيمة درجة حرارة مستشعر DS18B20 عملية أكثر تعقيدًا, لأنه من الضروري إرسال تعليمات محددة إلى المستشعر في توقيت معين وقراءة البيانات التي تم إرجاعها بشكل صحيح. الخوارزمية لقراءة قيمة درجة الحرارة هي كما يلي:
إعادة ضبط المستشعر.
أرسل “غرفة السفينة” يأمر (0XCC).
أرسل “تحويل درجة الحرارة” يأمر (0x44).
انتظر لإكمال التحويل.
أرسل “قراءة السجل” يأمر (0xbe).
اقرأ بايتين من بيانات درجة الحرارة.
يوضح الرمز التالي كيفية قراءة قيمة درجة حرارة DS18B20:
int ds18b20_readtemperature() {
char temp_low غير موقعة, temp_high;
درجة حرارة غير موقعة;
// أعد ضبط المستشعر وتخطي تعليمات ROM
DS18B20_RESET();
DS18B20_WRITEBYTE(0XCC); // تخطي أوامر ROM
// إرسال أمر درجة حرارة التحويل
DS18B20_WRITEBYTE(0x44);
// انتظر لإكمال التحويل. هنا تحتاج إلى الانتظار وفقًا لوقت تحويل DS18B20
// …
// أعد ضبط المستشعر وقراءة بيانات درجة الحرارة
DS18B20_RESET();
DS18B20_WRITEBYTE(0XCC); // تخطي أوامر ROM
DS18B20_WRITEBYTE(0xbe); // اقرأ أمر التسجيل
// اقرأ بايتان من البيانات
temp_low = ds18b20_readbyte();
temp_high = ds18b20_readbyte();
// اجمع بين بايتان من البيانات في عدد صحيح 16 بت
درجة الحرارة = (temp_high << 8) | temp_low;
// إرجاع قيمة درجة الحرارة, التحويل بشكل مناسب بناءً على دقة DS18B20
عودة درجة الحرارة;
}
4.2.3 تصحيح الأخطاء والتعامل مع الاستثناءات
عند كتابة برنامج قراءة DS18B20, تصحيح الأخطاء والتعامل مع الاستثناءات مهمان للغاية. أثناء التصحيح, قد تحتاج إلى استخدام مساعد تصحيح الأخطاء المتسلسل للتحقق مما إذا كانت قيمة درجة حرارة الخرج صحيحة, أو استخدم محللًا منطقيًا لمراقبة توقيت الإشارة لاتصال الخط الأول. يجب أن تأخذ معالجة الاستثناءات في الاعتبار فشل الأجهزة, أخطاء الاتصال, والاستجابات غير الطبيعية لـ DS18B20.
فيما يلي بعض استراتيجيات التصحيح والاستثناءات المعالجة:
التحقق من البيانات: بعد قراءة كل بيانات, استخدم فحصًا أو تحقق لتأكيد صحة البيانات.
استثناء التقاط: أضف آلية التقاط استثناء إلى البرنامج, مثل آلية إعادة محاولة المهلة, إعادة ضبط المستشعر, إلخ.
معلومات التصحيح: أضف إخراج معلومات التصحيح الكافي إلى البرنامج للمساعدة في تحديد موقع المشكلة.
int main() {
// تهيئة مستشعر DS18B20
DS18B20_INIT();
// حلقة رئيسية
بينما(1) {
درجة حرارة INT;
// اقرأ درجة الحرارة وتحقق من وجود أخطاء
درجة الحرارة = DS18B20_ReadTemperature();
لو (درجة حرارة < 0) {
printf(“خطأ في قراءة درجة حرارة القراءة!\ن”);
// يمكنك اختيار إعادة محيطة أو آليات معالجة الأخطاء الأخرى
} آخر {
printf(“درجة الحرارة الحالية: %D n”, درجة حرارة);
}
}
يعود 0;
}
يقدم هذا الفصل مؤسسة برمجة اللغة C وإعداد البيئة لمقياس الحرارة الرقمي DS18B20, وكذلك تنفيذ برنامج قراءة درجة الحرارة, ويؤكد على أهمية تصحيح البرنامج والتعامل مع الاستثناءات. من خلال إدخال هذا الفصل, يجب أن يكون القراء قادرين على بناء بيئة تنمية, فهم أهمية مكتبة وظيفة الاتصال في الخط الأول, واكتب برنامج قراءة درجة الحرارة الأساسية. سوف تتعمق الفصول التالية في بناء واستخدام بيئة محاكاة البروتينات, توفير طريقة اختبار المحاكاة لتجميع الأجهزة الفعلية.
5. مخطط محاكاة البروتينات وتحليل نتائج المحاكاة
5.1 بناء بيئة محاكاة البروتينات
5.1.1 التشغيل الأساسي لبرنامج البروتينات
قبل البدء في إنشاء نموذج المحاكاة لمقياس الحرارة الرقمي DS18B20, تحتاج أولاً إلى فهم وإتقان التشغيل الأساسي لبرنامج Proteus. Proteus هو برنامج قوي محاكاة الدوائر الإلكترونية لا يمكنه تصميم مخططات الدوائر فقط, ولكن أيضًا تصميم تخطيطات ثنائي الفينيل متعدد الكلور للتصميم وتوفير وظائف المحاكاة. فيما يلي بعض الخطوات الرئيسية لمساعدتك في البدء في Proteus:
افتح برنامج Proteus وإنشاء مشروع جديد.
البحث وحدد المكونات المطلوبة في مكتبة المكون, مثل أجهزة استشعار DS18B20, متحكم, إمدادات الطاقة, ربط الأسلاك, إلخ.
اسحب المكونات المحددة إلى منطقة التصميم واستخدم الماوس لوضعها وتخطيطها.
استخدم أداة الأسلاك لتوصيل دبابيس كل مكون لتشكيل دائرة كاملة.
انقر نقرًا مزدوجًا فوق مكون أو سلك لتعديل خصائصه, مثل قيمة المقاومة, جهد إمدادات الطاقة, إلخ.
تأكد من توصيل جميع المكونات بشكل صحيح وتحقق من وجود أخطاء أو إغفال.
5.1.2 إنشاء مشروع محاكاة DS18B20
الخطوات لإنشاء مشروع محاكاة لمقياس الحرارة الرقمي DS18B20 هي كما يلي:
ابدأ بروتوس واختيار “مشروع جديد” لإنشاء مشروع جديد.
بعد تعيين اسم المشروع والموقع, انقر “التالي”.
حدد قالب المشروع, مثل “المعالج الدقيق على أساس”, وانقر “التالي”.
في “عناصر المشروع” فاتورة غير مدفوعة, يفحص “تشمل المكونات الافتراضية” وحدد متحكم (مثل الموافقة المسبقة عن علم, AVR, إلخ.) ومستشعر DS18B20.
انقر “ينهي” لإكمال إنشاء المشروع.
التالي, قم بإنشاء مخطط دائرة:
حدد “اختيار الجهاز” أداة, ابحث عن مستشعر Microcontroller و DS18B20 وحدده.
استخدم “ضع الجهاز” أداة لوضع المكون المحدد في منطقة التصميم.
استخدم “سلك” أداة لتوصيل متحكم ودبابيس ذات صلة لمستشعر DS18B20.
بعد الانتهاء من الاتصال, استخدم “نص” أداة لإضافة التعليقات التوضيحية إلى مخطط الدائرة لسهولة الفهم والتعديل.
5.2 اختبار المحاكاة وتحليل البيانات
5.2.1 تعيين معلمات المحاكاة والشروط
قبل بدء المحاكاة, تحتاج إلى تعيين المعلمات والشروط لتشغيل المحاكاة:
انقر نقرًا مزدوجًا فوق مكون التحكم الدقيق لإدخال واجهة إعداد الخصائص.
حدد مسار ملف البرنامج المكتوب مسبقًا على “ملف البرنامج”.
اضبط معلمات تزويد الطاقة للتأكد من أن كل من متحكم Microcontroller ومستشعر DS18B20 لديهما جهد إمداد الطاقة الصحيح.
التالي, اضبط معلمات الوقت للمحاكاة:
في لوحة التحكم في المحاكاة, يختار “الإعدادات العالمية”.
اضبط سرعة المحاكاة ووقت المحاكاة القصوى.
قم بتعيين نقاط التوقف المناسبة لتحليل البيانات أثناء عملية المحاكاة.
5.2.2 محاكاة وقراءة بيانات درجة الحرارة
قم بتشغيل المحاكاة ومحاكاة بيانات درجة الحرارة:
انقر فوق “يلعب” زر في لوحة التحكم المحاكاة لبدء المحاكاة.
استخدم “تصحيح” أداة لعرض حالة تشغيل البرنامج والقيم المتغيرة.
محاكاة مستشعر DS18B20 لقراءة قيمة درجة الحرارة, الذي يتم تحقيقه عادة عن طريق تعديل مقياس الحرارة الظاهري في بيئة المحاكاة.
لقراءة بيانات درجة الحرارة في المحاكاة, يمكنك الرجوع إلى الخطوات التالية:
ابحث عن إعدادات محاكاة درجة الحرارة في خصائص مكون DS18B20.
قم بتعديل قيمة درجة الحرارة لاختبار استجابة النظام في ظل ظروف درجة حرارة مختلفة.
لاحظ كيفية معالجة برنامج متحكم.
5.2.3 تحليل النتائج واستكشاف الأخطاء وإصلاحها
تحليل نتائج المحاكاة وتأكيد أداء مقياس الحرارة:
راقب البيانات الموجودة في نافذة الإخراج للتحقق مما إذا كانت قراءة درجة الحرارة دقيقة.
استخدم أداة محلل المنطق لمراقبة ما إذا كانت عملية اتصال البيانات طبيعية.
تحقق من أي إشارات غير طبيعية أو مخرجات غير مستقرة.
أداء تشخيص الأخطاء وتصحيح الأخطاء:
إذا كانت قراءة درجة الحرارة غير دقيقة أو كان هناك خطأ, تحقق من طريقة الاتصال وتكوين DS18B20.
قم بتحليل رمز البرنامج للتأكد من تنفيذ خوارزميات الاتصال وتحويل البيانات من الخط الأول بشكل صحيح.
استخدم “قف” وظيفة برنامج المحاكاة لإيقاف المحاكاة ومراقبة الحالة الحالية للنظام.