INITIAL DESIGN: Initially, I envisioned an autonomous four-wheeled rover with a solar panel on it that would drive around to locations with optimal sun exposure to charge the solar panel.
PROBLEMS: I realized that programming a four wheeled autonomous vehicle would be way too complicated for its application in Africa since it would need to detect and avoid all kinds of obstacles. Creating an autonomous vehicle with these capabilities would also be unnecessarily expensive with all of the sensors and sophisticated technology used.
REVISION: I decided to create a stationary solar tracking system that would still be mobile enough to transport by vehicle. The stationary system is way more economical and easy to implement in the African environment.
INITIAL DESIGN: I initially had the solar panel mounted on a wooden plate.
PROBLEMS: The wooden plate was unnecessarily heavy, making it difficult to control the position of the solar panel with cheaper models of servo motors due to lower torque.
REVISION: I decided to mount the solar panel onto the acrylic box directly using double sided 3M tape which effectively reduced the load and enabled the use of cheaper servo motors with less torque.
INITIAL DESIGN: I initially put small arms on the servo motors.
PROBLEMS: The small arms on the servo motors limited the angle that the solar panel could tilt in each direction.
REVISION: I lengthened the servo arms in order to increase the angle that the solar panel could tilt through.
INITIAL DESIGN: I initially connected the terminals from the 12 volt battery directly to the Arduino micro-controller.
PROBLEMS: The Arduino operates at 5 volts, so stepping down from 12 volts to 5 volts led to significant energy losses from the linear voltage regulators on the Arduino.
REVISION: I used a buck converter to step down the voltage from 12 volts to 7 volts on the wire feeding power to the Arduino. The buck converter is more energy efficient in reducing the voltage and ensures that the Arduino is powered with a constant supply of voltage.
INITIAL DESIGN: I initially powered the servo motors from the Arduino's 5 volt pin.
PROBLEMS: The Arduino's 5 volt power supply can't supply over 500mA of current in most cases to prevent overheating, so the servo motors weren't operating properly because they lacked sufficient current.
REVISION: Using a buck converter, I stepped down the voltage from the 12 volt supply to 5 volts and powered the servo motors directly from the battery for maximum current usage.
INITIAL DESIGN: I had all the wires connected directly without any fuses.
PROBLEMS: Circuits without fuses are at risk for current spikes which can destroy circuit components and even cause a fire.
REVISION: I implemented in-line fuses rated for the maximum amount of current tolerated by each component.
INITIAL DESIGN: I initially turned on the power for SolarNAV through attaching alligator clamps to the battery terminals on the 12 volt battery.
PROBLEMS: Attaching alligator clamps each time to turn the power off and on is inefficient, and there is a risk of accidentally reversing the polarity of the connection and harming the circuit.
REVISION: I implemented a switch in the circuit to easily turn it off and on whenever necessary.
INITIAL DESIGN: I initially set the Arduino to constantly take light sensor readings in order to position the servo motors towards the sun.
PROBLEMS: Constantly taking sensor readings is unnecessary and wastes power since the sun's position hardly changes with each moment.
REVISION: I set the Arduino to take sensor readings for a few seconds, giving the servo motors enough time to position the solar panel towards the sun. Then, the Arduino goes into sleep mode for a given amount of time before taking sensor readings again since the sun's position won't change too much in that amount of time. Therefore, the Arduino takes measurements in intervals to save power.
INITIAL DESIGN: Initially, SolarNAV was programmed with 5 positions it could alternate to track the sun.
PROBLEMS: With only 5 preset positions, the solar panel isn't always optimally positioned towards the sun.
REVISION: I programmed the system with 9 different positions for optimal sun exposure throughout the day. This allows a wide range of positioning for the system, while also saving power through limiting the amount of positions that SolarNAV moves to. If SolarNAV was constantly changing position relative to the sun, it would take up too much power. With 9 different positions, SolarNAV rests in each position for a given amount of time before moving to a new one, effectively maximizing power consumption and sun exposure.