Fall 2021 Solar Tracker  Generation 1 Summary Blog Post 

Author/s: Justin Moua (Project Manager, MST), Tan Pham (Electronics and Control), Hector Zuniga (Design and Manufacturing)
Verification:
Approval:

Executive Summary

The Solar Tracker is an add on component to the Communication Bot (Com Bot) whose purpose is to charge the Com Bot’s battery by using a solar panel that is able to locate and track the sun with the use of light dependent resistors (LDRs). Solar Panels provide free energy by converting sunlight into electrical energy. The purpose of the solar panel being able to track the sun is to gain the most charge to provide the Com Bot. With the Solar Tracker, the Com Bot will be able to charge anywhere as long as the sun is accessible.

Program and Project Objectives

Program Objective

The Robot Company (TRC) is preparing to take the Unitree Go1 Pro Robot Dog on a field trip to the Earl Burns Miller Japanese Garden located at CSULB. TRC has assigned employees to design and build projects that will assist the Robot Dog on its trip. Our team has be tasked to design a charging device that utilizes a solar panel that can locate and track the position of the sun for the Communication Bot (Com Bot), another project, while it guides the Robot Dog through the Earl Hill Japanese Garden at CSULB.

Project Objective

The Solar Tracker project will assist the Communication Bot (Com Bot) with its navigation for the Robot Dog by providing constant charge to the Com Bot’s battery. The Solar Tracker will accompany the Com Bot by being mounted on top and should charge the battery by using a solar panel. The Solar Tracker should be able to locate and track the sun by using Light Dependent Resistors (LDRs) and by using two linear actuators that can tilt the solar panel in two directions for maximum energy gain. The LDRs should be programmed to read the intensity of sunlight and the linear actuators should be programmed to move accordingly based on the position of the sun.

Mission Profile

The mission of the Solar Tracker is to assist the Communication Bot (Com Bot) while it guides the Go1 Pro Robot Dog through the Earl Burns Miller Japanese Garden, on December 14 2021, by providing constant charge for the Com Bot’s battery. The Japanese Garden’s path includes cement, wood, stone, and some areas of the path are covered in shade due to trees, and umbrellas if present, during the day.

Project Features

The Solar Tracker has a dual axis system utilizing two actuators in order to improve solar energy efficiency that is generated. Most systems depending on the location can improve 25% to 40% more energy.

Figure 1.3 Solar Tracker 3-D Model

Requirements

The Solar Tracker system and subsystems were designed, built, and tested in accordance with the following engineering standards and constraints. Level 1 requirements reflect design choices based upon the project objective and mission profile. Level 2 requirements were based upon Level 1 requirements and are dependent.

Engineering Standards and Constraints

Applicable Engineering Standards

  1. IEEE 29148-2018 – ISO/IEC/IEEE Approved Draft International Standard – Systems and Software Engineering — Life Cycle Processes –Requirements Engineering.
  2. Systems Engineering Handbook
  3. Bluetooth Special Interest Group (SIG) Standard (supersedes IEEE 802.15.1)
  4. C++ standard (ISO/IEC 14882:1998)
  5. Federal Communications Commission (FCC) Relevant standards for a product implementing a 2.4GHz radio, FCC Intentional Radiators (Radio) Part 15C, and Unintentional Radiators FCC Part 15B for CPU, memories etc.
  6. NXP Semiconductor, I2C-bus specification and user manual.
  7. ATmega16U4/ATmega32U4, 8-bit Microcontroller with 16/32K bytes of ISP Flash and USB Controller datasheet section datasheet, Section 18, USART.
  8. USB 2.0 Specification released on April 27, 2000, usb_20_20180904.zip
  9. Motorola’s SPI Block Guide V03.06
  10. Arduino De facto Standard scripting language and/or using the GCC C++ programming language, which is implements the ISO C++ standard (ISO/IEC 14882:1998) published in 1998, and the 2011 and 2014 revisions.

Environmental, Health, and Safety (EH&S) Standards

