PowerBoard 30A
Плата управления питанием
Overview
PowerBoard is the device to control robot's power supply system. High-power robots are usually powered by high-current Li-Ion batteries. Such batteries demand close control of voltage, charging and discharging currents, temperature. Violation of recommended operating conditions may result in increased wear at best and a fire at worst. The main purpose of PowerBoard is to control battery's voltage and current and to cut it off in case these parameters are out of permitted range (overdischarge or load short circuit, for example). in addition PowerBoard multiplexes multiple power sources, controls basic user in-out ( buttons, LEDs, buzzer), reports power supply status to on-board computer via FDCAN interface.
Main features:
Overdischarge protection. Inrush current limiting.
Protection of robot and batteries in case of short circuit.
Reverse polarity protection.
Multiplexing of 3 power sources into 2 buses: Power Bus for high-power consumers (motors etc) and PC bus for low-power (PC).
Charging of connected batteries independently of their voltage level.
Reporting of power system status to PC.
Control of buzzer, LEDs, buttons.
Kill Switch input.
Detailed Description
Multiplexing
The PowerBoard draws power from one of three parallel channels: two "main" high-current inputs ("2" и "3") and one low-current "auxiliary" channel ("1"). All three channels feature reverse polarity protection. Only one channel can be enabled at a time.
The two main channels support hot-swapping and reverse-current capability, and can be connected to an external charger via the "charger" input. These channels can be prioritized independently of the voltage levels of connected batteries. If two batteries are connected, the priority battery will be drained first, and the secondary battery will bw automatically engaged once the priority battery is depleted. The auxiliary channel is designed for low-power sources (up to 3A) to maintain system operation during main battery replacement. It does not permit reverse current flow. The auxiliary input has the highest priority and, when connected, automatically disables the main channels.
This can be split in a series of rules:
Only one channel can be engaged at once.
If auxiliary channel is powered, the main channels are disconnected. Their charging and discharging are not possible.
If any of the main channels is powered, it is engaged automatically (only if auxiliary is unpowered).
If both main channels are powered and the voltage of both is in the operation range, PowerBoard can select the channel to work with.
Switching between depleted and charged channel is automatic and seamless.
Maximum load current is determined by the selected channel. Load current cannot be split between multiple channels.
There are two output channels: "Bus" and "PC Bus".
The Bus is intended to supply high-power consumers: motors, actuators etc. It features a Kill Switch input that overrides all PowerBoard software control signals as a safety measure. The PC bus is intended to supply on-board computer. It stays powered on even if the Bus is disabled. This allows to disable robot's hardware while keeping computer on.
The Bus can only be enabled if the PC Bus is active. Disabling the PC Bus will also disable the Bus.
Charging
The Powerboard does not include a built-in charger. However, connected batteries can be charged using an external charger connected to the "Charger" input.
User IO
8 identical digital input-output channels can be used to drive LEDs and read switches. Each channel is equiped with source type DMOS and Schmitt trigger. PWM supported. Output voltage level is determined by solder jumper and can be either 5V or 12V. By default each channel is pulled up. To use IO channel as an input you have to connect normally opened switch between IO and a ground. To use IO channel as an output you have to connect load between IO channel and ground. In shutdown mode PowerBoard power consumption is close to zero. To turn the device on you need to close Enable connector or pull En pin on IO headers to ground. The device also features I2C2 interface on GH connector.
Firmware Customization
PowerBoard firmware can be split in two sections: service part and user part. The service part is handled in TIM6 and TIM 16 interrupts. The TIM6 calls ADC1 data filtration subroutine (LPF and HPF). The TIM16 invokes power FET commutation subroutine. DO NOT MAKE CHANGES TO THESE PARTS OF CODE IF YOU DON'T UNDERSTAND WHAT YOU ARE DOING. Errors in the service part of the program may result in physical damage to the board, robot and batteries in abnormal situations such as a short circuit on the bus.
Пользовательская часть программы предназначена для управления индикацией, коммуникацией с бортовым компьютером. Предпочтительно осуществлять эти задачи в функциях uavcan_setup() и uavcan_spin() из main(). Приоритеты прерываний TIM6, TIM7 и TIM16 должны быть определены следующим образом (в порядке убывания ):
TIM7. Считает микросекунды с момента запуска программы.
TIM6. Обновляет и фильтрует данные с ADC1.
TIM16. Вызывает подпрограмму управления силовыми ключами платы.
Приоритеты пользовательских прерываний ОБЯЗАНЫ быть ниже, чем у вышеуказанных таймеров.
Last updated