VB Power board 30A

Плата управления питанием

PowerBoard предназначена для управления бортовой системой питания робота. Для питания мощных роботов применяются соответствующие источники питания - высокотоковые литий-ионные аккумуляторы. Эти батареи боятся слишком глубокого разряда, превышения зарядного и разрядного токов. Несоблюдение правил эксплуатации в лучшем случае приведет к их быстрому износу, в худшем - к пожару. Базовая функция платы управления питанием - отслеживание состояния батареи (напряжение, ток, температура) и отключение нагрузки (робота) при превышении предельных параметров батареи (например, полный разряд). Помимо этого плата питания может выполнять побочные функции - информирование бортового компьютера о состоянии батареи, управление пользовательскими кнопками, зуммером, светодиодами и т.д.

Основные функции VB PowerBoard :

  • Защита батарей от пере-разряда и ограничение пускового тока.

  • Защита робота и батарей при коротком замыкании.

  • Защита робота при включении батарей в обратной полярности.

  • Мультиплексирование трех независимых источников питания в две силовые шины - шину питания компьютера и шину питания силовых потребителей.

  • Возможность подключения внешнего зарядного устройства и зарядки "на ходу" без отключения шины компьютера.

  • Отслеживание состояния системы питания и его передача по шине FDCAN.

  • Контроль базовой индикации робота - зуммера, светодиодов, пользовательских кнопок.

  • Аварийное отключение робота при нажатии Большой Красной Кнопки.

Особенности

Мультиплексирование

PowerBoard обладает тремя входными каналами питания: двумя управляемыми ("2" и "3") и одним неуправляемым ("1"). Управляемые каналы выдерживают постоянный ток до 30А, неуправляемый - до 3А. Оба управляемых канала обладают двусторонней проводимостью и пропускают ток в свою батарею, если напряжение на шине питания превышает напряжение батареи (например, если подключенный к роботу мотор вращается под действием внешних сил). Все три канала могут быть одновременно подключены к трем разным источникам питания, при этом верны следующие утверждения:

  • Силовые шины могут быть одновременно подключены только к одному из каналов.

  • Если на неуправляемом канале есть напряжение, управляемые каналы отключаются автоматически. При этом их разрядка и зарядка невозможны.

  • Если напряжение есть только на одном из каналов, он подключается автоматически.

  • Если напряжение приложено только к двум управляемым каналам, плата может выбрать из них приоритетный независимо от состояния их батарей. Выбор приоритетного канала настраивается прошивкой платы или командой с бортового компьютера.

  • Если приоритетный управляемый канал разрядился, но при этом другой управляемый канал заряжен - переключение шин происходит автоматически и бесшовно.

Ток разных каналов не суммируется - максимальный доступный ток определяется возможностями выбранного канала.

Пользовательский ввод-вывод

Включение PowerBoard осуществляется замыканием контактов коннектора Enable. Если коннектор не замкнут, общее потребление платы ото всех источников примерно равно нулю. Замкнутый коннектор Emergency отключает силовую шину робота на аппаратном уровне вне зависимости от состояния программы платы. Предназначен для подключения Большой Красной Кнопки. PowerBoard оборудован 8 портами ввода-вывода: 4 выхода и 4 входа. Выходы обладают общим анодом, напряжение на котором составляет 5В либо 12В в зависимости от состояния перемычек на плате. Катоды подключаются к земле через ULN2003, которая управляется пинами PC6, PC7, PC8, PC9 (подключены к каналам TIM3). Входы связаны с пинами PB0, PB1, PB2, PB10. Если встроенных средств индикации недостаточно, можно использовать интегрированный порт расширения, связанный с I2C2 для коммуникации с другими платами.

Модификация прошивки

Программа для PowerBoard делится на две части: сервисную и пользовательскую. Сервисная часть обрабатывается в прерываниях таймеров TIM6 и TIM16. Первый обслуживает подпрограмму фильтрации данных ADC1. Второй вызывает подпрограмму коммутации силовых ключей на плате. НЕ НУЖНО ВНОСИТЬ ИЗМЕНЕНИЯ В ЭТИ УЧАСТКИ КОДА ЕСЛИ ВЫ НЕ ПОНИМАЕТЕ ЧТО ДЕЛАЕТЕ! Нарушение работы сервисной части программы может привести к физическому повреждению платы, робота и батарей при нештатных ситуациях вроде короткого замыкания на шине.

Пользовательская часть программы предназначена для управления индикацией, коммуникацией с бортовым компьютером. Предпочтительно осуществлять эти задачи в функциях uavcan_setup() и uavcan_spin() из main(). Приоритеты прерываний TIM6, TIM7 и TIM16 должны быть определены следующим образом (в порядке убывания ):

  1. TIM7. Считает микросекунды с момента запуска программы.

  2. TIM6. Обновляет и фильтрует данные с ADC1.

  3. TIM16. Вызывает подпрограмму управления силовыми ключами платы.

Приоритеты пользовательских прерываний ОБЯЗАНЫ быть ниже, чем у вышеуказанных таймеров.

Last updated