CSULB College of Engineering (COE) Safety Resources.

IEEE National Electrical Safety Code (NESC)

NCEES Fundamental Handbook (FE) Reference Handbook

ASTM F963-17, The Standard Consumer Safety Specification for Toy Safety, is a comprehensive standard addressing numerous hazards that have been identified with toys. In 2008, the Consumer Product Safety Improvement Act of 2008 (CPSIA) mandated that the voluntary toy safety standard in effect at that time become a nationwide mandatory children’s product safety rule.

Program Constraints

Project/Economic

Subcategories: Cost, Extensibility, Interoperability, Maintainability, Quality, Marketability, and Schedule

The Solar Track shall be constrained to a a Cost not to exceed $375.

All project Schedules shall be constrained to a completion date of Tuesday December 14, 2021. Project completion includes documentation and materials purchased by or loaned to the project.

Extensibility is designed into the 3DoT board by way of one 8-pin 100 mil connector located on the front of the board and two 8-pin 100 mil connectors located on the top of the board. By plugging shields into these connectors, the 3DoT board can support a diverse set of robots. All robots shall contain one or more custom designed 3DoT shields. The 3DoT shield(s) incorporating interface electronics between the 3DoT board and sensors and/or actuators unique to the robot. Surface Mount Technology (SMT) will be employed unless a waiver for through-hole parts is granted.

Maintainability: Disassemble and Reassemble of the Solar Tracker shall be constrained to less than 20 minutes (10 + 10 minutes). Disassembly: The Solar Panel and aluminum beams can be detached with an adjustable wrench and an Allen wrench. All electronic and mechanical subassemblies and associated connectors, sensors, and actuators including motors can be disconnected. A functional test of the Solar Panel is conducted after reassembly to confirm its functionality. All project may reference a cable tree as well as an assembly diagram as necessary. This requirement is demonstrated/verified on the last day of the schedule. Projects may request a waiver with justification.

Social and Ethical

Subcategories: Accessibility, Aesthetics, and Usability

To enhance Aesthetics, the robot shall be designed in such a way that there are no dangling or exposed wires. Compliance with this requirement, includes the use of keyed and clearly labeled connectors between all electronic and electromechanical components. Do not use jumper wires; ribbon cables are preferred but not required. Loose wires should be contained using spaghetti tubing (not shrink tubing). For 3DoT projects consider using terminal blocks, 100 mil contact pins and headers, 2.0mm PH series JST connectors, and barrel connectors. Handling Precaution for Terminal and Connector will be in compliance with JST documentation.

Usability of the Solar Panel shall be enhanced by changing the code of the Arduino Uno.

Manufacturability

Subcategories: Constructability, Size, Weight, and Power (SWAP)

Constructability of the Solar Tracker shall be documented at the CDR and approved by the president of the TRC robot company. Constraints imposed by this requirement include the use of bushing or bearings in all moving and rotating parts. Interlocking Hinges with latching mechanism. No gaps greater than 1 millimeter, and immediate access to all external connectors (USB, switches).

Manufacturability of 3D printed robots shall be demonstrated by compliance with the 3/3/3 rule. Specifically, total print of a robot is constrained to 9 hours, with no single print taking longer than 3 hours. Projects may request a waiver with justification. This requirement is waived for 3D prints provided by the library’s Innovation Space. In its place, all 3D prints provided by the library’s Innovation Space should minimize the number of files to be printed. Justification should be provided if more than one (1) file is required.

The Size of the electronics enclosure, shall be constrained to be no greater than the Arduino Uno and the shield, and associated mounting hardware.

Power to the Solar Tracker, shall be provided by a 18V 8Ah drill battery provided by the Com Bot. The drill battery is a Lithium Ion Li-Ion battery. All Safety regulations as defined in Section 4.3 Hazards and Failure Analysis of this document shall apply to the shipping, handling, storage, and disposal of Li-ion batteries.

