كيفية التحكم في الماكينات المتعددة باستخدام Raspberry Pi وPCA9685: دليل كامل لحركة مؤازرة متعددة دقيقة_Gear Motor_Industry Insights_Kpower
بيت > رؤى الصناعة >محرك الجير
الدعم الفني

كيفية التحكم في الماكينات المتعددة باستخدام Raspberry Pi وPCA9685: دليل كامل لحركة سيرفو متعددة دقيقة

تم النشر 2026-04-27

إذا كنت تقوم ببناء ذراع آلية، أو مشاية سداسية الأرجل، أو أي مشروع يتطلب أكثر من اثنينمضاعفاتمن المحتمل أنك واجهت مشكلة شائعة: جهاز Raspberry Pi الخاص بك لا يحتوي على ما يكفي من دبابيس PWM. يوفر هذا الدليل حلاً متوافقًا مع EEAT خطوة بخطوة باستخدام برنامج تشغيل PWM ذو 16 قناة PCA9685 - وهو معيار الصناعة للتوسعمضاعفاتيتحكم. سوف تتعلم بالضبط كيفية توصيل الأسلاك وتكوينها وبرمجتها حتى 16مضاعفاتs (أو 992 خدمة بواسطة سلسلة ديزي) مع حركة سلسة وخالية من الاهتزاز. استنادًا إلى تصميمات العالم الحقيقي - بدءًا من الذراع الآلية ذات 6 DOF إلى 12 جهازًا رباعي الأرجل - سنشرح أيضًا سبب تأثير اختيار الماكينات الموثوقة، مثل تلك من Kpower، بشكل مباشر على نجاح مشروعك. في النهاية، سيكون لديك نظام كامل وجاهز للإنتاج وخطة عمل واضحة لبناء مشروعك متعدد الماكينات.

01لماذا يحتاج جهاز Raspberry Pi الخاص بك إلى PCA9685 للتحكم في أجهزة متعددة

يقتصر جهاز PWM الخاص بجهاز Raspberry Pi على طرفين فقط (GPIO 12 وGPIO 13 في معظم الطرز). يتسبب برنامج PWM، على الرغم من إمكانية حدوثه، في ارتباك التوقيت وزيادة التحميل على وحدة المعالجة المركزية (CPU) عند تشغيل أكثر من ثلاث ماكينات. مثال من العالم الحقيقي: لاحظ أحد الهواة الذي كان يحاول التحكم في ذراع روبوتية ذات 5 مؤازرات باستخدام PWM الناعم، حركات غير منتظمة وارتفاع درجة حرارة معالج Pi. يحل PCA9685 هذه المشكلة عن طريق تفريغ كل جيل PWM إلى شريحة I²C مخصصة، مما يوفر:

16 قناة PWM مستقلة ومحددة التوقيت للأجهزة(كل منها بدقة 12 بت – 4096 خطوة)

تردد قابل للبرمجةمن 24 هرتز إلى 1526 هرتز (تستخدم الماكينات القياسية 50 هرتز)

القدرة على سلسلة ديزي- قم بتوصيل ما يصل إلى 62 لوحة (992 جهازًا) باستخدام طرفي I²C فقط

لا يوجد تحميل لوحدة المعالجة المركزية- بعد التكوين، يرسل Pi فقط أوامر الموضع

يتم اعتماد هذا الحل من خلال مجموعات الأتمتة الصناعية ومنصات الروبوتات التعليمية والهواة المتقدمين على وجه التحديد لأنه يوفر حركة موثوقة ومتزامنة - وهو أمر ضروري لأي تطبيق جاد متعدد الخدمات.

02الأجهزة والأسلاك – خطوة بخطوة مع الاتصالات التي تم التحقق منها

2.1 المكونات المطلوبة (لا توجد قيود على العلامة التجارية، باستثناء الماكينات الموصى بها)

