Sierra is proud to be a sponsor of the University of Missouri’s S&T Robotics team. They were kind enough to do a quick write-up of their two robots, Moonshot and Pathfinder. Read their article below.
For the 2015-2016 build year, our robotics team decided to develop a completely new electrical system. The system was designed to be modular, and compatible with both of our robots, Moonshot and Pathfinder. The system is composed of several interconnected subsystems. Each subsystem is discussed individually throughout this paper.
Battery Management and Emergency Stop Systems
This year our team’s electrical division created an array of single cell lithium ion batteries for the power source for the robots. The battery packs can become damaged if they are over-discharged, so it is important to have a system that can monitor the voltage levels of the pack. To accomplish this, we experimented with some different techniques for reading voltages with a microcontroller. After trying a few different methods, the chosen method is a voltage divider technique that lowers the input voltages into smaller values that can be read by the microcontroller’s ADC. Several analog pins are used to read the voltages at different points in the battery pack.
Now that the voltages can be read by the microcontroller, the battery management system need to be able to switch on the power to the robot. A single signal from the microcontroller is used to drive a solenoid for turning the power on and off. The circuit design featured a high-power mosfet circuit to act in place of the solenoid, but the solenoid interface was also added as a backup.
The battery management system also implements several safety features required by our competitions. These are referred to as the emergency stop systems. The E-stop system consists of a wireless and a hardwired circuit that can instantly shut the robot off. Previous robot designs implemented separate relays for each e-stop component, which required extra hardware. Instead, we implemented both systems together along with the battery management systems control of the power solenoid. A wireless e-stop signal received by an Xbee Pro is logically anded with the power control signal coming from the microcontroller. The output signal from the and-gate is passed through two pushbuttons that are the hardwired estop system. The signal then goes to the mosfet circuit that drives the solenoid. This single PCB implemented many systems and reduced the overall amount of hardware needed.
Another safety feature of our electrical system design is the start circuit. A key switch in series with a pushbutton temporality powers the microcontroller circuit so it can read the battery voltages. If the voltages are within the tolerance, the output signal turns on a small relay that keeps the microcontroller on. The first prototype for this start circuit powered the power distribution board temporarily while the voltages were checked. This was considered dangerous because the robot could behave unexpectedly in this powered-state. To prevent this, a small relay was added so that the microcontroller portion of the battery management system was the only portion of the robot powered until the battery passed the checks. This also prevents us from over discharging the batteries while trying to start the robots.
Both robots required use of motors, actuators, and various sensors. With all of the various power requirements, we decided to design a board specifically for regulating voltages and distributing power to various parts of the robots. To keep the system modular and adaptable, adjustable regulator modules were used. The regulated outputs are fused and access by anderson power-pole connectors. The solenoid output is connected to the power input on the power distribution board.
The last part of our electrical system is our motor controllers. The motor controllers are controlled over usb by the laptop that runs the high-level software for controlling the robot. Motor controllers can be added or taken away as needed for whatever the project requires. Each controller also has its own microcontroller for processing individual encoder data and controlling the h-bridge hardware that drives each motor. We experimented with several different h-bridge drive circuits through different PCB revisions and each one had significant issues. Because of this, the latest revision of our motor controller PCB uses a control circuit that is an iteration from last years’ designs.
By prototyping our circuits before actual circuit design, we were able to work out kinks and ensure that the desired functionality would be achieved. After the circuits were conceptualized, they were put into eagle and then the PCB designing was split up between different members of the electrical division. Once the board files were finished and reviewed. They were sent off to Sierra Circuits who graciously donated the manufacturing process to us. When the boards arrived, they were assembled by hand. The completed boards were tested individually to ensure everything functioned properly. Minor problems were fixed by modifying the existing PCBs, but the motor controllers required several revisions to get them right. Pictures of the entire systems can be found below.