Power to the Arduino Uno shall be provided by the 9V Axillary Battery provided by the Com Bot. All Safety regulations as defined in Section 4.3 Hazards and Failure Analysis of this document shall apply to the shipping, handling, storage, and disposal of Li-ion batteries.

Back of the envelope calculations and experiments shall be conducted to set the diameter of Power carrying wires. Follow the American Wire Gauge (AWG) standard when defining the diameter of power-carrying wires.

Program/Project Level 1 Functional Requirements

L1.1 The Solar Tracker shall be mounted on top of the Com Bot.

  • Can be verified by seeing if Solar Tracker is mounted on the Com Bot.

L1.2 The Solar Tracker shall be able to locate the sun while mounted on the Com Bot.

  • Can be verified by inspecting what direction the solar panel is facing.

L1.3 The Solar Tracker shall utilize a solar panel to charge the Com Bot’s battery.

  • Can be verified by measuring the voltage of the battery before and after using the solar panel.

L1.4 The Solar Tracker shall withstand different terrain and inclines while mounted on the Com Bot.

  • Can be verified by seeing if Solar Tracker is still intact after navigation through the course.

L1.5 The Solar Tracker shall not come in contact with the camera stabilization devices.

  • Can be verified by seeing if the solar panel touches the cameras when tilting.

L1.7 The Solar Tracker shall consist of two movable axes.

  • Can be verified by seeing if the solar panel can tilt in two directions.

L1.8 The Solar Tracker shall be functional by December 14, 2021 as defined by the course outline.

  • Can be verified by demonstrating the Solar Tracker to see if it functions properly on December 14th.

System/Subsystem/Specifications Level 2 Requirements

L2.1 (L1.1) The Solar Tracker shall have four mounting brackets to attach on the Com Bot.

  • Can be verified by counting the mounting brackets.

L2.2 (L1.1, L1.4) The four mounting brackets shall hold the Solar Tracker in place.

  • Can be verified by inspecting the Solar Tracker after the demonstration.

L2.3 (L1.2) Four light dependent resistors (LDRs) shall be used to locate the sun and will be attached to the Solar Panel.

  • Can be verified by counting the number of LDRs being used and seeing if it is attached to the Solar Panel.

L2.4 (L1.2, L1.7) Two 50mm linear actuators shall be used to move each axis of the Solar Tracker

  • Can be verified by counting and measuring the linear actuators.

L2.5 (L1.2) An Arduino Uno shall be used to read the LDRs and control the linear actuators.

  • Can be verified by testing the Arduino code to see if the LDRs can detect the direction of the sun and if the linear actuators adjust accordingly.

L2.6 (L1.7) Two Motor Controllers shall be used to control the two linear actuators.

  • Can be verified by testing the motor controllers to see if actuators are moving.

L2.7 (L1.3) A 50 W Solar Panel with dimensions 22.9 in x 1.2 in x 20 in. shall be used to charge the Com Bot’s 18V 8Ah battery.

  • Can be verified by measuring the dimensions of the solar panel.

L2.8 (L1.3) The 50 W Solar Panel should be capable of recharging the 18V 8Ah battery discharged at 50% in no more than five hours.

  • Can be verified by measuring the voltage of the battery before and after using the solar panel.

L2.9 (L1.4) The Solar Tracker shall have an aluminum base of 3”x3”x21” to minimize weight and still have structural integrity.

  • Can be verified by measuring the base of the Solar Tracker.

L2.10 (L1.4) The Solar Tracker shall have aluminum beams of 22.9”x1.5”x1.5” to support the solar panel.

  • Can be verified by measuring the aluminum beams of the Solar Tracker.

L2.11 (L1.5) Solar Panel shall not tilt below 20 cm above the Com Bot.

  • Can be verified by measuring the distance from the lowest point of the solar panel from all directions to the top of the Com Bot.

L2.12 (L1.7) Four Pillow Block Bearings shall be used to allow the solar panel in one axis.

  • Can be verified by counting the number of pillow block bearings and see if they are used for movement of one axis.

