The electrical design for this robot has several major parts including the Pioneer base and Raspberry Pi, the Arduino microcontroller controlling the motors and sensors, and general electrical wiring. The Pioneer is controlled using a Raspberry Pi over a hotspot network so it can be used anywhere, along with streaming video over the hotspot network. The Arduino microcontroller gets sensor inputs from the push button on the electromagnet, and uses this information to tell when to activate the electromagnet. The Arduino also controls the amount of spring tension for the catapult force. Another component is the two motor drivers. The DualHBridge motor driver was used as it can handle up to 16A of current. The second motor driver using the L298N is used for the electromagnet with a parallel capacitor as the other motor driver releases the electromagnet when starting the motor. This motor driver uses PWM to control the strength of the magnet. Finally, the CD4066 is used as a switch where the motor stop and Arduino can control the enable for the DualHBridge motor driver.
The rational for this design is that the Arduino uses a 5V signal that can communicate with more sensors than the 3.3V system on the Raspberry Pi and also allows the Raspberry Pi to multitask along with provide protection. This design also allows for the larger motor to get power from a battery pack to not drain the motors from the P3-DX base, along with draw 5A which is more than the P3 allows. The second motor driver is used for the electromagnet due to the current draw of the motor, and was tested and found not to work if using the same motor driver (the DualHBridge). The CD4066 is used so that when tightening the spring the button can force stop the motor driver. However, if this does happen the Arduino then can enable the button to wind back the motor.