كيفية التحكم في العديد من الماكينات في نفس الوقت باستخدام Arduino: دليل كامل خطوة بخطوة_Custom Drive_Industry Insights_Kpower
بيت > رؤى الصناعة >محرك مخصص
الدعم الفني

كيفية التحكم في العديد من الماكينات في نفس الوقت باستخدام Arduino: دليل كامل خطوة بخطوة

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

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

01التحدي الأساسي: القوة والدبابيس

السيطرة في وقت واحد متعددةمضاعفاتهولاحول إضافة المزيديكتب()خطوط في التعليمات البرمجية الخاصة بك. يجب معالجة اثنين من القيود المادية أولاً:

1. مزود الطاقة- يمكن لكل سيرفو صغير قياسي أن يسحب 200-500 مللي أمبير عند التحرك، وما يصل إلى 1 أمبير عند التوقف. قد تتطلب ثلاث أجهزة مؤازرة تتحرك معًا تيارًا أكبر مما يمكن أن يوفره منفذ USB (500 مللي أمبير) أو دبوس Arduino 5V (≈800 مللي أمبير كحد أقصى). النتيجة: إعادة ضبط مفاجئة للوحة، أو حركات غير منتظمة، أو أجهزة مؤازرة ترفض الدوران.

2. دبابيس PWM وأجهزة ضبط الوقت- المدمج فيمضاعفاتتستخدم المكتبة المقاطعات الموقت. يمكنك التحكم في Arduino Uno النموذجيما يصل إلى 12 سيرفو(الدبابيس 2-13) باستخدام المكتبة، ولكن فقط إذا كنت لا تستخدم أيضًا وظائف أخرى تعتمد على المؤقت (على سبيل المثال،نغمة()). في اللوحات التي تحتوي على مؤقتات أقل (على سبيل المثال، Arduino Nano)، قد يكون الحد العملي 8-10 أجهزة. يؤدي تجاوز الحد الزمني إلى حدوث سلوك غير متوقع.

> مثال العالم الحقيقي: قام أحد الهواة ببناء ذراع روبوت 6-DOF (ستة أجهزة مؤازرة) بتوصيل جميع المكائن ​​بمنفذ 5V الخاص بـ Arduino. ارتعشت الذراع وأغلق منفذ USB بشكل متكرر. كان الحل هو مصدر طاقة خارجي 5V 5A.

02الطريقة الأولى: استخدام مكتبة المؤازرة القياسية (لما يصل إلى 10 أجهزة تقريبًا)

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

الأسلاك (صحيح)

قم بتوصيلسلك الإشارة(عادةً برتقالي أو أصفر أو أبيض) من كل مؤازرة إلى طرف رقمي مختلف قادر على PWM من Arduino (3،5،6،9،10،11 على Uno؛ تعمل الأطراف 2-13 أيضًا ولكن بعضها يستخدم برنامج PWM).

ربط الكلالأسلاك الأرضية(بني أو أسود) إلى سكة أرضية مشتركة –يجب أن يتصل هذا أيضًا بـ GND الخاص بـ Arduino.

ربط الكلأسلاك الكهرباء(الأحمر) إلىمحطة إيجابية لإمدادات الطاقة الخارجية 5V(لا تستخدم أبدًا منفذ Arduino 5V لأكثر من 2 من الماكينات الصغيرة). يتم تشغيل Arduino نفسه بشكل منفصل (عبر USB أو مقبس الطاقة الخاص به).

نموذج التعليمات البرمجية (حركة متزامنة سلسة)

#يشملمضاعفات 1؛ سيرفو 2؛ سيرفو 3؛ إعداد باطلة () {servo1.attach (9)؛ servo2.attach(10); servo3.attach(11); } void Loop() { // انقل جميع الماكينات الثلاثة من 0° إلى 180° في نفس الوقت for (int pos = 0; pos = 0; pos--) { servo1.write(pos); servo2.write(pos); servo3.write(pos); تأخير (10)؛ } تأخير(1000); }

ملحوظة: التأخير(10)أمر ضروري. وبدون ذلك،لتكتب الحلقة زوايا جديدة بشكل أسرع من قدرة الماكينات على الاستجابة، مما يتسبب في حركة متشنجة.

عندما تفشل هذه الطريقة

أكثر من 12 سيرفو- لن يتم تجميع المكتبة أو ستتسبب في حدوث تعارض في المؤقت.

