Dual Axis Solar Panel Tracker / Controller Part 5


The saga of the dual axis solar panel controller continues.  As an R&D project I couldn’t put a lot of time into this design this week.  Here is what I did get accomplished.

If you read the last post (see here) on this design I was into the firmware and software interface of this design.  During that process I realized that the analog outputs of the accelerometer (ADXL335 Analog Devices)  had too small of a range.  The X axis output was +/-350mV  centered around 1.65V.  The Y and Z axes were +/- 600mV centered at 1.8V.  Of additional note is the fact that the center point and range will vary from part to part.  Roughly 75% of my analog-to-digital converter’s (ADC) resolution would be lost.  So I added some differential amplifiers and other neat stuff to the schematic to get me back some bits.

Schematic of the analog signal changes (click to see full-size).


I still intend to use my revision 1 prototype to test the remaining portions of my circuit, like motor control.  In fact, I should be able to finish most of my design using this prototype.  However, I felt more like doing PCB layout than writing firmware this week, so I went ahead and made the PCB changes for the revision 2.  PCB design is more Zen for me than writing firmware/software/probing things with oscilloscopes.

These were the changes I wanted to make:

1.  Add op-amp differential amplifiers for each axis of the ADXL accelerometer as well as additional noise filter components.  These circuits are under the red shaded area.
2.  Change the debug / programming header to something a little more solid (0.05” pitch to 0.1” pitch).
3.  Change from a horizontal to a vertical USB connector.
4.  Use terminal blocks that can handle large gage wiring.
5.  Move the user interface / programming buttons further apart.


You can see that I had to extend the second revision of the PCB a bit.  I added the parts associated with the ADC to my board design.  The PCB dimensions went from 2.8” x 3.2” to 2.8” x 3.5”, so not a very big change in size.  In all, the changes took me about 4 hours to complete.   Here’s the copper and silk screen layer associated with the new circuitry.



  1. Alexander says:

    We need high-quality Dual Axis solar tracker positioning for lens blocks concentration and transfer solar light on the optic fiber cable.
    We can buy at you ready device?
    Thank you.
    Kazakhstan, Astana

  2. While testing a similar accelerometer based tracker I came across your five posts. Will you follow through on this thread?

    I’m using an ADXL345 (14 bits via I2C) and will also try an LSM303 that also has magnetometer outputs (also I2C). It looks like this approach may make tracking the sun very simple.

    Thank you for the great work you’ve done and your posts. I’m pretty envious of your ability to so quickly respin boards!

    • Hey Focussolar,

      The overall concept I was following falls short on monitoring rotational position. Our company does a lot of consulting work, and at the middle of last year we became inundated with projects, so I haven’t even looked at this prototype since then.

      Recently I was interfacing to Kionix accelerometers for another project and ran across an application note (link below) for measuring rotational movement with two accelerometers. I found that interesting although that would only tell you the rate of rotation, not rotational position.


      I think you can get pretty good rotational position control with an open loop configuration and a couple of limit switches. That’s what I ended up doing. Tilt control was based on the accelerometer.


Speak Your Mind