0% found this document useful (0 votes)
11 views8 pages

Solar Panel Cleaning Mechanism

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
11 views8 pages

Solar Panel Cleaning Mechanism

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 8

Solar Panel Cleaning

Robot
Made by – Pratik Ravindra Bharambe
Solar Panel Cleaning Robot

Main Parts

1. Arduino Nano
2. LCD Display
3. L298n Motor Driver
4. 60 Rpm Motor
5. Speed Controller
6. Brushes
7. Power Supply

Uses Of Main Parts

1. Arduino Nano: Arduino Nano can be used in solar panel cleaning robot for:
1. Controlling motors for cleaning operations.
2. Managing motor speed.
3. Logging data for performance analysis and remote monitoring.
4. Communicating with external devices or systems.
5. Optimizing power consumption and energy efficiency.

2. LCD Display: An LCD display in a solar panel cleaning robot is used to:
1. Show readings like speed.
2. Display settings for user control.
3. Indicate cleaning progress and system alerts.
4. Serve as a user interface for controlling the cleaning process.

3. L298n Motor Driver: The L298N motor driver is used in a solar panel cleaning robot for:
1. Controlling the movement of cleaning brushes or wipers.
2. Driving DC motors or stepper motors efficiently.
3. Providing bidirectional motor control (forward and reverse).
4. Managing motor speed and torque.
5. Integrating with microcontrollers like Arduino for precise control.
6. Enhancing the automation and effectiveness of the cleaning process.

4. 60 Rpm Motor: A 60 RPM (Revolutions Per Minute) motor in a solar panel cleaning
robot is used for:
1. Slow and precise movement of cleaning brushes or wipers.
2. Ensuring thorough cleaning without damaging solar panels.
3. Controlling motor speed for optimal cleaning effectiveness.
4. Integrating with motor drivers and control systems for automation.
5. Enhancing the efficiency and reliability of the cleaning process.
5. Speed Controller: A speed controller in a solar panel cleaning robot is used for:
1. Regulating the speed of motors used for cleaning brushes or wipers.
2. Adjusting motor speed based on cleaning requirements and conditions.
3. Fine-tuning the cleaning process for optimal effectiveness and efficiency.
4. Integrating with control systems to automate and optimize
cleaning operations.
5. Enhancing the lifespan of motors by controlling speed and
reducing wear.
6. Allowing for smooth and precise movement during the cleaning process.

6. Brushes:
a. Mechanical Agitation: Brushes use mechanical action to loosen dirt from the
solar panel surface.
b. Sweeping Motion: They move systematically across the panel to ensure
thorough cleaning.
c. Brush Material: Made of soft materials like nylon to avoid scratching the panel.
d. Water Dispersion: In water-based systems, brushes can dispense water
and detergent for better cleaning.
e. Optimal Pressure: They apply just enough pressure to clean effectively
without damaging the panel.
f. Directional Movement: Brushes move in a specific direction to cover the entire
panel surface.
g. Automated Control: Controlled by motors for consistent and precise
cleaning operations.
h. Maintenance: Regular cleaning and inspection are necessary to maintain
their effectiveness.

7. Power Supply: The power supply in a solar panel cleaning robot is used to:
1. Provide electrical power to the cleaning system components, such
as motors, sensors, and control units.
2. Convert solar energy into usable electricity for cleaning operations.
3. Ensure consistent and reliable power supply for uninterrupted cleaning.
4. Support efficient operation and control of cleaning robots.
5. Optimize energy usage and system performance in solar panel.
Connection

Brushes
Buttons

1 – Forward
60 Rpm
2 – Stop
Motor
3 – Reverse

Power
Supply
MCU L298n
(AC/DC)
(Arduino Nano) Motor Driver

LCD Speed
Display Controller

1. Connect Arduino Nano to L298N Motor Driver:

- Connect the digital output pins of the Arduino Nano (e.g., digital pins 2, 3, 4, and 5) to the
input pins of the L298N motor driver for controlling motor movement.

- Connect the enable pins of the L298N motor driver to PWM-capable digital pins on the
Arduino Nano (e.g., digital pins 9 and 10) for speed control.

