ESP32 یا STM32؟ انتخاب میکروکنترلر برای پروژهٔ واقعی

عکس واقعی برد ESP32 با ماژول ESP-WROOM-32؛ نمونهٔ برد توسعه، نه نتیجهٔ آزمون این مقاله.
عکس واقعی برد ESP32 با ماژول ESP-WROOM-32؛ نمونهٔ برد توسعه، نه نتیجهٔ آزمون این مقاله. عکس: Ubahnverleih؛ منبع Wikimedia Commons؛ CC0. محتوای عکس ویرایش نشده؛ نسخهٔ نمایشی ویکی‌مدیا استفاده شده است.

پاسخ کوتاه: از نیاز پروژه شروع کنید

اگر پروژه باید بدون ماژول اضافه به Wi-Fi و BLE وصل شود، یک برد مناسب از خانوادهٔ ESP32 ارزش بررسی دارد. اگر مسئلهٔ اصلی کنترل محلی، تایمر و ورودی‌خروجی مشخص است، یک STM32 مناسب نیز می‌تواند انتخاب خوبی باشد. اما نام این دو خانواده برای تصمیم نهایی کافی نیست: ESP32-S2 بلوتوث داخلی ندارد و همهٔ STM32ها هم شبیه F103 نیستند. مدل کامل تراشه، برد و نسخهٔ ابزار را بنویسید.

در این راهنما، مقایسهٔ عددی فقط بین ESP32 کلاسیک و STM32F103C8 است. هدف، اعلام برندهٔ همیشگی نیست؛ می‌خواهیم بفهمیم کدام محدودیت زودتر پروژهٔ شما را متوقف می‌کند. قیمت و موجودی روز یا آزمون سرعت روی برد فیزیکی در این مقاله ادعا نشده است.

جدول مقایسه‌ای که مرز مدل‌ها را حفظ می‌کند

معیارESP32 کلاسیکSTM32F103C8
پردازندهمدل‌های تک/دو‌هسته‌ای Xtensa LX6؛ تا ۲۴۰ MHz بسته به مدلCortex-M3؛ تا ۷۲ MHz
حافظهٔ داخلی۵۲۰ KB SRAM؛ تمام آن RAM آزاد برنامه نیست۲۰ KB SRAM و ۶۴ KB Flash برای C8
ارتباط رادیویی داخلیWi-Fi باند ۲٫۴ GHz و Bluetooth Classic/LEWi-Fi و Bluetooth داخلی ندارد
مسیر ارتباط سیمیرابط‌های دیجیتال وابسته به مدل و پین‌های آزاد بردUSB، USART، SPI و I2C با محدودیت‌های پین و اشتراک منابع
معیار تصمیمکار شبکه، پشتهٔ نرم‌افزار و بودجهٔ توان را با هم ببینیدتایمر، حافظه و نیاز به ماژول ارتباطی اضافه را با هم ببینید

اعداد از دیتاشیت ESP32 و دیتاشیت STM32F103x8/xB آمده‌اند. عدد ۱۲۸ KB متعلق به همهٔ مدل‌های این سند نیست؛ برای C8 روی ظرفیت رسمی همان پارت طراحی کنید.

عکس واقعی برد آموزشی با عنوان STM32F103 در منبع؛ پارت و نقشهٔ برد خود را جدا تطبیق دهید.
عکس واقعی برد آموزشی با عنوان STM32F103 در منبع؛ پارت و نقشهٔ برد خود را جدا تطبیق دهید. عکس: Popolon؛ منبع Wikimedia Commons؛ CC BY-SA 4.0. محتوای عکس ویرایش نشده؛ نسخهٔ نمایشی ویکی‌مدیا استفاده شده است.

پروژهٔ اول: دماسنج متصل به گوشی و شبکه

فرض کنید SHT31 هر دو ثانیه خوانده شود، داده روی گوشی دیده شود و در صورت وجود شبکه به سرور برود. ابتدا قرارداد داده را بنویسید: دما، رطوبت، وضعیت اعتبار، شمارهٔ نمونه و زمان آخرین خواندن موفق. قطع Wi-Fi نباید زمان نمونه‌برداری را نامحدود متوقف کند و خوانش خراب هم نباید صفر معتبر نمایش داده شود.

در این سناریو، ESP32 می‌تواند تعداد قطعات ارتباطی را کم کند. هزینهٔ آن، مدیریت اتصال، حافظهٔ پشته‌ها و جهش مصرف هنگام ارسال است. انتخاب صرفاً با عدد MHz این هزینه را نشان نمی‌دهد. برای شروع، آموزش SHT31 و راه‌اندازی BLE در ESP32 را کنار هم بخوانید.

نمودار آموزشی تألیفی: ESP32 یا STM32؟ انتخاب میکروکنترلر برای پروژهٔ واقعی
نمودار آموزشی تألیفی LCENJ؛ عکس مدار، شکل موج اندازه‌گیری‌شده یا نتیجهٔ آزمایش فیزیکی نیست. فرض‌ها و کاربرد آن در متن توضیح داده شده است.

