Power Board v4¶
The Power Board distributes power to the SR kit from the battery. It provides six individual general-purpose power outputs along with two low current 5V power outputs.
It also holds the internal On|Off switch for the whole robot as well as the Start button which is used to start your robot code running.
Board Diagram¶
Connectors¶
There are six power output connectors on the board, labelled L0–L3, H0, and H1. These can be enabled over USB and supply around 11.1V (±15%). The “H” connectors will supply more current than the “L” connectors.
The 5V connectors can be used to connect low-current devices that take 5V inputs.
Finally, there are connectors for external Start and On|Off switches. You may connect any push-to-make latching switch for the On|Off button, or a push-to-make button for the start button.
Note
If you intend to use only the internal On|Off switch, you must connect a CamCon to the On|Off connector with a wire connecting one pin to the other pin on the same connector.
Indicators¶
LED | Meaning | Initial power-up state |
---|---|---|
PWR|FLAT | Green when powered Flashing red and green when the battery is low |
Green Green |
5V | Green when 5V is being supplied | Green |
H0-1, L0-3 | Green when the output is on. Red when the output’s current limit is reached |
Off |
RUN|ERROR | Orange on power-up, or USB reset Flashing green when ready to run Solid green when running or booting | Orange |
On power-up, the Power Board will emit some beeps, which are related to the version of the firmware it has installed.
If the Power Board starts beeping (and all the outputs turn off) then this means that the whole board’s current limit has been triggered.
Controls¶
Control | Use |
---|---|
ON|OFF | Turns the power board on, when used in conjunction with an external switch |
START | Intended to start the robot. The state is accessible over USB. |
USB Interface¶
The Vendor ID is 1bda
(University of Southampton) and the product ID is 0010
.
The Power Board is controlled over USB by sending requests to the control endpoint.
ctrl_transfer(
0x00,
64,
wValue=req_val,
wIndex=command.code,
data_or_wLength=req_data,
)
Parameter | Value |
---|---|
bmRequestType | 0x00 |
bRequest | 64 |
There are a list of ids defined in the firmware of the power board that will let you read and write values to it.
It is recommended to read the source to further understand how to control this device.
It should also be noted that as the control endpoint 0x00
is used to send data to this device, it is not actually
compliant with the USB 2.0 specification.
udev Rule¶
If you are connecting the Power Board to a Linux computer with udev, the following rule can be added in order to access the Power Board interface without root privileges:
SUBSYSTEM=="usb", ATTRS{idVendor}=="1bda", ATTRS{idProduct}=="0010", GROUP="plugdev", MODE="0666"
It should be noted that plugdev
can be changed to any Unix group of your preference.
Case Dimensions¶
The case measures 83x99x24mm. Don’t forget that the cables will stick out.
Specification¶
Parameter | Value |
---|---|
Main battery fuse current | 40A |
Overall current limit | 30A |
High current outputs (H0-1) | 20A |
Low current outputs (L0-3) | 10A |
Main output voltage (nominal) | 11.1V ± 15% |
Maximum output current per 5V channel | 1A |
Designs¶
You can access the schematics and source code of the firmware for the power board in the following places. You do not need this information to use the board but it may be of interest to some people.
Note
Some of the documentation in this section has been taken and modified from `Student Robotics`_. See here for more information.