2. Connect LCD Display to Arduino Nano:

- Connect the VCC and GND pins of the LCD display to the 5V and GND pins of the Arduino
Nano, respectively.

- Connect the SDA and SCL pins of the LCD display to the corresponding SDA (A4) and SCL (A5)
pins of the Arduino Nano.
3. Connect Motor to L298N Motor Driver:

- Connect the positive and negative terminals of the motor to the output terminals of the
L298N motor driver.

- Make sure to connect the motor in a way that it can move in both forward and reverse
directions as per the L298N motor driver's configuration.

4. Connect Buttons for Movement Control:

- Connect the forward button to a digital input pin of the Arduino Nano (e.g., digital pin 6).

- Connect the reverse button to another digital input pin of the Arduino Nano (e.g., digital pin 7).

- Connect the stop button to a third digital input pin of the Arduino Nano (e.g., digital pin 8).

5. Connect Speed Controller:

- Connect the speed controller to the control input of the L298N motor driver for adjusting the
motor speed. Ensure the speed controller is compatible with the L298N motor driver and can
provide the necessary control signals.

6. Code

#include <LiquidCrystal_I2C.h>

// Initialize LCD with I2C address 0x27 and dimensions 16x2

LiquidCrystal_I2C lcd(0x27, 16, 2);

// Define pin assignments

#define ENA 9 // Enable pin for motor driver

#define IN1 2 // Input pin 1 for motor driver (forward)

#define IN2 3 // Input pin 2 for motor driver (reverse)

#define SPEED_PIN A0 // Analog input pin for speed controller

#define FORWARD_BUTTON 6 // Digital input pin for forward

button #define STOP_BUTTON 7 // Digital input pin for stop button

#define REVERSE_BUTTON 8 // Digital input pin for reverse button

int motorSpeed = 0; // Initial motor speed


void setup() {

// Initialize LCD

lcd.begin(16, 2);

lcd.print("Motor Control");

// Set pin modes

pinMode(ENA, OUTPUT);

pinMode(IN1, OUTPUT);

pinMode(IN2, OUTPUT);

pinMode(SPEED_PIN, INPUT);

pinMode(FORWARD_BUTTON, INPUT_PULLUP);

pinMode(STOP_BUTTON, INPUT_PULLUP);

pinMode(REVERSE_BUTTON, INPUT_PULLUP);

// Disable motor initially

analogWrite(ENA, 0);

void loop() {

// Check if forward button is pressed

if (digitalRead(FORWARD_BUTTON) == LOW)

{ digitalWrite(IN1, HIGH); // Set forward direction

digitalWrite(IN2, LOW);

motorSpeed = map(analogRead(SPEED_PIN), 0, 1023, 0, 255); // Read speed from speed controller

analogWrite(ENA, motorSpeed); // Set motor speed

lcd.setCursor(0, 1);

lcd.print("Forward: ");

lcd.print(motorSpeed);

lcd.print("% ");

}
// Check if stop button is pressed

else if (digitalRead(STOP_BUTTON) == LOW)

{ analogWrite(ENA, 0); // Stop the motor

lcd.setCursor(0, 1);

lcd.print("Stop ");

// Check if reverse button is pressed

else if (digitalRead(REVERSE_BUTTON) == LOW)

{ digitalWrite(IN1, LOW); // Set reverse

direction digitalWrite(IN2, HIGH);

motorSpeed = map(analogRead(SPEED_PIN), 0, 1023, 0, 255); // Read speed from speed controller

analogWrite(ENA, motorSpeed); // Set motor speed

lcd.setCursor(0, 1);

lcd.print("Reverse: ");

lcd.print(motorSpeed);

lcd.print("% ");

delay(100); // Delay for button debounce

}
Cost

1. Arduino Nano = 2900₹


2. L289n Motor Driver = 240₹
3. Lcd Display = 254₹
4. Brushes = 900₹
5. 60 Rpm Motor = 200₹
6. Speed Controller = 184₹
7. Jumper Wire = 109₹
8. Solar Panel = 3000₹
9. Aluminum Parts = 300₹
10. Gear = 700₹
11. Nut & Bolts = 200₹

You might also like