L2.13 (L1.7) A partially threaded hex bolt shall be used to allow the solar panel to move in another axis.

  • Can be verified by seeing if a hex bolt is used for the movement of one axis.

Allocated Requirements / System Resource Reports

Mass Shared Resource Report / Allocation

Figure 2.1 Mass Shared Report

The allocated mass was determined to be 8.164 kg (18 lbs). This was determined by the rough estimate of the solar panel and linear actuators with the combined mass of 5 kg (11 lbs), we wanted the base and frames to be around 2.268 kg (5 lbs) and added 0.9 kg (2 lbs) for the other components. Since the Com Bot can hold up a payload of 5.26 kg (11.6 lbs) and more, our mass is acceptable.

Figure 2.2 Power Shared Report

The Power Report features two different allocations because we are providing power both going in and power going out. The Renogy Solar Charge Controller can only have a max current of 10A which falls under the Allocation Out. The provided  battery has a max current of 4A which will be the Allocation In.

In compliance with Section 3.5 Power in the Final Blog Post. Measured current shall have a margin of 5%. Contingency shall be based on measured current, plus margins associated with each line item.

Power Shared Resource Report / Allocation

Project Report

This section shows the Work Breakdown Structure (WBS) and Product Breakdown Structure (PBS). They provide the responsibilities of each member by showing the specific tasks that are delegated to them. The Cost Breakdown is also included along with the schedule of the entire project timeline.

Project WBS and PBS

Project Work Breakdown Structure (WBS)

Figure 3.1 Work Breakdown Structure

The Work Breakdown Structure shows the position of each member and what tasks they are responsible for. The WBS was broken down to three categories based on each members position on the team. Throughout the project, some tasks were split between members.

Product Breakdown Structure (PBS)

Figure 3.2 Product Breakdown Structure

The Product Breakdown Structure outlines the main components of the Solar Tracker. It shows the hardware and software components.

Cost

Figure 3.3 Cost Shared Report

Above shows the cost shared report of the Solar Tracker. The Solar Tracker cost reached $316.57 and did not exceed the budget of $375.

Schedule

Figure 3.4 Schedule

The Schedule shows the timeline of the project. All tasks can be seen as completed or incomplete along with the duration of the task. Most tasks were pushed back due to incompletion of research, trade-off studies, and delayed shipping of parts.

Concept and Preliminary Design

Literature Review

The Solar Tracker Team did research into materials, cost, mechanical design, and the correct circuitry in order to get as close as we can to our requirements. Additional research was done on the dual axis movement to ensure the actuators would not be working against each other. At the end of our Trade-Off studies, we gathered our materials in order to build a prototype solar track. We decided that an Aluminum base was best for cost vs strength purposes. We decided to use the 50W Renogy Panel using a WASP motor controller, the Arduino Uno, and a charge controller was the best way to build our system. We searched into using different Linear Actuators, but we used the ones from previous classes.

Figure 4.1 Specifications/Products Looked At

Design Innovation

We were the first Generation of Solar Tracker but we researched the Pathfinder Solar Array team in order to understand how we could improve. They used individual solar panels to build an array, and once we saw the power they were drawing, our team decided to order a pre-built solar panel to have a higher efficiency. We decided to have a dual axis system in order to have the panel facing the sun more accurately and absorb 25% to 40% more power if it was single axis.

Conceptual Design / Proposed Solution

Our first priority was to make sure it was stable since it was going to be mounted on top of the Communications Bot. Our first concept was to have the solar panel laying down at angle while only moving on one axis (from left to right) to provide for the best stability. This proved to become too simple and would not track the sun in the best way possible. After doing more research and viewing other solar designs utilizing dual axis more than single axis, so we changed our initial design. We built the new edition of the solar tracker with aluminum since it was the lightest and still structurally strong material. Our initial budget was about $350 so we made sure to stay within that range.

System Design / Final Design and Results

System Block Diagram

Figure 5.1 System Block Diagram

