كيف تعلمت العمل مع ميكروكنترولر - تجربة المبتدئين

مرحبا بالجميع. في هذه المقالة أردت أن أتحدث عن كيف تعلمت العمل مع المتحكمات الدقيقة
(يشار إليها فيما يلي باسم MK) وما هي المخاطر التي حلقت بها. يجب أن أقول على الفور - لا تدعي المقالة أنها حصرية ، لأن أي شخص يعمل مع عضو الكنيست مر بما مررت به. أطلب منك ألا تحكم بدقة ، ولكن أن تقرأها كقصة.



بدلا من الانضمام


اهتمامي الأول في عضو الكنيست نشأ عندما كنت في الصف العاشر. في ذلك الوقت كان عام 2009. كنت أعرف كيف أبرمج قليلاً على جهاز الكمبيوتر في QBasic و Visual Basic - وهو برنامج مدرسي ، ولكن حدث ذلك حتى أنني لم أكن أعرف الكثير عن البرمجة ، ونقص الأشخاص ذوي المعرفة في مجال الالكترونيات و MK قاموا بعملهم - بالنسبة لي كان مكانًا جديدًا. على الرغم من أنني كنت منذ الطفولة كنت العبث بالألواح والدوائر الدقيقة الموجودة في علب القمامة ، لكنني لم أفهم حقًا كيف نجحت - لم يكن بمقدور أحد تفسير ذلك. كيف يعمل الترانزستور بشكل طبيعي ، اكتشفت بعد عامين فقط من الأحداث الموصوفة. عندما اخترت عضو الكنيست الأول ، نظرت إلى الخصائص الموجودة على موقع CHIP-DIP. بصراحة - بالنسبة لي كان الأمر مثل الهيروغليفية. لذلك لا تخافوا منه. ونعم ، لا أحد لديه أدنى فكرة عن اردوينو بعد ذلك.

كيف بدأ كل شيء


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

كيف خرجت من المنصب؟


بعد أن أدركت أنني لم أفهم شيئًا ، تخلت عن عضو الكنيست لبضع سنوات ، لكنني في الوقت نفسه كنت أبحث في منتديات مثل Scheme.net ومنتديات أخرى ، وفهمًا تدريجيًا للقضية. قررت أن أدرس بالمناسبة على نموذج PIC16F877A.

لذا ، ما يحتاج المبتدئ إلى معرفته:


المتحكم الدقيق هو كمبيوتر صغير ، كما أنه يحتوي على جهاز حسابي - معالج في الواقع ، وذاكرة الوصول العشوائي ونوع من القرص الصلب - برنامج وذاكرة البيانات ، ولكن يتم كل ذلك في شريحة واحدة. وفقا لذلك ، اعتمادا على الموديل والشركة المصنعة ، فإنه يحتوي على الخصائص التالية (مبدئيا):

  • ترددات التشغيل من الوحدات إلى ~ 100 ميجاهرتز ، أنا شخصياً أستخدم ترددات 20 ميغاهيرتز في أجهزتي ، وهي MEGAhertz ، وليس GIGAhertz. يتم ضبط التردد بواسطة مصدر ساعة خارجي - مرنان الكوارتز أو السيراميك.

  • RAM - وحدات وعشرات الكيلوبايت
  • مقدار الذاكرة للبيانات والبرنامج يصل إلى عدة عشرات من الكيلوبايت. إذا رغبت في ذلك ، يمكنك توسيع الذاكرة للبيانات باستخدام رقائق الذاكرة. من أجل استخدام هذه الدوائر الصغيرة لتوسيع الذاكرة لبرنامج ما ، يجب أن ينسى المبتدئ ، وليس كل محترف يمكنه فعل ذلك بشكل صحيح ، ولا يسمح لك كل متحكم دقيق بتغيير البرامج الثابتة الخاصة بك أثناء التشغيل.
  • جهد التشغيل من 1 إلى 5 فولت ، حسب الطراز والشركة المصنعة.

تم تصميم المتحكم الدقيق للعمل على السبورة ، دعنا نقول ، في قطعة معينة من الأجهزة ، على اللوحة ، في الجهاز. لذلك لا أعتقد أنه يمكنك لعب CS في ذلك :)

