Board updates!
Kill Switch
The first thing we needed was a kill switch to connect to the board and tell it when to turn both mosfets off. We chose to use magnetic swtiches so that we then wouldn't need anything to penetrate through the case (just the magnetic field). The switch connected to the board over a vertical JST-PH connector.
Comms
We also wanted to be able to allow the board to communicate to the high-level-controller, a Jetson Xavier, to report battery data. This was done over usb with some simple Serial protocol. On the board side:
And on the HLC side (in python)
In actuality, this will be running in a ROS node with its own loop, so the while loop isn't necessary. We just included it here since the pyserial device needs to exist in order to buffer the serial data from the board.
Peripherals
Beeper: We added some beep commands to show when battery states are changing or a battery is low Current: By interfacing to the ACS781, we now have current data logged SD Card: Error data is logged on the card to hopefully help us in the case that something breaks
... and lots of redundancy in the code to make sure that this thing never fails!
You can see the full project here.
Problems / Mistakes
None so far! The board is working really well, and the sub is happily swimming in the water :D.
That's all for now!
No comments:
Post a Comment