هندسة الطاقة وميزانية الطاقة في Arduino وESP32

هندسة الطاقة في الأنظمة المدمجة (Power Management & Power Budgeting): كيف تعرف الحدود الكهربائية للأردوينو وESP32 وتوزّع الطاقة على الحساسات والمكونات بشكل صحيح؟

دليل هندسي لحساب ميزانية الطاقة في Arduino وESP32: حدود المنافذ والمنظمات، تيارات الذروة، وBrownout، واختيار مصدر تغذية آمن.

تبدأ أغلب المشاريع الإلكترونية بخطوة بسيطة: لوحة ESP32 أو Arduino، ثم شاشة صغيرة، ثم حساس حرارة. بعد ذلك يضيف المصمم وحدة GPS، ثم ريليه، ثم شريط مصابيح ملونة. وفجأة تبدأ اللوحة بإعادة التشغيل دون سبب واضح، أو تتذبذب قراءات الحساسات، أو يسخن المنظم حتى يصعب لمسه. السبب في أغلب الحالات ليس البرمجة، بل غياب ميزانية الطاقة (Power Budget).

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

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

  1. المفاهيم الأساسية والعلاقات الرياضية
  2. المتحكم ليس هو اللوحة
  3. حدود منافذ GPIO و3.3V و5V وVIN وUSB
  4. كيف تقرأ ورقة البيانات (Datasheet)
  5. ميزانية الطاقة خطوة بخطوة
  6. التيار العادي والأقصى وتيار الذروة
  7. هل يتحمل النظام حساساً إضافياً؟
  8. توزيع الطاقة: Buck وLDO والمصادر الخارجية
  9. التوالي والتوازي والأرضي المشترك
  10. هبوط الجهد وBrownout والحرارة والقراءات غير المستقرة
  11. القياس الفعلي ومقارنته بالحساب
  12. اختيار مصدر التغذية والهامش الاحتياطي
  13. مثال حسابي كامل لمشروع ESP32
  14. مصدر خارجي أم متحكم جديد؟
  15. حدود لا علاقة لها بالكهرباء
  16. اختبر نفسك
ماذا ستتعلم من هذا الدليل؟ ستتعلم كيف تحسب احتياج المشروع من التيار والقدرة، وكيف تحدد قدرة مصدر التغذية المناسب. كذلك ستعرف الحد الأقصى الآمن للمكونات قبل أن تضيفها، وكيف تمنع إعادة التشغيل المفاجئة وسخونة المنظمات.

1. المفاهيم الأساسية: الجهد والتيار والقدرة والطاقة والمقاومة

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

الجهد (Voltage) هو فرق الضغط الكهربائي الذي يدفع الشحنات، ويُقاس بالفولت (V). لذلك نقول إن ESP32 يعمل على 3.3 V، بينما يعمل Arduino Uno على 5 V. التيار (Current) هو كمية الشحنة المارة في الثانية، ويُقاس بالأمبير (A) أو الملي أمبير (mA). وهو الكمية التي تنفد أولاً في أغلب المشاريع.

المقاومة (Resistance) هي ممانعة المادة لمرور التيار، وتُقاس بالأوم (Ω). أما القدرة (Power) فهي معدل استهلاك الطاقة أو تحويلها، وتُقاس بالواط (W). وأخيراً، الطاقة (Energy) هي القدرة مضروبة في الزمن، وهي ما يفرغ البطارية.

العلاقات بين الجهد والتيار والمقاومة والقدرة والطاقة في ميزانية الطاقة
كل حسابات ميزانية الطاقة في هذا الدليل مبنية على هذه العلاقات الخمس.
V = I × R قانون أوم
P = V × I القدرة الكهربائية
P = I² × R القدرة المفقودة حرارةً في مقاومة أو سلك
E = P × t الطاقة (Wh) = القدرة (W) × الزمن (h)
t ≈ (C × k) ÷ I عمر البطارية: C بالـ mAh، I بالـ mA، k ≈ 0.7–0.8

لنأخذ مثالاً سريعاً. شاشة OLED تعمل على 3.3 V وتسحب 20 mA. إذن قدرتها 3.3 × 0.02 = 0.066 W. صحيح أن هذا رقم صغير، لكن المشكلة لا تظهر في الأجزاء الصغيرة. بل تظهر عندما نجمع عشرة أجزاء، ثم نمرر مجموعها عبر منظم صغير أو سلك رفيع.

قاعدة التفكير الهندسي الأولى: لا تسأل «كم يستهلك هذا الحساس؟» فقط. اسأل أيضاً: «من أي مسار سيأتي هذا التيار؟ وما أضعف حلقة في هذا المسار؟»

2. المتحكم ليس هو اللوحة: فرق جوهري

يخلط كثيرون بين استهلاك شريحة المتحكم نفسها وقدرة لوحة التطوير على تغذية مكونات خارجية. والفرق كبير. الشريحة مثل ATmega328P في Arduino Uno تستهلك بضعة ملي أمبيرات فقط. لكن اللوحة كاملة تضيف شريحة USB ومصابيح بيان ومنظم جهد، فيصل استهلاكها عملياً إلى عشرات الملي أمبيرات.

