Skip to main content

Энергосистема (Power Management)

Управление питанием: как сделать, чтобы робот не умер в самый ответственный момент

Представьте, что ваш робот — это спортсмен. Мозг (контроллер) — это голова, моторы — это ноги, а батарея — это сердце. Если сердце бьется неровно или крови не хватает — спортсмен упадет на дистанции.


Основные принципы питания робота

Правило 1: Разные части — разное питание

Неправильно:             Правильно:
[Батарея 12V]            [Батарея 12V]
     │                         │
     ├──[Моторы 12V]           ├──[Моторы 12V]
     └──[Arduino 5V]           │
                               └──[Преобразователь 12V→5V]──[Arduino 5V]

Почему: Моторы создают скачки напряжения. Если они “сидят” на одной линии с Arduino, при старте мотора Arduino может перезагрузиться.

Правило 2: Общая земля

Все минусы (GND) должны быть соединены:
Батарея(-) ─┬─ Arduino GND
            ├─ Мотор GND
            └─ Датчик GND

Почему: Без общей земли устройства не понимают, какой уровень напряжения считать “нулем”.

Правило 3: Запас по току

Если ваш робот потребляет:
• Arduino: 50 мА
• Датчики: 100 мА  
• Моторы: 2 А (в пике 4 А)
Нужен источник минимум на: 50+100+4000 = 4150 мА ≈ 4.2 А
А лучше с запасом: 5-6 А

Компоненты системы питания

1. Батареи: что выбрать?

ТипНапряжениеЕмкостьТокПлюсыМинусыДля чего
Li-Po3.7V (1S)1000-5000 мАч20-100 АЛегкая, мощнаяОпасна, нужен BMSДроны, быстрые роботы
Li-Ion 186503.7V2000-3500 мАч5-20 АДешевая, надежнаяТяжелаяМобильные роботы
Ni-MH (AA/AAA)1.2V500-2500 мАч2-10 АБезопаснаяТяжелая, малая емкостьПростые проекты
LiFePO43.2V1000-5000 мАч10-50 АБезопасная, долгая жизньДорогая, тяжелаяПромышленные роботы

Пример для школьного проекта:

Робот на Arduino + 2 моторчика:
• Батарея: 2x Li-Ion 18650 (7.4V)
• Емкость: 2x 2500 мАч = 5000 мАч
• Время работы: ~2-3 часа

2. Преобразователи напряжения (DC-DC)

Понижающие (Step-Down / Buck)

12V → [LM2596] → 5V (для Arduino)
12V → [XL4015] → 3.3V (для ESP32)

Плюсы: Не греются (КПД 80-95%), можно много тока.

Минусы: Сложная схема, создают помехи.

Повышающие (Step-Up / Boost)

3.7V (Li-Po) → [MT3608] → 5V (для Arduino)
2x AA (3V) → [Boost] → 5V

Плюсы: Можно получить нужное напряжение от низковольтной батареи.

Минусы: Меньший КПД, греются.

Линейные (LDO)

Примеры: LM7805, AMS1117
12V → [LM7805] → 5V

Плюсы: Простые, дешевые, чистый сигнал (без помех).

Минусы: Греются как утюг! На 1А теряют 7Вт в тепло.

Мощность на тепло = (12V - 5V) × 1A = 7 Вт!

3. Защита (BMS — Battery Management System)

Зачем: Чтобы батарея не взорвалась и не умерла раньше времени.

Что делает BMS:

  • Не дает перезарядить (>4.2V для Li-Ion)
  • Не дает полностью разрядить (<2.8V)
  • Балансирует элементы (в сборке из нескольких)
  • Защищает от короткого замыкания

Пример модуля BMS:

Для 2x 18650 (7.4V) → BMS 2S
Подключается между батареей и нагрузкой:
[Батарея+] → [BMS IN+] → [BMS OUT+] → [Робот]
[Батарея-] → [BMS IN-] → [BMS OUT-] → [Робот]

Практические схемы для школьных проектов

Схема 1: Простой робот на Arduino

