التحكم بمحرك السيرفو باستخدام النود-ريد (Node-RED)

متوسط

image_pdf

تستخدم المحركات بشكل شائع في مجال الروبوتات، و يمكننا أن نتحكم بهذه الروبوتات عن طريق ربطها بالانترنت، في هذا المشروع نقوم بتوصيل محرك سيرفو  مع راسبيري باي Raspberry Pi والتحكم به من خلال صفحة ويب باستخدام النود-ريد (Node-RED)سيتم إنشاء صفحة منقلة لعرض زاوية المحرك و مزلاج من درجة 0-180 و ترسل قيم الزاوية المراد تحريكها إلى راسبيري باي (Raspberry Pi) للتحكم بمحرك سيرفو ،

Node-RED-servo-control

المواد و الأدوات

راسبيري باي

1X راسبيري باي

ذاكرة

1X ذاكرة (8 قيقا كحد أدنى )

محول طاقة راسبيري باي

1X محول طاقة (5V-2A)

محرك سيرفو

1Xمحرك سيرفو

أسلاك توصيل

أسلاك توصيل

توصيل الدائرة

توصيل الدائرة

تثبيت النودريد (Node-RED)

يتم تثبيت النود-ريد (Node-RED) عند تثبيت نظام التشغيل راسبيان (Raspbian) النسخة الكاملة  على راسبيري باي، لكن اذا ثبتت نظام (Raspbian Lite) فإنه لا يتضمن على النود-ريد (Node-RED) فلذلك في البداية ستحتاج إلى اتباع الخطوات التالية.

ابدأ بتثبيت أدوات (git) ، بالإضافة إلى أدوات البناء الأساسية التي ستكون مطلوبة في الخطوة التالية. عن طريق الأمر :

sudo apt install build-essential git

قم بتشغيل أمر (bash) لتثبيت نسخة جديدة من (Node-RED) عن طريق السطر التالي :

bash <(curl -sL https://raw.githubusercontent.com/node-red/linux-installers/master/deb/update-nodejs-and-nodered)

أثناء عملية التثبيت سيتطلب أن تجيب بنعم مرتين و ذلك بكتابة (Y) سيستغرق التثبيت بعض الوقت و بعد اكتمال التثبيت تظهر معلومات حول إعدادات نود-ريد (Node-RED) في وحدة التحكم.

اعدادات تثبيت النود-ريد (Node-RED)

اذا كنت تستخدم راسبيري باي (Raspberrypi 4) الذي يمتلك ذاكرة عشوائية أكثر من 2 غيغابايت يمكن البدء بخدمة نود-ريد ( Node-RED).بكتابة الأمر التالي:

node-red-start

بالنسبة لإصدارات راسبيري باي ( Raspberry Pi) الأقدم من الأفضل تحديد مقدار ذاكرة الوصول العشوائي المتاحة يمكن استخدام الأمر التالي:

node-red-pi --max-old-space-size=256

في ثواني سوف تبدأ خدمة النود-ريد (Node-RED) اكتب http: //nodered.local: 1880 في شريط العنوان الخاص بمتصفحك

اكتب عنوان   IPالخاص بالراسبيري باي لديك بدل من “nodered.local”

و ستظهر لديك واجة النود-ريد

واجهة النود ريد

 

إنشاء التدفق

في البداية يمكنك الاطلاع على السلسلة التعليمية الخاصة بالنود-ريد (Node-RED) من الرابط

أولًا: الاتصال بمنفذ الادخال و الاخراج (GPIO) في لوحة الراسبيري باي :

من قسم عقد راسبيري باي نسحب المخرجات “rpi gpio” و التي تكون رمز الراسبيري على اليمين

Node-RED-servo-control

حدد المنفذ الذي قمت بتوصيل محرك سيرفو معه

rpi gpio

نحدد نوع الاشارة و قيمة التردد

rpi gpio

ثانيًا : تعين قيم التحكم بالخرج 

سنقوم بمعادلة قيم الدخل (0-26) مع أعلى و أقل قيمة لزاوية محرك سيرفو التي نود أن يتحرك خلالها و هي (0-180) قسم الدوال نسحب “range”

Node-RED-servo-control

 نحدد المدى للدخل ،و كذلك نحدد المدى للخرج

renge

ثالثًا: واجهة المستخدم 

: واجهة المستخدم سوف يظهر في واجهة المستخدم عنصرين العنصر الأول المزلاج للتحكم بالسيرفو العنصر الثاني شكل المنقلة لإظهار زاوية محرك سيرفو

لتتمكن من انشاء واجهة مستخدم تحتاج إلى تنزيل مكتبة لوحة التحكم (Dashboard)

تحميل مكتبة

ستظهر لك قائمة يمكن من خلالها البحث عن المكتبة و تنزيلها

تنزيل مكتبة الداشبوريد

اسحب “slider” من قائمة عقد لوحة التحكم (Dashboard)

Node-RED-servo-control

بالنقر على العقدة ستظهر لنا قائمة تساعدنا في التحكم باعدادات العقدة

بالبداية قم باضافة مجموعة

انشاء مجموعة

انقر على اشارة القلم ثم انشئ مجموعة لواجهة المستخدم

انشاء المجموعة

 

حدد المجموعة و المدى من (0-26)

pwm

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

Node-RED-servo-control

نظيف لواجهة المستخدم شكل المنقلة الذي يشير للزاوية التي يوجد عندها محرك سيرفو

نسحب “gauge” من قسم “Dashboard”

Node-RED-servo-control

نحدد القيمة التي سيمثلها الشكل

Node-RED-servo-control

نوصل العقد معا لإنشاء التدفق المطلوب

Node-RED-servo-control

أخيرًا: نشر التدفق
تم الانتهاء من التدفق، حتى نتمكن من نشره. انقر على زر Deploy الأحمر الكبير أعلى يمين الشاشة. ستظهر رسالة في الأعلى تقول تم نشرها بنجاح “Successfully deployed”

getting-started-with-node-red
 اكتب http: //nodered.local: 1880/ui في شريط العنوان الخاص بمتصفحك اكتب عنوان IP الخاص راسبيري باي لديك بدل من “nodered.local” لتظهر واجهة المستخدم التي قمت ببنائها لتتحكم بمحرك سيرفو
Node-RED-servo-control
يمكنك التحكم من خلال الواجهة التي أنشأتها بالنود-ريد (NodeRED) بمحرك سيرفو
X
تم إضافة المنتج إلى السلة بنجاح