"واحد ، اثنان ، ثلاثة - حرق شجرة عيد الميلاد!" أو أول نظرة لي على وحدة تحكم صغيرة CANNY 3

"السنة الجديدة" هي اليوسفي ، أوليفييه ، عطلات نهاية الأسبوع ، وبالطبع الهدايا.

كما تخمينًا بالفعل ، أصبحت فجأة مالك متحكم CANNY 3 Tiny. صحيح ، أنا لست خاصًا في مجال الإلكترونيات اليدوية (DIY) ، وفي آخر مرة حاولت فيها أن أقوم بتوصيل شيء ما بوحدة التحكم منذ ما يقرب من سبع سنوات ، عندما فعلت الإضاءة الخلفية للبقدونس باستخدام استنساخ Arduino . ولكن لا تختفي الصالح؟ لا يزال يتعين علينا أن نرى أي نوع من الوحش هذا.

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

وكل شيء سيكون على ما يرام ، ولكن هناك عقبة واحدة. في العام الماضي ، أردت بصدق شراء زوج من شاحنات Dakarovsky KAMAZ ، لكنني لم أستطع الحصول عليها بسعر مخفض يوم الجمعة الأسود. لذلك يتعين علينا الخروج بطريقة أو بأخرى من هذا الوضع بكل بساطة وأناقة.

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

هل ترغب في الانضمام إلى متعة العام الجديد المتفشية؟ ثم اهلا وسهلا بكم تحت القط.



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

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

هذا ما سوف تناقشه المقالة:

الجزء الأول: التفريغ والتعرف عليه
الجزء الثاني: توصيل الدائرة
الجزء الثالث: البرمجة
الجزء الرابع: الخاتمة

الجزء الأول: التفريغ والتعرف عليه


بادئ ذي بدء ، من الضروري أن نقول على الأقل بضع كلمات عن بطلنا للمقال. وحدة التحكم الصغيرة CANNY 3 هي أصغر أسرة تحكم CANNY. الإخوة الأكبر سنا CANNY 3 - يمكن التحكم في سلسلة CANNY 7 و CANNY 5 مع حافلة CAN للسيارة. أخونا الأصغر ، بالإضافة إلى سيارتي زيجولي القديمة ، لا يعرف شيئًا عن حافلة CAN ويعيش في سلام.

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

ولكن سنعود إلى قضايا البرمجة في وقت لاحق. لنلقي نظرة أخيرة على هدية غير متوقعة.



عند فتح الصندوق ، عانيت من شعور قصير بالحنان. وحدة تحكم صغيرة حقا. سامح المشجعين الذين يسامحونني مقارنة غير لائقة ، لكنه يشبه "طفل يودا".



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

سوف أخفي بعض الصور الإضافية لوحدة التحكم والتسخير أسفل المفسد.

المزيد من الصور




الجزء الثاني: توصيل الدائرة


كما قلت ، سنقوم بتوصيل مؤشر LED بوحدة التحكم (في حالتنا ، "سمكة البيرانا") ، ولكن أي واحد ممكن (لم يكن لدي واحد آخر). سوف نتحكم في الصمام باستخدام الزر. تكون خوارزمية التشغيل كما يلي: بمجرد الضغط على الزر وإضاءة المصباح ، يتم إيقاف الضغط مرة أخرى.

دعنا نصف بإيجاز ميزات وحدة التحكم الأيام الهامة لحالتنا:

  1. سنقوم بتشغيل وحدة التحكم من شاحن microUSB (في حالتي 5V ، 1 A) ؛
  2. تحتوي وحدة التحكم على 6 دبابيس قابلة للبرمجة ، بالإضافة إلى دبابيس "+" و "-" ؛
  3. يمكن تكوين المخرجات القابلة للبرمجة إما "كمدخلات" أو كمخرجات ؛
  4. الحد الأقصى الحالي عند إخراج المحطات الخاضعة للرقابة هو 100 مللي أمبير ؛
  5. الاستنتاجات لها أوضاع مختلفة ، بما في ذلك PWM ، ولكن اليوم لن نذهب عميقًا.

حاولت أن أجعلها حتى تفهمها ، وفكرتي البسيطة ، وحتى وضعت KiCad لرسم بعض الرسومات على الأقل.

بصراحة ، لست جيدًا في مثل هذه الأمور ، وأرى KiCad أول مرة (أو الثانية) في حياتي ، لذلك إذا وجدت أخطاء ، فتأكد من إخباري حتى أتمكن من إصلاحها.





كما نأمل ، نحن نفهم من الرسوم البيانية التي سنستخدمها في مشروعنا: وحدة التحكم نفسها ، اللوح ، المقاوم الحالي المحدد لـ 80 أوم ، زر مشابه لـ KLS7-TS6601-5.0-180 ومصباح LED مماثل لـ BL-FL7600UEC ، لكن في الواقع يمكنك استخدام استبدالها بما هو في متناول يدك.

منطق الاتصال كالتالي:

  1. يتم توصيل الإخراج "-" من وحدة التحكم إلى ناقص الحافلة.
  2. سوف يعمل المخرج "2" على خدمتنا كعلامة "plus" ، قم بتوصيلها بالحافلة المقابلة في اللوح ؛
  3. الاستنتاج "1" سيعمل عند الإدخال ويستقبل إشارة إذا كان الزر يغلق الدائرة (عند الضغط عليه) ؛
  4. سيتم تشغيل الإخراج "4" من خلال مؤشر LED الخاص بنا ، من أجل راحة أنا قمت بتوصيله بحافلة "+" أخرى على السبورة ، لكن هذا ليس ضروريًا.
  5. شجرة عيد الميلاد هي سمة من سمات العام الجديد ، وكل ما يبرر عنوان هذه المقالة.