عزم دوران عالي أو خدمات دوران مستمر- ارتفاعاتها الحالية كبيرة جدًا بالنسبة للمنظم الداخلي لـ Arduino حتى مع وجود طاقة خارجية؟ (لا، ​​الطاقة الخارجية تحل المشكلة، ولكن قد تتأثر سلامة الإشارة مع الأسلاك الطويلة.)

الحاجة إلى التحكم المستقل في السرعة أو التزامن الدقيق- المضاعفاتالمكتبة تحدد الزوايا المستهدفة فقط؛ لا يسمح لك بالتحكم في سرعة كل سيرفو على حدة.

03الطريقة الثانية: استخدام وحدة برنامج تشغيل PWM (للأجهزة التي تزيد عن 16–32+)

لأكثر من 12 سيرفوأو المشاريع التي تتطلب حركة سلسة ومستقلة (على سبيل المثال، الرسوم المتحركة، والروبوتات البشرية ذات 16 مؤازرة)، استخدموحدة تشغيل PWM ذات 16 قناةالتواصل عبر I²C. هذا هو الحل المهني

لماذا يعمل

يقوم السائق بإنشاء ما يصل إلى 16 إشارة PWM منفصلة دون استخدام أي مؤقتات Arduino.

هناك حاجة إلى اثنين فقط من الدبابيس التناظرية (SDA، SCL) للتحكم في جميع الماكينات الـ 16.

تحتوي معظم برامج التشغيل على كتلة طرفية مدمجة لمصدر طاقة خارجي 5-6 فولت يمكنه توصيل 5-10 أمبير.

إعداد الأجهزة (الحالة الشائعة: 16 خدمة)

1. قم بتوصيل السائقVCCإلى Arduino 5V (لتشغيل الجانب المنطقي).

2. قم بتوصيل السائقأرضإلى اردوينو GND.

3. قم بتوصيل السائقSDAإلى Arduino A4 (أو دبوس SDA مخصص).

4. قم بتوصيل السائقSCLإلى Arduino A5 (أو دبوس SCL مخصص).

5. الاتصالمصدر طاقة خارجي 5V 5A+إلى محطة طاقة السائق.

6. قم بتوصيل ما يصل إلى 16 جهازًا في لوحة التشغيل (الإشارة والطاقة والأرض).

نموذج التعليمات البرمجية (باستخدام مكتبة متوافقة مع PCA9685)

#يشمل#يشمل// مكتبة برامج التشغيل العامة - لا يوجد تأييد للعلامة التجارية // العنوان 0x40 هو العنوان الافتراضي لمعظم برامج التشغيل ذات 16 قناة Adafruit_PWMServoDriver pwm = Adafruit_PWMServoDriver(0x40); // حدود عرض نبض المؤازرة (عادة من 150 إلى 600 من 0 إلى 180 درجة) #define SERVOMIN 150 #define SERVOMAX 600 void setup() { pwm.begin(); pwm.setOscillatorFrequency(27000000); pwm.setPWMFreq(50); // تردد مؤازر تناظري قياسي } // وظيفة لتحريك أجهزة محددة (0‑15) إلى زاوية (0‑180 درجة) void setServoAngle(uint8_tchannel, int angle) { intpulse =map(angle, 0, 180, SERVOMIN, SERVOMAX); pwm.setPWM(channel, 0,pulse); } حلقة باطلة () {// انقل جميع الماكينات الـ 16 بسلاسة من 0 درجة إلى 180 درجة والعودة للخلف for (int angle = 0; angle = 0; angle--) { for (int ch = 0; ch

الميزة الرئيسية: لاتأخير()داخل حلقة لكل مؤازرة؟ في الواقع، يقوم الكود أعلاه بنقل جميع الماكينات خطوة واحدة كل 8 مللي ثانية، مما ينتج عنه حركة متزامنة تمامًا.

حالة العالم الحقيقي

تعرض روبوت سداسي الأرجل ذو 12 جهازًا يستخدم المكتبة القياسية لتشنجات عشوائية في الساق عند المشي. أدى التحول إلى مشغل PWM ذو 16 قناة إلى القضاء على جميع تعارضات التوقيت وسمح للروبوت بحمل حمولة 1 كجم لأن مصدر الطاقة الخارجي يوفر 5 فولت 8 أمبير ثابتًا.

04استكشاف الأخطاء وإصلاحها الحرجة (من الخبرة الميدانية)

