SunTracker 2 Revision 4

A self-orienting dual-axis, scheduled, Arduino-based solar tracker model prototype

Similar projects worth following
SunTracker2 R4 is the follow-up project to SunTracker 2 R3, the photovoltaic (PV) solar tracking controller model prototype. This version finally brings dual -axis control, GPS location, wireless communication option, and mounts a dual solar panel model to demonstrate solar alignment.

Solar trackers adjust the PV panel direction, to keep solar panels perpendicular to the sun, maximizing the power output. The increased power output varies, but can be in range of 15~40%, which would be substantial. For places with limited space where increasing solar panel size is not an option, tracking may give the extra energy.

Revision 4 adds a number of components to achieve dual-axis tracking. 

Functional Design

Below is the block diagram of components:

One goal of this revision is to determine if the lower-end Cortex M0-based Arduino MKRZero can handle the complexity of this setup, or if an upgrade to a higher-performing MCU is required. Since changing an MCU is quite an effort, I am going to see first how the MKRZero handles:

  •  Using all IO pins to the last one, plus using serial, SPI and I2C
  • The I2C bus now communicates with 11 devices (8x IO expander, 1x RTC, 1x Magnetometer, 1x GPS)
  • For the TFT display I am going to use "float" datatypes to show higher resolution values, which will tax the MCU software math arithmetic

Board Layout & Components

  • Sun Tracker 2 Revision 4 - Assembly

    Frank11/17/2019 at 12:31 0 comments

    Connecting the displayboard with the mainboard:

    Booting up and running the displayboard "init" sequence verified the hardware to be OK. No missing trace, and no LED inserted the wrong way around. Next, a check for the maximum power draw. With "all lights on", the system draws up to 320mA. This is quite a lot, but considering the amount of peripherals, it could be much worse than the measured 1 Watt. Normal operations uses about 140mA in this raw, unoptimized form.

    Building up a frame follows the proven design of revision 3, with the added design twist of the rounded top. Visible also the cable guide cutout for powering the second axis stepper motor, which will be responsible for Zenith angle alignment.

    The total footprint is 200mmx280mm, and fits on a A4 sheet.

  • Sun Tracker 2 Revision 4 - Displayboard PCB

    Frank11/17/2019 at 11:14 0 comments

    For mounting the solar panel model, I needed to increase the displayboard size. I retained the Stepper mount at the center of the LED ring. The LED ring grew to 16cm diameter, bringing the LED count to 48. Together with the 16-LED Zenith row on the mainboard, the total of 64 dual-color LEDs require 128 IO pins. This is going to max out the number of DIP IO expander IC running on a single I2C bus.

    Creating the PCB layout was a real challenge. KiCad currently only supports creating tracks with 90 and 45 degree angles, but the tight spacing in a circle demands angles in between. The workaround in KiCad is to create a track stub, and hand-edit the start/end values in the track parameters. A exercise in diligence completed the job. Component placement with uncommon angles is tricky as well, each LED/resistor pair has been hand-fitted. For the final touch I decided to round-off the dual-layer PCB.

    Compared to the hard work in PCB layout, PCB assembly was no big deal. However with mainboard and displayboard designed and build separately one month apart, the question is: would they fit together?

  • Sun Tracker 2 Revision 4 - Mainboard

    Frank11/17/2019 at 10:17 0 comments

    Here is the result of the stacked design, showing the placement of the magnetometer sensor and Zenith display LED IO expanders below the TFT screen. The biggest challenge was to fit the set of 32 current-limiting resistors into the TFT space. Other placement options didn't route as well. In the end it was tight but worked.

    Below is the fully assembled mainboard. While the displayboard design is still sometime off, over the weeks I am going to work with the mainboard to write the code for the new modules. A simple frame as been fitted to protect the board during that time.

    I was also relieved to see the new Texas Instruments power IC working. Since it was a new device I never used before, I missed one trace to the "enable" pin on the PCB. One small wire bridge later, the board powered up just fine.

    For more detail, this is the 2.8 inch TFT in its glory, increasing screen space more than 8 times over the previous oled. Since I was already short on MCU IO pins, I used SPI and quickly learned that screen refresh is slow. It requires careful updates to specific data only. The more pixel need to refresh, the slower it gets.

  • Sun Tracker 2 Revision 4 - Mainboard PCB

    Frank11/17/2019 at 09:41 0 comments

    The design goals for revision 4 was to achieve dual-axis control. A second motor controller was added together with a 16 dual-color LED row for Zenith angle display and positioning. A TFT display should improve data feedback, and onboard solar position calculation called for a means to aquire location information, adding a GPS receiver.

    Routing the components is going to max out all available pins of the Arduino MKRZero. 4 pins were freed up by moving the StepStick speed control to external DIP switches. So far the default speed was sufficient and I had no need to control it from the MCU.

    It was also a challenge to maintain the intended mainboard space. For manufacturing cost, the PCB should be dual-layer only. The solution was to stack components, and use the space below the TFT to place the magnetometer and zenith row IO expander IC without a socket. They are sufficiently cheap to make this trade-off here. Finally, I had to move the displayboard connectors further out, I think I can compensate on the displayboard for the extra connector offset.

    For space and simplicity, I planned to route the I2C bus to the displaybard, and handle the port expansion there. This saved the biggest space and reduced the connector size.

    For PCB manufacturing I wanted to try the blue color instead of standard green, and the result looks neat.

    Another first for me is to drop pre-fabricated power converter modules, and make use of the Texas Instruments DC/DC converter chip DCR01 for the first time. Its a risky move since I haven't even tested them yet. The specs look great, and the packaging in a DIP IC format is just perfect.

View all 4 project logs

Enjoy this project?



-Brian wrote 08/14/2021 at 14:39 point

This is very cool. Looking forward to seeing you mount some actual panels to your system.

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates