تم النشر 2026-04-18
يوفر هذا الدليل إرشادات عملية وكاملة للتحكم في أحد المعاييرمضاعفاتالمحرك باستخدام كمبيوتر Raspberry Pi ذو لوحة واحدة. سوف تتعلم إعدادات الأسلاك الدقيقة ورمز Python وإعدادات PWM اللازمة لتحقيق تحكم زاوي دقيق، استنادًا إلى الاختبارات الواقعية ووثائق الأجهزة الرسمية.
Raspberry Pi (أي طراز مزود بدبابيس GPIO، على سبيل المثال، 3B+، 4B، أو 5)
بطاقة MicroSD مع نظام التشغيل Raspberry Pi OS (Bookworm أو الأحدث)
قياسي 5 فولتمضاعفاتالمحرك (يشيع استخدامه في هواية الروبوتات)
مصدر طاقة خارجي 5 فولت (2 أمبير أو أكثر) – معظمهمضاعفاتارسم تيارًا عاليًا
أسلاك التوصيل (أنثى إلى أنثى)
مقياس جهد صغير (اختياري، لمثال التحكم اليدوي)
> ملاحظة في العالم الحقيقي: في الفصول الدراسية النموذجية أو إعداد الهواة، غالبًا ما يقوم المستخدمون بإتلاف جهاز Raspberry Pi الخاص بهم عن طريق تشغيل المؤازرة مباشرة من دبوس 5 فولت. يوضح هذا الدليل طريقة عزل الطاقة الصحيحة.
محرك سيرفو قياسي لا يدور بشكل مستمر. بدلاً من ذلك، فإنه يتحرك إلى زاوية محددة (عادةً من 0 درجة إلى 180 درجة) بناءً على إشارة PWM (تعديل عرض النبض). يقوم Raspberry Pi بإنشاء هذه الإشارة على دبوس GPIO.
المعلمات الحرجة (من أوراق البيانات المؤازرة ووثائق Raspberry Pi الرسمية):
تردد الإشارة: 50 هرتز (الفترة = 20 مللي ثانية)
عرض النبضة لـ 0°: 0.5 مللي ثانية (دورة العمل = 2.5%)
عرض النبضة لـ 90 درجة: 1.5 مللي ثانية (دورة العمل = 7.5%)
عرض النبضة لـ 180 درجة: 2.5 مللي ثانية (دورة العمل = 12.5%)
هذه القيم هي معايير الصناعة لمعظم الماكينات التناظرية والرقمية. تحقق دائمًا من خلال ورقة بيانات المؤازرة الخاصة بك - توجد اختلافات صغيرة.
لا تقم أبدًا بتشغيل المؤازرة مباشرة من دبوس Raspberry Pi 5V.يمكن لجهاز مؤازر نموذجي أن يسحب ما بين 200 إلى 800 مللي أمبير أثناء الحركة، وتتجاوز تيارات الذروة 1 أمبير. يتم توصيل دبوس Raspberry Pi 5V مباشرة بمدخل USB ويمكنه توفير حوالي 500 مللي أمبير فقط بشكل موثوق (أقل في الطرز القديمة). قد يؤدي سحب المزيد من التيار إلى انخفاض الجهد أو تجميد النظام أو تلف دائم.
الأسلاك الصحيحة (تم اختبارها باستخدام الإعدادات الشائعة):
لماذا الأرضية المشتركة إلزامية:يجب أن تتشارك إشارة التحكم في المؤازرة (0–3.3V من Pi) وطاقة المؤازرة (5V من المصدر الخارجي) في الجهد المرجعي. بدون أرضية مشتركة، تصبح الإشارة غير محددة وسوف يهتز المؤازرة أو لا يتحرك.
يأتي نظام Raspberry Pi OS مزودًا ببرنامج Python المثبت مسبقًا. توجد طريقتان موثوقتان لتوليد إشارات PWM دقيقة. الطريقة الموصى بها للمبتدئين هي استخدامRPi.GPIOمع الأجهزة PWM على دبابيس محددة.
دبابيس GPIO التي تدعم PWM على رأس Raspberry Pi ذو 40 سنًا:
GPIO12 (دبوس 32) - قناة PWM 0
GPIO13 (دبوس 33) - قناة PWM 1
GPIO18 (دبوس 12) – قناة PWM 0 (الأكثر استخدامًا)
GPIO19 (دبوس 35) - قناة PWM 1
![]()
تمكين واجهة PWM (في حالة استخدام PWM للأجهزة):ليست هناك حاجة إلى خطوات إضافية - فأجهزة PWM متاحة دائمًا. بالنسبة لبرنامج PWM (أي طرف)، لا يلزم تكوين ولكن التوقيت قد يكون أقل استقرارًا.
يوجد أدناه نص بايثون كامل ومختبر يحرك المؤازرة إلى ثلاث زوايا (0°، 90°، 180°) مع توقف مؤقت لمدة ثانيتين بين كل زاوية. يتبع هذا الرمز وثائق RPi.GPIO الرسمية.
استيراد RPi.GPIO كوقت استيراد GPIO # استخدم ترقيم طرف BCM GPIO.setmode(GPIO.BCM) GPIO.setwarnings(False) # إعداد GPIO18 كإخراج PWM servo_pin = 18 GPIO.setup(servo_pin, GPIO.OUT) # إنشاء مثيل PWM عند 50 هرتز pwm = GPIO.PWM(servo_pin, 50) pwm.start(0) # ابدأ بدورة عمل بنسبة 0% def set_servo_angle(angle): """ تحويل الزاوية (0-180) إلى دورة العمل (2.5 إلى 12.5) الصيغة: Duty = (angle / 180)10 + 2.5 تم التحقق منها باستخدام أوراق بيانات مؤازرة متعددة """ إذا كانت الزاوية 180: الزاوية = 180 واجب = (الزاوية / 180.0)10.0 + 2.5 pwm.ChangeDutyCycle(duty) # السماح للسيرفو بالوصول إلى الموضع time.sleep(0.5) # إيقاف إرسال الإشارة لتقليل الارتعاش (اختياري) pwm.ChangeDutyCycle(0) time.sleep(0.1) حاول: while True: print("Moving to 0°") set_servo_angle(0) time.sleep(2) print("Moving" إلى 90 درجة") set_servo_angle(90) time.sleep(2) print("Moving to 180°") set_servo_angle(180) time.sleep(2) باستثناء KeyboardInterrupt: print("تم الإيقاف بواسطة المستخدم") pwm.stop() GPIO.cleanup()
التفاصيل الرئيسية:بعد كل موضع، يقوم الكود بتعيين دورة العمل على 0% وينتظر 0.1 ثانية. وهذا يمنع سحب الطاقة المستمر ويقلل من ارتعاش المؤازرة. العديد من الأمثلة على الإنترنت تحذف هذا الأمر، مما يسبب استنزافًا غير ضروري للتيار.
احفظ البرنامج النصي باسمservo_control.py. في المحطة، قم بتشغيل:
python3 servo_control.py
السلوك المتوقع:يدور عمود المؤازرة إلى 0 درجة، ويتوقف مؤقتًا لمدة ثانيتين، ويتحرك إلى 90 درجة، ويتوقف مؤقتًا، ويتحرك إلى 180 درجة، ثم يتكرر.
إذا لم يتحرك السيرفو:
تحقق من الأرضية المشتركة – الخطأ الأكثر شيوعًا
تأكد من تشغيل مصدر الطاقة الخارجي وأنه يوفر 5 فولت على الأقل
تأكيد رقم دبوس GPIO (BCM 18 = الدبوس الفعلي 12)
تقليل وقت النوم بعدChangeDutyCycle؟ لا - يحتاج المؤازرة إلى 300-500 مللي ثانية تقريبًا للوصول إلى الموضع
بالنسبة للمشاريع التفاعلية، يمكنك قراءة مقياس الجهد التناظري باستخدام MCP3008 ADC (نظرًا لأن Raspberry Pi لا يحتوي على مدخلات تناظرية). ومع ذلك، هناك طريقة أبسط للاختبار وهي استخدام إدخال لوحة المفاتيح:
استيراد RPi.GPIO كوقت استيراد GPIO GPIO.setmode(GPIO.BCM) GPIO.setup(18, GPIO.OUT) pwm = GPIO.PWM(18, 50) pwm.start(0) def angle_to_duty(angle): return (angle / 180.0) * 10.0 + 2.5 حاول: while True: cmd = input("أدخل الزاوية" (0-180) أو "q" للخروج: ") if cmd == 'q': كسر حاول: angle = float(cmd) if 0
النقطة الأساسية مكررة:للتحكم بأمان ودقة في جهاز مؤازر باستخدام Raspberry Pi، يجب عليك (1) استخدام مصدر طاقة خارجي 5 فولت للمؤازرة، (2) توصيل أرضية مشتركة بين Pi والمؤازرة ومصدر الطاقة، (3) إنشاء إشارة PWM بتردد 50 هرتز مع دورات عمل تقابل نبضات تتراوح من 0.5 إلى 2.5 مللي ثانية، و(4) إيقاف إشارة PWM (تشغيل 0%) بعد كل حركة لتقليل الارتعاش واستهلاك الطاقة.
خطوات العمل لتطبيق هذا الدليل:
1. اجمع المكونات المذكورة أعلاه - لا توجد حاجة لعلامات تجارية محددة، أي أجهزة مؤازرة قياسية بجهد 5 فولت تعمل.
2. قم بتوصيل السلك تمامًا كما هو موضح، مع التحقق مرة أخرى من التوصيل الأرضي المشترك.
3. انسخ نص بايثون وقم بتشغيله. مراقبة المؤازرة تتحرك إلى 0 درجة، 90 درجة، و 180 درجة.
4. قم بتعديل قيم الزوايا في البرنامج النصي لتتناسب مع احتياجات مشروعك.
5. بالنسبة لأي مشروع إنتاج أو مشروع طويل الأمد، استخدم دائمًا أجهزة PWM وأضف مكثفًا كهربائيًا بسعة 100–470 ميكروفاراد عبر خطوط الطاقة المؤازرة لتسهيل ارتفاع الجهد.
مصادر موثوقة لمزيد من التحقق:وثائق Raspberry Pi الرسمية (/documentation/computers/os.html#gpio-and-the-40-pin-header)، وورقة بيانات محرك سيرفو (عادة ما تكون متاحة على موقع الشركة المصنعة). ارجع دائمًا إلى نطاق عرض النبض الخاص بمؤازرك المحدد - في حين أن 0.5-2.5 مللي ثانية هو المعيار، فإن بعض الماكينات تستخدم 0.7-2.3 مللي ثانية. سوف يمنحك برنامج المعايرة البسيط الذي يمسح المؤازرة ويسجل الحدود الفعلية دقة مثالية.
وقت التحديث: 18-04-2026