【MCU方案】+基于MSP430的太阳跟踪系统

2019-07-26 17:04发布

   本设计基于MSP430f149芯片,制作了一个用于精确跟踪太阳收集能量的系统。系统由430单片核心、光信号采集转换、追踪太阳部分、电压采集、无线数据发送、PC机交互界面六部分组成。光信号采集转换卡感知太阳位置实现跟踪,由AD实时采集各部分电压并发送到PC上实现实时监控。    1.       引言随着现在社会太阳能利用的普及,太阳能利用率成了一个大家普遍关注的问题。基于此,我们设计了这个可以精确跟踪太阳并可实时监控电池板电压的系统,此外为了便于分析能量利用情况,我们同时通过软件的方式将电池的数据实时的保存在文件中便于以后查看。    在设计过程中所要解决的首要问题便是使电池板实时精准对准太阳的同时尽可能地降低功耗,其次是能够将数据通过无线方式发送到PC上,并显示出相应的数据。MSP430单片机是一款超低功耗的单片机,并且内部多个AD为我们提供了极大地方便。在这个设计中我们选择了430f149这款单片机,及降低了功耗,又节约了成本。2.       系统方案 2.1  总体介绍本设计是以外部电路尽量简单,充分使用MSP430的内部设备资源的前提完成的。信号处理和AD采样部分均以430单片机内部资源为核心处理的。其它部分分为:光信号采集转换、追踪太阳部分、无线数据发送、PC交互显示四部分组成。总体框图如图2.1所示 P1.png                       2.2   AD采样     通过430单片机内部的A0和A1两路12位的AD实现对所要测量的电压的精确采样,以其内部2.5v作为参考电压。其中由于电池板和电池的电压均高于2.5伏,因此采用在电池上并联电阻降低电压的方法达到所需的采样电压。       在单片机内部,将其转换为所采集到的实际的电压值。由于电池板的电压不稳定,而AD采样速度有很快,这会导致采集的数据会产生波动,跳变很大。因此我们将连续采集的三十二个数据放进一个数组中求平均值,将平均值显示传送给PC,乘以相应的系数便得到电池和电池板上的真正电压。       由于实行的是多通道多次转换,因此是单片机每采集两路数据共64组数据,才求平均值。 2.3   光信号采集转换 光传感器是有4路光敏电阻组成的光敏阵列,光敏电阻由于光照不同阻值不同,因此可将光信号转换成电信号,送到由一个电压比较器作为主体的模数转换卡中,将由电信号产生的模拟量转换为由十六进制组成的数字量,当转换卡输出0x0100时,既是前方光强,0x1000时,既是后方光强,0x0001时,既是左方光强,0x0010时,既是右方光强,单片机根据相应的数字量控制相应的舵机转动。 2.4   追踪太阳部分该部分主要由两个舵机组成的二自由度云台控制太阳能电池板所对的位置。一个舵机控制电池板的左右转动,另一个电池板控制舵机的前后转动,因此两个舵机可以控制太阳能电池板实现在整个空间转动,达到精确跟踪太阳的目的。 2.5   无线数据发送无线数据发送由430单片机内部的UART模块和一个无线数据发送器组成。当单片机检测到光信号采集卡中发送的信号一直是0x0f0f时,证明此时太阳能电池板是正对着太阳,因此启动单片机的AD采样部分,当单片机判断采集够三十二个数,求平均值后,变将其付给TXBUF0,即发送缓冲器,将其发送出去。由于单片机内部采用的是多通道多次,当共采集64个数据后,单片机发送一次。 2.6   PC交互显示PC上的交互显示界面是用labview做的一个较直观的观察窗口。难点一就是在于将430单片机发送的字符型数据转换成相应的十进制数据,并用图标曲线的方式表现出来,难点二在于识别不同的数据,以显示在不同的电池以及太阳能电池板对应的曲线上。 3.       系统硬件设计系统硬件主要由光信号采集转换、二自由度云台、电池转换电路、太阳能充电管理、无线数据传送、5V稳压电源六部分组成。 3.1   光信号采集转换        光信号采集转换部分主要部分是光敏电阻组成的光敏阵列和以芯片LM339组成的电压比较器。光敏阵列共四路,分别感知前后左右的光强,并将光强转变为为电压的模拟量。光敏电阻的另一个优点是在通常情况下的电阻是10K左右,因此所消耗的功率极少,满足低功耗的要求。将微弱的光信号转变为电信号的数字量需要极高的灵敏度,并且在这个过程中消耗的电能也不能过高,而LM339是一款高精度、低失调、低功耗、拥有四路独立比较功能的集成专用电压比较器芯片,与我们的要求非常符合。通过一片LM339,我们将由光敏电阻产生的电压模拟量转换成了单片机所需要的数字量。 3.2   二自由度云台        在实际应用中由于太阳在一直运动,就需要太阳能电池板时刻不停的转动以时刻保持与太阳光线成九十度角,因此需要一套能保证太阳能电池板在三维空间中转动的装置。通过对各种装置的研究,最终决定选用二自由度云台,云台中有两个舵机,在支撑普通的太阳能电池板的情况下,转动时每个舵机的工作电流是200ma左右,静止时每个舵机的电流在100ma左右,相对于其它的马达来说,所消耗的功率较小,符合低功耗的要求。此外,舵机有个优点是可以控制它转动的位置,实现精确定位的目的。 3.3   电池转换电路 电池转换电路我们暂时选用的是通过一个三极管控制继电器,实现不同电池间的切换,便于太阳能电池板长时间工作。首先电池一接的是继电器的常闭开关,这样在给电池一充电时继电器部分是不消耗电能的,只有在电池已充满电后,单片机给三极管一个高电平,继电器实现了跳变,实现了太阳能电池板给电池二充电,这样可以尽可能的减少电能的损耗,实现低功耗。3.4   太阳能充电管理 由太阳能电池板几乎没有像锂电池一样8.4伏或者8.2伏这样的电压,因此需要将太阳能电池板电压进行转换,以达到适合给锂电池充电的电压。此外,给电池充电时,电池会有虚电压,而且为防止电池损坏要防止过充,因此需要一款合适的电池管理芯片对电池充电进行管理,实现充电过程中的涓流充电、横流充电,并防止过冲和回流保护等。基于此,我们选择了cn3722这款芯片,它具有PWM降压模式充电管理集成电路,具有太阳能电池最大功率点跟踪功能。CN3722非常适合对单节或多节锂电池或磷酸铁锂电池的充电管理,具有封装外形小,外围元器件少和使用简单等优点。 3.5  无线数据       由于太阳能电池板通常位于阳光下,而监控设备以及管理人员不可能一直守在电池板跟前记录观察数据,因此需要将数据传送到远处,而用有线进行数据传送需要耗费大量的成本,并且需要较高的维护费用和大量的维护人员,因此我们选择无线进行传送数据的方式,一是可以减少大量资金的投入,减少维护人员的数量,二可以不必考虑地形的影响,三是设备占用空间少,维护简单。          我们选用的是XL02-2322无线数传模块,只需要将它的TXD和RXD分别与430单片机的3.5,3.4口连接起来即可。如图3.5 P2.png 3.6   5V稳压电源由于电路中所有的模块均工作在5v电压的条件下,因此需要有五伏电源对整个系统进行供电。我们采用的是两片7805 5V变压芯片并联,将12伏的电源转换成5V电源给整个系统供电。7805分别用100uf的电解电容和104的瓷片电容滤波,7805加上散热片,可以满足两个舵机最大工作电流时的电流,电路可以稳定工作。 P4.png 4.       系统软件设计程序部分共分为两部分:430单片机内程序,PC机上监控界面程序。l   算法设计的难点在于将单片机内部的UART、AD等联合起来协同工作。并能保证整个系统的稳定。 P3.png 1、程序中首先检测太阳能电池板是否正对着太阳,一旦发现没有正对太阳,单片机内部立刻停止其它的一切工作,修正太阳能板的位置,直到太阳能板与太阳光线成九十度。2、此时AD开始采样,多通道重复模式,直到A1、A2两通道各采样32次放到数组中,单片机分别对两组数据取平均值。3、判断数据平均值是否大于8.4,若连续计算的平均值均大于32次,继电器转换待充电电池。4、单片机对两组数据进行处理,分别取余和取模,准备发送。5、首先判断是电池充电的序号,如电池一正在充电,发送字符’a’,否则发送字符’d’,接着将取得余和模分别发送,接着发送字符’g’,再发送电池板的数据。6、返回步骤一。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
6条回答
dirtwillfly
1楼-- · 2019-07-26 19:25
感谢
buer1209
2楼-- · 2019-07-26 21:57
dirtwillfly 发表于 2015-8-1 23:24
感谢

还没加到集合贴里呢   :lol
米尔豪斯
3楼-- · 2019-07-27 00:56
 精彩回答 2  元偷偷看……
lwsn
4楼-- · 2019-07-27 02:19
XL02-2322无线数传模块,没用过
Thor9
5楼-- · 2019-07-27 07:35
cn3722具有PWM降压模式充电管理集成电路,具有太阳能电池最大功率点跟踪功能
JY-DX-JY
6楼-- · 2019-07-27 12:26
顶一个。

一周热门 更多>