Dual-Axis Solar Tracker
Optimizing energy collection with a smart solar panel (prototype).
Context: Briefing
This was my TIPE, the research project every student carries over the two years of prépa (the French preparatory classes for engineering schools). The starting idea was simple: a fixed solar panel misses a good part of the energy it could collect, because the sun keeps moving all day long, and I wanted to see how much you actually gain by making the panel follow it.
I built a prototype on an Arduino: a small panel mounted on two servo motors, one per axis, with light sensors around it that compare how much light each side receives. I first drew the wiring in Fritzing, then assembled it and tested it outside, in full sun.
What I did: Objectives cleared
- A PID control loop in C/C++ running in real time on a microcontroller with very little memory and compute.
- The light differences between the photoresistors (LDRs) turned into commands for both motors, under tight timing constraints.
- Noisy readings filtered and gains tuned by hand, without going over the board’s compute budget.
Hardest problem: Boss fight
Noise against responsiveness
Light sensors are noisy, and a loop that reacts to every flicker ends up oscillating around its target without ever settling. I had to filter the readings and tune the PID gains little by little, until I found the right balance between a tracker that stays stable and one that reacts quickly when a cloud goes by.
Results: Rewards
- +25% energy capture efficiency