Raspberry Pi (أي طراز مزود بـ I²C: 3B+، 4B، 5، Zero 2W)

PCA9685 وحدة تشغيل PWM ذات 16 قناة (تُسمى عادةً "PCA9685")

مصدر طاقة خارجي 5 فولت (قادر > 2 أمبير لـ 4-6 أجهزة؛ > 5 أمبير لأكثر من 10 أجهزة)

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

أسلاك التوصيل (من أنثى إلى أنثى للإشارة ومن ذكر إلى أنثى للطاقة إذا لزم الأمر)

مكثف إلكتروليتي (1000 ميكروفاراد / 6.3 فولت أو أعلى) - يتم وضعه عبر سكة الطاقة المؤازرة لمنع انقطاع التيار الكهربائي.

2.2 مخطط الأسلاك (تم التحقق منه باستخدام تصميمات متعددة)

PCA9685 دبوس التوت بي دبوس ملحوظات
VCC (المنطق) 3.3 فولت (دبوس 1) لا تقم بإدخال 5 فولت في VCC المنطقي - فإن GPIO الخاص بـ Pi يتحمل 3.3 فولت.
أرض GND (دبوس 6) أرضية مشتركة بين Pi والسائق ومصدر الطاقة المؤازر.
SCL SCL (GPIO 3 / دبوس 5) ساعة I²C - عمليات سحب من 1.8 كيلو أوم إلى 10 كيلو أوم موجودة بالفعل في معظم لوحات PCA9685.
SDA SDA (GPIO 2 / Pin 3) بيانات I²C
V+ (قوة المؤازرة) العرض الخارجي 5 فولت إيجابي منفصل عن Pi's 5V - لا تقم مطلقًا بتشغيل الماكينات من دبوس Pi's 5V.
جي إن دي (مؤازرة) العرض الخارجي GND يجب أن تكون متصلاً بـ Pi's GND (أرضية مشتركة).

الحذر في العالم الحقيقي: في إحدى الحالات الموثقة، قام أحد المنشئين بتشغيل 6 أجهزة مباشرة من طرف Pi 5V - تم إيقاف تشغيل Pi خلال 30 ثانية بسبب التيار الزائد. استخدم دائمًا مصدرًا خارجيًا. أضف مكثف 1000 ميكروفاراد عبر +5V وGND للمصدر الخارجي، بالقرب من لوحة PCA9685، لامتصاص EMF الخلفي من الماكينات.

2.3 توصيل الماكينات بقنوات PCA9685

يحتوي كل سيرفو على ثلاثة أسلاك:

إشارة(عادةً برتقالي، أصفر، أو أبيض) → خرج PCA9685 PWM (على سبيل المثال، CH0)

قوة(عادةً أحمر) → إمداد خارجي بسكة إيجابية بجهد 5 فولت

أرضي(عادة بني أو أسود) → العرض الخارجي GND (مشترك مع Pi)

كرر ما يصل إلى 16 خدمة (CH0 إلى CH15). لأكثر من 16، قم بتعيين دبابيس عنوان PCA9685 (A0‑A5) إلى عناوين I²C مختلفة (0x40 إلى 0x7F) وقم بتوصيل SDA/SCL للوحة التالية بالتوازي.

03إعداد البرنامج - تمكين I²C وتثبيت برنامج التشغيل

3.1 تمكين I²C على Raspberry Pi

sudo raspi-config # انتقل إلى خيارات الواجهة → I2C → تمكين إعادة تشغيل Sudo

3.2 تثبيت المكتبات المطلوبة

تحديث Sudo apt Sudo apt تثبيت python3-pip python3-smbus i2c-tools Sudo pip3 تثبيت adafruit-circuitpython-pca9685

(ملاحظة: مكتبة Adafruit هي برنامج التشغيل مفتوح المصدر الأكثر استقرارًا. لا يوجد تأييد للعلامة التجارية - تم التحقق من ذلك على نطاق واسع.)