أعراض السبب الأكثر احتمالا يصلح
ارتعاش الماكينات عند التحرك معًا عدم كفاية التيار الكهربائي استخدم مصدر إمداد خارجي بجهد 5 فولت مُقدر بما لا يقل عن 2 أمبير + 0.5 أمبير لكل جهاز إضافي
تتم إعادة ضبط Arduino بمجرد بدء تشغيل الماكينات طاقة مؤازرة متصلة بمنفذ Arduino 5V انقل أسلاك الطاقة إلى مصدر خارجي، واحتفظ فقط بالإشارة والأرض
تستجيب الماكينات القليلة الأولى فقط تم تجاوز الحد الأقصى للمؤقت قم بالتبديل إلى وحدة تشغيل PWM
تتحرك الماكينات الواحدة تلو الأخرى، وليس في وقت واحد باستخدام متعددةتأخير()المكالمات داخل حلقات لكل مؤازرة استخدم حلقة واحدة تقوم بتحديث جميع مواضع المؤازرة في كل تكرار (انظر الأمثلة أعلاه)
همهمة الماكينات بصوت عالٍ ولكن لا تستدير نطاق عرض النبض غير كافٍ قم بقياس عرض النبضة الأدنى/الأقصى لسيرفو الخاص بك باستخدام نطاق أو استخدم 150-600 كبداية آمنة

05توصيات قابلة للتنفيذ لضمان النجاح

1. ابدأ بالقوة- بالنسبة إلى أكثر من 3 أجهزة مؤازرة قياسية، استخدم دائمًا مصدر إمداد خارجي بجهد 5 فولت (الحد الأدنى 2 أمبير لـ 3 أجهزة، و5 أمبير لـ 8-10 أجهزة). قم بتوصيل أرض الإمداد بأرضية Arduino.

2. عد الماكينات الخاصة بك- ≥10 الماكينات → المعيارمضاعفاتالمكتبة على ما يرام. ≥12 خدمة أو أي اهتزاز ← قم بشراء وحدة تشغيل PWM ذات 16 قناة (بتكلفة أقل من اثنتين من الماكينات).

3. لا تقم مطلقًا بتشغيل الماكينات من طرف Arduino 5V- هذا الدبوس مخصص لأجهزة الاستشعار والأجهزة ذات التيار المنخفض فقط.

4. استخدم أرضية مشتركة– يجب أن تشترك جميع الماكينات وArduino ومصدر الطاقة الخارجي في اتصال أرضي. بدونها، إشارات PWM لا معنى لها.

5. كتابة كود غير محظور– بالنسبة للمشاريع التي يجب فيها على Arduino أيضًا قراءة المستشعرات أو الاتصال بها، استبدلهاتأخير()مع مؤقت يعتمد على الملي () يقوم بتحديث مواضع المؤازرة كل 10-20 مللي ثانية.

6. اختبار تدريجي- ابدأ بمؤازرة واحدة على الإمداد الخارجي. أضف الماكينات واحدًا تلو الآخر أثناء مراقبة انخفاض الجهد (استخدم مقياسًا متعددًا). إذا انخفض الجهد الكهربي عن 4.8 فولت أثناء الحركة، قم بترقية مصدر الإمداد.

06الاستنتاج والنقطة الأساسية النهائية

التحكم المتزامن متعدد المؤازرة هو إدارة الطاقة بنسبة 80% والكود بنسبة 20%.يمكنك استخدام المعيارمضاعفاتمكتبة تتسع لما يصل إلى 12 جهازًا، ولكن فقط مع مصدر طاقة مخصص لا يتم سحبه أبدًا من لوحة Arduino. بالنسبة للمشروعات الأكبر حجمًا أو الأداء الخالي من الأخطاء، فإن وحدة تشغيل PWM عبر I²C هي الحل الاحترافي والمثبت. قم دائمًا بتأريض كل شيء معًا، وقم دائمًا بتحديد حجم مصدر الطاقة الخاص بك لتيار المماطلة الأقصى، واختبر دائمًا كل مؤازرة على حدة قبل الحركة الجماعية.

الإجراء الفوري الخاص بك: عد الماكينات في مشروعك. إذا كان هناك أكثر من 10، فاطلب مشغل PWM ذو 16 قناة ومصدر طاقة 5 فولت 5 أمبير اليوم. ثم استخدم مثال الكود الثاني أعلاه - سيعمل عند التحميل الأول.

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

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

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

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