بيت > رؤى الصناعة >مضاعفات
الدعم الفني

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

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

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

01ما تحتاجه (الإعداد المشترك)

تعمل معظم المحركات المؤازرة للهواة (على سبيل المثال، الماكينات الصغيرة 9 جرام أو الماكينات ذات الحجم القياسي مثل SG90 أو MG90S أو MG995) مع أي لوحة Arduino (Uno أو Nano أو Mega وما إلى ذلك). في هذا الدليل نفترض:

لوحة Arduino (Uno هو المثال الأكثر شيوعًا)

مؤازرة قياسية واحدة 5 فولت (نطاق عزم الدوران المشترك: 1.8 كجم/سم إلى 13 كجم/سم)

أسلاك توصيل (ذكر إلى أنثى للاتصال المباشر)

مصدر طاقة منفصل 5V-6V (اختياري ولكن يوصى به للماكينات الأكبر حجمًا - موضح في القسم 4)

ليست هناك حاجة لأسماء تجارية محددة- تنطبق التعليمات على جميع الماكينات التناظرية القياسية التي تعمل على إشارة PWM بتردد 50 هرتز (عرض النبضة من 500 ميكروثانية إلى 2500 ميكروثانية).

02الأسلاك - الاتصال الصحيح الوحيد

اتبع هذه الأسلاك الدقيقة لتجنب التلف أو السلوك غير المنتظم.

لون سلك المؤازرة وظيفة الاتصال باردوينو دبوس
البني أو الأسود الأرض (GND) أرض
أحمر الطاقة (VCC، 5 فولت) دبوس 5V (أو طاقة خارجية)
برتقالي أو أصفر الإشارة (بوم) الدبوس الرقمي 9 (أو أي طرف قادر على PWM)

القاعدة الحرجة:لا تقم أبدًا بتشغيل المؤازرة مباشرة من طرف Arduino 5V إذا كان المؤازرة تسحب أكثر من 200 مللي أمبير أثناء التشغيل. بالنسبة لمعظم أجهزة 9G، يعتبر Arduino 5V المباشر آمنًا للاختبار. بالنسبة للماكينات الأكبر حجمًا (على سبيل المثال، MG995)، استخدم مصدر طاقة خارجي 5V-6V وقم بتوصيل أرضي المؤازرة بأرضية Arduino (أرضية مشتركة).

03الكود القياسي – النسخ والتشغيل

تم تثبيت مكتبة Arduino Servo مسبقًا في IDE الرسمي. يقوم هذا الكود بتحريك المؤازرة من 0 درجة إلى 180 درجة والعودة بشكل متكرر.

#يشملسيرفو مايسيرفو; // إنشاء كائن مؤازر int servoPin = 9; // دبوس إشارة متصل بالمؤازرة void setup() { myServo.attach(servoPin); // يعلق المؤازرة على الدبوس 9 } void Loop() { myServo.write(0); // الانتقال إلى 0 درجة تأخير (1000)؛ // انتظر ثانية واحدة myServo.write(90); // الانتقال إلى 90 درجة (المركز) تأخير (1000)؛ myServo.write(180); // الانتقال إلى 180 درجة تأخير (1000)؛ }

للتحكم في المؤازرة بزاوية محددة(على سبيل المثال، 45 درجة)، استخدمه ببساطةmyServo.write(45);. النطاق الصالح هو 0 إلى 180.

04المشاكل والإصلاحات الشائعة في العالم الحقيقي (استنادًا إلى حالات المستخدم النموذجية)

الحالة 1: اهتزاز المؤازرة أو عدم تحركها

سبب:قوة غير كافية. يسحب جهاز مؤازر قياسي 9 جرام 200-300 مللي أمبير عند التحرك؛ مؤازرة كبيرة تسحب ما يصل إلى 1A. لا يستطيع منظم Arduino الموجود على متن الطائرة 5 فولت (بحد أقصى 500 مللي أمبير) التعامل معه.

يصلح:استخدم مصدر طاقة خارجي 5 فولت (على سبيل المثال، بطاريات 4xAA أو محول 5 فولت 2 أمبير). قم بتوصيل موجب العرض بالسلك الأحمر المؤازر، وأرض العرض إلى Arduino GND، والأرض المؤازرة بنفس GND.