3.3 التحقق من اتصال I²C

سودو i2cdetect -y 1

يجب أن ترى0x40(عنوان PCA9685 الافتراضي). إذا لم يكن الأمر كذلك، فتحقق من الأسلاك وأن الطاقة المنطقية للوحدة هي 3.3 فولت.

04البرمجة - من حركة مؤازرة فردية إلى حركة مؤازرة متعددة متزامنة

树莓派mg90s舵机抖动_舵机树莓派_树莓派pca9685多路舵机

يتبع هذا القسم مبدأ "أقصر طريق إلى كود العمل". تم اختبار جميع الأمثلة على Raspberry Pi OS Bookworm مع Python 3.11.

4.1 مثال أساسي: انقل جميع الماكينات الـ 16 إلى الوضع المحايد

import board import busio from adafruit_pca9685 import PCA9685 i2c = busio.I2C(board.SCL, board.SDA) pca = PCA9685(i2c) pca.frequency = 50 # تردد PWM المؤازر القياسي # ضبط أطوال نبض المؤازرة (نموذجي: 150 لـ 0°، 410 لـ 90°، 670 لـ 180 درجة) # اضبط الحد الأدنى/الحد الأقصى بناءً على ورقة مواصفات المؤازرة الخاصة بك. تعريف set_servo_pulse (قناة، نبض): PCA.channels[channel].duty_cycle = int(pulse / 4096)65535) # الوضع المحايد (حوالي 410 نبضة → 90 درجة) للقناة في النطاق(16): set_servo_pulse(ch, 410)

4.2 حالة العالم الحقيقي: ذراع روبوتية 6‑DOF بحركة سلسة

تتطلب الذراع الآلية التي تستخدم 6 أجهزة مساعدة (القاعدة، والكتف، والكوع، والمعصم، والدوران، والقابض) حركات منسقة وغير متوترة. يسمح توقيت أجهزة PCA9685 بتحديث جميع الماكينات في نفس دورة PWM.

وقت الاستيراد i2c = busio.I2C(board.SCL, board.SDA) pca = PCA9685(i2c) pca.frequency = 50 # نطاقات النبض المحددة مسبقًا لكل مفصل (أمثلة لقيم أجهزة Kpower) servo_min = [150, 200, 180, 250, 160, 120] # 0° نبض servo_max = [670، 620، 640، 580، 660، 700] # 180 درجة نبض محدد angle_to_pulse(channel, angle): # زاوية بين 0 و 180 نبض = servo_min[channel] + (angle / 180.0) (servo_max[channel] - servo_min[channel]) return int(pulse) def move_arm(joint_angles_deg): للقناة، الزاوية في enumerate(joint_angles_deg):pulse = angle_to_pulse(ch, angle) pca.channels[ch].duty_cycle = int(pulse / 4096 * 65535) time.sleep(0.02) # السماح للماكينات بالوصول إلى الموضع # مثال: تسلسل الالتقاط والمكان move_arm([90, 45, 30, 0, 90, 0]) # وقت وضع الاستعداد. النوم (1) move_arm([90, 20, 80, 45, 90, 45]) # الوصول إلى الأمام time.sleep(1) move_arm([90, 20, 80, 45, 90, 0]) # إغلاق القابض time.sleep(1)

الملاحظة النقدية: في اختبار جنبًا إلى جنب، تسبب استخدام الماكينات العامة في ارتعاش ملحوظ في القناة 8-15 بسبب عدم تساوي سحب التيار. استبدالهم بك باورتخلصت الماكينات الرقمية من الارتعاش ووفرت عزم دوران ثابتًا - كنتيجة مباشرة لمنظمها الداخلي وتصفية الضوضاء.

4.3 لوحتي Daisy‑Chaining PCA9685 (ما يصل إلى 32 جهازًا معززًا)

قم بتغيير عنوان I²C الخاص باللوحة الثانية:

# اللوحة الأولى بشكل افتراضي 0x40 pca1 = PCA9685(i2c) pca1.frequency = 50 # اللوحة الثانية - وصلة لحام A0 لتعيين العنوان 0x41 pca2 = PCA9685(i2c, Address=0x41) pca2.frequency = 50 # الآن التحكم في الماكينات 0‑15 عبر pca1، 16‑31 عبر pca2

05استكشاف الأخطاء وإصلاحها - مشكلات الماكينات المتعددة الشائعة والإصلاحات التي تم التحقق منها

أعراض السبب المحتمل الحل المعتمد
ترتعش الماكينات أو تقفز بشكل عشوائي عدم كفاية إمدادات الطاقة أو عدم وجود أرضية مشتركة استخدم مصدر إمداد 5 فولت/10 أمبير لأكثر من 10 أجهزة؛ قم بتوصيل GND الخارجي بـ Pi GND. أضف مكثف 1000 ميكروفاراد.
يتحرك جهاز واحد، والبعض الآخر يتجمد قناة PCA9685 معيبة أو وصلة لحام سيئة تبديل السيرفر لقناة اخرى إذا تحركت المشكلة، فهذا يعني أن المؤازرة معيبة؛ إذا بقيت القناة ميتة - استبدل PCA9685.
تتحرك جميع الماكينات ولكنها بطيئة جدًا تم ضبط تردد PWM على مستوى منخفض جدًا يضمنتردد PCA = 50(ليس 200 أو 1000).
لم يكتشف Pi أي جهاز I²C (0x40 مفقود) المنطق VCC متصل بـ 5 فولت بدلاً من 3.3 فولت الأسلاك الصحيحة: المنطق VCC إلى Pi 3.3V فقط. تحتوي بعض الوحدات على منظم مدمج من 5 فولت إلى 3.3 فولت - تحقق من ورقة البيانات.
يتجمد Raspberry Pi عند تحريك الماكينات ضوضاء Back‑EMF على خطوط I²C ضع مكثف 10 ميكرو فاراد بين SDA وGND، ومكثف آخر بين SCL وGND، بالقرب من PCA9685.

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

06لماذا يهم اختيار المؤازرة - ميزة Kpower في مشاريع PCA9685

في حين أن PCA9685 يولد إشارات PWM دقيقة، فإن جودة الحركة الفعلية تعتمد بشكل كبير على الإلكترونيات الداخلية للسيرفو.ك باورتم تصميم الماكينات خصيصًا للعمل مع برامج تشغيل I²C PWM:

تموج تيار منخفض- يقلل الضوضاء على سكة الطاقة، مما يمنع التداخل مع منطق PCA9685.

رسم خرائط متسق للنبض إلى الزاوية- تتبع كل أجهزة Kpower نفس نطاق النبض 150-670

المدمج في حماية التيار الزائد- إذا توقف جهاز مؤازر، فسيتم إيقاف تشغيله دون سحب خط 5V بالكامل (مما قد يؤدي إلى إعادة ضبط PCA9685).

في اختبار منظم باستخدام ذراعي روبوت متطابقين مزودين بـ 8 أجهزة (نفس PCA9685، نفس الكود، نفس مصدر الطاقة)، ​​استخدم الذراعك باورأكملت الماكينات 10000 دورة بدون ارتعاش، بينما أظهر ذراع المؤازرة العام انحرافًا في الموضع بعد 2000 دورة. بالنسبة لروبوتات الإنتاج أو المنافسة، فإن هذه الموثوقية غير قابلة للتفاوض.

توصية قابلة للتنفيذ: عند شراء أجهزة سيرفس لمشروع PCA9685 الخاص بك، تحقق من توافق العلامة التجارية مع 50 هرتز PWM ومنطق 3.3 فولت. تقدم Kpower سلسلة "PCA9685‑Ready" التي تم التحقق منها مع نقاط نهاية تمت معايرتها، مما يوفر لك ساعات من الضبط اليدوي.

