🔋 باتری لیتیوم پلیمر (LiPo) (LiPo Battery)
| اسم انگلیسی | LiPo Battery |
|---|---|
| در ووکوی (Wokwi) | نسخهی آمادهای سراغ نداریم |
| دسته | 🔋 باتری و منبع تغذیه |
| در شبیهساز فارسی | مود ساده (بدون کد) و مود آردوینو · رایگان |
باتری لیتیوم پلیمر یا لیپو (LiPo Battery) باتری شارژی سبک و تختی است که هر سلولش اسماً ۳٫۷ ولت دارد: پر، ۴٫۲ ولت و خالی، حدود ۳٫۰ ولت. برای بردهای ۳٫۳ ولتی مثل ESP32 و رزبری پای پیکو منبع خیلی خوبی است؛ سبک است، شارژ میشود و جریان زیادی میدهد. در عوض باید درست شارژش کنی و نگذاری بیش از حد خالی شود. این صفحه سه چیز عملی دارد: اتصال درست به برد، شارژ، و خواندن ولتاژ باتری با ADC.
LiPo در ووکوی (Wokwi)
تا جایی که میدانیم ووکوی نسخهی آمادهی این قطعه را ندارد؛ ووکوی اصلاً قطعهی باتری ندارد و برق از پایههای 5V و 3V3 برد میآید. برای امتحان کد پایین در ووکوی، کنار board-esp32-devkit-c-v4 یک wokwi-potentiometer بگذار که VCC آن به 3V3، GND به GND و SIG به GPIO34 وصل باشد؛ ولوم ولتاژ نصفشدهی باتری را شبیهسازی میکند. LiPo خودش در تینکرکد فارسی (مود ساده و مود آردوینو) رایگان شبیهسازی میشود؛ پروژهی چراغ لمسی در مود ساده با همین باتری کار میکند.
اتصال به برد
| برد | LiPo تکسلول به | نکته |
|---|---|---|
| رزبری پای پیکو | VSYS (پایهی ۳۹) و GND | VSYS از ۱٫۸ تا ۵٫۵ ولت را میپذیرد |
| ESP32 DevKit | ورودی یک رگولاتور کمافت ۳٫۳ ولتی، و خروجی آن به 3V3 | هرگز مستقیم به 3V3؛ رگولاتور معمولی روی بیشتر DevKitها با ورودی ۳٫۷ ولت جای کافی برای ساختن ۳٫۳ ولت ندارد |
| آردوینو اونو | یک ماژول افزاینده تا ۵ ولت، یا دو سلول سری (۷٫۴ ولت) به VIN | یک سلول برای VIN کم است |
برای شارژ تکسلول، ماژولهای رایج TP4056 با USB شارژ میکنند و در ۴٫۲ ولت قطع میکنند؛ مدلهای دارای مدار محافظ، جلوی تخلیهی زیر حدود ۳ ولت را هم میگیرند.
سیمکشی: خواندن ولتاژ LiPo با ESP32
ولتاژ تا ۴٫۲ ولت از ۳٫۳ ولتِ مجاز ورودی ADC بیشتر است، پس آن را با دو مقاومت برابر نصف میکنیم. مقاومتهای ۱۰۰ کیلواهم جریان هدررفتهی مقسم را خیلی کم نگه میدارند.
| پایهی قطعه | وصل به |
|---|---|
| + باتری | سر بالای مقاومت ۱۰۰k اول (و ورودی رگولاتور) |
| وسط دو مقاومت ۱۰۰k | GPIO34 روی ESP32 |
| سر پایین مقاومت دوم | GND |
| − باتری | GND برد |
کد نمونه
// LiPo voltage on an ESP32: battery + -> 100k -> GPIO34 -> 100k -> GND
const int BAT_PIN = 34; // ADC1 pin, input only, keeps working with Wi-Fi on
const float DIVIDER = 2.0;
void setup() {
Serial.begin(115200);
analogReadResolution(12); // 0..4095
}
void loop() {
long sum = 0;
for (int i = 0; i < 16; i++) {
sum += analogRead(BAT_PIN);
delay(2);
}
float volts = (sum / 16.0) / 4095.0 * 3.3 * DIVIDER;
// rough linear estimate between empty (3.0 V) and full (4.2 V)
int percent = constrain((int)((volts - 3.0) / 1.2 * 100), 0, 100);
Serial.print("LiPo: ");
Serial.print(volts, 2);
Serial.print(" V, about ");
Serial.print(percent);
Serial.println(" percent");
if (volts < 3.3) {
Serial.println("Low battery - charge soon");
}
delay(2000);
}
مبدل ADC در ESP32 کاملاً خطی نیست و درصد بالا هم یک تخمین ساده است، چون منحنی تخلیهی LiPo صاف نیست؛ ولتاژ بیشتر عمر باتری حوالی ۳٫۷ تا ۳٫۹ ولت میماند و نزدیک آخر کار سریع میافتد. برای اعداد دقیقتر، آموزش analogRead در ESP32 را بخوان.
اشتباههای رایج
- ۴٫۲ ولت روی پایهی 3V3: ESP32 و پیکو روی پایهی 3V3 حداکثر حدود ۳٫۶ ولت را تحمل میکنند؛ LiPo پر این مرز را رد میکند.
- تخلیهی کامل: باتریای که زیر ۳ ولت رفته ممکن است آسیب ببیند؛ در کدت هشدار بگذار یا ماژول دارای محافظ بخر.
- اتصال کوتاه و باد کردن: دو سیم LiPo را هرگز به هم نزن و باتری باد کرده را دیگر شارژ نکن. شارژ را با نظارت و روی سطح نسوز انجام بده؛ برای بچههای کمسن، باتری قلمی انتخاب امنتری است.
- پایهی ADC2 با وایفای: پایههای ADC2 وقتی وایفای روشن است کار نمیکنند؛ برای همین GPIO34 را که روی ADC1 است انتخاب کردیم.
آموزشهای مرتبط
- دیپ اسلیپ ESP32: ماهها کار با باتری
- پین اوت ESP32 و پایههای امن
- پین اوت رزبری پای پیکو و پایهی VSYS
- ایدههای اینترنت اشیا با ESP32
سؤالهای رایج
باتری LiPo تکسلول را مستقیم به ESP32 وصل کنم؟
نه به پایهی 3V3. ولتاژ LiPo پر ۴٫۲ ولت است که از حد حدود ۳٫۶ ولتی ESP32 بیشتر است. باید از یک رگولاتور کمافت ۳٫۳ ولتی رد شود، یا از بردی استفاده کنی که شارژر و رگولاتور مخصوص باتری را خودش دارد.
LiPo تا چه ولتاژی خالی شود؟
برای سلامت باتری، ولتاژ هر سلول نباید زیر حدود ۳٫۰ ولت برود. ماژولهای شارژ دارای مدار محافظ معمولاً در همین حدود برق خروجی را قطع میکنند.
رزبری پای پیکو با LiPo کار میکند؟
بله. پایهی VSYS پیکو ولتاژ ۱٫۸ تا ۵٫۵ ولت را میپذیرد و رگولاتور خود برد ۳٫۳ ولت میسازد، پس یک سلول LiPo (۳ تا ۴٫۲ ولت) مستقیم به VSYS و GND وصل میشود.