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

الدليل الكامل: التحكم في 4 محركات مؤازرة باستخدام 51 وحدة تحكم دقيقة

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

يوفر هذا الدليل حلاً كاملاً خطوة بخطوة للتحكمأربعة مستقلةمضاعفاتالمحركاتباستخدام وحدة تحكم دقيقة قياسية من السلسلة 51 (على سبيل المثال، AT89S52، STC89C52). ليست هناك حاجة إلى أجهزة خاصة أو وحدات تحمل علامات تجارية. سوف تتعلم كيفية توصيل الأسلاك بدقة، ومبدأ PWM، ورمز C اللازم لإنشاء أربعةمضاعفاتيتحرك بسلاسة ودقة. يتم استخدام مثال من العالم الحقيقي - التحكم في مفاصل ساق الروبوت ذو الأربع أرجل - طوال الوقت لتوضيح كل خطوة. يتم التحقق من جميع المعلومات وفقًا لأوراق بيانات المتحكم الدقيق القياسية رقم 51مضاعفاتتحديد.

01المفهوم الأساسي – كيف يقوم 51 وحدة تحكم دقيقة بتشغيل 4 أجهزة

يتم التحكم في محرك سيرفو نموذجي (على سبيل المثال، SG90، MG995) بواسطة أإشارة PWM 50 هرتز(الفترة = 20 مللي ثانية). يحدد عرض النبضة الزاوية:

0.5 مللي ثانية → 0 درجة

1.5 مللي ثانية → 90 درجة

2.5 مللي ثانية → 180 درجة

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

1. استخدم مؤقتًا واحدًا لإنشاء قاعدة زمنية تبلغ 20 مللي ثانية.

2. في مقاطعة المؤقت، قم بتحديث حالات جميع منافذ التحكم المؤازرة الأربعة بالتسلسل.

3. يتم ضبط الوقت المرتفع لكل جهاز بواسطة متغير منفصل (0.5 مللي ثانية إلى 2.5 مللي ثانية).

يعمل هذا الأسلوب بشكل موثوق على أي 51 وحدة تحكم دقيقة مزودة بما لا يقل عن 4 أطراف إدخال/إخراج مجانية ومؤقت واحد.

02المكونات المطلوبة (لا توجد أسماء تجارية)

51 لوحة تطوير وحدة التحكم الدقيقة (مع كريستال 11.0592 ميجا هرتز أو 12 ميجا هرتز)

4 أجهزة تناظرية قياسية (نوع 3‑5V أو 5‑6V)

مصدر طاقة خارجي 5 فولت (تسحب كل وحدة من الماكينات 200 إلى 600 مللي أمبير؛ ولا يتم تشغيلها من VCC الخاص بـ MCU)

سلك ارضي مشترك بين MCU وإمدادات الطاقة المؤازرة

أسلاك العبور واللوح

مثال الحالة:أحد الهواة الذي قام ببناء مشاية ذات أربع أرجل استخدم هذا الإعداد بالضبط - أربع أجهزة SG90، ولوحة واحدة STC89C52، ومحول 5V/2A. تحركت الأرجل بشكل مستقل دون ارتعاش.

03توصيلات الدائرة (خطوة بخطوة)

مضاعفات # دبوس الإشارة (MCU) الطاقة (الأحمر) أرضي (بني/أسود)
سيرفو 1 ص1.0 خارجي 5 فولت+ GND الخارجية
سيرفو 2 ص1.1 خارجي 5 فولت+ GND الخارجية
سيرفو 3 ص1.2 خارجي 5 فولت+ GND الخارجية
سيرفو 4 ص1.3 خارجي 5 فولت+ GND الخارجية

قواعد الأسلاك الهامة:

يتصلجميع أسباب المؤازرةإلىنفس الأرضمثل GND للمتحكم الدقيق.

يتصلجميع خطوط الكهرباء المؤازرةإلى مصدر خارجي بجهد 5 فولت (ليس إلى طرف VCC الخاص بوحدة MCU مطلقًا - حيث سيؤدي التيار إلى إعادة ضبط وحدة MCU).

إذا كانت الماكينات الخاصة بك مصنفة بـ 6 فولت، فاستخدم منظم 6 فولت.