في المقابل، قدرة اللوحة على تغذية الآخرين لا تحددها الشريحة. بل يحددها أضعف عنصر في مسار التغذية: الفيوز، أو المنظم، أو مسارات النحاس، أو منفذ USB في الحاسب. لهذا السبب قد تملك لوحتان المتحكم نفسه، لكن حدودهما الكهربائية مختلفة تماماً.

على سبيل المثال، ورقة البيانات الرسمية الحديثة لـ Arduino Uno R3 تذكر منظم SPX1117 لخط 5 V، بينما استخدمت إصدارات أقدم منظمات أخرى من عائلة 1117. أما لوحات ESP32 DevKit فتختلف أكثر، لأن كل مصنّع يختار منظمه وحمايته. لذلك لا تفترض أبداً أن جميع اللوحات متطابقة، حتى لو حملت الاسم نفسه. لذلك تبدأ ميزانية الطاقة دائماً من مخطط لوحتك الفعلي.

3. حدود منافذ GPIO و3.3V و5V وVIN وUSB

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

مسار الطاقة وحدود التيار في Arduino Uno R3 ولوحة ESP32 DevKit
شجرة الطاقة في Arduino Uno R3 ولوحة ESP32 DevKit، ونقاط الاختناق في كل منهما.

مقارنة الحدود الكهربائية بين Arduino Uno وESP32

البندArduino Uno R3ESP32 DevKit (وحدة WROOM-32)
جهد المنطق5 V3.3 V، والأطراف لا تتحمل 5 V
جهد الإدخالالموصى به 7–12 V عبر المقبس أو VIN، والحد 6–20 V5 V عبر USB أو طرف 5V حسب اللوحة
تيار طرف GPIO الواحد20 mA موصى به، و40 mA حد مطلقنحو 40 mA مصدر بأقصى قوة تشغيل، و28 mA سحب
الحد الإجمالي للشريحة200 mA عبر أطراف VCC وGND1100 mA تيار خرج تراكمي (حد مطلق)
طرف 3.3V50 mA حسب وثائق Arduinoيتقاسم منظم اللوحة مع وحدة ESP32 نفسها
حماية USBفيوز ذاتي الاسترجاع بنحو 500 mAتختلف حسب اللوحة، وبعضها بلا فيوز
ذروة استهلاك المتحكممنخفضة نسبياًنحو 240 mA عند إرسال Wi-Fi
أقل قدرة لمصدر التغذيةغير محددة كشرط500 mA حسب Espressif

أطراف GPIO: إشارة لا مصدر طاقة

طرف GPIO مصمم ليرسل إشارة، لا ليغذي حملاً. في Arduino Uno، الحد الموصى به 20 mA لكل طرف، بينما 40 mA هو الحد المطلق الذي يتلف بعده الطرف. علاوة على ذلك، تضع ورقة بيانات ATmega328P حدوداً جماعية لمجموعات المنافذ، ومجموع كل ما يمر عبر أطراف التغذية لا يتجاوز 200 mA. بمعنى آخر، لا يمكنك تشغيل عشرة مصابيح بـ 20 mA لكل منها من عشرة أطراف بأمان.

أما في ESP32، فتذكر ورقة بيانات WROOM-32 أن الطرف يمكنه توفير نحو 40 mA عند أقصى قوة تشغيل. لكن هذا الرقم ينخفض إلى نحو 29 mA عندما تعمل أطراف كثيرة في الوقت نفسه. كما أن إعداد ESP-IDF الافتراضي يستخدم قوة تشغيل أقل من القصوى. لذلك فالقاعدة العملية واحدة في اللوحتين: مصباح LED صغير مقبول، أما الريليه والمحرك وشريط المصابيح فتحتاج ترانزستوراً أو دائرة تشغيل.

طرف 3.3V وطرف 5V وطرف VIN

في Arduino Uno، يأتي طرف 3.3V من منظم صغير، ووثائق Arduino تحدد تياره بـ 50 mA فقط. هذا يكفي حساساً أو اثنين، لكنه لا يكفي وحدة Wi-Fi خارجية مثل ESP-01. في المقابل، طرف 5V يأخذ تياره إما من USB عبر الفيوز، أو من منظم 1117 عندما تغذي اللوحة عبر المقبس.

هنا يظهر فخ شائع. منظم 1117 خطي، أي يحوّل فرق الجهد كله إلى حرارة. فإذا غذيت اللوحة بـ 12 V وسحبت 300 mA من طرف 5V، فإن المنظم يحرق:

P = (Vin − Vout) × I = (12 − 5) × 0.3 = 2.1 W

لذلك فهذه قدرة كبيرة على عبوة صغيرة بلا مشتت حراري. ونتيجة لذلك يصل المنظم إلى حماية الحرارة، فينقطع الجهد ثم يعود بشكل متكرر. الجدول التالي يوضح كيف يتغير التيار الآمن مع جهد الإدخال، بافتراض أن المنظم يتحمل نحو 1 W عملياً على لوحة صغيرة:

جهد VINالفرق على المنظمأقصى تيار تقريبي من طرف 5V
7 V2 Vنحو 500 mA
9 V4 Vنحو 250 mA
12 V7 Vنحو 140 mA

