تم النشر 2026-05-08
في وقت متأخر من الليل. أضواء المختبر لا تزال مضاءة.
حدقت باهتمام في المؤازرة الثابتة، ممسكًا بلوحة التطوير STM32 بإحكام في يدي. لقد مر تجميع التعليمات البرمجية وكان التنزيل ناجحًا، ولكن لماذا ظل بلا حراك؟
تومض المصحح على الشاشة، كما لو كان يضحك علي.
هل سبق لك أن كنت تبحث في ورقة البيانات بشكل متكرر، لكن لم تتمكن من العثور على سطر التكوين الذي يلعب دورًا رئيسيًا؟
في تلك الليلة قبل أربع سنوات، استخدمت STM32 للتحكم في المؤازرة لأول مرة. أعتقد أن PWM سهل مثل تغيير دورة العمل. ونتيجة لذلك، ارتجفت المؤازرة، ثم صمتت تمامًا.
أدركت لاحقًا أنني نسيت الخطوة الأكثر أهمية: تمكين الساعة.
نصائح الكتابة: كتابة برامج التشغيل من الصفر
المؤازرة طفل مطيع. يتطلب لغة واحدة فقط: PWM.
الفترة هي 20 مللي ثانية، والوقت عالي المستوى يتراوح بين 0.5 مللي ثانية و 2.5 مللي ثانية، وهو ما يرتبط بالمؤازرة القياسية.
هناك عدد كبير من أوضاع المؤقت STM32 التي يمكن تحديدها. ما هو الفرق بين PWM1 وPWM2؟ العد التصاعدي والعد التنازلي، هل يهتم المؤازرة حقًا بهذه المواقف؟
هناك ثلاث ماكينات بنقاط أسعار مختلفة قمت باختبارها في أحد المشروعات. تتمتع إحدى الماكينات ذات المستوى المبتدئ بأداء استجابة جيد يبلغ 0.5 مللي ثانية. لكن أجهزة مؤازرة أخرى من الدرجة الصناعية تتطلب جعل الوقت الميت دقيقًا حتى 1us.
هناك حالة مثل هذه: في العام الماضي، ساعدت صديقًا في تصحيح أخطاء ذراع آلية ذات خمسة محاور. ما يتم استخدامه هو مضاعفات عزم الدوران المتوسط المشترك.يبدو أن الكود في حالة ممتازة. عندما يتم تعديل دورة التشغيل من 5% إلى 10%، فإن المؤازرة تقفز في موقعين متطرفين.。
حساب قيم المقياس المسبق وإعادة التحميل التلقائي.
بالنسبة إلى STM32 في حالة 72 ميجا هرتز، إذا كنت ترغب في الحصول على تردد PWM قدره 50 هرتز، فلن يتم تحديد معامل تقسيم التردد بشكل تعسفي. كل جهاز له حساسية مختلفة، ومناطق ميتة مختلفة، وحتى الفولتية المختلفة لإمدادات الطاقة، مما سيؤدي إلى تغيير "سمعه".
لقد رأيت الكثير من الأشخاص يقومون بتوصيل المؤازرة مباشرة بمنفذ 3.3V PWM.
ثم اشتكى: "قدرة برنامج التشغيل STM32 ضعيفة للغاية."
لا، لقد نسيت الحجر الصحي.
مطالبات الكتابة: فهم المعنى الأعمق لورقة البيانات
استمر التصحيح لمدة تصل إلى ثلاث ساعات. لقد استخدمت راسم الذبذبات للتحقيق في الأسلاك بالأسلاك. أثناء التحقيق، وجدت أنه عند تدوير المؤازرة، ارتفع التيار إلى 1.2 أمبير. ثم أدركت أن منظم الجهد 3.3 فولت بلوحة التطوير لا يمكنه تحمل مثل هذا التيار.
الحل بسيط: مصدر طاقة خارجي، أرضية مشتركة.
![]()
منذ ذلك الحين، اتبع كل مشروع من مشاريعي الخاصة بمعدات التوجيه ثلاث قواعد صارمة:
مصدر طاقة منفصل للسيرفو (4.8 فولت - 6 فولت)
سلسلة إشارة التحكم مقاومة 1 كيلو أوم
يتم توصيل سلك الطاقة الأرضي بشكل موثوق بالسلك الأرضي STM32.
هذه العناصر الثلاثة تستحق كل وقت التصحيح.
لكن إمدادات الطاقة وحدها ليست كافية. الدقة هي روح التحكم المؤازر.
ماذا عن الوظائف العادية التي تشبه التأخير؟ ننسى ذلك، والتخلي عنها بشكل حاسم. ماذا عن المقاطعات الناجمة عن أجهزة ضبط الوقت؟ لا بأس وصالحة للاستخدام.طريقة التشغيل التي يمكن تسميتها احترافية حقًا هي استخدام المؤقت المتقدم لـ STM32 لإخراج PWM التكميلي وتشغيل وظيفة الكبح.。
لماذا؟ لأنه عندما يتعطل السيرفو، فأنت لا تريد أن يحترق.
افتح الدليل المرجعي STM32. الفصل 14 ينتمي إلى الموقتات، والفصل 15 ينتمي إلى الموقتات، والفصل 16 ينتمي إلى الموقتات، والفصل 17 ينتمي إلى الموقتات.
سوف يشعر المبتدئين بالدوار عند النظر إلى قائمة التسجيل. أنا أيضاً.
ولكن هناك صفحة تحتوي على الخاصية الأكثر أهمية: جدول التكوين لوضع مقارنة المخرجات. يمكن أن يخبرك أي سجل يتحكم في دورة العمل، وأي سجل يتحكم في القطبية، وأي سجل يتحكم في المنطقة الميتة.
موجه الكتابة: أهمية الوقت الميت
يتطلب مشروعي التالي دقة زاوية مؤازرة تبلغ 0.5 درجة. تدعم معظم الماكينات الموجودة في السوق بشكل عام دقة 1us فقط.; في فترة 20 مللي ثانية، 1us يتوافق تمامًا مع 0.18 درجة. من التحليل النظري، هذه الدقة كافية.
ومع ذلك، وجد الاختبار الفعلي أن فرق الإرجاع للماكينات الرخيصة هو 2us فقط.
ما يجب القيام به؟
تعويض البرمجيات.
في الكود، قمت ببناء جدول تعيين لربط دورة العمل النظرية بالزاوية الفعلية وفقًا للعلاقة المقابلة. واستخدمت الاستيفاء الخطي لتصحيح ذلك، ووصلت الدقة النهائية إلى 0.3 درجة.
تخبرنا هذه الحالة أن الأجهزة لها حدود، لكن الخوارزميات يمكنها علاجها.
سؤال/أ
س: المؤازرة لا تتحرك على الإطلاق، ماذا علي أن أفعل؟
ج: تحقق أولاً من جهد مصدر الطاقة والأرضية المشتركة. استخدم راسم الذبذبات لمعرفة ما إذا كانت إشارة PWM موجودة.
س: السيرفو يهتز بشدة، ما السبب؟