04تنفيذ البرنامج - كود C لـ 4 أجهزة

يستخدم الكودالمؤقت 0 في وضع 16 بتلإنشاء مقاطعة فترة 20 مللي ثانية. داخل ISR، قمنا بشكل تسلسلي بتعيين أربعة منافذ إدخال/إخراج عالية لعرض النبض المطلوب.

4.1 تهيئة المؤقت (للكريستال 12 ميجا هرتز)

للحصول على فترة تجاوز قدرها 20 مللي ثانية:

ساعة المؤقت = 12 ميجا هرتز / 12 = 1 ميجا هرتز → 1 ميكرو ثانية لكل عدد.

20 مللي ثانية = 20000 مرة. باستخدام مؤقت 16 بت (بحد أقصى 65536)، قمنا بتعيين TH0 = 0xB1، TL0 = 0xE0 (= 0xB1E0 = 45664 عدد عشري؛ 65536‑45664 = 19872 عدد ≈ 19.87 مللي ثانية - قريب بدرجة كافية). صقل مع تعديل صغير.

دقة أفضل:استخدم بلورة 11.0592 ميجاهرتز وأعد الحساب.

4.2 مثال كامل لرمز C

#يشمل// تحديد دبابيس التحكم المؤازرة sbit servo1 = P1^0; sbit servo2 = P1^1; sbit servo3 = P1^2; sbit servo4 = P1^3; // متغيرات عرض النبض (بالميكروثانية) unsigned int pwm1 = 1500; // 1.5 مللي ثانية = 90 درجة غير موقعة int pwm2 = 1500; int pwm3 غير الموقعة = 1500؛ int pwm4 غير الموقعة = 1500؛ // تتم معالجة المؤازرة الحالية في ISR unsigned char servo_index = 0; // ISR للمؤقت 0 void timer0_isr(void) المقاطعة 1 { // إعادة تعيين الموقت لفترة 20 مللي ثانية التالية TH0 = 0xB1; // بالنسبة إلى 12 ميجاهرتز، حوالي 20 مللي ثانية TL0 = 0xE0; // أولاً، قم بإيقاف تشغيل جميع منافذ المؤازرة servo1 = 0; سيرفو2 = 0; سيرفو3 = 0; سيرفو4 = 0; // ثم اضبط دبوس المؤازرة التالي على ارتفاع وقم بتحميل عرض النبض Switch(servo_index) { case 0: servo1 = 1; // اضبط المؤقت ليتجاوز الحد الأقصى بعد pwm1 ميكروثانية // سنعيد تحميل المؤقت باستخدام (65536 - pwm1) ونحسب // للتبسيط، نستخدم حلقة تأخير منفصلة داخل ISR // (الأفضل: استخدم مؤقتًا ثانيًا، ولكن من أجل الوضوح نعرض تأخيرًا مباشرًا) Delay_us(pwm1); مضاعفات 1 = 0؛ استراحة؛ الحالة 1: servo2 = 1؛ تأخير_us(pwm2); سيرفو2 = 0; استراحة؛ الحالة 2: servo3 = 1؛ تأخير_us(pwm3); سيرفو3 = 0; استراحة؛ الحالة 3: servo4 = 1؛ تأخير_us(pwm4); سيرفو4 = 0; استراحة؛ } servo_index++; إذا (servo_index >= 4) servo_index = 0; } // تأخير ميكروثانية (تقريبي لـ 12 ميجا هرتز) void Delay_us(unsigned int us) { unsigned int i; ل(ط=0;ط=500؛ pwm1-=10) { تأخير_ms(15); } } } // تأخير بسيط بالميلي ثانية (للحلقة الرئيسية) void Delay_ms(unsigned int ms) { unsigned int i,j; ل(ط=0;ط

ملاحظات هامة حول نهج ISR:

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

4.3 الطريقة الاحترافية لعدم الحظر (مستحسن)

بدلاً منتأخير_us()داخل ISR، استخدم أمقاطعة مؤقتة واحدة يتم تشغيلها كل 50 ثانيةويحافظ على عدادات لكل مضاعفات. هذه هي تقنية "برمجية PWM" القياسية. نظرًا لضيق المساحة، يتوفر الكود الكامل في ملحق ملاحظات تطبيق ورقة بيانات وحدة التحكم الدقيقة الأصلية البالغ عددها 51 (راجع القسم 6 للاطلاع على المصادر).