پروژهٔ دوم: کنترل محلی با خروجی زمان‌بندی‌شده

برای کنترل یک عملگر کم‌ولتاژ، تعداد تایمرهای مستقل، کانال‌های Capture و PWM، رفتار وقفه‌ها و حالت خطای خروجی را فهرست کنید. ممکن است یک STM32 کوچک همهٔ نیاز را پوشش دهد؛ ممکن است هم حافظه یا تایمر کافی نداشته باشد. جایگزین‌کردن برد با مدل قوی‌تر، بدون بررسی نگاشت پین‌ها، این سؤال را جواب نمی‌دهد.

خروجی توان را مستقیم از GPIO نگیرید. ابتدا رفتار Reset و قطع تغذیه را مشخص کنید؛ سپس درایور و حفاظت بار را انتخاب کنید. مقالهٔ MOSFET عملی و راهنمای PWM چیست؟ تفاوت فرکانس و Duty Cycle با مثال Arduino برای این بخش مکمل‌اند.

جدول نیاز را پیش از خرید پر کنید

نیاز فرضیحد قابل‌قبول پروژهشاهد پذیرش
ثبت سنسوریک نمونهٔ معتبر در هر ۲ ثانیهثبت فاصلهٔ نمونه‌ها و سن داده
بازگشت شبکهپس از قطع، تلاش محدود و قابل مشاهدهگزارش رخداد و شمارندهٔ تلاش
خروجی کنترلحالت پیش‌فرض خاموشبررسی Reset و راه‌اندازی مجدد
حافظهحاشیهٔ کافی در بدترین حالتگزارش مصرف با شبکه و لاگ فعال
توانمتناسب با منبع و باتری واقعیاندازه‌گیری جداگانهٔ خواب، پردازش و ارسال

مقادیر این جدول، مثال طراحی‌اند. برای پروژهٔ خودتان حد را تغییر دهید و همان نسخهٔ Firmware را روی گزینه‌های واقعی مقایسه کنید. یک آزمایش با لاگ خاموش و دیگری با لاگ سنگین مقایسهٔ منصفانه‌ای نیست.

تراشه، ماژول و برد توسعه را جدا ببینید

ممکن است تراشه رابطی داشته باشد اما پایهٔ موردنیاز روی برد بیرون نیامده یا به Flash، LED یا قطعهٔ دیگری وصل شده باشد. ماژول نیز محدودیت آنتن و تغذیه دارد. تعداد پایه‌های چاپ‌شده در صفحهٔ فروش، تعداد GPIO آزاد و مناسب پروژه نیست.

برای مصرف باتری، LED تغذیه، رگولاتور و مبدل USB برد توسعه را هم حساب کنید. جریان خواب نوشته‌شده در دیتاشیت تراشه، مصرف کل یک DevKit را تضمین نمی‌کند. راهنمای چرا ESP32 ریست می‌شود؟ عیب‌یابی Brownout و تغذیه برای بررسی منبع تغذیه و چگونه دیتاشیت بخوانیم؟ از حد مطلق تا انتخاب قطعه برای خواندن شروط مشخصات کمک می‌کند.

پرسش‌های رایج و گام بعدی

آیا ESP32 همیشه سریع‌تر است؟

عدد کلاک به‌تنهایی زمان پاسخ برنامه، تأخیر وقفه یا سرعت رابط را تعیین نمی‌کند. همان کار واقعی را با محدودیت مشخص مقایسه کنید.

آیا همهٔ ESP32ها Wi-Fi و بلوتوث یکسان دارند؟

خیر؛ قابلیت‌های مدل دقیق، ماژول و نسخهٔ پشته را بررسی کنید. نام خانواده جای جدول ویژگی‌ها را نمی‌گیرد.

آیا برای سنسور ساده همیشه برد ارزان‌تر کافی است؟

فقط پس از بررسی حافظه، پین، منبع، خطا و ابزار توسعه. قطعهٔ ارزان می‌تواند هزینهٔ ماژول یا زمان توسعهٔ بیشتری ایجاد کند.

گام بعدی: برگهٔ نیاز همراه مقاله را پر کنید، یک قابلیت ضروری را پیاده کنید و با همان معیار روی سخت‌افزار هدف آزمون بگیرید.

منابع رسمی و فایل‌های همراه

منابع فنی در ۲۰۲۶/۱۰/۱۳ بررسی شده‌اند. نسخه و مدل قطعهٔ خود را با سند مرتبط تطبیق دهید.

دریافت برگهٔ تصمیم و ثبت آزمون (CSV)؛ بستهٔ کامل مقاله و فایل‌های همراه از بخش دانلود همین صفحه در دسترس است.

شیوهٔ تدوین: تهیه و بررسی فنی با کمک ابزارهای هوش مصنوعی، منابع رسمی و مثال‌های محاسباتی. اعداد فرضی با برچسب مثال آمده‌اند؛ آزمون نرم‌افزاری یا کامپایل، جای آزمون قطعه و مدار واقعی را نمی‌گیرد.