Author Topic: Optimal Update Rate  (Read 1295 times)


  • Jr. Member
  • **
  • Posts: 71
    • View Profile
Optimal Update Rate
« on: September 24, 2012, 01:37:44 PM »
Crazy ideas time...

Obviously moving the machine, even a small amount, requires a bit of power to be used. In the case of DC motors, for example, one must provide enough power to overcome the load on the motor and then power to brake the motor.

In many applications the goal of using a solar tracker or heliostat is to save or harness energy. So, we don't want to move the machine unless absolutely necessary.

Q: When do we really want to move the machine?
A: When the sun/target has moved a given angle.

The current solar/heliostat code moves the machines every updateEvery seconds (default 30) but the sun's speed through the sky is not constant. Since quite an accurate algorithm is implemented for the position of the sun it may be possible to move when the position has changed sufficiently rather than just after a given number of seconds, at least this would work for slow update rates... say between 15 mins and 1 hour (this is because the calculation takes quite long... ~15 seconds and would have to be repeated to find the optimal time to move).

Alternatively, since we have analytical formulae for the position of the sun (equations of motion) one might even be able to solve them to give an expression for when to move next (when the sun will have moved by a given angle) given the current lat/long and time.

What do you guys think?


  • Administrator
  • Hero Member
  • *****
  • Posts: 648
    • View Profile
Re: Optimal Update Rate
« Reply #1 on: September 24, 2012, 03:10:19 PM »
This is something that I've never really thought about before. It would certainly be tricky to figure out exactly what the optimum update rate is. It seems that you would have to somehow figure out how much power it takes to move the motor and how much power you are losing by not pointing directly at the sun. I think that the easiest way to implement something like this (for sun trackers anyway) is to tell the machine to instead update when the angle between the normal vector of the solar panel's surface and the vector pointing at the sun becomes greater than some predetermined angle. I think that it would be pretty easy to code it, but the tricky part would be to figure out exactly what that "predetermined angle" should be, since it would have to be evaluated in a case by case basis which is influenced by what motors are being used and even the machine itself I suppose.

I guess it gets even trickier though when you start to take into account atmospheric conditions too, so you would almost have to measure the amount of incoming solar radiation too and adjust the "update angle" to suite. Maybe you can add a pyranometer ( to your solar panels too. :)