This is our system block diagram for our solar tracker system. The LDR system or photo resistor circuit will send analog signals to the Arduino through pins A0 – A3. Then the Arduino will send signals to the Motor Controller in order to control the extension of the Actuators to move the Solar Panel towards the sun and will also be supplying power to the motor controller. The pins will be Digital Pins 5 & 6 for both motor controllers. The power generated by the panel will be going through the charge controller to send a constant voltage to the battery and will also power our load which is the actuators (12 V). The battery will be powering our Arduino, the Communications Bot, and Camera Stabilization.

Interface Definition

Interface Definition

Figure 5.2 Interface Definition

By using the interface matrix, it helped us to connect the parts according to their correct pins. In this project to move the solar panel from top to bottom and from left to right, I used an L293D Motor Driver connected to Arduino Uno to move two linear actuators. I connected the power input to Enable 1, Vss and Vs on the L293D then used pin 6 and 7 of the Arduino to input 1 and 2 on the L293D and Arduino’s GND to the two GND pins on the same side L293D. After that, connected the output 1 and 2 of the L293D to the linear actuators. 

Modeling/Experimental Results

Figure 6.1 Solar Panel Current

Measured Current coming from the solar panel was 2.07 Amps.

Figure 6.2 Solar Panel Voltage

Measured Voltage coming from the solar panel was 21.4 volts.

The charge controller we are using is a 12v/10A  PWM charge controller. The battery is two 18v 4Ah lithium ion batteries connected in parallel which totals to 18v 8Ah. An estimation of the charge time is shown below.

  1. Divide solar panel wattage by battery voltage to estimate maximum charge current output by solar charge controller:

  1. Multiply current by rule-of-thumb system losses (20%) and charge controller efficiency (PWM: 75%; MPPT: 95%):

  1. Multiply battery capacity by 1 divided by rule-of-thumb battery charge efficiency (lead acid: 85%; lithium: 95%):

  1. Divide battery capacity by current to estimate how long it’d take to charge the entire battery:

  1. Multiply the charge time by the battery’s depth of discharge to estimate how long it’d take to charge the battery at its current level:

  1. Add 2 hours to account for the absorption charging stage of most charge controllers:

So the estimate charge time for the battery at 50% discharge is 4.83 hours.

Figure 6.3 Linear Actuator Current Draw

One linear actuator draws about 0.73 amps. Since we have two, the total current draw is 1.46 amps.

Figure 6.4

When we first started to breadboard, the linear actuators were powered by a 12 volt battery and were connected to a 4 channel relay. Since the custom motor controller PCB wasn’t verified yet, we were using a relay as a back up. The relay is powered by the 5 volts coming from the Arduino and also is controlled by the Arduino. On the breadboard are 4 LDRs each in series with a 10 kohm resistor and were connected to the analog pins of the Arduino.  The actuators extend and shorten depending the direction of the light hitting the LDRs.

Figure 6.5

Our second time breadboarding, we replaced the relay module with a motor controller. The motor controller has one pin connected to the digital pins of the Arduino Uno and two wire leads connected to the linear actuator. The motor controller was connected to the 12 volt battery to provide power to the linear actuator. The LDRs were set up the same as before.

Electronic Design

Figure 8.

Figure: Fritzing diagram dual axis solar tracker using Arduino 

The circuit above is a simulation of a dual axis solar tracker. Since this software does not have linear actuators, I used servo motors to simulate how they work.

PCB Design

Figure 8.1 The schematic of DC motor controller

Figure 8.2  PCB layout of DC motor controller

This circuit can control the actuator speed and direction of rotation. The circuit is divided into two main parts. Power circuit which consists of DC supply input terminal to relay mosfet free wearing diode and the motor terminals. The control part consists of microcontroller  connection. For the connector, I used two con ptr-500, one is for DC supply and the other for the actuator terminal. The relay I had called G5L then the power mosfet is named irf740.

Firmware

This Arduino code uses two motor controllers to move the two linear actuators and reads input from the LDRs.

