该算法代码是由美国国家可再生能源实验室本根据Jean Meeus的《天文算法》一书中给出的算法,实现对太阳高度角和方位角的计算,有效时间范围和精度分别为:-2000-6000年,±0.0003 度。https://bbs.eeworld.com.cn/thread-494254-1-1.html 再次,有一个坛友54哥已经早就在论坛分享过,并且做出了两种不同算法的比较,我也是借鉴他的思路代码来进行简化和设计,并且在此基础上,加入上位机可以通过天气预报和地图获取相关天气信息来辅助太阳追踪器。这个下帖会继续分享。
楼主本贴的目的在于太阳位置算法--SPA天文算法的研究和移植。具体算法可以参考Jean Meeus的《天文算法》一书。我只是根据美国国家可再生能源实验室的代码进行解析。对于《天文算法》这本书,确实需要初级天文知识和高数知识才能看得明白,而且涉及的知识面很多,我也是通过代码来进行一个简约的计算方式分析。
SPA算法需要的参数比较多,之所以要用到上贴的RTC时间,同样也需要当地的时区、经纬度、年平均温度等来算出此刻太阳的位置,即是高度角和方位角,该天内日出时刻,日落时刻。进而根据其参数来实现对太阳跟踪。
在此我也做了相对应的QT天气预报和地图,从而对其当天的天气信息和地图经纬度信息进行提取下发给下位机,从而辅助太阳追踪器,比如如果当天是阴天,则太阳追踪器则不进行追踪,停留在最初位置等等。上位机的开发会在下个帖子进行分享思路。