در این آموزش، ما یاد خواهیم گرفت که چگونه از ESP32 برای اندازهگیری ولتاژهای DC مختلف، از جمله 12V، 24V و حتی تا 100V استفاده کنیم. با بهرهگیری از یک مدار تقسیم ولتاژ ساخته شده از دو مقاومت، میتوانیم ولتاژهای بالاتر را بهطور ایمن اندازهگیری کنیم بدون اینکه خطر آسیبی به میکروکنترلر ESP32 ایجاد شود. این پروژه نشان خواهد داد که چگونه این ولتاژها را خوانده و بر روی نمایشگر مسلسل نمایش دهیم، و بینشهای ارزشمندی در مورد منابع قدرت خود ارائه خواهد داد.
ESP32-55-هر ولتاژ-اصلی
برای توضیح جامع و کامل ویدیو را تماشا کنید (در ویدیو در :00). ما از یک پیکربندی تقسیم ولتاز ساده برای دستیابی به این هدف استفاده خواهیم کرد، با اطمینان از اینکه میتوانیم ولتاژهایی را که از حداکثر سطوح ورودی ESP32 فراتر میروند، بهصورت ایمن اندازهگیری کنیم. این آموزش برای افرادی که به دنبال گسترش دانش خود در مورد ESP32 و قابلیتهای آن هستند، ایدهآل است.
فرمول محاسبه ولتاژ
فرمول-ولتاژ-هر-نوع-ESP32-55
توضیحاتی درباره سختافزار
اجزای اصلی این پروژه شامل میکروکنترلر ESP32، دو مقاومت که یک تقسیم ولتاژ را شکل میدهند، و منبع تغذیهای است که میخواهید اندازهگیری کنید. ESP32 دارای قابلیتهای Wi-Fi و بلوتوث داخلی است که آن را انتخابی چندمنظوره برای پروژههای اینترنت اشیا میسازد. تقسیم ولتاژ که از دو مقاومت تشکیل شده، به ما اجازه میدهد تا ولتاژ را به سطح ایمنی که ESP32 بتواند پردازش کند، کاهش دهیم.
در این تنظیمات، یک مقاومت،R1مقدار 10kΩ ثابت است، در حالی که مقاومت دوم،R2میتواند بسته به حداکثر ولتاژی که میخواهید اندازهگیری کنید متغیر باشد. ولتاژ در سراسرR1این چیزی است که ما با استفاده از پایه ورودی آنالوگ ESP32 خواهیم خواند، که به ما امکان میدهد ولتاژ اصلی منبع برق را محاسبه کنیم.
مطمئن شوید که مقاومتها ۱% تلورانس دارند تا اندازهگیریهای دقیقی انجام شود.
از یک تقسیم کننده ولتاژ استفاده کنید تا از تجاوز به ردههای ولتاژ ورودی ESP32 جلوگیری کنید.
نگهداریدR1در 10 کیلو اهم و تنظیم کنیدR2بر اساس محدوده ولتاژ.
اتصالات را بررسی کنید تا از ورودیهای شناور که میتوانند منجر به قرائتهای نادرست شوند، جلوگیری کنید.
از یک منبع انرژی پایدار برای اندازهگیریهای ولتاژ مداوم استفاده کنید.
دستورات سیمکشی
برای اتصال مدار، با وصل کردن یک سر ازR1مقاومت (10kΩ) را به منبع ولتاژ خود متصل کنید و انتهای دیگر آن را به پایه GPIO 35 ESP32 وصل کنید. این پایه ولتاژ را اندازهگیری خواهد کردR1. سپس، اتصال دهید بهR2مقاومت (که میتواند ۱۰۰ کیلو اهم یا مقدار دیگری بسته به نیاز شما باشد) بین نقطه تلاقیR1و زمین. اطمینان حاصل کنید که زمین منبع برق نیز به زمین ESP32 متصل است.
برای مثال، اگر ولتاژ ۲۴ ولت را اندازهگیری میکنید، پایه مثبت منبع تغذیه را بهR1سپس انتهای دیگر را وصل کنیدR1به پایه 35 و تقاطع دو مقاومت. سر آزادR2باید به زمین بروید. این پیکربندی به ESP32 اجازه میدهد تا ولتاژ کاهشی را بهطور ایمن بخواند.
نمونههای شِفر (کود) و راهنما
const int R1 = 10000; // Resistor 1 value
const int R2 = 100000; // Resistor 2 value
const int VinPin = 35; // Voltage input pin
در این بخش، مقادیر مقاومتهای خود را تعریف میکنیم،R1وR2و همچنین پایه آنالوگVinPinکه ما از آن برای خواندن ولتاژ استفاده خواهیم کرد. این ثوابت برای محاسبات ولتاژ ما حیاتی هستند.
این تابع ولتاژ را در میلیولت از پایه مشخص شده میخواند و ولتاژ واقعی را محاسبه میکند.VB1استفاده از فرمول تقسیم ولتاژ. این برای تبدیل ولتاژ کاهشیافته به مقدار اصلی اهمیت دارد.
در اینجا، یک تابع برای محاسبه و چاپ حداکثر ولتاژی که میتوان بهطور ایمن اندازهگیری کرد بر اساس مقادیر مقاومت تعریف میکنیم. این تابع برای اطمینان از عدم گذر از محدودیتهای ولتاژ ESP32 بسیار حائز اهمیت است.
نمایش / چه انتظاری داشته باشیم
زمانی که شِفر (کود) را اجرا میکنید، باید ولتاژ اندازهگیریشده را روی مانیتور سری ببینید. وقتی ولتاژ ورودی را تنظیم میکنید، خوانشها باید این تغییرات را بهصورت لحظهای نشان دهند و توانایی ESP32 در اندازهگیری ولتاژهای مختلف DC بهدقت را نشان دهند. اگر در خوانشها نوساناتی مشاهده کردید، در نظر داشته باشید که میانگین چندین نمونه را محاسبه کنید تا نتیجهای پایدارتر بدست آورید (در ویدیو در ۱۲:۳۰).
فاصلههای زمانی ویدیو
۰۰:۰۰ شروع
۱:۵۹ مقدمهای بر پروژه
5:۴۵ تقسیم ولتاژ
۷:۳۳ توضیحاتی درباره سیمکشی
9:14 شِفر (کود) آردوینو توضیح داده شده
انتخاب برد ESP32 و پورت COM در Arduino IDE در ساعت ۱۴:۴۵
16:27 اندازهگیری 30V با استفاده از ESP32 نمایشگاه
۲۱:۳۶ مقدار R2 را به ۳۳۰ کیلو اهم تغییر دادند
22:33 حداقل اندازهگیری ولتاژ
تصاویر
ESP32-55_any-voltrage-formula
ESP32-55-any-voltage-main
ESP32-55_any-voltrage-formula
ESP32-55-any-voltage-main
805-ESP32 Tutorial 55/55 - Arduino code to measure 12V, 24V or 100V DC voltage