- هندسة وتطبيقات الميكروكونترولر PIC:
- اختيار PIC Microcontroller لبرامجنا التعليمية:
- اختيار البرامج لبرامجنا التعليمية:
- الاستعداد مع الأجهزة:
في عام 1980 ، طورت إنتل أول متحكم دقيق (8051) باستخدام Harvard Architecture 8051 ومنذ ذلك الحين أحدثت وحدات التحكم الدقيقة ثورة في مجال الإلكترونيات والصناعات المدمجة. ومع التقدم التكنولوجي بمرور الوقت ، أصبح لدينا الآن العديد من المتحكمات الدقيقة الأكثر كفاءة ومنخفضة الطاقة مثل AVR و PIC و ARM. هذه المتحكمات الدقيقة أكثر قدرة وسهولة في الاستخدام ، ولديها أحدث بروتوكولات الاتصال مثل USB و I2C و SPI و CAN وما إلى ذلك ، حتى Arduino و Raspberry Pi غيّرت تمامًا المنظور تجاه Microcontrollers ، و Raspberry Pi ليس مجرد متحكم دقيق ولكنه يحتوي على كامل داخل الكمبيوتر.
سيكون هذا هو الجزء الأول من سلسلة البرامج التعليمية التي لم تأت بعد ، والتي ستساعدك في تعلم المتحكمات الدقيقة PIC. إذا كنت من خلفية في مجال الإلكترونيات وأردت دائمًا البدء في تعلم بعض وحدات التحكم الدقيقة والدخول في عالم الترميز وبناء الأشياء ، فإن هذه السلسلة من البرامج التعليمية ستكون خطوتك الأولى لتبدأ بها.
يعد PIC microcontroller خيارًا مناسبًا للغاية للبدء في مشروعات وحدة التحكم الدقيقة ، لأنه يحتوي على منتديات دعم ممتازة وستعمل كقاعدة قوية للبناء على جميع وحدات التحكم الدقيقة المتقدمة التي لم تتعلمها بعد.
تم إعداد هذه الدروس للمتعلمين المطلقين أو المتوسطين ؛ خططنا أن نبدأ من أبسط المشاريع إلى المشاريع المتقدمة. لا نتوقع أي متطلبات مسبقة من المتعلمين لأننا هنا لمساعدتك من أي مستوى. سيحتوي كل برنامج تعليمي على شرح نظري ومحاكاة متبوعين ببرنامج تعليمي عملي. لن تتضمن هذه البرامج التعليمية أي لوحات تطوير ، سنصنع دوائرنا الخاصة باستخدام لوحة الأداء. لذا استعد وخصص بعض الوقت كل أسبوع لتعزيزك باستخدام وحدات التحكم الدقيقة.
لنبدأ الآن بمقدمة بسيطة عن المتحكمات الدقيقة PIC وبعض إعدادات البرامج لجعلنا نشغل في البرنامج التعليمي التالي. تحقق من الفيديو في النهاية لتثبيت وإعداد MPLABX و XC8 و Proteus وإخراج سريع لمبرمج PICkit 3.
هندسة وتطبيقات الميكروكونترولر PIC:
تم تقديم المتحكم الدقيق PIC بواسطة Microchip Technologies في عام 1993. في الأصل تم تطوير هذه PIC لتكون جزءًا من أجهزة الكمبيوتر PDP (معالج البيانات المبرمج) وتم توصيل كل الأجهزة الطرفية للكمبيوتر باستخدام وحدة التحكم الدقيقة PIC. ومن هنا حصلت الموافقة المسبقة عن علم على اسمها بالنسبة لوحدة التحكم في الواجهة الطرفية. طورت Microchip لاحقًا الكثير من سلسلة PIC IC والتي يمكن استخدامها لأي تطبيق صغير مثل تطبيق الإضاءة حتى التطبيق المتقدم.
سيتم بناء كل متحكم دقيق حول بعض الهندسة المعمارية ، وأشهر أنواع الهندسة المعمارية هو هندسة هارفارد ، ويستند PIC الخاص بنا على هذه الهندسة لأنها تنتمي إلى عائلة 8051 الكلاسيكية. دعنا ندخل في مقدمة صغيرة حول هندسة هارفارد للموافقة المسبقة عن علم.
و PIC16F877A متحكم يتكون من وحدة المعالجة المركزية يحمل في ثناياه عوامل، I / O الموانئ، تنظيم الذاكرة، A / D المحول، توقيت / العدادات، المقاطعات، الاتصال التسلسلي، مذبذب وحدة CCP الذي جمع يجعل IC متحكم قوية للمبتدئين لتبدأ. يظهر الرسم التخطيطي العام لمعمارية الموافقة المسبقة عن علم أدناه
CPU (وحدة المعالجة المركزية):
يحتوي المتحكم الدقيق على وحدة المعالجة المركزية لإجراء العمليات الحسابية والقرارات المنطقية والعمليات المتعلقة بالذاكرة. يجب أن تقوم وحدة المعالجة المركزية بالتنسيق بين ذاكرة الوصول العشوائي والأجهزة الطرفية الأخرى للمتحكم الدقيق.
تتكون من وحدة المنطق الحسابي ALU ، والتي من خلالها تنفذ العمليات الحسابية والقرارات المنطقية. توجد أيضًا MU (وحدة ذاكرة) لتخزين التعليمات بعد تنفيذها. تحدد MU حجم برنامج MC الخاص بنا. وتتكون أيضًا من CU (وحدة التحكم) التي تعمل بمثابة ناقل اتصال بين وحدة المعالجة المركزية والأجهزة الطرفية الأخرى للميكروكونترولر. يساعد هذا في جلب البيانات بعد معالجتها في السجلات المحددة.
ذاكرة الوصول العشوائي (رام):
ذاكرة الوصول العشوائي هي التي تحدد سرعة وحدة التحكم الدقيقة الخاصة بنا. تتكون ذاكرة الوصول العشوائي من بنوك مسجلة داخلها ، يتم تعيين مهمة محددة لكل منها. بشكل عام يمكن تصنيفها إلى نوعين:
- سجل الأغراض العامة (GPR)
- سجل الوظائف الخاصة (SFR)
كما يوحي الاسم ، يتم استخدام GPR لوظائف التسجيل العامة مثل الجمع والطرح وما إلى ذلك. هذه العمليات محدودة في حدود 8 بت. جميع السجلات تحت GPR قابلة للكتابة والقراءة من قبل المستخدم. ليس لديهم أي وظائف من تلقاء أنفسهم ما لم يكن البرنامج محددًا.
في حين يتم استخدام SFR لأداء وظائف خاصة معقدة تتضمن أيضًا معالجة 16 بت ، لا يمكن قراءة سجلاتهم إلا (R) ولا يمكننا كتابة (W) أي شيء لهم. لذلك فإن هذه السجلات لها وظائف محددة مسبقًا لأداءها ، والتي يتم تعيينها في وقت التصنيع وهي تعرض النتيجة لنا فقط ، والتي يمكننا من خلالها تنفيذ بعض العمليات ذات الصلة.
قراءة الذاكرة فقط (ROM):
ذاكرة القراءة فقط هي المكان الذي يتم فيه تخزين برنامجنا. هذا يقرر الحجم الأقصى لبرنامجنا ؛ ومن ثم يطلق عليه أيضًا اسم ذاكرة البرنامج. عندما تكون MCU قيد التشغيل ، يتم تنفيذ البرنامج المخزن في ROM حسب كل دورة تعليمات. يمكن استخدام وحدة الذاكرة هذه فقط أثناء برمجة الموافقة المسبقة عن علم ، وأثناء التنفيذ تصبح ذاكرة للقراءة فقط.
ذاكرة للقراءة فقط قابلة للبرمجة كهربائيًا (EEPROM):
EEPROM هو نوع آخر من وحدات الذاكرة. يمكن تخزين قيم وحدة الذاكرة هذه أثناء تنفيذ البرنامج. القيم المخزنة هنا قابلة للمسح كهربائيًا فقط ، حيث سيتم الاحتفاظ بهذه القيم في الموافقة المسبقة عن علم حتى عند إيقاف تشغيل IC. يمكن استخدامها كمساحة ذاكرة صغيرة لتخزين القيم المنفذة ؛ ومع ذلك ، ستكون مساحة الذاكرة أقل بكثير عند تحويلات KB.
ذاكرة فلاش :
ذاكرة الفلاش هي أيضًا ذاكرة للقراءة فقط قابلة للبرمجة (PROM) حيث يمكننا قراءة البرنامج وكتابته ومحوه آلاف المرات. بشكل عام ، يستخدم الميكروكونترولر PIC هذا النوع من ذاكرة القراءة فقط.
منافذ الإدخال / الإخراج
- يتكون PIC16F877A الخاص بنا من خمسة منافذ هي المنفذ A ، المنفذ B ، المنفذ C ، المنفذ D ، المنفذ E.
- من بين جميع المنافذ الخمسة ، يكون المنفذ A هو 16 بت ، و PORT E هو 3 بت. أما باقي المنافذ فهي 8 بت.
- يمكن استخدام المسامير الموجودة على هذه المنافذ كإدخال أو إخراج ، بناءً على تكوين سجل TRIS.
- بصرف النظر عن إجراء عمليات الإدخال / الإخراج ، يمكن أيضًا استخدام المسامير للوظائف الخاصة مثل SPI و Interrupt و PWM وما إلى ذلك.
حافلة:
مصطلح Bus هو مجرد مجموعة من الأسلاك التي تربط جهاز الإدخال أو الإخراج بوحدة المعالجة المركزية وذاكرة الوصول العشوائي.
يتم استخدام ناقل البيانات لنقل البيانات أو استلامها.
يتم استخدام ناقل العنوان لنقل عنوان الذاكرة من الأجهزة الطرفية إلى وحدة المعالجة المركزية. تستخدم دبابيس الإدخال / الإخراج لواجهة الأجهزة الطرفية الخارجية ؛ يتم استخدام بروتوكولي الاتصال التسلسلي UART و USART لربط الأجهزة التسلسلية مثل GSM و GPS و Bluetooth و IR وما إلى ذلك.
اختيار PIC Microcontroller لبرامجنا التعليمية:
الميكروكونترولر PIC من شركة Microchip مقسمة إلى 4 عائلات كبيرة. تحتوي كل عائلة على مجموعة متنوعة من المكونات التي توفر ميزات خاصة مدمجة:
- العائلة الأولى ، PIC10 (10FXXX) - تسمى Low End.
- العائلة الثانية ، PIC12 (PIC12FXXX) - تسمى متوسطة المدى.
- الأسرة الثالثة هي PIC16 (16FXXX).
- الأسرة الرابعة PIC 17/18 (18FXXX)
نظرًا لأننا بدأنا في التعرف على PIC ، فلنختار IC الذي يتم استخدامه ومتاحًا عالميًا. ينتمي هذا IC إلى عائلة 16F ورقم الجزء الخاص بـ IC هو PIC16F877A. من البرنامج التعليمي الأول حتى النهاية ، سنستخدم نفس IC حيث تم تجهيز IC هذا بجميع الميزات المتقدمة مثل SPI و I2C و UART وما إلى ذلك ، ولكن إذا لم تحصل على أي من هذه الأشياء الآن ، فهذا جيد تمامًا ، فسنقوم بذلك احصل على تقدم من خلال كل برنامج تعليمي وأخيرًا يستخدم جميع الميزات المذكورة أعلاه.
بمجرد تحديد IC ، من المهم للغاية قراءة ورقة البيانات الخاصة بـ IC. يجب أن تكون هذه هي الخطوة الأولى في أي مفهوم نحن على وشك تجربته. الآن بما أننا حددنا PIC16F877A ، فلنقرأ من خلال مواصفات IC في ورقة البيانات.
تشير الميزة الطرفية إلى أن لديها 3 مؤقتات ، اثنان منها 8 بت وواحد 16 بت قبل المقياس. تُستخدم هذه الموقتات لإنشاء وظائف التوقيت في برنامجنا. يمكن استخدامها أيضًا كعدادات. يوضح أيضًا أنه يحتوي على خيارات CCP (Capture Compare و PWM) ، مما يساعدنا على إنشاء إشارات PWM وقراءة إشارات التردد الواردة. للاتصال بجهاز خارجي ، يحتوي على SPI و I2C و PSP و USART. لأغراض السلامة ، تم تجهيزه بـ Brown-out Reset (BOR) ، مما يساعد في إعادة ضبط البرنامج while.
الميزات التناظرية ، تشير إلى أن IC لديها 10 بت 8 قنوات ADC. هذا يعني أن IC الخاص بنا يمكنه تحويل القيم التناظرية إلى رقمية بدقة 10 بت ، ولديه 8 دبابيس تناظرية لقراءتها. لدينا أيضًا مقارنان داخليان يمكن استخدامهما لمقارنة الجهد الوارد مباشرةً دون قراءتهما فعليًا من خلال البرنامج.
تشير ميزات وحدة التحكم الدقيقة الخاصة إلى أنه يحتوي على 100000 دورة مسح / كتابة ، مما يعني أنه يمكنك برمجته لحوالي 100000 مرة. تساعدنا البرمجة التسلسلية داخل الدائرة (ICSP ™) على برمجة IC مباشرة باستخدام PICKIT3. يمكن إجراء التصحيح من خلال In-Circuit Debug (ICD). ميزة أمان أخرى هي Watchdog Timer (WDT) ، وهو مؤقت موثوق به يقوم بإعادة ضبط البرنامج بالكامل إذا لزم الأمر.
الصورة أدناه تمثل pinouts الخاص بنا PIC16F877A IC. تمثل هذه الصورة كل دبوس مقابل اسمه وميزاته الأخرى. يمكن العثور على هذا أيضًا في ورقة البيانات. احتفظ بهذه الصورة في متناول اليد لأنها ستساعدنا أثناء أعمال أجهزتنا.
اختيار البرامج لبرامجنا التعليمية:
يمكن برمجة الميكروكونترولر PIC باستخدام برامج مختلفة متوفرة في السوق. لا يزال هناك أشخاص ما زالوا يستخدمون لغة التجميع لبرمجة PIC MCUs. بالنسبة لدروسنا التعليمية ، اخترنا أكثر البرامج والمترجم تقدمًا التي طورتها Microchip نفسها.
من أجل برمجة المتحكم الدقيق PIC ، سنحتاج إلى IDE (بيئة التطوير المتكاملة) ، حيث تتم البرمجة. A مترجم، حيث يحصل على تحويلها إلى برنامجنا MCU شكل مقروء تسمى ملفات HEX. و IPE (برمجة المتكاملة للبيئة) ، والذي يستخدم لتفريغ ملف عرافة لدينا في موقعنا PIC MCUs.
IDE: MPLABX v3.35
IPE: MPLAB IPE v3.35
المترجم: XC8
قدمت Microchip كل هذه البرامج الثلاثة مجانًا. يمكن تنزيلها مباشرة من صفحتهم الرسمية. لقد قدمت أيضًا الرابط لراحتك. بمجرد تنزيلها قم بتثبيتها على جهاز الكمبيوتر الخاص بك. إذا كان لديك أي مشكلة في القيام بذلك ، يمكنك مشاهدة الفيديو المقدم في النهاية.
لأغراض المحاكاة ، استخدمنا برنامجًا يسمى PROTEUS 8 ، مقدم من Labcenter. يمكن استخدام هذا البرنامج لمحاكاة الكود الخاص بنا الذي تم إنشاؤه باستخدام MPLABX. يوجد برنامج تجريبي مجاني يمكن تنزيله من صفحتهم الرسمية من خلال الرابط.
الاستعداد مع الأجهزة:
ستنتهي جميع دروسنا مع الأجهزة. لتعلم الموافقة المسبقة عن علم بأفضل طريقة ممكنة ، يوصى دائمًا باختبار أكوادنا ودوائرنا على الأجهزة ، لأن موثوقية المحاكاة أقل بكثير. قد لا تعمل الرموز التي تعمل على برنامج محاكاة كما كنت تتوقع على أجهزتك. ومن ثم سنقوم ببناء الدوائر الخاصة بنا على لوحات الأداء لتفريغ أكوادنا.
تفريغ أو تحميل رمز لنا في PIC، سنحتاج PICkit 3. و PICkit 3 مبرمج / المصحح هو بسيط، منخفضة التكلفة في دائرة المصحح التي يتم التحكم بواسطة برنامج كمبيوتر يعمل بنظام التشغيل MPLAB IDE (v8.20 أو أكبر) على منصة Windows. يعد مبرمج / مصحح الأخطاء PICkit 3 جزءًا لا يتجزأ من مجموعة أدوات مهندس التطوير. بالإضافة إلى ذلك ، سنحتاج أيضًا إلى أجهزة أخرى مثل لوحة Perf ، ومحطة اللحام ، و PIC ICs ، ومذبذبات الكريستال ، والمكثفات وما إلى ذلك ، لكننا سنضيفها إلى قائمتنا أثناء تقدمنا من خلال دروسنا التعليمية.
لقد أحضرت جهاز PICkit 3 من أمازون ، ويمكن العثور على مقطع الفيديو الخاص به في الفيديو أدناه. يتوفر أيضًا رابط PICKIT3 ؛ قد يكون السعر مرتفعًا بعض الشيء ولكن ثق بي أنه يستحق الاستثمار.