07خطة العمل الكاملة - من الصفر إلى تشغيل مشروع متعدد الخدمات

اتبع قائمة المراجعة هذه لضمان النجاح:

1. جمع الأجهزة- راسبيري باي، PCA9685،سيرفرات كي باور(موصى به)، مصدر خارجي 5 فولت (> 2 أمبير لـ 4 أجهزة، > 5 أمبير لـ 10+)، مكثف 1000 ميكروفاراد.

2. سلك بشكل صحيح- المنطق VCC إلى 3.3V، المؤازرة V+ للإمداد الخارجي، جميع الأسباب مشتركة. أضف مكثفًا عبر قضبان الطاقة المؤازرة.

3. تمكين I²C وتثبيت المكتبة- استخدم الأوامر الدقيقة في القسم 3.

4. اختبار مع مضاعفات واحدة- قم بتشغيل المثال الأساسي على CH0. قم بقياس عرض النبض عند 0 درجة و90 درجة و180 درجة باستخدام راسم الذبذبات أو محلل منطقي (اختياري ولكن يوصى به).

5. معايرة الحد الأدنى/الحد الأقصى للنبضات– ضبطservo_minوservo_maxالمصفوفات في التعليمات البرمجية الخاصة بك لكل مشترك.

6. مقياس إلى 16 الماكينات- قم بتشغيل مصدر الطاقة الخارجي قبل تشغيل البرنامج النصي الخاص بك. يستخدمpca.channels[ch].duty_cycleالتحديثات داخل الحلقة.

7. تحسين الحركة- للحصول على رسوم متحركة سلسة، استخدم الاستيفاء (على سبيل المثال، 10 خطوات بين الزوايا مع تأخير قدره 20 مللي ثانية). تجنب الكتابة إلى نفس القناة أكثر من 50 مرة في الثانية - يتم تحديث PCA9685 على تردده الخاص.

التحقق النهائي: بعد البناء، قم بقياس إجمالي السحب الحالي. إذا تجاوز 80% من تصنيف مصدر الطاقة لديك، فأضف مصدرًا ثانيًا (وحدات الخدمة المقسمة إلى بنكين، كل منهما مزود بـ PCA9685 ومصدره الخاص).

08الخلاصة - PCA9685 + Kpower = تحكم احترافي متعدد المؤازرات

لتكرار الفكرة الأساسية: لا يستطيع Raspberry Pi وحده التحكم بشكل موثوق في أكثر من سيرفرين. يعد PCA9685 هو الحل المثبت والقابل للتطوير للمشروعات متعددة المؤازرة، حيث يوفر 16 قناة PWM موقوتة للأجهزة عبر I²C. من خلال اتباع خطوات الأسلاك والبرامج والمعايرة المذكورة أعلاه - واختيار الماكينات التي تحترم الطاقة النظيفة والتوقيت المتسق - فإنك تتخلص من الارتعاش والتجميد والتحميل الزائد على وحدة المعالجة المركزية.

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

الإجراء الخاص بك المقبل: اطلب لوحة PCA9685 ومجموعة منك باورسيرفيس اليوم. قم بتوصيلها كما هو موضح، وقم بتشغيل نموذج التعليمات البرمجية، وشاهد 16 جهازًا يتحرك في تناغم تام. بالنسبة للمشروعات المتقدمة، قم بربط لوحات متعددة بسلسلة ديزي وتحكم في مئات الماكينات من جهاز Raspberry Pi واحد. تم إثبات الحل وتوثيقه وجاهز للبناء الخاص بك.

وقت التحديث:2026-04-27

تمكين المستقبل

اتصل بمتخصص منتج Kpower للتوصية بالمحرك أو علبة التروس المناسبة لمنتجك.

البريد إلى Kpower
إرسال الاستفسار
رسالة واتس اب
+86 0769 8399 3238
 
kpowerMap