إذن رفع جهد الإدخال لا يعني طاقة أكبر. بل على العكس، كلما ارتفع VIN قلّ التيار الذي تستطيع سحبه بأمان. وفي ESP32 DevKit يتكرر المبدأ نفسه مع منظم 3.3 V. أغلب هذه اللوحات تستخدم منظماً من نوع AMS1117-3.3 بتصنيف 1 A، لكن الحد الفعلي حراري. كذلك يحتاج هذا المنظم فرق جهد يقارب 1.1 V ليعمل، أي أن مدخله يجب ألا ينخفض كثيراً عن 4.4 V.

منفذ USB

منفذ USB 2.0 في الحاسب مصمم لتوفير 500 mA للجهاز، بجهد بين 4.75 و5.25 V عند المنفذ. أما USB 3.0 فيوفر 900 mA. بعض الشواحن توفر أكثر، لكن الكابل نفسه قد يكون الحد الحقيقي. ذلك لأن الكابلات الرخيصة تستخدم أسلاك تغذية رفيعة، وكل سلك رفيع يعني هبوط جهد إضافياً.

4. كيف تقرأ ورقة البيانات (Datasheet) وتستخرج الحدود

في الحقيقة، ورقة البيانات هي المرجع الوحيد الموثوق. لكن قراءتها تحتاج معرفة أين تبحث، لأن الرقم نفسه قد يظهر في ثلاثة جداول بمعانٍ مختلفة.

أولاً: جدول Absolute Maximum Ratings. هذا الجدول يحدد النقطة التي يتلف بعدها المكون. لذلك لا تصمم عليه أبداً، بل اعتبره خطاً أحمر لا تقترب منه. مثلاً، حد 40 mA لطرف ATmega328P من هذا النوع.

ثانياً: جدول Recommended Operating Conditions. هذا هو نطاق التشغيل الذي تضمن فيه الشركة الأداء. وعلى سبيل المثال، تحدد Espressif جهد وحدة WROOM-32 بين 3.0 و3.6 V، وتشترط مصدراً يوفر 0.5 A على الأقل.

ثالثاً: جدول Electrical Characteristics. هنا تجد قيم الاستهلاك في أعمدة Min وTyp وMax. القيمة النموذجية (Typ) تصف قطعة متوسطة في ظروف المختبر. أما في ميزانية الطاقة فاستخدم دائماً القيمة القصوى (Max)، أو قيمة الذروة إن وُجدت.

رابعاً: شروط الاختبار. كل رقم مكتوب بجانبه شرط: درجة حرارة، وجهد، وتردد. فإذا كان استهلاك المتحكم مذكوراً عند 25 °C و8 MHz، فلن يكون الرقم نفسه عند 16 MHz وفي علبة مغلقة داخل سيارة صيفاً.

خامساً: الخصائص الحرارية. للمنظمات والترانزستورات قيمة θJA، وهي مقدار ارتفاع الحرارة لكل واط. ومنها نحسب حرارة الوصلة:

Tj = Ta + P × θJA
مثال: Ta = 40 °C ، P = 0.54 W ، θJA ≈ 90 °C/W
Tj ≈ 40 + 0.54 × 90 ≈ 89 °C (مقبول تحت حد 125 °C)
تنبيه مهم للبيئة السعودية: درجة الحرارة داخل علبة مغلقة في الصيف قد تتجاوز 50 °C. لذلك احسب حرارة المنظم على أسوأ درجة حرارة محيطة متوقعة، لا على حرارة المكتب.

5. ميزانية الطاقة (Power Budgeting) خطوة بخطوة

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

باختصار، هذه هي الطريقة التي يتبعها المهندس:

  1. اكتب قائمة الأحمال كلها: المتحكم، والشاشة، والحساسات، ووحدات الاتصال، والمصابيح، والمحركات.
  2. صنّفها حسب خط التغذية: ما يعمل على 3.3 V، وما يعمل على 5 V، وما يعمل على جهد أعلى.
  3. استخرج ثلاث قيم لكل حمل: النموذجية، والقصوى، والذروة.
  4. اجمع كل خط على حدة: ثم انتبه إلى أن تيار خط 3.3 V يمر عبر المنظم، فيُضاف إلى خط 5 V الذي يغذيه.
  5. طبّق معامل التزامن: أي اسأل أي الأحمال تعمل معاً في اللحظة نفسها.
  6. قارن كل حلقة بحدها: الطرف، ثم المنظم، ثم الفيوز، ثم المصدر، ثم الكابل.
  7. أضف هامشاً احتياطياً: ثم تحقق بالقياس الفعلي.
I_rail(5V) = Σ I_loads(5V) + I_rail(3.3V) // المنظم الخطي: تيار الدخل ≈ تيار الخرج
Utilization = I_peak_total ÷ I_source_rated × 100%
Headroom = (0.8 × I_source_rated) − I_peak_total

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

6. التيار العادي والأقصى وتيار الذروة في ميزانية الطاقة

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

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

