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

كيفية التحكم في محرك سيرفو باستخدام STM32: دليل عملي للمهندسين

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

01إجابة سريعة

نعم يمكنك التحكم بمضاعفاتمحرك يستخدم متحكم STM32 عن طريق توليد إشارة PWM بتردد دقيق قدره 50 هرتز ودورة عمل متغيرة بين 1 مللي ثانية و 2 مللي ثانية. توفر الأجهزة الطرفية للمؤقت STM32، خاصة في وضع إخراج PWM، الدقة اللازمة للسلاسةمضاعفاتتحديد المواقع. تعمل هذه الطريقة مع معظم الهوايات القياسيةمضاعفاتs والعديد من برامج تشغيل المؤازرة الصناعية، ولكن يجب عليك التحقق من مستويات الجهد وحدود التيار وتوافق الإشارة قبل الاتصال. يعد اختيار تكوين المؤقت المناسب ودبوس GPIO أمرًا ضروريًا للتشغيل الموثوق، خاصة عند التحكم في العديد من الماكينات في وقت واحد.

02مقدمة

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

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

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

03جدول المحتويات

1. لماذا تعتبر دقة إشارة PWM مهمة للتحكم المؤازر

2. اختيار مؤقت STM32 المناسب لـ Servo PWM

3. تكوين مؤقت خطوة بخطوة لإشارة مؤازرة 50 هرتز

4. حساب قيم Prescaler والفترة

5. أخطاء التكوين الشائعة وأعراضها

6. التحكم في العديد من الماكينات بمؤقت واحد

7. يوصى باختيار دبوس GPIO

8. الأسئلة التي يطرحها المهندسون غالبًا حول التحكم المؤازر STM32

9. اختيار المؤازرة المناسبة وزوج STM32 لتطبيقك

04لماذا تعتبر دقة إشارة PWM مهمة للتحكم في المؤازرة

يفسر محرك سيرفو قياسي إشارة PWM عن طريق قياس مدة النبض العالي. عادةً ما يأمر عرض النبضة البالغ 1 مللي ثانية المؤازرة بالانتقال إلى 0 درجة، بينما يأمر 2 مللي ثانية بـ 180 درجة. ويجب أن تتكرر الإشارة بتردد ثابت قدره 50 هرتز، أي نبضة جديدة كل 20 مللي ثانية.

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

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

05اختيار مؤقت STM32 المناسب لـ Servo PWM

ليست كل أجهزة ضبط الوقت الموجودة على STM32 متساوية في التحكم المؤازر. يُفضل استخدام مؤقتات الأغراض العامة مثل TIM2 وTIM3 وTIM4 وTIM5 لأنها توفر قنوات مستقلة، كل منها قادر على توليد إشارة PWM منفصلة. يمكن أيضًا أن تعمل الموقتات المتقدمة مثل TIM1 وTIM8 ولكنها غالبًا ما تكون مخصصة لمهام التحكم الحركي الأكثر تعقيدًا.

عند اختيار مؤقت، ضع في اعتبارك ما يلي:

عدد القنوات: كل ​​قناة يمكن أن تقود سيرفو واحد. إذا كنت بحاجة إلى ستة أجهزة، فاختر مؤقتًا بأربع قنوات على الأقل واستخدم مؤقتًا ثانيًا للاثنين المتبقيين.

دقة الموقت: مؤقت 16 بت يكفي للماكينات القياسية. جهاز ضبط الوقت 32 بت غير ضروري ويزيد من تعقيد التكوين.

stm32操控舵机_stm32操控舵机_stm32操控舵机

مصدر الساعة: تأكد من توصيل المؤقت بساعة تظل ثابتة أثناء التشغيل. يعد استخدام مذبذب HSI أو HSE الداخلي أمرًا نموذجيًا، ولكن تحقق من التردد.

الاختيار العملي الشائع هو TIM3 على سلسلة STM32F103 أو STM32F4، والذي تم تكوينه في وضع PWM على القناة 1 حتى القناة 4. يوفر هذا الإعداد أربعة مخرجات مؤازرة مع الحد الأدنى من استخدام الموارد.

06تكوين مؤقت خطوة بخطوة لإشارة مؤازرة 50 هرتز

