battery management

in the years that i’ve had the RL2000 i’ve been through a couple of sets of batteries mainly due to issues with docking causing the batteries to completely discharge which isn’t good for them. so my first priority with the project is to ensure that I can monitor and control the battery usage/charging function.
the advantage of having a mostly functional existing system is that I can piggy back on the existing sensors and read what is currently going on.

bill of materials

my first consideration was the sensors/controllers that i would require

  • voltage/current sensors to detect battery status (charging controller etc)
  • sensors to detect the perimeter wire
  • 9 degrees of freedom sensor (9DOF) to track the motion
  • drive motor controller
  • blades motor controller
  • bumper sensors

my first thought was to use an Arduino Mega to control all of these, however the trouble with all Arduinos is that they are single core/single threaded devices, okay you can do pseudo threading but’s not really the same thing.
so i’ve decided to go with a pi as an I2C master and have a few Arduino Pro Mini (5v) devices each performing an individual task with overall control being performed by the pi. the obvious advantages to this is the processing power of the pi is a lot greater, persistent storage is easier, remote debugging is easier and i can use a high level language to perform the overall master control (probably java or C++ haven’t decided yet)