Solar Panel Cleaning Mechanism
Solar Panel Cleaning Mechanism
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
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
- 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.
- 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.
- 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).
- 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
lcd.begin(16, 2);
lcd.print("Motor Control");
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);
analogWrite(ENA, 0);
void loop() {
if (digitalRead(FORWARD_BUTTON) == LOW)
digitalWrite(IN2, LOW);
lcd.setCursor(0, 1);
lcd.print("Forward: ");
lcd.print(motorSpeed);
lcd.print("% ");
}
// Check if stop button is pressed
lcd.setCursor(0, 1);
lcd.print("Stop ");
lcd.setCursor(0, 1);
lcd.print("Reverse: ");
lcd.print(motorSpeed);
lcd.print("% ");
}
Cost