Goals
Our electrical subsystem serves three purposes: to provide power to all of our components, to gather data about our system, and to facilitate communication between the components.
Process
During our iterative design stage, we split the electrical subsystem further into three sub-subsystems. These were the LED Matrix screen with its controller, an Arduino Uno controlling the stepper motor, and an Arduino Uno monitoring our sensors. We integrated them whenever possible, merging our wiring onto one Arduino before Sprint Reviews and trying to power our sensors from the same source as our screens. In the end, we combined these all three parts. Our system now comprises an Ardunio and a RasPi connected over serial. The RasPi sends data to our LED screens through 13 signal wires that run through the center of our sign shaft. The Arduino Uno has an Adafruit Motorshield mounted to it that powers our motor. The Arduino also interfaces with our magneometer, limit switch, and push button through its analog and digital input pins. Our circuit is shown in the diagrams below.
Top-Level Component Wiring
Sensor Connections to Arduino
To manage the complex wiring involved in connecting all our sensors to our Arduino, we soldered the sensor and Arduino connections to a prototyping board.
Wired Proto-Board
Pivots/Setbacks/Challenges
Our biggest challenges were powering all of our components from a single voltage input and sending signal through our shaft reliably. Powering our components from a single source, in this case 12V from a wall plug, meant we had to account for differing voltages and current pulls within our system. Our Arduino and stepper motor ran off of 12V, but we had to purchase a 12V-5V converter to power our RasPi and LED Matrix. Two LED screens can pull more than 2 amps of current, enough to burn our RasPi. We bypassed this challenge by powering the Pi from a modified microUSB cable in our circuit. This allowed us to use the Raspberry Pi's internal current breaker to protect it. Sending signal through the shaft reliably was difficult because it was difficult to know which wires matched from top to bottom and it was hard to make stable connections to our boards. We had to use stranded core wire to reduce the chance of overly tangling our wires when the shaft spins. We also had to rewire the screens repeatedly because we learned our Arduino can only power one screen, while our Pi can power three. This caused us to confuse our wires and mess up their soldered ends. Finally, we purchased female-to-female wire adapters and spliced them (color coded and everything) to our wires. This made our organization and connections both much cleaner.
Reflection
Going into this project, no group member claimed electrical systems as a key tool in their arsenal. Most of us had never used shrink rap and soldered to a board. Now, we are all much more confident in our electrical abilities. We feel that our electrical system is refined beyond what we initially expected. This was an overall positive electrical experience for us, and many of us learned a whole new skill set.