Solar panels provide energy, but in winter they can be snowed so that they do not operate. This project is a solution for this problem.
Positioner, as shown in the pictures, is not a structure based on the axis for horizontal movement, as it could complicate the construction and not fit the roof, because it would be too high. Range of horizontal movement is about 110-120 degrees and vertical about 50-60 degrees.
Simple cheap actuators were used as directional drive. They are equipped with built-in adjustable limit switches, which simply cut off voltage.
Four phototransistors follow the sun on the sky. Initially, there was a small aperture between them, but practice showed that there should be another way and bigger apertures were installed on the roof with silicone.
Control system DIY has a principle to follow the sun. The board was made by thermal transfer method, after soldering protected with lacquer spray.
Program was made in Bascom. It is divided to clear and functional blocks and takes about 4Kbit. Atmega8 was used in this project, because initially used Atmega48 turned out to be too small.
Functions:
- following the sun
- park position against the wind – on an ordinary measure of turnover. When turns are too large for a certain time, then the program would park the panel
- park position when there is not enough light – there is no point to follow a bright spot on the sky to gain 100 or 200mA, when the engines need about 0,5A to do it. When all sensors have the same light intensity (chosen experimentally below movement profitability), the system parks
- hysteresis – to prevent the panel from moving too often. Following the sun is realised each 15 minutes. Then the sensors are checked and the direction of movement is determined. The program also takes into account the fact that shortly after these 15 minutes, when the test just passed, and the sun just came out, if the threshold (chosen experimentally) is exceeded, then the program ignores the remained time to calculate the next 15 minutes and catches the rays, after what it proceeds to count the new 15 minutes. Of course there is few seconds anti-flash protection, so accidental flashes (during night) do not attract the device to follow
Parking position can be set manual. Service mode and buttons are used to do this. The coordinates are stored in EEPROM and calculated relative to the start position. After power on, the panel goes to the left and down, resets the counters and set on the position against the wind. The main loop and the first study of light start from this point. Turns are counted with protection against shake of the contacts and program does not lose them, but there is an additional option that after 10 parkings against the wind (or on sunny days it is 10 nights, when such parking is executed), calibration (movement to the left and down) is performed.
There is a light signalization which was really helpful during testing. When the panel is parked, the diode flashes 30ms every 6s. When it is on, the diode blinks 50ms every 2s (visible even in the day). While parking, the diode blinks very quickly. Of course, there is a protection, if the limit switch was not reached, the engine turned on and the turnover pulses not counted – then the emergency mode turns on and the diode flashes at a frequency of 1Hz. The engines are switched off immediately and after 15 minutes there is another trying to run. Control of turns takes 2,5 second. The reason of stop may be for example water freezing in the actuator, burnt engine, heaps of snow etc. Generally, 2,5 second is a safe time, that the engine was not ignited.
The whole device is powered from 24V accumulators, that charge the panels. Electronics is placed behind the panels.
Link to original thread (useful attachment) –
Sterownik obrotnicy paneli fotowoltaicznych