# برنامج ESP32-S3 يشغّل محركًا افتراضيًا

أصبح مثالنا ذو المحرك الواحد لـ ESP32-S3 يقرأ التغذية الراجعة ويضبط خرجه على الحاسوب، مع إمكانية الإيقاف المؤقت والتنفيذ خطوة بخطوة. إليكم ما وصل إليه العمل.

[اقرأ المزيد](https://grainpeak.com/ar/updates/esp32s3-control-loop/)

Grainpeak LLC

نُشر في: 2026-10-29T00:46:00-04:00

حُدّث في: 2026-10-29T01:39:46-04:00

يصعب اكتشاف بعض مشكلات التحكم بالمحركات بمجرد قراءة الشيفرة. هل اتجاه التغذية الراجعة معكوس؟ هل يظل الخرج عند حده الأقصى؟ غالبًا ما نحتاج إلى توصيل لوحة ومحرك لنرى ما يحدث. نعمل على محاكاة ESP32-S3 حتى يصبح من الممكن استكشاف بعض هذه الأسئلة على الحاسوب أولًا.
تمكّنا مؤخرًا من تشغيل مثال بمحرك واحد في Botdraft. أصبح بالإمكان تشغيل برنامج تحكم مُترجَم برمجيًا لاستهداف ESP32-S3 من شاشة المشروع. يقود خرجه نموذج المحرك، وتعود حركة النموذج إلى البرنامج عبر مشفّر محاكى، ثم يقرر البرنامج ما يجب فعله في الخطوة التالية. وما زال Botdraft اسمًا مؤقتًا.
هذا هو المثال ذو المحرك الواحد الذي يعمل لدينا حاليًا. الصورة رسم توضيحي وليست لقطة شاشة للمنتج.
ما الذي يمكننا فعله به الآن يمكننا بدء هذا المثال وإيقافه مؤقتًا وتنفيذ خطوة واحدة ثم استئنافه. وعند الإيقاف المؤقت، يبقى النموذج أيضًا عند النقطة نفسها من زمن المحاكاة. وعند التقدم خطوة، يقرأ البرنامج التغذية الراجعة ويضبط خرجه، بينما تتبع وضعية المحرك المعروضة النتيجة المحسوبة. بذلك يمكننا التوقف عند خطوة، وفحص ما حدث، ثم المتابعة.
نريد استخدام ذلك للمساعدة في تصحيح أخطاء برامج التحكم. بعد إرسال الخرج، هل يتغير النموذج كما هو متوقع؟ وماذا يفعل البرنامج بالتغذية الراجعة التي يتلقاها؟ هذه هي الأسئلة التي نريد أن يتمكن المطورون من فحصها قبل توصيل العتاد.
التغذية الراجعة التي يقرأها البرنامج ناتجة عن حسابات النموذج.
ما الذي لا يزال علينا إضافته حتى الآن، شغّلنا هذا المثال ذا المحرك الواحد فقط. لا يمكننا بعدُ أخذ أي ملف برمجيات ثابتة لـ ESP32-S3 وتشغيله هنا. ما زلنا بحاجة إلى إضافة المزيد من الوحدات الطرفية داخل الشريحة، ولا نحاكي الدارة الكاملة للوحة تطوير.
ما زال نموذج المحرك يستخدم معلمات اختبار. ولم نقارنه بعتاد فعلي بعد، لذلك لا يمكن لهذه النتيجة أن تخبرنا كيف سيتصرف محرك حقيقي بعينه. كما أن زمن المحاكاة يختلف عن الزمن الذي يستغرقه الحاسوب لتشغيلها؛ وما زلنا بحاجة إلى تحسين سرعة التنفيذ.
سنعمل بعد ذلك على حالات تغير الحمل وانقطاع التغذية الراجعة من خلال شاشة المشروع هذه: كيف يستجيب البرنامج للحمل، وماذا يفعل عندما يتوقف المشفّر عن إرسال التحديثات؟ لم نُكمل هذه الحالات في الواجهة الحالية بعد. وسنضيف أيضًا نماذج للوحدات الطرفية ومعلمات للمحركات، مع التحقق من المعلمات بالرجوع إلى الوثائق العامة للمصنّعين التي نستطيع العثور عليها.
توضح نبذة المشروع الاتجاه الأوسع. وتتناول مذكرة نطاق التطوير (بالإنجليزية) الأعمال السابقة المتعلقة بالبرمجيات والتصدير.


[العودة إلى المدونة](https://grainpeak.com/ar/updates/index.md)