الهدف هو توليد إشارة PWM بفترة 20 مللي ثانية ودورة عمل متغيرة بين 1 مللي ثانية و 2 مللي ثانية. فيما يلي تسلسل التكوين بالكود الكاذب، بافتراض أن تردد ساعة النظام هو 72 ميجاهرتز:

1. تمكين ساعة الموقت

RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3, ENABLE);

2. اضبط المقياس المسبق

يقوم المقياس المسبق 71 بتقسيم الساعة 72 ميجاهرتز إلى 1 ميجاهرتز، مما يعطي علامة مؤقت كل 1 ميكروثانية.

TIM_TimeBaseInitStructure.TIM_Prescaler = 71;

3. اضبط فترة التحميل التلقائي

فترة 19999 تؤدي إلى دورة 20 مللي ثانية (20000 علامة × 1 ميكروثانية).

TIM_TimeBaseInitStructure.TIM_Period = 19999;

4. تكوين وضع PWM

اضبط عرض النبضة للقناة 1. القيمة 1500 تقابل نبضة تبلغ 1.5 مللي ثانية، والتي تركز على المؤازرة.

TIM_OCInitStructure.TIM_Pulse = 1500;

5. تمكين إخراج PWM

TIM_OC1PreloadConfig(TIM3, TIM_OCPreload_Enable);

TIM_ARRPreloadConfig(TIM3, ENABLE);

TIM_Cmd(TIM3, ENABLE);

6. اضبط دبوس GPIO على الوظيفة البديلة

قم بتكوين الدبوس كمخرج دفع وسحب AF لتوصيل مخرج المؤقت بالدبوس الفعلي.

بعد هذا التكوين، يتم تغيير عرض النبضة عن طريق تحديث سجل CCRx:

TIM_SetCompare1(TIM3, 1000);// 1 مللي ثانية نبض لمدة 0 درجة

07حساب قيم Prescaler والفترة

الصيغ واضحة ولكن يجب تطبيقها بشكل صحيح على ساعة النظام لديك.

stm32操控舵机_stm32操控舵机_stm32操控舵机

تردد الموقت= ساعة النظام / (المقياس المسبق + 1)

فترة PWM= (قيمة التحميل التلقائي + 1) / تردد المؤقت

بالنسبة لساعة 72 ميجا هرتز وتردد المؤقت المطلوب 1 ميجا هرتز:

المقياس الأولي = 72,000,000 / 1,000,000 - 1 = 71

لمدة 20 مللي ثانية عند 1 ميجاهرتز:

قيمة إعادة التحميل التلقائي = 20,000 - 1 = 19,999

إذا كانت ساعة النظام لديك تبلغ 168 ميجاهرتز، كما هو الحال في بعض أجهزة STM32F4، يصبح المقياس المسبق 167، وتظل قيمة إعادة التحميل التلقائي 19,999. تحقق دائمًا من هذه الأرقام في بيئة التطوير الخاصة بك، حيث أن خطأ مكون من رقم واحد في المقياس المسبق سيؤدي إلى تغيير التردد بهامش كبير.

08أخطاء التكوين الشائعة وأعراضها

يواجه العديد من المهندسين هذه المشكلات أثناء الاختبار الأولي:

أعراضالسبب المحتملما يجب التحقق منه
المؤازرة لا تتحركلا توجد إشارة PWM أو دبوس خاطئتحقق من تمكين وظيفة GPIO البديلة وقناة المؤقت
يهتز المؤازرة أو يرتعشعرض النبض غير مستقرالتحقق من حسابات ما قبل المقياس والفترة؛ تأكد من استقرار ساعة الموقت
يتحرك المؤازرة إلى طرف واحد فقطنطاق النبض ضيق جدًا أو واسع جدًاتأكيد قيم النبض بين 1000 و2000 ميكروثانية
يتحرك المؤازرة ببطءالتردد أقل من 50 هرتزإعادة حساب قيمة إعادة التحميل التلقائي للفترة الصحيحة
تتداخل الماكينات المتعددةقنوات الموقت المشتركة ليست مستقلةتأكد من أن كل قناة تستخدم سجل CCR منفصلاً

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

09التحكم في العديد من الماكينات بمؤقت واحد

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

للتحكم في ستة أو ثمانية أجهزة، استخدم مؤقتين. على سبيل المثال، TIM3 للقنوات 1-4 وTIM4 للقنوات 1-4. تأكد من مشاركة كلا المؤقتين في نفس المقياس المسبق والفترة للحفاظ على توقيت ثابت عبر جميع الماكينات.

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