المدة 20 مللي ثانية ولا يوجد أي خلل في الإشارة ولكن تردد PWM غير متطابق أو دورة التشغيل غير مستقرة وتحتاج إلى تأكيد.
س: ماذا علي أن أفعل إذا كان دقة PWM لـ STM32 غير كافية؟
ج: قم بتقليل ساعة المؤقت، أو استخدم وضع 16 بت، ويمكنك أيضًا توصيل وحدة PCA9685 خارجية.
س: كيفية التحكم في العديد من الماكينات للتحرك في نفس الوقت؟
ج: استخدم قنوات متعددة لنفس المؤقت لإخراج PWM لتجنب تعارضات المقاطعة.
ينتهي العديد من الأشخاص من كتابة الكود ويطلقون عليه اسم اليوم.
لكن جهاز التوجيه هو جهاز ميكانيكي. لها مزاجها الخاص.
مطالبات الكتابة: الحدود المادية وحماية السلامة
في الماضي، قمت بتصميم قفل باب أوتوماتيكي يتم فيه تدوير المؤازرة بمقدار تسعين درجة لدفع المزلاج. في ذلك الوقت، تم اختبار البرنامج ما يصل إلى مائة مرة، وكانت نتائج كل اختبار طبيعية. ومع ذلك، في اليوم الثالث بعد التثبيت، أصبح القفل عالقًا.
عندما يستمر حجب المؤازرة، ترتفع درجة حرارة شريحة التشغيل الداخلية إلى 120 درجة.
ما هو الدرس؟
لكل مشروع لمعدات التوجيه، يجب إضافة حماية المهلة والكشف عن التيار. يمكن لـ STM32 ADC مراقبة تيار جهاز التوجيه في الوقت الفعلي. إذا تجاوز التيار الحد واستمر لمدة 0.5 ثانية، فسيتم قطع مخرج PWM على الفور.
هذا ليس الإفراط في الهندسة. هذا هو الحد الفاصل بين المحترفين والهواة.
هناك أيضًا نقطة عمياء: الموضع الأولي للمؤازرة.
إذا كانت ذراعك الآلية في وضع خطير عند انقطاع التيار الكهربائي، فسوف يقوم STM32 بإخراج المستوى الافتراضي لحظة تشغيله. إذا كان هذا المستوى هو الحد الأقصى لدورة العمل، فإن المؤازرة سوف تصل إلى الحد الأقصى.
أولاً، الحل هو تكوين طرف إخراج المؤقت إلى حالة مقاومة عالية قبل تهيئة GPIO.ثانيًا، الحل هو إضافة إشارة تمكين الأجهزة والانتظار حتى يستقر النظام قبل تشغيل المؤازرة.。
لن تخبرك ورقة البيانات بهذه التفاصيل.
يمكن للوحة التطوير STM32 التي بين يديك أن تفعل أكثر من مجرد إضاءة مصابيح LED.
فهو يسمح للمؤازرة برسم الدوائر والكتابة والاستيلاء على الأشياء وضبط الصمامات.
لكن الفرضية هي أنك على استعداد لأخذ الوقت الكافي لفهم أصل كل معلمة.
مطالبة بالكتابة: ردود الفعل ذات الحلقة المغلقة هي الحل النهائي
إذا كنت تسعى حقًا للحصول على دقة عالية، فتخلى عن التحكم في الحلقة المفتوحة.
لقد كرست نفسي لمشروع روبوت إلكتروني وأضفت تعليقات الجهد إلى كل مفصل. كان STM32 مسؤولاً عن قراءة قيمة ADC، ومقارنتها بالزاوية المستهدفة، ثم استخدام خوارزمية PID لضبط PWM. بهذه الطريقة، بغض النظر عن كيفية تغير الحمل، يكون الموضع دقيقًا دائمًا.
التحكم في الحلقة المفتوحة يشبه المشي معصوب العينين. التحكم في الحلقة المغلقة يشبه المشي وعينيك مفتوحتين.
أي واحد تختار؟
في هذه اللحظة، انظر إلى المختبر في منتصف الليل. لم يدور جهاز التوجيه، ليس لوجود خطأ في الكود، ولكن لوجود نقطة عمياء في معرفتي لم أتقنها بالكامل بعد.
كل فشل هو تجربة تعليمية.
إذا كنت تريد استخدام STM32 للتحكم فعليًا في المؤازرة، فتذكر الخطوات التالية:
اقرأ ورقة بيانات المؤازرة بعناية للتأكد من فترة تعديل عرض النبض ونطاق عرض النبض.
استخدم راسم الذبذبات للتحقق من إخراج الشكل الموجي بواسطة STM32، ولا تثق في الحساب.
مصدر طاقة مستقل، أرضية مشتركة، بالإضافة إلى المقاوم الواقي.
تتم إضافة تعيين الزوايا وحماية المهلة إلى البرنامج.
اختبار الظروف القاسية: انقطاع التيار الكهربائي وإعادة التشغيل، الدوار المحظور، تداخل الإشارة.
مطالبات الكتابة: كرر الأفكار الرئيسية وتصرف بناءً عليها
هناك جوهر واحد فقط: الدقة مخفية في المستندات، والاستقرار يأتي من الاختبار.
تحقق من الكود الخاص بك اليوم لمعرفة ما إذا كانت قيمة المقياس المسبق قد تم حسابها بشكل صحيح، ومعرفة ما إذا كانت مؤرضة، ومعرفة ما إذا كانت حالة الدبوس آمنة في لحظة التشغيل.
إعادة البرمجة.
استمع إلى صوت دوران جهاز التوجيه.
لم يعد يرتجف.
إنه يعمل من أجلك.
في المختبر في وقت متأخر من الليل، لا تزال الأضواء مضاءة.
ولكن هذه المرة، أنت تبتسم.
وقت التحديث: 2026-05-08