基于msp430的太阳跟踪系统
1 2011-2012 德州仪器 C2000 及 MCU 创新设计大赛项目报告题 目: 基于 MSP430的太阳跟踪系统组别: 本科组应用类别: 控制系统类平台: MSP430 题 目: 基于 MSP430 的太阳跟踪系统摘要(中英文)基于 MSP430的太阳跟踪系统本设计基于 MSP430f149 芯片,制作了一个用于精确跟踪太阳收集能量的系统。系统由 430 单片核心、光信号采集转换、追踪太阳部分、电压采集、无线数据发送、 PC 机交互界面六部分组成。光信号采集转换卡感知太阳位置实现跟踪,由AD 实时采集各部分电压并发送到 PC 上实现实时监控。关键词:太阳跟踪、 msp430 Suntracking system based on the M SP430 This design based on the MSP430f149 chip, made a used to accurately track the sun collect energy system. By 430 single chip system core, light signal acquisition conversion, track the sun part, voltage collection, wireless data transmission, the PC interface six parts. The light signal acquisition conversion card perception the sun position track, and the real-time data acquisition by AD each part to achieve the PC voltage and real-time monitoring. Key words: the sun tracking 、 msp430 2 1. 引言随着现在社会太阳能利用的普及, 太阳能利用率成了一个大家普遍关注的问题。基于此,我们设计了这个可以精确跟踪太阳并可实时监控电池板电压的系统,此外为了便于分析能量利用情况,我们同时通过软件的方式将电池的数据实时的保存在文件中便于以后查看。在设计过程中所要解决的首要问题便是使电池板实时精准对准太阳的同时尽可能地降低功耗,其次是能够将数据通过无线方式发送到 PC 上,并显示出相应的数据。 MSP430 单片机是一款超低功耗的单片机,并且内部多个 AD 为我们提供了极大地方便。在这个设计中我们选择了 430f149 这款单片机,及降低了功耗,又节约了成本。2. 系统方案2.1 总体介绍本设计是以外部电路尽量简单, 充分使用 MSP430 的内部设备资源的前提完成的。 信号处理和 AD 采样部分均以 430 单片机内部资源为核心处理的。其它部分分为:光信号采集转换、追踪太阳部分、无线数据发送、 PC 交互显示四部分组成。总体框图如图 2.1 所示3 2.2 AD 采样通过 430 单片机内部的 A0 和 A1 两路 12 位的 AD 实现对所要测量的电压的精确采样,以其内部 2.5v 作为参考电压。其中由于电池板和电池的电压均高于 2.5 伏,因此采用在电池上并联电阻降低电压的方法达到所需的采样电压。在单片机内部,将采集到的电压按公式: 40 9 5 * in RAD CR RV VNV V将其转换为所采集到的实际的电压值。由于电池板的电压不稳定,而 AD 采样速度有很快,这会导致采集的数据会产生波动,跳变很大。因此我们将连续采集的三十二个数据放进一个数组中求平均值, 将平均值显示传送给 PC, 乘以相应的系数便得到电池和电池板上的真正电压。由于实行的是多通道多次转换, 因此是单片机每采集两路数据共 64 组数据,才求平均值。2.3 光信号采集转换光传感器是有 4 路光敏电阻组成的光敏阵列, 光敏电阻由于光照不同阻值不同,因此可将光信号转换成电信号,送到由一个电压比较器作为主体的模数转换卡中,将由电信号产生的模拟量转换为由十六进制组成的数字量,当转换卡输出 0x0100 时, 既是前方光强, 0x1000 时, 既是后方光强, 0x0001时,既是左方光强, 0x0010 时,既是右方光强,单片机根据相应的数字量控制相应的舵机转动。2.4 追踪太阳部分该部分主要由两个舵机组成的二自由度云台控制太阳能电池板所对的位置。 一个舵机控制电池板的左右转动, 另一个电池板控制舵机的前后转动,因此两个舵机可以控制太阳能电池板实现在整个空间转动, 达到精确跟踪太阳的目的。2.5 无线数据发送无线数据发送由 430单片机内部的 UART 模块和一个无线数据发送器组成。 当单片机检测到光信号采集卡中发送的信号一直是 0x0f0f 时, 证明此时太阳能电池板是正对着太阳,因此启动单片机的 AD 采样部分,当单片机判断采集够三十二个数,求平均值后,变将其付给 TXBUF0 ,即发送缓冲器,将其发送出去。由于单片机内部采用的是多通道多次,当共采集 64 个数据后,单片机发送一次。在 PC 上需要分辨不同电池的数据和太阳能板的数据,因此在每次发送时, 430 单片机首先向电脑发送一个字符作为识别码, ’ a’ 代表电池一的数据, ’ d’ 代表电池二的数据, ’ g’ 代表太阳能电池板的数据。 PC 做相应的处理后便显示出对应的曲线。AD 每次转换后的数据超过了 8bit,因此单片机无法一次发送完所有的数据,因此需要多次发送。将数据按如下方式:待发送变量 1= % 256inV ;4 待发送变量 2= / 256inV ;经过两次数学运算:取模和取余运算后,便可将数据发送到 PC 上。通过把一个数据转换成三等份将数据发送出去,既保证了数据的简洁准确性,又保证了数据的可分辨性。2.6 PC 交互显示PC 上的交互显示界面是用 labview 做的一个较直观的观察窗口。 难点一就是在于将 430 单片机发送的字符型数据转换成相应的十进制数据,并用图标曲线的方式表现出来,难点二在于识别不同的数据,以显示在不同的电池以及太阳能电池板对应的曲线上。由于在单片机内部发送数据之前发送了一个识别码,因此 PC 机可以较轻松的识别出相应的数据,每次取三个数据,第一个数据用于分辨数据类型,通过一下方式:(数据 1*256+数据 2)便可得到一个完整的电压数据,最后再将数据发送到 Labview 内部自带的曲线图上就可可以满足显示不同曲线的要求。3. 系统硬件设计系统硬件主要由光信号采集转换、二自由度云台、电池转换电路、太阳能充电管理、无线数据传送、 5V 稳压电源六部分组成。3.1 光信号采集转换光信号采集转换部分主要部分是光敏电阻组成的光敏阵列和以芯片LM339 组成的电压比较器。光敏阵列共四路,分别感知前后左右的光强,并将光强转变为为电压的模拟量。光敏电阻的另一个优点是在通常情况下的电阻是 10K 左右,因此所消耗的功率极少,满足低功耗的要求。将微弱的光信号转变为电信号的数字量需要极高的灵敏度,并且在这个过程中消耗的电能也不能过高, 而 LM339 是一款高精度、 低失调、 低功耗、拥有四路独立比较功能的集成专用电压比较器芯片,与我们的要求非常符合。在如下电路图 3.1 中,我们又巧妙地的分别将前、后、左、右两路的反相输入端与后、前、右、左的同相输入段比较,与传统的电压比较器的连接方法相比,具有更加准确。灵敏度更高不、易于调节、电路简单、功耗低等优点, 并且充分利用了一个电压比较器的四路比较单元, 因此最后的比较效果更加出色。5 通过一片 LM339 ,我们将由光敏电阻产生的电压模拟量转换成了单片机所需要的数字量。3.2 二自由度云台在实际应用中由于太阳在一直运动, 就需要太阳能电池板时刻不停的转动以时刻保持与太阳光线成九十度角, 因此需要一套能保证太阳能电池板在三维空间中转动的装置。通过对各种装置的研究,最终决定选用二自由度云台,云台中有两个舵机,在支撑普通的太阳能电池板的情况下,转动时每个舵机的工作电流是200ma 左右, 静止时每个舵机的电流在 100ma左右, 相对于其它的马达来说,所消耗的功率较小,符合低功耗的要求。此外,舵机有个优点是可以控制它转动的位置,实现精确定位的目的。3.3 电池转换电路电池转换电路我们暂时选用的是通过一个三极管控制继电器 , 实现不同电池间的切换,便于太阳能电池板长时间工作。首先电池一接的是继电器的常闭开关,这样在给电池一充电时继电器部分是不消耗电能的,只有在电池已充满电后,单片机给三极管一个高电平,继电器实现了跳变,6 实现了太阳能电池板给电池二充电, 这样可以尽可能的减少电能的损耗,实现低功耗。3.4 太阳能充电管理由太阳能电池板几乎没有像锂电池一样 8.4 伏或者 8.2 伏这样的电压,因此需要将太阳能电池板电压进行转换,以达到适合给锂电池充电的电压。此外,给电池充电时,电池会有虚电压,而且为防止电池损坏要防止过充,因此需要一款合适的电池管理芯片对电池充电进行管理,实现充电过程中的涓流充电、横流充电,并防止过冲和回流保护等。基于此,我们选择了 cn3722 这款芯片,它具有 PWM 降压模式充电管理集成电路, 具有太阳能电池最大功率点跟踪功能。 CN3722 非常适合对单节或多节锂电池或磷酸铁锂电池的充电管理,具有封装外形小,外围元器件少和使用简单等优点。3.5 无线数据由于太阳能电池板通常位于阳光下,而监控设备以及管理人员不可能一直守在电池板跟前记录观察数据,因此需要将数据传送到远处,而用有线进行数据传送需要耗费大量的成本, 并且需要较高的维护费用和大量的维护人员,因此我们选择无线进行传送数据的方式,一是可以减少大量资金的投入,减少维护人员的数量,二可以不必考虑地形的影响,三是设备占用空间少,维护简单。我们选用的是 XL02-2322 无线数传模块, 只需要将它的 TXD 和 RXD分别与 430 单片机的 3.5, 3.4 口连接起来即可。如图 3.5 3.6 5V 稳压电源7 由于电路中所有的模块均工作在 5v 电压的条件下, 因此需要有五伏电源对整个系统进行供电。我们采用的是两片 7805 5V 变压芯片并联,将 12伏的电源转换成 5V 电源给整个系统供电。 7805 分别用 100uf 的电解电容和 104 的瓷片电容滤波, 7805 加上散热片,可以满足两个舵机最大工作电流时的电流,电路可以稳定工作。4. 系统软件设计程序部分共分为两部分: 430 单片机内程序, PC机上监控界面程序。算法设计的难点在于将单片机内部的 UART 、 AD 等联合起来协同工作。并能保证整个系统的稳定。开始AD、 UART、舵机初始化太阳能电池板是否正对太阳?N舵机工作,直到电池板正对太阳AD采样YA1、 A2是否各采样 32次求平均值Y继续采样N电池电压是否大于 8.4 伏?继电器转换带充电电池将电压平均值赋给TXBUF0NY图 4.11、 程序中首先检测太阳能电池板是否正对着太阳,一旦发现没有正对太阳,单片机内部立刻停止其它的一切工作,修正太阳能板的位置,直到太阳能板与太阳光线成九十度。8 2、 此时 AD 开始采样,多通道重复模式,直到 A1、 A2 两通道各采样 32 次放到数组中,单片机分别对两组数据取平均值。3、 判断数据平均值是否大于 8.4,若连续计算的平均值均大于 32 次,继电器转换待充电电池。4、 单片机对两组数据进行处理,分别取余和取模,准备发送。5、 首先判断是电池充电的序号,如电池一正在充电,发送字符 ’ a’ ,否则发送字符 ’ d’ , 接着将取得余和模分别发送, 接着发送字符 ’ g’ , 再发送电池板的数据。6、 返回步骤一。其中发送部分代码下所示:if(jidqi = 32) { P4OUT //P4.0 low ,继电器接电池 2 PutChar( d ); //电池 2 数据,代表字母: d delaynus(60000); //延时 10ms PutChar(shuhou); delaynus(60000); //延时 10ms 9 PutChar(shuqian); delaynus(60000); //延时 50ms PutChar( g ); //太阳能板电压数据delaynus(60000); //延时 10ms PutChar(shuhou2); delaynus(60000); //延时 10ms PutChar(shuqian2); delaynus(60000); //延时 50ms } PC 机监控界面程序主要思想为:1. 接收单片机发送的字符,设置为一次接收 3 个字符串2. 判断验证字符,为 ’ a’ ,将后两个字符串的值赋给电池一的曲线;为 ’ d’ ,将后两个字符串的值赋给电池二的曲线;为 ’ g’ ,将后两个字符串的值赋给太阳能电池板电池的曲线;5. 系统创新1) 本系统采用 TI 公司的 msp430f149,芯片进行开发,充分利用片内的资源,进行利用能源的项目开发,及较大的降低了功耗,也节约了大量成本。2) 对于精确跟踪太阳部分, 首次以一片简单的电压比较器芯片取代了传统的通过读取 GPS信息来确定太阳位置的方法,及降低了功耗,有减少了成本,而且适应性强,不必每换一个位置便要修改程序。3) 采用无线通讯的模式,相比于用有线传送数据的方式更加的节约成本,减少了外部器件的使用。4) 能够一次给多个电池充电,提高了效率。5) 通过 PC 机的监控界面,能够实时的观察到电池和太阳能电池板的数据,为分析太阳能的利用率提供了可靠地实验数据。6. 评测与结论模块 测试方法 达到的指标跟踪太阳部分 1:以灯光在室内 照射太阳能电池板2:在室外太阳下测试,1: 室内太阳能电池板一直跟踪灯光,始终跟踪灯光, 与其成九十度角。10 并测量光线的角度 2:户外阳光测试,太阳能板正对太阳。3: 所有太阳能板与光线的角度,用仪器测量误差在 0.5 度以内。AD 采样部分 用万用表实际测量电池电压与太阳能电池板的电压, 并与 PC 机上的数据比较经比较,通过 AD 采样得到的电压值与用万用表测得的电压值比较后发现误差不超过 0.04伏。无线数据发送部分 观察电脑上数据,观察发送的误码率当电脑与整个系统距离小于 350 米时,误码率小于千分之一;当距离大于 350 米时,误码率在 1%左右。通过测试,整个系统的最后效果能达到预期的效果。附录太阳能充电控制器11 电池转换及 AD 分压光信息采集转换卡12 未经包装的原系统电池一充电监控图13 电池二充电监控图