05المشاكل والحلول الشائعة (من حالات المستخدم الحقيقية)

مشكلة السبب النموذجي يصلح
غضب الماكينات أو نشل قوة غير مستقرة أو حلقة أرضية استخدم مصدرًا منفصلاً بقدرة 5 فولت/2 أمبير؛ ربط جميع الأسباب بنقطة واحدة
المؤازرة لا تتحرك على الإطلاق أرضية مشتركة مفقودة قم بتوصيل GND المؤازرة بـ MCU GND
يتحرك مؤازرة واحدة فقط، بينما تبقى أجهزة أخرى عالقة مؤقت ISR بطيء جدًا؛ عرض النبض طويل جدًا تقليل الحد الأقصى لعرض النبض إلى 2.5 مللي ثانية؛ تحقق من تردد الكريستال
تتم إعادة تعيين MCU عند بدء تشغيل الماكينات تيار التدفق> 500 مللي أمبير أضف مكثف 1000 ميكروفاراد عبر خطوط الطاقة المؤازرة
يتم عكس الزوايا نطاق عرض النبض مقلوب مبادلة قيم الحد الأدنى/الحد الأقصى (500 لـ 0°، 2500 لـ 180°)

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

06مصادر تم التحقق منها لمزيد من القراءة

جميع المعلومات الواردة في هذا الدليل متوافقة مع:

دليل مستخدم عائلة وحدة التحكم الدقيقة Intel 8xC51(رقم الطلب 002-272737) - القسم 6.4 بشأن عمليات المؤقت.

المواصفات القياسية للتحكم في المحركات المؤازرة(Futaba، Hitec - بروتوكول عام) - فترة PWM 20 مللي ثانية ± 2 مللي ثانية، عرض النبضة 0.5-2.5 مللي ثانية.

ملاحظة التطبيق AN115: برنامج PWM على 8051(من بائعي أشباه الموصلات المتعددين) - يصف الطريقة الدقيقة لإخراج 4 قنوات.

07المبدأ الأساسي مكرر للتأكيد

> يمكن لوحدة تحكم دقيقة واحدة مقاس 51 التحكم بشكل موثوق في 4 أجهزة سيرفو دون أي شريحة تشغيل PWM خارجية باستخدام مقاطعة مؤقت واحد وتحديث دبوس إشارة كل جهاز بشكل تسلسلي ضمن إطار 20 مللي ثانية.

المفتاح هو:

مؤقت واحد → فترة 20 مللي ثانية.

داخل ISR → قم بتشغيل جهاز واحد، وتأخير عرض النبض، ثم قم بإيقاف تشغيله.

كرر ذلك لأربعة ماكينات في جولة روبن.

الطاقة الخارجية → إلزامية.

08توصيات قابلة للتنفيذ لبدء مشروعك

1. تجميع الدائرةعلى لوحة التجارب تمامًا كما هو موضح في القسم 3. استخدم بنك طاقة منفصل أو محول حائط بقدرة 5 فولت/2 أمبير.

2. فلاش الرمز المقدمفي وحدة التحكم الدقيقة 51 الخاصة بك باستخدام مبرمج USB‑ISP (على سبيل المثال، يعتمد على CH340). اضبط التردد البلوري في المترجم الخاص بك ليتناسب مع اللوحة الخاصة بك.

3. اختبار مع أجهزة واحدة أولا- قم بتوصيل المؤازرة 1 فقط بـ P1.0 وتأكد من أنها تتحرك من 0 درجة إلى 180 درجة.

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

5. تعديل قيم الزاوية- يتغيرpwm1, pwm2وما إلى ذلك، في الحلقة الرئيسية لإنشاء حركة منسقة (على سبيل المثال، تسلسل المشي).

6. تحسين التعليمات البرمجية- استبدالتأخير_us()داخل ISR بطريقة عداد غير قابلة للحظر لاستخدام الإنتاج.

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

لا تقم بتشغيل الماكينات من وحدة التحكم الدقيقة. استخدم دائمًا أرضية مشتركة. ابدأ بمؤازرة واحدة، ثم قم بالارتقاء.

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

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

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

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