Problem description
For the sake of efficiency, in a photovoltaic system it’s very important to keep panels surface clean from dust, sand and all other compounds that obstruct light from reaching the cells inside the PV panel. Washing photovoltaic panels (which are typically installed on a house roof, where water hose and power plug are not available and cannot be easily deployed) is not an easy task and can also be dangerous.
This project is another step to improve the efficiency of my house, after the Energy Squeezer and the PVMonitor
Technical solution
The solution I want to implement as part of this challenge is a small robot that can perform the task of cleaning panels automatically. The requirements for this robot are
- Self-contained. As I said, deploying power plug or a water hose up to the house roof is not easy, so the robot must have everything is required to perform the task, namely power (batteries), water and detergent
- Work on slippery surfaces. Robot will move on a sloping surface, made slippery by water and detergent. A wheeled robot will go easily out of course and/or fall off the roof. The solution is a cable robot, which will be anchored to the top two corners of the panels
- The robot will have no knowledge about the size of the surface to be cleaned. It will just have limit switches to detect the edge of the panels
Project description
The robot will have two DC motor controlled by the Arduino Quad DC driver shield with the pulleys to roll and unroll the cables that determine robot position.
A third motor will drive the roller, responsible for cleaning the photovoltaic panel. A water and detergent tank will keep the roller wet.
Since I am going to use DC motors and provided motor shield does not support encoders input, the control of robot position can only rely on feedback provided by limit switches. Also, DC motor speeds may vary depending on construction characteristics. For these reasons, two preliminary steps are required for the robot to work properly
- Homing: in this phase, the cables will be rolled until both the left and top limit switches will detect the edge of the photovoltaic panel
- Calibration: to compensate for differences between speeds of the two DC motors, the robot will try to follow the left edge of the photovoltaic panel. PWMs for the DC motors will be adjusted until the robot is following the panel edge correctly
When these phases have been completed, the robot will start moving from top the to the bottom of the panel to clean it up
Here is a picture of the components required to build the robot
Here is the robot at work on a photovoltaic panel
Project steps
The project will be built according to the following plan
- Build some experience on Arduino DC motor shields
- Build a simple testbed with two DC motor and pulleys and validate the homing, calibration, and position algorithm
- Add the roller to the testbed
- Add the water tank and (eventually) an electrical-actuated valve to control water flow
- Final test
Technical difficulties
The main difficult in this project is the precise positioning of the robot, since I am going to use DC motors with no encoders. This project is challenging also from a mechanical point of view, because a lot of components must fit in a limited space
Next: Mechanical design |