على سبيل المثال، خذ ESP32. حسب ورقة بيانات Espressif، يستهلك المتحكم بين 20 و68 mA في وضع Modem-sleep حسب سرعة المعالج. لكن عند إرسال Wi-Fi بمعيار 802.11b وبأعلى قدرة إرسال، يقفز الاستهلاك إلى نحو 240 mA. كذلك يستهلك إرسال Bluetooth نحو 130 mA. وهذه القفزات تتكرر عشرات المرات في الثانية أثناء الاتصال.

تيار ESP32 الحقيقي أثناء إرسال Wi-Fi وهبوط الجهد حتى عتبة Brownout
الملتيميتر يعرض متوسطاً هادئاً، بينما ذروات الإرسال القصيرة هي التي تُسقط الجهد.
الحملالمصدر الشائع لتيار الذروةقيمة تقريبية
ESP32إرسال Wi-Fiنحو 240 mA
محرك سيرفو صغير SG90بدء الحركة أو التوقف القسري (Stall)عدة مئات من mA، وتختلف بين القطع
محرك DCتيار البدءمن 3 إلى 10 أضعاف تيار التشغيل
وحدة GSM مثل SIM800Lنبضات الإرسالحتى 2 A حسب ورقة البيانات
مكثفات الدخل في الوحداتلحظة التوصيل (Inrush)قصيرة جداً لكنها عالية
مصباح WS2812Bاللون الأبيض بأعلى سطوعنحو 60 mA لكل مصباح

لكن متى نصمم على الذروة؟ القاعدة بسيطة: المصدر والمنظم والكابل يجب أن تتحمل الذروة دون أن ينخفض الجهد تحت حد التشغيل. أما الحرارة والبطارية فتُحسب على المتوسط، لأنها تعتمد على الطاقة عبر الزمن.

7. هل يتحمل النظام حساساً إضافياً؟ اختبار قبل التوصيل

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

  1. هل يتوافق الجهد؟ وحدة تعمل بمنطق 5 V قد تتلف أطراف ESP32 دون محوّل مستويات (Level Shifter).
  2. هل يتسع الهامش؟ احسب: الهامش = (0.8 × تيار المصدر المقنن) − مجموع الذروة الحالي. ثم قارن الهامش بذروة الحمل الجديد.
  3. هل يتحمل المنظم الحرارة الإضافية؟ أعد حساب P = (Vin − Vout) × I الجديد.
  4. هل يتحمل الطرف الذي سيوصل به؟ طرف 3.3V في Uno مثلاً محدود بـ 50 mA.
  5. هل يعمل في اللحظة نفسها مع حمل ثقيل؟ مثلاً، تشغيل المحرك أثناء إرسال Wi-Fi يجمع الذروتين.
  6. هل توجد موارد كافية؟ أي أطراف حرة، وعنوان I2C غير مستخدم، وذاكرة كافية. وهذا موضوع القسم 15.
جرّب بنفسك: مشروعك يتغذى من منفذ USB 2.0، ومجموع الذروة الحالي 320 mA. هل يمكنك إضافة وحدة GPS تسحب 50 mA؟ الهامش = 0.8 × 500 − 320 = 80 mA. إذن نعم، ويتبقى 30 mA فقط. لكن إضافة ريليه بـ 80 mA بعدها ستتجاوز حد التصميم الآمن.

8. توزيع الطاقة (Power Distribution): مصادر خارجية وBuck وLDO

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

مخطط توزيع الطاقة الصحيح لمشروع ESP32 بمصدر خارجي ومنظم Buck وأرضي مشترك
المحوّل يغذي الأحمال الثقيلة مباشرة عبر ناقل 5 V، والمتحكم يرسل الإشارات فقط.

المنظم الخطي (LDO)

أولاً، المنظم الخطي بسيط وهادئ، أي لا يُصدر ضوضاء كهربائية تقريباً. لذلك هو مناسب للحساسات التناظرية والدوائر الحساسة. لكن عيبه أن كفاءته تساوي تقريباً نسبة جهد الخرج إلى جهد الدخل. فمن 5 V إلى 3.3 V تكون الكفاءة نحو 66%، ومن 12 V إلى 3.3 V تنخفض إلى نحو 27%، والباقي حرارة.

منظم Buck Converter

ثانياً، منظم Buck يعمل بالتبديل السريع، فتصل كفاءته عادة بين 85% و95%. وبالتالي يمكنه تحويل 12 V إلى 5 V بتيار عدة أمبيرات دون سخونة كبيرة. في المقابل، يُصدر ضوضاء تبديل قد تؤثر في القراءات التناظرية. والحل الشائع أن تستخدم Buck للخفض الكبير، ثم LDO صغيراً بعده للدوائر الحساسة.

LDO : P_loss = (Vin − Vout) × I , I_in ≈ I_out
Buck: I_in = (Vout × I_out) ÷ (Vin × η) , η ≈ 0.85–0.95
مثال Buck: 5 V × 1.5 A ÷ (12 V × 0.9) ≈ 0.69 A من محوّل 12 V
المعيارLDOBuck Converter
الكفاءةVout ÷ Vin تقريباً85–95% عادة
الحرارة عند فرق جهد كبيرعالية جداًمنخفضة
الضوضاءمنخفضة جداًأعلى، وتحتاج تصفية أحياناً
فرق الجهد الأدنىيحتاج Dropout، مثل 1.1 V في AMS1117يحتاج دخلاً أعلى من الخرج بهامش
الاستخدام الأمثلفرق صغير وتيار منخفض ودوائر حساسةفرق كبير أو تيار عالٍ أو بطارية

مكثفات الفصل والتخزين

المكثف القريب من الحمل يعمل كخزان صغير يغطي الذروات القصيرة قبل أن يشعر بها المصدر. لذلك ضع مكثفاً سيراميكياً 100 nF ومكثفاً إلكتروليتياً بين 100 و470 µF قرب طرفي التغذية في ESP32. وكذلك ضع مكثفاً كبيراً، مثل 1000 µF، عند بداية شريط مصابيح WS2812B، ومكثفاً قرب المحركات.

9. التوالي والتوازي والأرضي المشترك (Common Ground)

في التوصيل على التوازي يرى كل حمل الجهد نفسه، بينما تُجمع التيارات. وهذا ما نريده للحساسات والوحدات، لأن كل وحدة مصممة لجهد ثابت. أما في التوصيل على التوالي فيمر التيار نفسه في كل الأحمال، بينما يتقاسم الحملان الجهد. ولأن مقاومة الوحدة الإلكترونية تتغير مع عملها، يصبح جهد كل منها غير مستقر.

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

القاعدة نفسها تنطبق على البطاريات. فخليتان على التوالي تضاعفان الجهد، وخليتان على التوازي تضاعفان السعة، والطاقة المخزنة متساوية في الحالتين.

الأرضي المشترك: لماذا هو ضروري؟

كل إشارة كهربائية هي فرق جهد بين نقطتين. فعندما يرسل ESP32 إشارة 3.3 V إلى وحدة تتغذى من مصدر آخر، تحتاج الوحدة إلى مرجع مشترك تقيس منه. لذلك يجب ربط سالب كل المصادر معاً. وبدون ذلك تصبح الإشارة بلا معنى، وقد يمر تيار في مسار غير متوقع.

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

10. هبوط الجهد وBrownout والحرارة والقراءات غير المستقرة

هبوط الجهد (Voltage Drop)

بدايةً، كل سلك له مقاومة، وكل مقاومة تسبب هبوط جهد يساوي التيار مضروباً فيها. فالسلك بقياس 24 AWG مثلاً مقاومته نحو 0.084 Ω لكل متر. وأسلاك Dupont ونقاط لوحة التجارب تضيف مقاومة تلامس لا تظهر في الحسابات.

ΔV = I × R_wire
كابل USB رفيع بطول 1 m: مقاومة الذهاب والعودة ≈ 0.4 Ω
عند 0.5 A: ΔV ≈ 0.2 V → 5.0 V تصبح 4.8 V عند اللوحة

هذا الهبوط يبدو صغيراً، لكنه يتراكم. فإذا وصل إلى منظم AMS1117 جهد 4.3 V أثناء ذروة Wi-Fi، فلن يتمكن المنظم من الحفاظ على 3.3 V، لأنه يحتاج فرقاً يقارب 1.1 V.

إعادة التشغيل بسبب Brownout

علاوة على ذلك، يحتوي ESP32 على كاشف Brownout يراقب الجهد. وعندما ينخفض الجهد تحت العتبة، يعيد المتحكم التشغيل لحماية الذاكرة من الكتابة الخاطئة. العتبة الافتراضية في ESP-IDF تقارب 2.43 V، ويمكن رفعها حتى نحو 2.8 V. لذلك ترى في الشاشة التسلسلية رسالة مثل Brownout detector was triggered، ثم سبب إعادة التشغيل rst:0xf (BROWNOUT_RST).

لا تعطّل كاشف Brownout. بعض المنتديات تنصح بتعطيله لإخفاء المشكلة. لكن هذا يشبه إطفاء إنذار الحريق بدلاً من إطفاء الحريق، وقد يسبب تلف البيانات في ذاكرة Flash. بدلاً من ذلك، أصلح السبب: مصدر أقوى، وكابل أقصر وأسمك، ومكثف قريب.

سخونة منظمات الجهد

إذا شعرت بأن المنظم ساخن لدرجة لا تستطيع لمسه، فحرارته غالباً فوق 60 °C. احسب القدرة المفقودة عليه بالمعادلة P = (Vin − Vout) × I. فإذا تجاوزت نحو 1 W في عبوة صغيرة، فالحل إما خفض جهد الدخل، أو تقليل التيار، أو استبدال المنظم الخطي بمنظم Buck.

عدم استقرار قراءات الحساسات

في Arduino Uno، المرجع الافتراضي لمحوّل ADC هو جهد التغذية نفسه. إذن عندما ينخفض 5 V إلى 4.7 V بسبب محرك، تتغير كل القراءات التناظرية بالنسبة نفسها. أما في ESP32 فهناك سببان إضافيان: ضوضاء Wi-Fi، وأن قناة ADC2 لا تعمل أثناء تشغيل Wi-Fi. والحلول العملية هي: فصل أرضي الأحمال الثقيلة، وإضافة مكثفات، وأخذ متوسط عدة قراءات، والقراءة في لحظات توقف المحرك.

11. القياس الفعلي: كيف تتحقق من حساباتك

بمعنى آخر، الحساب يعطيك توقعاً، والقياس يعطيك الحقيقة. لذلك لا تكتمل ميزانية الطاقة حتى تقارن الحساب بالقياس.

قياس التيار بالملتيميتر

لقياس التيار يجب أن يكون الملتيميتر على التوالي مع الحمل، أي أن يمر التيار عبره. افصل سلك التغذية الموجب، ثم ضع المجسين في الفجوة. ابدأ دائماً بمدخل 10 A ثم انتقل إلى نطاق mA إذا كان التيار صغيراً، لأن مدخل mA محمي بفيوز صغير.

لكن انتبه لأمرين. أولاً، الملتيميتر يعرض متوسطاً بطيئاً، فلن يُظهر ذروات Wi-Fi التي تستمر أجزاء من الثانية. ثانياً، للملتيميتر مقاومة داخلية في نطاق mA، فيسبب هبوط جهد يسمى Burden Voltage. وقد يكون هذا الهبوط وحده كافياً لإحداث Brownout أثناء القياس. لذلك قِس على جانب 5 V قبل المنظم، لا على خط 3.3 V مباشرة.

أدوات أدق

الأداةماذا تقيسمتى تستخدمها
ملتيميترالمتوسط والجهد الثابتالاستهلاك العام وفحص الجهود
مقياس USB (USB Power Meter)جهد وتيار مدخل USB كاملاًالمشروع كله دون فك أي سلك
وحدة INA219 أو INA226تيار وجهد وقدرة مع تسجيلتسجيل الاستهلاك عبر الزمن أو حساب عمر البطارية
راسم إشارة + مقاومة 0.1 Ωشكل التيار الحقيقي والذرواتتحليل Brownout وتيارات البدء
اختبار أسوأ حالة: شغّل كل الأحمال معاً في أعلى حالاتها: المصابيح بالأبيض الكامل، والمحرك في حركة، وWi-Fi يرسل. ثم قِس الجهد عند أبعد حمل عن المصدر. إذا بقي ضمن نطاق التشغيل، فتصميمك سليم.

12. اختيار مصدر التغذية والهامش الاحتياطي في ميزانية الطاقة

بعد أن تحسب الذروة الكلية، تحتاج إلى مصدر يتحملها بهامش. والقاعدة الهندسية الشائعة أن يعمل المصدر بشكل مستمر عند 70–80% من قدرته المقننة على الأكثر. أي يجب أن تكون قدرته أكبر من الحمل بنسبة 25–40%.

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

I_source ≥ I_peak_total ÷ 0.8
P_source ≥ (V × I_peak_total) ÷ η_regulators ÷ 0.8

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

مثال على عمر البطارية

جهاز ESP32 يستيقظ كل 10 دقائق، ويعمل 5 ثوانٍ بتيار 120 mA، ثم ينام. وحدة ESP32 وحدها تستهلك نحو 10 µA في Deep-sleep. لكن لوحة DevKit كاملة قد تستهلك عدة ملي أمبيرات أثناء النوم، بسبب المنظم وشريحة USB ومصباح البيان.

I_avg = (I_active × t_active + I_sleep × t_sleep) ÷ T

وحدة مجردة: (120 × 5 + 0.01 × 595) ÷ 600 ≈ 1.0 mA → 2000 mAh × 0.8 ÷ 1.0 ≈ 66 يوماً
لوحة DevKit: (120 × 5 + 6 × 595) ÷ 600 ≈ 7.0 mA → 2000 mAh × 0.8 ÷ 7.0 ≈ 9.5 أيام

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

13. مثال حسابي كامل: ميزانية الطاقة لمشروع ESP32 يكبر حتى يتجاوز حدوده

الآن نجمع كل ما سبق في مشروع واحد. نبدأ بلوحة ESP32 DevKit تتغذى من منفذ USB 2.0، أي أن الحد 500 mA، وحد التصميم الآمن 400 mA. ثم نضيف المكونات على أربع مراحل، ونحسب ميزانية الطاقة بعد كل مرحلة.

المكونالخطتيار الذروة المعتمدالمصدر
وحدة ESP32 مع Wi-Fi3.3 V240 mAورقة بيانات ESP32
شاشة OLED بحجم 0.96 بوصة3.3 V20 mAقيمة شائعة للوحدات، وتعتمد على عدد البكسلات المضاءة
حساس BME2803.3 V1 mAأقل من 1 mA أثناء القياس
حساس MPU60503.3 V4 mAنحو 3.9 mA للجيروسكوب والتسارع
وحدة GPS من نوع NEO-6M3.3 V50 mAتقريبية للوحدة مع مصباحها
وحدة ريليه 5 V5 V80 mAملف الريليه مع مصباح البيان
8 مصابيح WS2812B5 V480 mA60 mA لكل مصباح بالأبيض الكامل
محرك سيرفو SG905 V650 mAقيمة توقف قسري تقريبية، وتختلف بين القطع

المرحلة أ: المتحكم والشاشة وحساسان

I(3.3V) = 240 + 20 + 1 + 4 = 265 mA
I(5V in) = 265 mA → 53% من حد USB ✓
P(LDO) = (5 − 3.3) × 0.265 ≈ 0.45 W ✓

إذن الوضع آمن، والمنظم دافئ فقط.

المرحلة ب: إضافة GPS وريليه

I(3.3V) = 265 + 50 = 315 mA
I(5V in) = 315 + 80 = 395 mA → 79% من حد USB ⚠ عند حد التصميم الآمن
P(LDO) = 1.7 × 0.315 ≈ 0.54 W

المشروع ما زال يعمل، لكنه وصل إلى حافة الهامش. فإذا كان كابل USB رفيعاً، فقد تبدأ إعادة التشغيل أثناء ذروات Wi-Fi.

المرحلة ج: إضافة 8 مصابيح WS2812B

I(5V in) = 395 + 480 = 875 mA → 175% من حد USB ✗

أما هنا فقد تجاوز المشروع حدوده بوضوح. حتى لو خفضت سطوع المصابيح إلى 30%، فسيكون المجموع نحو 540 mA، وهو أيضاً فوق حد USB.

المرحلة د: إضافة محرك سيرفو

I(5V in) = 875 + 650 = 1525 mA → 305% من حد USB ✗✗
ميزانية الطاقة لمشروع ESP32 عبر أربع مراحل مقارنة بحد منفذ USB
تطور ميزانية الطاقة مع كل إضافة: المرحلتان أ وب ضمن الحد، والمرحلتان ج ود تتجاوزانه.

إعادة التصميم الصحيحة

مع ذلك، الحل هنا ليس متحكماً أقوى، بل مصدر طاقة مناسب وتوزيع صحيح. لذلك نستخدم محوّل 12 V، ثم منظم Buck يخرج 5 V بتيار 3 A. بعد ذلك نغذي المصابيح والمحرك والريليه من ناقل 5 V مباشرة، ونغذي لوحة ESP32 من طرف 5V من الناقل نفسه.

ذروة ناقل 5 V = 480 + 650 + 80 + 315 = 1525 mA → 51% من قدرة Buck (3 A) ✓
قدرة ناقل 5 V = 5 × 1.525 ≈ 7.6 W
تيار محوّل 12 V = 7.6 ÷ (12 × 0.9) ≈ 0.71 A → 35% من محوّل 2 A ✓
منظم 3.3 V في اللوحة يبقى عند 0.54 W ✓

وبالتالي أصبح لدى المشروع هامش كبير لإضافات مستقبلية. كما أن تيار المحرك والمصابيح لم يعد يمر عبر لوحة التحكم. وأخيراً، أضفنا مكثف 1000 µF عند المصابيح، ومكثف 470 µF عند المحرك، وأرضياً نجمياً يجمع الكل.

حيلة برمجية مفيدة: إذا كنت تستخدم مكتبة FastLED، فالدالة FastLED.setMaxPowerInVoltsAndMilliamps(5, 400) تخفض السطوع تلقائياً حتى لا يتجاوز الشريط 400 mA. هكذا تتحكم في جزء من ميزانية الطاقة بالبرمجة.

14. متى يكون الحل مصدراً خارجياً بدلاً من تغيير المتحكم؟

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

العَرَضنوع المشكلةالحل الصحيح
إعادة تشغيل مع إضافة أحمالطاقةمصدر خارجي وتوزيع صحيح
سخونة المنظمطاقة (حرارية)منظم Buck أو خفض جهد الدخل
محرك أو شريط مصابيح لا يعمل جيداًطاقةتغذية مباشرة من المصدر ودائرة تشغيل
نفاد الأطرافمواردموسّع منافذ أو متحكم بأطراف أكثر
نفاد الذاكرة أو بطء المعالجةمواردمتحكم أقوى
البطارية تفرغ بسرعةتصميم اللوحة والنوموحدة مجردة ومنظم منخفض التيار الساكن وإدارة نوم

15. حدود الطاقة وحدود موارد المتحكم الأخرى

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

الأطراف (GPIO): يملك Arduino Uno أربعة عشر طرفاً رقمياً وستة أطراف تناظرية فقط. أما ESP32 فيملك أطرافاً أكثر، لكن بعضها مخصص للإدخال فقط، مثل GPIO34 حتى GPIO39. كما أن أطراف الإقلاع، مثل GPIO0 وGPIO2 وGPIO12 وGPIO15، تؤثر في طريقة التشغيل إذا وُصلت بشكل خاطئ.

ناقل I2C: كل جهاز عليه عنوان، والعناوين لا تتكرر. فمثلاً، شاشة OLED تستخدم غالباً 0x3C، وBME280 يستخدم 0x76 أو 0x77، وMPU6050 يستخدم 0x68 أو 0x69. إذن لا يمكنك توصيل شاشتين متطابقتين على الناقل نفسه دون مبدّل مثل TCA9548A. علاوة على ذلك، الأسلاك الطويلة ترفع سعة الناقل، والمعيار يحدها بـ 400 pF.

ناقل SPI: يتسع لأجهزة كثيرة، لكن كل جهاز يحتاج طرف اختيار (CS) خاصاً به.

الذاكرة: يملك Arduino Uno ذاكرة SRAM بحجم 2 KB فقط. وشاشة OLED بدقة 128×64 تحتاج 1 KB لذاكرة العرض المؤقتة في المكتبات الشائعة، أي نصف ذاكرة المتحكم. في المقابل، يملك ESP32 نحو 520 KB، لذلك نادراً ما تكون الذاكرة عائقاً فيه.

المعالجة والتوقيت: تشغيل Wi-Fi وBluetooth معاً، مع قراءة حساسات بتردد عالٍ، قد يستهلك وقت المعالج. لذلك يوزع المصممون المهام على نواتي ESP32 أحياناً.

قارنّا هذه الفروق بالتفصيل في دليل Arduino وRaspberry Pi وESP32: الفرق بينها وكيف تختار اللوحة المناسبة.

قائمة تحقق ميزانية الطاقة قبل إضافة أي مكون

  • استخرجت قيمة الذروة من ورقة البيانات، لا القيمة النموذجية.
  • جمعت تيار خط 3.3 V وأضفته إلى خط 5 V.
  • بقي المجموع تحت 80% من قدرة المصدر.
  • حسبت حرارة كل منظم خطي على أسوأ حرارة محيطة.
  • الأحمال الثقيلة تتغذى من المصدر مباشرة، لا من اللوحة.
  • كل المصادر مرتبطة بأرضي مشترك نجمي.
  • يوجد مكثف قرب كل حمل ذي ذروة.
  • الجهود المنطقية متوافقة، أو يوجد محوّل مستويات.
  • تحققت بالقياس في أسوأ حالة تشغيل.

اختبر نفسك

1. لوحة Arduino Uno تتغذى بـ 12 V عبر المقبس، وتريد سحب 300 mA من طرف 5V. ما المشكلة؟

المنظم الخطي سيحرق نحو (12 − 5) × 0.3 = 2.1 W، وهذا يتجاوز قدرة عبوته الصغيرة. لذلك سيدخل في حماية الحرارة. الحل هو جهد دخل أقل، أو مصدر 5 V خارجي منظم.

2. لماذا يعرض الملتيميتر 80 mA بينما تعيد لوحة ESP32 التشغيل؟

لأن الملتيميتر يعرض المتوسط. أما ذروات Wi-Fi فتصل إلى نحو 240 mA لأجزاء من الثانية، وهي التي تُسقط الجهد تحت عتبة Brownout.

3. مصدر 5 V بقدرة 2 A، ومجموع الذروة 1.7 A. هل التصميم سليم؟

يعمل المصدر عند 85% من قدرته، وهذا فوق حد 80% الآمن. لذلك يُفضّل مصدر 2.5 A أو 3 A.

4. شاشتا OLED متطابقتان على ناقل I2C واحد لا تعملان معاً. هل المشكلة في الطاقة؟

لا، المشكلة في الموارد. الشاشتان تحملان العنوان نفسه. والحل هو تغيير عنوان إحداهما إن أمكن، أو استخدام مبدّل I2C.

أسئلة شائعة

هل يمكنني تغذية ESP32 مباشرة من بطارية ليثيوم 3.7 V؟

ليس مباشرة على طرف 3V3. جهد خلية الليثيوم يصل إلى 4.2 V عند الشحن الكامل، وهذا فوق الحد الأقصى لـ ESP32 البالغ 3.6 V. لذلك استخدم منظماً منخفض فرق الجهد، أو منظم Buck-Boost.

هل يمكنني تشغيل محرك سيرفو من طرف 5V في Arduino؟

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

كم مكثفاً أحتاج قرب ESP32؟

القاعدة الشائعة هي مكثف سيراميكي 100 nF قريب جداً من طرفي التغذية، ومعه مكثف أكبر بين 10 و470 µF حسب طول أسلاك التغذية وحجم الذروات.

هل الأرقام في هذا الدليل تنطبق على ESP32-S3 أو ESP32-C3؟

المنهجية تنطبق على كل المتحكمات. أما الأرقام فتختلف، لذلك ارجع إلى ورقة بيانات الشريحة ومخطط لوحتك تحديداً.

هل استخدام محوّل جهد 12 V أفضل من 5 V؟

يكون أفضل عندما توجد أحمال تعمل على 12 V، أو عندما تكون الأسلاك طويلة، لأن التيار أقل لنفس القدرة. لكنه يتطلب منظم Buck جيداً، لا منظماً خطياً.

هل تعمل على نموذج أولي وتحتاج مراجعة لتصميم الطاقة فيه؟

في رابط لتقنية المعلومات نصمم أنظمة الطاقة والإلكترونيات للنماذج الأولية ومشاريع إنترنت الأشياء، من الحساب الأولي حتى النموذج العامل. والاستشارة الأولى مجانية عبر الواتساب.

احجز استشارتك المجانية عبر الواتساب · قيّم فكرتك مجاناً · خدمة تصنيع النماذج الأولية · حلول إنترنت الأشياء · الذكاء الاصطناعي المدمج

المصادر