الحالة 2: يتحرك المؤازرة في اتجاه واحد فقط

سبب:دبوس الإشارة غير متصل بشكل صحيح أو رقم التعريف الشخصي خاطئ.

how to control servo with arduino_how to control servo with arduino_how to control servo with arduino

يصلح:التحقق من ذلكmyServo.attach (دبوس)يستخدم دبوس قادر على PWM. في Arduino Uno، الأطراف 3،5،6،9،10،11 تدعم PWM. يوصى باستخدام الدبوس 9 و10.

الحالة 3: يسخن المؤازرة بسرعة

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

يصلح:ضبط الحد الأدنى/الحد الأقصى لعرض النبض باستخدامmyServo.attach (دبوس، دقيقة، ماكس)حيث يكون الحد الأدنى الافتراضي هو 544 درجة (0 درجة) والحد الأقصى هو 2400 درجة (180 درجة). تتطلب بعض الماكينات 500-2500 ثانية. تحقق من ورقة بيانات سيرفو الخاص بك.

05التحكم المتقدم – الحركة السلسة (لا توجد مكتبة مطلوبة)

للتحكم الدقيق في السرعة، يمكنك إنشاء إشارة PWM يدويًا. تتوقع المؤازرة إشارة 50 هرتز (فترة 20 مللي ثانية). نبضة 1 مللي ثانية = 0 درجة، 1.5 مللي ثانية = 90 درجة، 2 مللي ثانية = 180 درجة. هذا الرمز يكتسح بسلاسة:

إنت سيرفوبين = 9؛ عرض النبض = 1500; // ميكروثانية، ابدأ عند 90 درجة void setup() { pinMode(servoPin, OUTPUT); } حلقة باطلة () {// اكتساح من 1000 درجة إلى 2000 درجة (0 درجة إلى 180 درجة) for(pulseWidth = 1000;pulseWidth = 1000;pulseWidth -= 10) { digitalWrite(servoPin, HIGH); تأخير ميكروثانية(pulseWidth); الكتابة الرقمية (servoPin، LOW)؛ تأخير (20 - عرض النبض / 1000)؛ } تأخير(1000); }

06التحقق من الإعداد – خطة اختبار سريعة

1. فحص الطاقة:مع توصيل المؤازرة فقط (لم يتم تحميل أي رمز)، يجب أن يظل المؤازرة ثابتًا ولا يسخن.

2. اختبار الإشارة:قم بتحميل الكود القياسي من القسم 3. لاحظ ما إذا كان المؤازرة تدور 0° → 90° → 180° → كرر.

3. اختبار التحميل:أمسك البوق المؤازر بلطف أثناء تحركه. يجب أن ينتج عزم دوران ملحوظ ولكن لا يتوقف. إذا توقف، قم بزيادة تيار مصدر الطاقة.

07المبادئ الأساسية التي يجب تذكرها (مكررة للتأكيد)

الأسلاك الصحيحةغير قابلة للتفاوض: إشارة إلى طرف PWM، وإمدادات كافية من الطاقة، وأرضية مشتركة.

استخدم دائمًا مكتبة Servoمن أجل البساطة والموثوقية. قم بالتبديل إلى التحكم اليدوي في النبض فقط عندما تحتاج إلى زيادة السرعة.

لا تتجاوز أبدًا تصنيف جهد المؤازرة(عادة 5 فولت – 6 فولت). الجهد العالي سوف يدمر دائرة التحكم الداخلية.

حماية اردوينو الخاص بكمن خلال عدم سحب أكثر من 200 مللي أمبير أبدًا من طرف 5V الخاص بالمؤازرة.

08الخطوات التالية القابلة للتنفيذ

1. بناء الدائرة الأساسيةعلى اللوح باستخدام أجهزة 9g و Arduino Uno. استخدم الرمز الموجود في القسم 3 للتحقق من الحركة.

2. أضف مقياس الجهدللتحكم في الزاوية: اقرأ القيمة التناظرية من الوعاء (دبوس A0)، وقم بتعيينها إلى 0–180، ثمmyServo.write(mappedValue).

3. دمج في مشروعك- تشمل التطبيقات الشائعة الأذرع الآلية، وكاميرات ذات محورين، وآليات التوجيه، وأجهزة فتح الأبواب الأوتوماتيكية.

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

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

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

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

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