// Version 1.4
// code for motor controller, linear actuators, and LDRs
#include 

Servo v_actuator; // Create servo object to control a the vertical linear actuator
Servo h_actuator; // Create servo object to control a the horizontal linear actuator

// PIN ASSIGNMENTS
// Assign pins from WASP Controller and Arduino Uno to appropriate variable.
const int motorControl_Power = 10; // Assign pin 10 to Power for the WASP controller
const int motorControl_Ground = 11; // Assign pin 11 to Ground for the WASP controller

int ldrRight = A0;
int ldrBot = A1;
int ldrLeft = A2;
int ldrTop = A3;

int actuatorMoveTimeUp = 0;
int actuatorMoveTimeDown = 0;
int actuatorMoveTimeLeft = 0;
int actuatorMoveTimeRight = 0;
int actuatorMoveTimeMax = 6000; // 6 Seconds

void setup() {
Serial.begin(9600);
v_actuator.attach(6); // Attaches the servo on pin 6 to the servo object
h_actuator.attach(5); // Attaches the servo on pin 5 to the servo object
pinMode(motorControl_Power, OUTPUT); // Set Power to output
pinMode(motorControl_Ground, OUTPUT); // Set Ground to output
digitalWrite(motorControl1_Power, HIGH); // Set 5V to pin 10
digitalWrite(motorControl1_Ground, LOW); // Set GND to pin 11
pinMode(motorControl_Power2, OUTPUT); // Set Power to output
pinMode(motorControl_Ground2, OUTPUT); // Set Ground to output
digitalWrite(motorControl_Power2, HIGH); // Set 5V to pin 8
digitalWrite(motorControl_Ground2, LOW); // Set GND to pin 9

}

void loop() {
//read input from LDRs
int top = analogRead(ldrTop);
int right = analogRead(ldrRight);
int bot = analogRead(ldrBot);
int left = analogRead(ldrLeft);

int tol = 10;

int avt = (top + right + left) / 3; // average value top
int avd = (bot + right + left) / 3; // average value down
int avl = (left + top + bot) / 3; // average value left
int avr = (right + top + bot) / 3; // average value right

int dvert = avt - avd; // check the diffirence of up and down
int dhoriz = avl - avr;// check the diffirence of left and right

//vertical
//if (-1 * tol > dvert || dvert > tol) {
Serial.println("Vertical Difference: ");
Serial.println(dvert);

// Move actuator up if top average is higher than bottom average
// and determine actuator movement time
if (avt > avd && dvert >= tol) { 
actuatorMoveTimeUp = ++actuatorMoveTimeUp;
if (actuatorMoveTimeUp > actuatorMoveTimeMax) {
actuatorMoveTimeUp = actuatorMoveTimeMax;
}
Serial.println("Up Delay:");
Serial.println(actuatorMoveTimeUp);
v_actuator.writeMicroseconds(2000); // Full speed forwards (2000) signal pulling the solar panel up
delay(actuatorMoveTimeUp);
}
// Move acutator up if top average is higher than bottom average
// and determine actuator movement time
else if (avt < avd && -1 * tol >= dvert) {
actuatorMoveTimeDown = ++actuatorMoveTimeDown;
if (actuatorMoveTimeDown > actuatorMoveTimeMax) {
actuatorMoveTimeDown = actuatorMoveTimeMax;
}
Serial.println("Down Delay:");
Serial.println(actuatorMoveTimeDown);
v_actuator.writeMicroseconds(1000); // Full speed backwards (2000) signal pulling the solar panel up
delay(actuatorMoveTimeDown);
}
// Stop actuator if its in the tolerance range and reset delay times
else if (-1 * tol <= dvert && dvert <= tol){ v_actuator.writeMicroseconds(1500); // Stationary (1500) signal stop the solar panel from moving the motor actuatorMoveTimeUp = 0; actuatorMoveTimeDown = 0; } //horizontal Serial.println("Horizontal Difference: "); Serial.println(dhoriz); // Move acutator left if left average is higher than right average // and determine actuator movement time if (avl > avr && dhoriz >= tol) {
actuatorMoveTimeLeft = ++actuatorMoveTimeLeft;
if (actuatorMoveTimeLeft > actuatorMoveTimeMax) {
actuatorMoveTimeLeft = actuatorMoveTimeMax;
}
Serial.println("Left Delay:");
Serial.println(actuatorMoveTimeLeft);
h_actuator.writeMicroseconds(2000); // Full speed forwards (2000) signal pulling the solar panel up
delay(actuatorMoveTimeLeft);
}
// Move acutator right if top average is higher than left average
// and determine actuator movement time
else if (avl < avr && -1 * tol >= dhoriz) {
actuatorMoveTimeLeft = ++actuatorMoveTimeLeft;
if (actuatorMoveTimeLeft > actuatorMoveTimeMax) {
actuatorMoveTimeLeft = actuatorMoveTimeMax;
}
Serial.println("Down Delay:");
Serial.println(actuatorMoveTimeLeft);
h_actuator.writeMicroseconds(1000); // Full speed backwards (2000) signal pulling the solar panel up
delay(actuatorMoveTimeRight);
}
// Stop actuator if its in the tolerance range and reset delay times
else if (-1 * tol <= dhoriz && dhoriz <= tol){
h_actuator.writeMicroseconds(1500); // Stationary (1500) signal stop the solar panel from moving the motor
actuatorMoveTimeLeft = 0;
actuatorMoveTimeRight = 0;
}

// for (;;);
}