[2x 18650 (7.4V)] → [BMS 2S] → [Выключатель]
          Моторы 7.4V ←────────────┴───────────────┐
                                         [LM2596 7.4V→5V] → Arduino 5V
                                                     Датчики (5V/GND)

Схема 2: Робот с ESP32 и Wi-Fi

[Li-Po 3.7V 2000мАч] → [BMS 1S]
          ┌────────────────────┴────────────────────┐
          ↓                                         ↓
   [MT3608 3.7V→5V]                       [Моторы 3.7V через драйвер]
   ESP32 (5V) + Датчики

Схема 3: Мощный робот с Raspberry Pi

[4x 18650 (14.8V)] → [BMS 4S] → [Выключатель]
        Моторы 14.8V ←───────────────────┼───────────────────┐
                                         ↓                   ↓
                           [XL4015 14.8V→12V]      [LM2596 14.8V→5V]
                                         ↓                   ↓
                                [Драйвер моторов]    Raspberry Pi 5V

Как рассчитать время работы

Формула:

Время (часы) = Ёмкость батареи (мАч) ÷ Потребление (мА)

Пример:

Робот потребляет:
• В покое: 100 мА (Arduino + датчики)
• При движении: 2000 мА (моторы)
• Батарея: 3000 мАч

Если робот:
• 80% времени стоит: 0.8 × 100 мА = 80 мА
• 20% времени едет: 0.2 × 2000 мА = 400 мА
• Среднее: 80 + 400 = 480 мА

Время работы = 3000 мАч ÷ 480 мА = 6.25 часов

Практический совет: Всегда берите батарею в 1.5-2 раза мощнее расчетной.


Частые проблемы и решения

Проблема 1: “Arduino перезагружается при старте моторов”

Причина: Падение напряжения на общей линии
Решение: 
1. Разделить питание (моторы и логика от разных линий)
2. Добавить большой конденсатор (1000 мкФ) на вход питания Arduino
3. Использовать более толстые провода для моторов

Проблема 2: “Преобразователь LM2596/7805 очень горячий”

Причина: Большая разница напряжений или ток
Решение:
1. Уменьшить разницу напряжений (12V→9V вместо 12V→5V)
2. Добавить радиатор
3. Использовать более мощный преобразователь
4. Перейти на импульсный преобразователь

Проблема 3: “Батарея Li-Po вздулась”

Причина: Переразряд или перезаряд
Решение:
1. Немедленно прекратить использование!
2. Утилизировать по правилам
3. Купить новую и обязательно использовать BMS
4. Не разряжать ниже 3.2V на элемент

Проблема 4: “Робот работает 10 минут вместо 2 часов”

Причина: Не учтены пиковые токи
Решение:
1. Измерить реальное потребление мультиметром
2. Проверить, нет ли короткого замыкания
3. Проверить КПД преобразователей

Эксперимент: Измерь потребление своего робота

Что нужно: Мультиметр с функцией измерения тока (10А)

Как делать:

  1. Настройте мультиметр на измерение постоянного тока (10A)
  2. Подключите в разрыв плюсового провода:
    [Батарея +] — [Мультиметр] — [Робот +]
    
  3. Замерьте ток в разных режимах:
    • В покое (робот включен, но ничего не делает)
    • При движении по прямой
    • При повороте
    • При максимальной нагрузке

Примерные значения:

  • Arduino Uno + датчики: 50-100 мА
  • Мотор 12V 100 об/мин: 100-300 мА
  • Мотор 12V при старте: 1-2 А (в 10 раз больше!)
  • ESP32 с Wi-Fi: 80-200 мА

Проверь себя

Смогу ли я:

  1. Выбрать батарею для робота с 4 моторами?
  2. Рассчитать, сколько проработает мой робот?
  3. Объяснить, зачем нужен BMS для Li-Po?
  4. Подобрать преобразователь для питания Arduino от 12V?

Если на все вопросы можете ответить — ваша система питания будет надежной!


Что дальше?

Разобрались с питанием? Теперь можно:

Совет: Сделайте тестовый стенд: разные батареи, преобразователи, мультиметр. Измеряйте, сравнивайте, записывайте результаты. Потом при проектировании робота у вас уже будут точные данные.