10يوصى باختيار دبوس GPIO

تحدد ورقة البيانات STM32 دبابيس GPIO المتصلة بقنوات المؤقت. بالنسبة إلى TIM3 على STM32F103:

القناة 1: PA6

القناة 2:PA7

القناة 3: PB0

القناة 4: PB1

يجب تكوين هذه المسامير كوظيفة دفع وسحب بديلة. لا تستخدم وضع إخراج GPIO القياسي، لأن ذلك لن ينتج شكل موجة PWM.

عند اختيار المسامير، ضع في اعتبارك مستويات الجهد. يقوم STM32 GPIO بإخراج منطق 3.3 فولت. تقبل معظم الماكينات القياسية هذه الإشارة، لكن بعض محركات الماكينات الصناعية تتطلب منطق 5 فولت. في هذه الحالة، استخدم أشيفتر المستوىأو محرك سيرفو مخصص IC. لا تقم بتوصيل إشارة مؤازرة 5 فولت مباشرةً بمنفذ STM32 دون التحقق من ورقة البيانات للتأكد من تسامح 5 فولت.

11الأسئلة التي يطرحها المهندسون غالبًا حول التحكم المؤازر STM32

س: هل يمكنني استخدام أي مؤقت STM32 للتحكم المؤازر؟

نعم، ولكن أجهزة ضبط الوقت للأغراض العامة مثل TIM2 إلى TIM5 هي الأسهل في التكوين. لا تحتوي أجهزة ضبط الوقت الأساسية مثل TIM6 وTIM7 على قنوات إخراج PWM.

س: ما هو الحد الأدنى لساعة النظام المطلوبة؟

ساعة 16 ميجا هرتز كافية للماكينات القياسية. توفر سرعات الساعة الأعلى مثل 72 ميجاهرتز دقة أفضل لعرض النبض.

س: كم عدد الماكينات التي يمكن لـ STM32 التحكم فيها؟

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

س: هل أحتاج إلى مصدر طاقة خارجي للخوادم؟

نعم. لا تقم بتشغيل الماكينات مباشرة من لوحة STM32. استخدم مصدر طاقة منفصلًا بقدرة 5 فولت أو 6 فولت مُصنف لإجمالي السحب الحالي لجميع الماكينات.

س: ماذا يحدث إذا تجاوز عرض النبضة 2 مللي ثانية؟

قد تحاول بعض الماكينات تجاوز حدودها الميكانيكية، مما يسبب الضرر. قم دائمًا بتثبيت قيمة النبض بين النطاق المحدد للمؤازرة الخاصة بك.

س: هل يمكنني استخدام التوقيت المعتمد على المقاطعة بدلاً من PWM للأجهزة؟

من الناحية الفنية نعم، ولكن لا ينصح بذلك. يستهلك برنامج PWM دورات وحدة المعالجة المركزية (CPU) ويسبب الارتعاش. تعد أجهزة PWM أكثر موثوقية دائمًا.

س: لماذا يعمل السيرفو الخاص بي مع Arduino وليس مع STM32؟

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

س: كيف يمكنني اختبار ما إذا كانت إشارة PWM صحيحة؟

استخدم راسم الذبذبات لقياس الإشارة على دبوس GPIO. تحقق من التردد (50 هرتز) وعرض النبض (1-2 مللي ثانية). المحلل المنطقي كافٍ أيضًا.

س: هل من الممكن التحكم بالسيرفو باستخدام DMA؟

نعم، لكنه يزيد من التعقيد. يمكن لـ DMA تحديث سجل CCR دون تدخل وحدة المعالجة المركزية (CPU)، وهو أمر مفيد للحركات المتزامنة متعددة المؤازرة.

س: ماذا علي أن أفعل إذا كان المؤازرة لا تزال لا تعمل؟

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

12اختيار المؤازرة المناسبة وزوج STM32 لتطبيقك

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

يجب أن يحتوي جهاز STM32 الذي تختاره على قنوات مؤقت كافية لعدد المؤازرات لديك. بالنسبة لمشروع يحتوي على أربع أجهزة، يكون STM32F103C8T6 كافيًا. بالنسبة لستة عشر جهازًا، انتقل إلى STM32F407 أو STM32F429 مع المزيد من الموقتات والدبابيس.

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

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

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

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

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

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

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