الجزء الثالث: البرمجة


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

قبل كتابة رمز لدائرتنا ، دعونا نتأكد من أن كل شيء يعمل من أجلنا.
في حالتي ، كان أول شيء فعله هو كتابة برنامج النظام إلى وحدة التحكم.

نقوم بتوصيل وحدة التحكم عبر كابل microUSB بالكمبيوتر. في حالتي ، في نظام التشغيل Windows 10 ، لم يكن من الضروري تثبيت أي برامج تشغيل بشكل منفصل.

نتأكد من أن جهاز التحكم متصل ، إن لم يكن ، انقر فوق الزر "اتصال" (يبدو كارتباطين في سلسلة)

بعد ذلك ، تحتاج إلى الاتصال بمربع الحوار على العنوان "الجهاز -> برنامج النظام -> الكتابة" وحدد الملف المناسب (في حالتي "c3tinyv00108.ccx"). فقط في حالة ، سأترك لقطة شاشة أدناه.



الآن يمكنك تكوين البرنامج.

يتم تكوين البرنامج عن طريق سحب العناصر الموجودة على اليسار إلى الحقل الأبيض لمساحة العمل ثم توصيل العناصر معًا.

من أجل وميض مؤشر LED المدمج في وضع PWM ، نحتاج إلى 3 ثوابت وكتلة منشئ إشارة PWM وسجل للكتابة.

نحن نربط كل شيء كما في الصورة.



يمكن تعيين قيم الثوابت والسجلات إذا قمت بالنقر المزدوج عليها باستخدام LMB.
ما هي هذه القيم الغامضة للثوابت؟

  • "3000" - فترة 3 ثوان ؛
  • "1500" - يخبرنا أن مؤشر LED الخاص بنا والذي يستغرق ثلاث ثوانٍ سوف يتوهج لمدة ثانية ونصف فقط ؛
  • "1" - فقط يبدأ المولد.

لكي لا تبحث عن القيمة المطلوبة للتسجيل لفترة طويلة ، أدخل السطر "LED" في نافذة "Filter"

نكتب البرنامج إلى ذاكرة وحدة التحكم.



بعد ذلك ، افصل جهاز التحكم عن الكمبيوتر وقم بتبديل السلك بشحن USB.

يومض المصباح الأخضر لمدة ثلاث ثوانٍ ، لذلك يعمل كل شيء كما نريد.



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

دعنا ننتقل إلى برنامج الدائرة.

تجميع الرسم البياني كما في الصورة.



لكي لا تبحث عن أسماء السجلات والثوابت لفترة طويلة ، استخدم المرشح عن طريق القياس مع لقطة الشاشة.



اشرح باختصار الكتل.

« /   » -  . .   2» 

إنه يضعنا في الإخراج 2 لتزويد + 5V ، وبالمثل للقناة الرابعة

نظرًا لأن القناة 2 تستخدم فعليًا كـ "+ 5 فولت" ، فنحن ببساطة نكتب الثابت "1" فيه (أعتقد أنه يمكنك استخدام أي عدد أكبر من الصفر).

ملاحظة: يعتمد الجهد الناتج في وحدة التحكم على الجهد الكهربائي وقد يختلف تبعًا لكيفية تشغيله.

لكن القناة 4 هنا تعطي + 5V ، ثم لا ، اعتمادا على الضغط على زر.

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

 « . .  1» 

ونمر إلى كتلة النفي المنطقي ("لا").

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

يتم تشغيل كاشف الحافة الأمامية عندما نضغط على الزر ولن نقدم المزيد من الإشارات حتى نقرر الضغط عليه مرة أخرى.

لحفظ الحالة الحالية ، يتم استخدام المشغل "T". إذا تم تغذية أحدهم إلى "T" ، وتم تغذية نبضة واحدة إلى المدخلات "C" من خرج الكاشف ، فإن المشغل الخاص بنا سيتبادل الحالة "0" والحالة "1" في الخرج. فقط بالضبط ما نحتاجه.

بعد ذلك ، تنتقل الإشارة من خرج الزناد إلى سجل إخراج القناة 4 ، والذي بدوره يغذي مؤشر LED.

يمكن تنزيل كلا المخططين من GitHub .

الجزء الرابع: الخاتمة








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

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

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

صحيح ، في تقييمات وحدة التحكم ، وأنا ربما قليلا شخصي. إنه لمن دواعي سروري أن المنتج محلي وأن المطورين ، وإن كان قليلاً ، يشاركون في انتصارات KAMAZ في رالي داكار.

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

UPD: الأصدقاء ، لقد تأخرت قليلاً عن الحياة وانتهكت قليلاً قواعد Habr ، لذلك قمت بحذف الروابط المباشرة لموقع مطوري جهاز التحكم بحيث لا تبدو المقالة في الإعلان وتتوافق مع القواعد. أعتقد أنه يمكنك بسهولة العثور على الرابط لتنزيل بيئة تطوير CannyLab ، و "البراهين" حول KAMAZ بنفسك.

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


All Articles