لغات البرمجة


بدأ في اختيار لغة برمجة وبيئة يمكنك من خلالها البرمجة. منذ أن عرفت بطريقة ما Basic ، اعتقدت أنه سيكون من الجيد تخطيها. نعم ، إنه ليس مثاليًا جدًا ولا يزال هناك الكثير من أوجه القصور ، ولكنه كان مناسبًا جدًا في البداية. كنت محظوظًا ، فقد تبين أن هناك لغة PIC-Basic. وفقا لذلك هناك كتاب مدرسي ، المؤلف تشاك هيليبيك وترجمته إلى القيادة الروسية ، ذهب في الواقع إلى أبعد من ذلك من خلال الكتاب المدرسي والكتيب. تعمل البيئة من تحت DOS ، ولكن يمكنك فك CodeStudio وسيعمل كل شيء من تحت Windows.

مبرمج


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



ما يحتاج المبتدئ إلى معرفته:



  • حاليًا ، هناك لغات برمجة مُكيَّفة لـ MK ونفس Basic و SI وغيرها.
  • بعد كتابة البرنامج ، يتم تجميعه في رمز الجهاز - ملف بملحق HEX ، يجب أن يتم وميضه في ذاكرة MK.
  • من أجل "flash MK" - لكتابة التعليمات البرمجية القابلة للتنفيذ فيه ، تحتاج إلى شيئين:

    1) لوحة مبرمج ، وهو جهاز وسيط بين موصل الكمبيوتر والرقاقة نفسها
    2) برنامج مبرمج يعرف كيفية العمل مع مبرمج يتم تجميعه وفقًا لمخطط محدد.
    أي أنه من الضروري أن يعرف البرنامج الموجود على الكمبيوتر أي دائرة متصلة بجهاز الكمبيوتر من أجل وميض الشريحة بشكل صحيح. في حالتي ، يعد هذا حلاً للمصنع - إلى جانب مبرمج PicKit يوجد قرص يحتوي على البرامج اللازمة.
  • يوجد عدد محدود من الذاكرة في MK ، ويجب أن يؤخذ ذلك في الاعتبار ، في بعض الأحيان يجب عليك قطع كل بايت من البرامج الثابتة ، فقط للوصول إلى ذاكرة الشريحة. يجب أن يُفهم أيضًا أنه لا يوجد نظام تشغيل في MK ، وأن البرامج الثابتة الخاصة بك هي البيانات الوحيدة التي يعرفها MK.

بضع كلمات عن المحيط


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

على سبيل المثال ، يحتوي PIC16F877A على 40 منها ، و 7 قطع تطير فورًا ، لأن تستخدم للطاقة ، قم بتوصيل مرنان والسيطرة على إعادة تعيين الطوارئ. تحتاج أيضًا إلى النظر بعناية في الوثائق الخاصة بالشريحة. على سبيل المثال ، نفس ADC - في PIC16F877A ، يمكنه فقط قياس الجهد على 8 أرجل محددة للرقاقة ، وفي حالات أخرى لا يستطيع ذلك. وهذا هو ، لكل وظيفة مدمجة ، يتم تعيين استنتاجات محددة ولا يمكن تغييرها.

جوهر هذا الخرافة هو هذا


لإتقان MK حقًا حتى من نقطة الصفر ، ولكن هناك أماكن لا يكون واضحًا فيها. إذا لم تواجه البرمجة مطلقًا ، فتعلم أولاً على الأقل أساسيات البرمجة واكتب "Hello World" على جهاز الكمبيوتر الخاص بك. بعد ذلك سيكون أسهل. إذا كنت لا تريد أن تزعجك كثيرًا - فأردوينو هو كل ما لديك. تم تصميم MK للاستخدام في الأجهزة - وحدات التحكم واللوحات ووحدات التحكم ، وما إلى ذلك ، وهذا ليس جهاز كمبيوتر متكامل ، ولكن وحدة تحكم. ونتوقع منه ، على التوالي. الفائدة الآن مليئة بالأمثلة على موقع YouTube ، وآمل ألا تكون تجربتي في البدء من البداية مريرة جدًا وأن مقالتي ستساعد شخصًا ما.

Source: https://habr.com/ru/post/ar479250/


All Articles