Mechanical/Hardware Design

We redesigned the solar tracker 3D Model on Tinker CAD and here it is below. It includes two actuators (orange), the solar panel being supported by a 3''x3'' aluminum post with two pieces of 2' aluminum bars that allow the actuators to push and pull to point the panel in the direction of the sun.

Figure 9.1

We made a wooden prototype (Figures 9.2 & 9.3) to fit well with the solar panel. The height (30 inches) of the post was the only issue since most of the weight of the project was on top, the center of gravity could throw off the Communications Bot if it goes on bumpy terrain with hills or if it even turns.

Figure 9.2 Wooden Prototype


Figures 9.3 Wooden Prototype

Once the prototype dimensions were built, we made the aluminum base (Figures 9.4 & 9.5). Using an angle grinder, we cut and sanded down any sharp edges for safety reasons when handling the base. Then used ball bearings screwed between the two 2' bars and a rod in the ball bearings to make them move when being pushed by the actuator (Figure 9.6 & IMG-9956).

Figure 9.4


Figure 9.5


Figure 9.6

By attaching 4” L brackets to all 4 sides and using 3/8th bolts with washers and nuts to the bottom of the 3” x 3” post, the base was complete. Then we attached the linear actuators and the panel to test the actuators. They worked well by moving the panel on both its axis and for now we used zip ties since the parts we ordered have not gotten here and the ones we did buy were not fully functional for the movement. The cables are going to fed into the box frame of CommBot in order to maintain the cleanliness of the cables from the actuators, and the charge controller connected to the battery.

Figure 9.7


Figure 9.8

Verification & Validation Test Plan

