تم النشر 2026-04-05
يوفر هذا الدليل طريقة خطوة بخطوة للتحكم في أحد المعاييرمضاعفاتمحرك بلوحة ESP32 باستخدام بايثون. سواء كنت تقوم ببناء ذراع آلية، أو حامل كاميرا قابل للإمالة، أو دعامة متحركة بسيطة، فسوف تتعلم التوصيلات الدقيقة، ورمز Python، وخطوات المعايرة لجعلمضاعفاتالتحرك بدقة. تستند جميع الأمثلة على مواقف شائعة في العالم الحقيقي حتى تتمكن من تطبيقها على الفور على مشاريعك الخاصة.
لوحة تطوير ESP32 واحدة (أي متغير شائع)
معيار واحد 5 فولتمضاعفاتالمحرك (على سبيل المثال، نوع SG90 أو MG995)
مصدر طاقة خارجي 5 فولت (في حالة استخدام أجهزة ذات عزم دوران عالي)
أسلاك التوصيل (أنثى إلى أنثى)
جهاز كمبيوتر مثبت عليه البرامج الثابتة MicroPython على ESP32
> مهم: لا تقم مطلقًا بتشغيل المؤازرة مباشرةً من طرف ESP32 بجهد 3.3 فولت. تتطلب معظم الماكينات 5 فولت ويمكنها سحب تيار أكبر مما يمكن أن توفره اللوحة بأمان. استخدم مصدر طاقة منفصلًا بقدرة 5 فولت للمؤازرة، وقم بتوصيل سلك الإشارة فقط بـ ESP32.
تخيل أنك تقوم ببناء مخلب آلي بسيط يفتح ويغلق. لديك أجهزة MG995 مشتركة. قم بتوصيله على النحو التالي:
نقطة حرجة: الأرض من إمدادات الطاقة الخارجيةيجبأن تكون متصلاً بـ ESP32 GND. بدون هذه الأرضية المشتركة، ستكون الإشارة غير مستقرة وسيرتعش المؤازرة أو لا يتحرك.
يتحكم ESP32 في المؤازرة عن طريق توليد إشارة PWM بتردد 50 هرتز (الفترة = 20 مللي ثانية). يتم تحديد موضع المؤازرة من خلال عرض النبضة: 0.5 مللي ثانية لـ 0 درجة، و1.5 مللي ثانية لـ 90 درجة، و2.5 مللي ثانية لـ 180 درجة.
يوجد أدناه برنامج نصي كامل ومختبر لـ MicroPython. احفظه باسمmain.pyعلى ESP32 الخاص بك.
من دبوس استيراد الجهاز، وقت استيراد PWM # استخدم GPIO15 - يمكنك التغيير إلى أي طرف يدعم PWM SERVO_PIN = 15 # تردد مؤازر قياسي: 50 هرتز PWM_FREQ = 50 # قيم دورة التشغيل لـ 0°، 90°، 180° (محسوبة لـ 50 هرتز) # للحصول على دقة PWM 16 بت (0–65535): # Duty = (pulse_width_ms / 20 مللي ثانية)65535 # 0.5 مللي ثانية -> 1638 (0 درجة) # 1.5 مللي ثانية -> 4915 (90 درجة) # 2.5 مللي ثانية -> 8192 (180 درجة) DUTY_0 = 1638 DUTY_90 = 4915 DUTY_180 = 8192 # تهيئة PWM على طرف المؤازرة servo = PWM(Pin(SERVO_PIN), freq=PWM_FREQ, Duty_u16=DUTY_90) # ابدأ عند 90 درجة def set_angle(angle): """ اضبط زاوية المؤازرة (0 درجة إلى 180 درجة). تعيين الزاوية خطيًا لدورة العمل. """ # زاوية المشبك لزاوية النطاق الصالح = max(0, min(180, angle)) # رسم الخرائط الخطية: Duty = DUTY_0 + (الزاوية/180)(DUTY_180 - DUTY_0) Duty = int(DUTY_0 + (angle / 180) * (DUTY_180 - DUTY_0)) servo.duty_u16(duty) # مثال: المسح ذهابًا وإيابًا بينما True: للزاوية في النطاق(0, 181, 10): set_angle(angle) time.sleep_ms(50) للزاوية في النطاق(180, -1, -10): set_angle(زاوية) time.sleep_ms(50)
1. قم بفلاش برنامج MicroPython الثابت إلى ESP32 (إذا لم يكن قد تم ذلك بالفعل).
2. قم بتوصيل المؤازرة كما هو موضح.
3. انسخ البرنامج النصي إلى اللوحة باستخدام أداة مثلcom.mpremoteأو ثوني.
4. قم بتشغيل البرنامج النصي. سوف تقوم المؤازرة بالمسح من 0 درجة إلى 180 درجة والعودة بشكل متكرر.
تحتوي نماذج المؤازرة المختلفة على نطاقات عرض نبض مختلفة قليلاً. على سبيل المثال، قد يعمل SG90 الرخيص مع 0.5 مللي ثانية إلى 2.4 مللي ثانية، في حين أن MG996R عالي عزم الدوران يستخدم 0.6 مللي ثانية إلى 2.4 مللي ثانية. النطاق الشائع 0.5-2.5 مللي ثانية يعمل مع معظم الأشخاص، ولكن يجب عليك المعايرة دائمًا.
طريقة المعايرة(حالة واقعية من مشروع ذراع آلية):
اضبط دورة العمل على 1638 ولاحظ الزاوية الفعلية.
إذا لم يصل المؤازرة إلى 0 درجة، فقم بزيادة الواجب قليلاً (على سبيل المثال، 1700) حتى يتوقف عن الحركة.
افعل الشيء نفسه بالنسبة إلى 180 درجة بالتناقص من 8192.
استخدم DUTY_MIN وDUTY_MAX المقاسين فيset_angle()وظيفة.
يتم التحكم في السيرفو من خلال عرض النبضة، وليس من خلال النسبة المئوية لدورة العمل.يجب أن يكون التردد 50 هرتز بالضبط (الفترة 20 مللي ثانية). يؤدي تغيير عرض النبضة بين 0.5 مللي ثانية و2.5 مللي ثانية إلى تدوير المؤازرة من 0 درجة إلى 180 درجة. في ميكروبايثونDuty_u16()الطريقة، يعتمد التعيين من عرض النبضة إلى قيمة الواجب على دقة عرض عرض النبضة (PWM) (دائمًا 16 بت على ESP32). استخدم الصيغ المتوفرة أو وظيفة التعيين الخطي.
1. ابدأ دائمًا باختبار مسح بسيط- يؤكد الأسلاك وتشغيل PWM الأساسي.
2. استخدم محلل المنطق أو راسم الذبذباتللتحقق من عرض النبضة إذا كان السيرفو يتصرف بشكل غريب.
3. للمشاريع التي تعمل بالبطارية، أضف مكثفًا كبيرًا (470 درجة فهرنهايت أو أكثر) عبر أطراف الطاقة المؤازرة لامتصاص انخفاض الجهد.
4. عندما يتطلب مشروعك ماكينات متعددة، تحكم في كل منها على طرف GPIO منفصل، ولكن تأكد من أن إجمالي التيار لا يتجاوز تصنيف مصدر الطاقة الخاص بك.
يعد التحكم في جهاز مؤازر باستخدام ESP32 وPython أمرًا بسيطًا: قم بتوصيل سلك الإشارة بأي GPIO قادر على PWM، وقم بتوفير طاقة منفصلة بجهد 5 فولت مع أرضية مشتركة، وقم بإنشاء إشارة PWM بمعدل 50 هرتز، واضبط دورة التشغيل لتعيين عرض النبض بين 0.5 مللي ثانية و2.5 مللي ثانية. يعمل الكود المقدم خارج الصندوق لمعظم الماكينات القياسية. إذا كان نطاق الحركة غير صحيح، فقم بمعايرة الحد الأدنى والحد الأقصى لقيم الخدمة الخاصة بالمؤازرة المحددة لديك. أنت الآن جاهز لدمج الحركة الدقيقة في مشروعاتك القائمة على ESP32.
وقت التحديث:2026-04-05