تم النشر 2026-03-27
يعرف الأصدقاء الذين عملوا على Raspberry Pi أنه إذا كنت تريد تحريكه، خاصة التحكم فيمضاعفاتقد يتعطل البرنامج أحيانًا لعدة أيام. هل سبق لك أن واجهت أنه على الرغم من توصيل الكابلات وفقًا للبرنامج التعليمي وبدء تشغيل البرنامج، فإن مشكلةمضاعفاتفقط لم تتحرك أو تهتز مثل الغربال؟ لا تقلق، سنتحدث اليوم عن كيفية كتابة وضبط Raspberry Pi بشكل واضحمضاعفاتالبرنامج حتى يتمكن المشروع المبتكر المطروح من "التحرك" بشكل مطرد.
لا يوجد في الواقع سوى عدد قليل من الحلول السائدة في السوق. أحدهما هو استخدام مكتبة RPi.GPIO مباشرة لمحاكاة إشارات PWM (تعديل عرض النبض) من خلال البرنامج. إنه مثل قيادة السيارة بناقل حركة يدوي. يمكنك التحكم فيه، لكن الدقة والثبات ليسا على ما يرام. خاصة عندما تتحكم في العديد من الماكينات في نفس الوقت، عندما تكون وحدة المعالجة المركزية مشغولة، تصبح الإشارة غير مستقرة وتبدأ الماكينات في التدفق.
هناك طريقة أخرى موصى بها وهي استخدام PWM للأجهزة، مثل استخدامهذه المكتبة. إنه يعادل تثبيت علبة تروس أوتوماتيكية على جهاز Raspberry Pi الخاص بك، ويترك العمل الدقيق المتمثل في توليد إشارات نبضية دقيقة للأجهزة الأساسية للمعالجة، دون احتلال موارد وحدة المعالجة المركزية. بهذه الطريقة، سواء كنت تتحكم في ذراع آلية أو تصنع محورًا، ستكون حركة المؤازرة سلسة للغاية وسيختفي الارتعاش تقريبًا، وهو أمر بالغ الأهمية للتطبيقات التي تتطلب تحديد موضع دقيق.
الأمر ليس صعبًا على الإطلاق، ولا تحتاج إلى أن تكون مهندسًا إلكترونيًا. جوهر عمل المؤازرة هو النظر إلى عرض النبضة. يمكنك التفكير في الأمر على أنه إعطاء تعليمات إلى المؤازرة: "إذا استمر المستوى العالي لمدة 1 مللي ثانية، فسوف تتحول إلى 0 درجة؛ وإذا استمر لمدة 1.5 مللي ثانية، فسوف تتحول إلى 90 درجة؛ وإذا استمر لمدة 2 مللي ثانية، فسوف تتحول إلى 180 درجة." الأمر بهذه البساطة.
ما يتعين علينا القيام به عند كتابة برنامج ما هو توليد نبضة يتراوح عرضها بين 1 و2 ملي ثانية كل 20 ملي ثانية. أرسل هذه النبضة إلى المؤازرة من خلال منفذ GPIO (الإدخال والإخراج للأغراض العامة)، وسيعرف المؤازرة الموضع الذي يجب أن يتجه إليه. بمجرد أن تفهم ذلك، ستجد أن التحكم في السيرفو هو في الأساس التحكم في رقم عرض النبضة، وستكون لديك فكرة واضحة.
لنأخذ الأكثر استخدامًاRPi.GPIOودعونا نقارن. ميزةRPi.GPIOهو أنه سريع للبدء. هناك دروس في كل مكان. يمكنك بدء تشغيل المؤازرة بسطرين فقط من التعليمات البرمجية. ولكن يتم محاكاة PWM الخاص به بواسطة البرنامج. عندما يحتاج جهاز Raspberry Pi الخاص بك إلى التعامل مع مهام أخرى، مثل التعرف على الصور، فإن شكل موجة PWM الذي ينشئه ليس دقيقًا.
على الرغم من أن التثبيت يتطلب المزيد من الجهد، إلا أن المزايا واضحة. وهو يدعم توقيت الأجهزة، ويمكنه التحكم بدقة في ما يصل إلى العشرات من الماكينات في نفس الوقت، ويمكنه قراءة موضع تعليقات الماكينات في الوقت الفعلي. إذا كان مشروعك يتضمن متطلبات تتعلق بالدقة والاستقرار وقابلية التوسع، أو يتطلب أجهزة متعددة للعمل معًا، مثل إنشاء روبوت بستة أرجل، فاخترسيوفر لك بالتأكيد الكثير من القلق.
الأهمية الأولى للاستقرار هي "يجب أن تكون الأسلاك مستقرة ويجب أن يكون البرنامج دقيقًا". عند توصيل الأسلاك، تذكر أن السلك الأحمر (مزود الطاقة) الخاص بالمؤازرة من الأفضل عدم الحصول على الطاقة مباشرة من طرف 5V في Raspberry Pi، خاصة عندما يتطلب المؤازرة عزمًا كبيرًا. تيار Raspberry Pi ليس كافيًا، وسوف تتسبب الطاقة في إعادة تشغيل Raspberry Pi. الطريقة الصحيحة هي استخدام مصدر طاقة خارجي 5 فولت لتشغيل المؤازرة، وما عليك سوى توصيل GND الخاص بـ Raspberry Pi وGND الخاص بمصدر الطاقة الخارجي معًا.
عند كتابة برنامج، تذكر أن تقوم بالتنظيف في بداية البرنامج ونهايته. على سبيل المثال، استخدمالمكتبة، تأكد من الاتصالpi.stop()لتحرير الموارد قبل إنهاء البرنامج. بخلاف ذلك، في المرة التالية التي تقوم فيها بتشغيل البرنامج، قد تجد أن منفذ GPIO مشغول ولا يمكن التحكم في رسالة الخطأ. مع توفر هذه التفاصيل، يمكن تشغيل برنامجك بثبات على مدار الساعة طوال أيام الأسبوع.
المشكلة 1: يهتز المؤازرة أو يصدر صوت طنين. يرجع هذا عادةً إلى إشارة PWM غير المستقرة أو عدم كفاية مصدر الطاقة. الحل كما ذكرنا سابقًا هو التبديل إلى استخدام مكتبة PWM للأجهزة (على سبيل المثال) وتوصيل مصدر طاقة خارجي. إذا لم ينجح ذلك، يمكنك توصيل مكثف بالتوازي بين خط الإشارة والخط الأرضي لتصفية الضوضاء.
السؤال 2: يمكن للمؤازرة أن تدور في اتجاه واحد فقط. هناك احتمال كبير أن يكون إعداد نطاق النبض خاطئًا. تحقق من الحد الأدنى والحد الأقصى لقيم عرض النبض في برنامجك. قد يكون لدى العلامات التجارية المختلفة للماكينات متطلبات مختلفة قليلاً، ويتطلب بعضها نطاقًا يتراوح بين 0.5 مللي ثانية إلى 2.5 مللي ثانية. يمكنك العثور على النطاق الصحيح المتوافق مع مؤازرك عن طريق كتابة برنامج اختبار بسيط وضبط قيمة عرض النبض ببطء.
يمكن إجراء التصحيح في ثلاث خطوات. الخطوة الأولى هي "طريقة الطباعة". عندما ترسل أمر التحكم، اطبع قيمة عرض النبضة النهائية ليتم إرسالها لمعرفة ما إذا كانت ضمن النطاق الذي تريده. على سبيل المثال، إذا كنت تريد أن ينتقل إلى المنتصف، وكانت النتيجة المطبوعة هي القيمة القصوى، فيجب أن يكون منطق البرنامج خاطئًا.
الخطوة الثانية هي "طريقة الحجر الصحي". أخرج برنامج المؤازرة بشكل منفصل واكتب أبسط حلقة للسماح له بالتدوير. إذا كان يعمل بشكل طبيعي، فهذا يعني أن هناك تعارضًا بين برنامجك الرئيسي وجهاز التحكم المؤازر، أو أن هناك الكثير من المهام التي تتسبب في تأخير إشارة التحكم. في هذا الوقت، نحتاج إلى التفكير في البرمجة متعددة الخيوط ووضع التحكم المؤازر في خيط منفصل لضمان استجابته في الوقت المناسب.
أريد أن أطرح عليك سؤالاً: في المنتج الذي تقوم بتصميمه، هل هناك مشهد يتطلب تعاون العديد من الماكينات للقيام بإجراءات معقدة؟ شارك أفكارك في منطقة التعليقات، ودعنا نرى كيفية استخدام Raspberry Pi لتصميم "خطوات الرقص" هذه بشكل أكثر أناقة.
وقت التحديث:2026-03-27