Requirement No. Requirement Statement Verification Success Criteria Verification Method (Test, Analysis, Demonstration, Inspection) Pass / Fail
L1.1 The Solar Tracker shall be mounted on top of the Com Bot. See if Solar Tracker is mounted on the Com Bot. Inspection
L1.2 The Solar Tracker shall be able to locate the sun while mounted on the Com Bot. See what direction the solar panel is facing when function. Inspection
L1.3 The Solar Tracker shall utilize a solar panel to charge the Com Bot’s battery. See if a solar panel is being used. Inspection
L1.4 The Solar Tracker shall withstand different terrain and inclines while mounted on the Com Bot. Solar Tracker is still intact after navigation through the course. Inspection
L1.5 The Solar Tracker shall not come in contact with the camera stabilization devices. Solar panel doesn't touch the cameras when tilting. Inspection
L1.6 The Solar Tracker shall consist of two movable axes. Solar panel can tilt in two directions. Demonstration
L1.7 The Solar Tracker shall be functional by December 14, 2021 as defined by the course outline. Solar Tracker functions properly on December 14th. Demonstration
L2.1 (L1.1) The Solar Tracker shall have four mounting brackets to attach on the Com Bot. Count mounting brackets Inspection
L2.2 (L1.1, L1.4) The four mounting brackets shall hold the Solar Tracker in place. Solar Tracker in same position after the demonstration. Inspection
L2.3 (L1.2) Four light dependent resistors (LDRs) shall be used to locate the sun and will be attached to the Solar Panel. Counting the number of LDRs being used and seeing if it is attached to the Solar Panel. Test
L2.4 (L1.2, L1.7) Two 50mm linear actuators shall be used to move each axis of the Solar Tracker Count linear actuators. Inspection
L2.5 (L1.2) An Arduino Uno shall be used to read the LDRs and control the linear actuators. Test the Arduino code to see if the LDRs can detect the direction of the sun and if the linear actuators adjust accordingly. Test
L2.6 (L1.7) Two Motor Controllers shall be used to control the two linear actuators. Test the motor controllers to see if actuators are moving. Test
L2.7 (L1.3) A 50 W Solar Panel with dimensions 22.9 in x 1.2 in x 20 in. shall be used to charge the Com Bot’s 18V 8Ah battery. Measure dimensions of solar panel. Analysis
L2.8 (L1.3) The 50 W Solar Panel should be capable of recharging the 18V 8Ah battery discharged at 50% in no more than four hours. Measure the voltage of the battery before and after using the solar panel. Analysis
L2.9 (L1.4) The Solar Tracker shall have an aluminum base of 3”x3”x21” to minimize weight and still have structural integrity. Measure the base of the Solar Tracker. Analysis
L2.10 (L1.4) The Solar Tracker shall have aluminum beams of 22.9”x1.5”x1.5” to support the solar panel. Measure the aluminum beams of the Solar Tracker. Analysis
L2.11 (L1.5) Solar Panel shall not tilt below 20 cm above the Com Bot. Measure the distance from the lowest point of the solar panel from all directions to the top of the Com Bot. Analysis
L2.12 Four Pillow Block Bearings shall be used to allow the solar panel in one axis. Pillow block bearings are used for movement of one axis. Inspection
L2.13 A partially threaded hex bolt shall be used to allow the solar panel to move in another axis. A hex bolt is used for the movement of one axis. Inspection

Concluding Thoughts and Future Work

What set us back was the difficulty of meeting and collaborating in person. We did great research on the dual axis system and the way we could controller the actuators. As a team we did great on helping each other out and picking up where someone left off but we could have managed our time better as well. We switched on which Arduino we were going to use and the motor controller as well, which set us back a bit. Where other generations could improve upon would be using bigger actuators to get larger movement and better results experimentally. We used what we had which was great help from our resources given the supply chain issue. We learned the hard way that ordering materials ahead of time is especially important for a scale like this that needed a lot of Aluminum. That being said another generation could use a 3-D printed base if the scale allows it resulting in less outside troubles affecting the project.

References/Resources

These are the starting resource files for the next generation of robots. All documentation shall be uploaded, linked to, and archived in to the Arxterra Google Drive. The “Resource” section includes links to the following material.

  1. Project Video YouTube or Vimeo link (see samples linked to here)
  2. PDR (PowerPoint, Prezi, or PDF)
  3. Schedule (Project Libre)
  4. Verification and Validation Plan
  5. Solidworks File (zip folder) Linked to in Mechanical Design Post
  6. Fritzing Files Linked to in Electronics Design Blog Post
  7. EagleCAD files (zip folder) Linked to in Electronics Design Blog Post
  8. Arduino and/or C++ Code (zip folder)
  9. Complete Bill of Materials (BOM)

Resources

  1. Solar Panel Charge Time Calculator