基于PSoC4的太阳能自动跟踪系统设计
2015-11-17聂士昂朱晓梅谢灿裘陈成
聂士昂 朱晓梅 谢灿 裘陈成
摘要:该文介绍了一种基于可编程片上系统PSoC的自动跟踪太阳光的设计。与传统利用普通单片机实现自动跟踪太阳相比,该设计使用低成本低功耗的PSoC4作为主控板,利用片内提供的I2C模块能够准确采集当前某一点的光强大小,从而控制两个步进电机在三维空间里寻找光最强的点,实现了系统的小型化、低能耗化、高精度化。在此基础上添加了外界环境感应模块,使系统能够在环境恶劣情况下能够自我保护,颇具应用价值。
关键词:PSoC 4;I2C接口;UART串口;自动跟踪
中图分类号:TP273 文献标识码:A 文章编号:1009-3044(2015)24-0165-04
Design of PSoC4 Based Solar Energy Automatic Tracking System
NIE Shi-ang, ZHU Xiao-mei, XIE Can, QIU Chen-cheng
(College of computer science and technology Nanjing Tech University, Nanjing 211816, China)
Abstract:This paper introduces a kind of system on programmable chip PSoC design of automatic tracking the sun.Compared with the traditional use the normal single chip microcomputer automatic tracking the sun,This design using the low cost of low power consumption PSoC4 as main control board,Use on chip with I2C module can collect accurate optical power of the current point,To control two stepper motors in three-dimensional space looking for light's strongest point,To realize the system miniaturization, low energy consumption, high precision.On this basis we added external environment sensing module,The system can be able to protect themselves in harsh circumstances,An application value.
Key words: PSoC 4; I2C interface; UART serial port; automatic tracking
当今人们的环保意识越来越强,光伏发电系统和太阳能的应用普遍受到各国政府的重视。因为它不仅能提供用之不竭的可持续再生电能,并更好的保护人类赖以生存的环境。但其发电效率较低,发电成本较高仍然是制约太阳能大规模应用的重要因素。在没有出现高效的光伏电池材料之前,研制具有实用价值的阳光自动系统以降低成本,是促进太阳能广泛应用的主要途径之一。近年来,有许多采用普通单片机作为主控板来进行光照的采集以及跟踪,但是传统单片机功耗大、程序繁琐等等因素制约着太阳跟踪的发展。另一方面,传统太阳能跟踪系统大多没有考虑到外接环境因素对系统本身的影响,如果在大风大雨恶劣情况下,很容易导致系统的毁坏。本文提出了一种基于PSoC4平台的太阳能自动跟踪系统,该系统充分利用了PSoC4平台的处理速度快、控制效果好、编程效率高、硬件功耗低的特性,采用片内独有的I2C接口,准确采集当前某一点的光强大小,从而控制两个步进电机在三维空间里寻找光最强的点,实现了系统的小型化、低能耗化、高精度化。在此基础上系统添加了外界环境感应模块,使系统能够在环境恶劣情况下能够自我保护,从而大大降低系统损坏的可能,颇具应用价值。
1 系统整体设计方案
太阳能跟踪控制器设计为两个自由度运动,即一个水平平面和一个垂直平面,由两个步进电机来驱动。光照采集模块采用BH1750传感器,该传感器具有I2C接口,PSoC4片内具有I2C接口,完美搭配,能够读出精确地光照数值。在跟踪太阳的平面上,放置4个BH1750传感器,分别检测上下左右4个点的光照数值大小,这样可以正好将平面对准太阳光。但是在实际环境下,太阳远远比地球大,所以在很大的一个平面上光强差不多是一样的,为了解决这一问题,我们借鉴了古代的日晷,在跟踪平面上我们放置一圆柱,这样当太阳移动一点点,就会在跟踪平面上产生阴影,这样可以避免了一个平面内光强一样的问题了。
本系统主要由PSoC4作为主控芯片、BH1750传感器模块、步进电机、雨滴传感器、风速传感器组成,系统整体设计框图如图1所示。
系统工作原理:系统加电后并完成对所有模块的初始化工作后,PSoC 4开始检测跟踪面上的四个点(平面的上下左右四个点,四个点相距间隔3cm)的光强大小,并进行左右和上下两个点的比对,如果左右光强不相等并确定光强强的一点,然后驱动水平步进电机向光强强的一点转动;同理,如果上下两个点的光强不相等,然后驱动垂直电机向光强强的一点转动,就这样一直循环着检测、驱动、检测、驱动;如果遇到大雨天气,系统会执行中断,水平步进电机停止转动,垂直步进电机向下转动一定的角度,使得传感器平面与地面垂直,使传感器平面尽可能地避免接触到大量的雨水,保护传感器等硬件设施;同理,遇到大风天气,系统会执行中断,水平步进电机停止转动,垂直电机向下转动一定的角度,直到平面与地面平行,达到缩小整个系统体积的目的,避免被强风损毁。如果遇到既有强风又有大雨的情况下,程序执行中断,水平电机不动,垂直电机向下转动,使得传感器平面面朝下,达到了既避免大雨又避免强风的目的;等恶劣天气过去后,程序跳出中断,继续执行检测跟踪。到了夜晚,在露天没有其他光源干扰的情况下,跟踪面上的光强在0左右,所以,当跟踪面检测到光强为0时,判断为晚上,然后垂直电机不转动,水平电机逆时针转动180°,等待第二天太阳的升起。
2 系统硬件设计
2.1 PSoC4内部资源配置
PSoC4 是基于ARM Cortex-M0 CPU(处理器)的可编程嵌入式系统控制器家族,为嵌入式应用提供了强大的可编程平台。它集合了可编程模拟资源、可编程内部互联、用户可编程数字逻辑、通用的固定功能外设计以及高性能的ARM Cortex-M0 CPU子系统。
PSOC4是Cypress赛普拉斯公司于2013年四月刚刚推出的一款低成本的片上系统,主要硬件资源包括32位ARM Cortex—M0微处理器内核、数字系统、模拟系统、低电压电源工作范围、简单的LCD模块驱动、通信接口SPI和IIC模块、脉冲宽度调制PWM模块,最高可用36个可编程通用IO口,同时支持线上调试和编程,其应用范围可扩展至自动控制、仪表分析、触摸系统设计等高新领域。PSoC 是一颗真正的可编程单芯片系统,它集成了可配置的模拟和数字外设,内嵌存储器以及微处理器。 PSoC 内置了处理器,但是它有别于传统的单片机。一个典型的单片机往往包含一个处理器单元(例如 8051 或者ARM), 同时还有一系列的外设,处理器在芯片中扮演着核心的角色,它管理着所有的数据流和时序。离开了这个核心,单片机不再是一个独立的单片机。PSoC 则完全不同。系统中的处理器,模拟子系统,数字子系统和输入/输出系统都是同等重要,都能相对独立的工作。系统的核心不再是处理器本身,而是各个子系统的互联以及可编程性。换言之, PSoC 是通用单片机的一个超集。你可以通过编程用 PSoC 来模拟通用单片机,但是无法使用一个通用单片机来模拟实现 PSoC 的功能。
2.2 光照采集模块
本系统使用BH1750光照传感器,其具有I2C接口,能够精确地采集某一点的光强大小,其精确度可达个位。PSoC4内部具有I2C接口如图2,在Creator平台上面可对I2C进行配置如图3,可与BH1750建立通信,通过PSoC的SCl端输出时钟信号给BH1750,BH1750接受到信号后将实时采集的8位数据(如图4)通过I2C输送到PSoC中然后再经数学变换成光强数值,如图5为四个点处的光强大小。
2.3 步进电机驱动模块
为了降低成本,缩小系统的体积,本系统采用步进电机作为驱动。步进电机是将电脉冲信号转变为角位移或线位移的开环控制元步进电机件。在非超载的情况下(本系统不会超载),电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响。当步进电机接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度,它的旋转是一步步运行的。可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的,用在本系统再合适不过了。在PSoC内部配置8个输出IO口(如图6)来控制2个步进电机,驱动芯片采用ULN2003,该芯片具有电流增益高、工作电压高、温度范围广、带负载能力强等特点。
2.4 雨滴采集模块
雨滴检测模块主要用于检测外接环境是否下雨。下雨与否会有电平变化。将电平变化端接入PSoC4芯片上,PSoC配置一输出IO口与之相对应,采集外界雨水情况。下雨则产生中断,雨停则系统正常运行。
2.5 风速传感器模块
风速传感器本系统采用已经集成化好了的,其采用标准通信协议,输出数字信号。其具有RXD和TXD与PSoC相连接,PSoC4具有UART串口(如图7),可配置为全双工、半双工、单接收RX或单发送TX通信方式(如图8)。所有通信方式都提供相同的基本功能,他们之间的差异仅在于使用的资源量。为了帮助处理UART接收和传送数据,PSOC为UART提供了独立的大小可配置的缓冲区。这种机制有利于CPU利用更多的时间处理关键的实时任务,而不是连续服务于UART。在基于PSoC的多数应用中,可通过选择波特率、奇偶校验、数据位数以及起始位数轻松配置UART。RS232最常见的配置通常为8N1。这是UART组件的默认配置。因此,在多数应用中只需设置波特率。主要性能包含:
1)带有硬件地址检测功能的9位寻址模式;
2)波特率范围为110~921600bps,最高波特率可达4Mbps;
3)Rx和Tx缓冲区范围为4~65535Byte;
4)帧检测、奇偶校验检测和溢出检测;
5)可优化的硬件模式选择,全双工、半双工、单发送Tx和单接收Rx;
6)每个比特按照3取2表决原则来判断;
7)中断信号产生和检测;
8)8倍或16倍过采样。
3 系统软件设计
Cypress公司针对PSoC的特点设计开发了PSoC Creator开发工具。在PSoC Creator集成开发环境中,片上资源均提供了对应的API程序供选用,如需额外实现程序逻辑可以使用C语言编程,设计完成后可以进行线上调试而且能随时中断程序的运行。本系统软件设计使用PSoC Creator3.0集成开发环境,很多程序都可用C编写。
程序逻辑设计:首先初始化各个模块,在while死循环里面实时检测当前四个传感器的大小,然后选择相应的步进电机进行相应的跟踪,直到对准光照最强的位置,然后实时的跟着太阳移动,风速传感器和雨滴传感器设置相应的中断,放在while死循环里,如遇到相应的中断,则跳出死循环执行相应的程序。
对应的算法流程图如图9:
4 系统调试与结果分析
系统PSoC4的片内硬件资源部署以及相关软件程序的下载和调试通过PSoC5 LP编程调试器完成。与以往的PSoC芯片必须使用MiniProg3编程器离线下载程序不同,PSoC4通过PSoC LP编程器可以实现PSoC Creator在线下载与调试。以PSoC5 LP为核心的编程调试器的一端通过SWD串行线调试接口与PSoC4通信,另一端通过MiniUSB接口与计算机建立联系。只需在PSoC Creator中执行Program命令完成程序下载与编译,然后执行Debug命令进入调试模式,直到硬件软件均符合系统设计的逻辑。
测试方法:将整个系统放在露天环境下,在传感器平面上取正中心一点,在该点放置一与平面垂直的长为H的细杆(为长圆柱形,底面直径在0.5mm到1mm之间),以该点为中心,以面的水平轴为X轴(左负右正),以面的垂直轴为Y轴(上正下负),建立坐标系,在一天的时间里(从早上8点到黄昏6点),在每个整点时刻记录细杆在传感器平面的阴影位置,然后利用三角函数公式
求得水平和垂直方向的偏移角,然后分别在晴朗和阴天的条件下测得一系列数据,测试结果如表 1 所示。
结果分析:在天气晴朗的情况下,跟踪太阳情况良好,对于恶劣天气的反应状态良好,达到了设计的预期。在阴天的情况下,不能够准确的跟踪太阳,相对误差较大。在长时间运作下,系统无不良反应出现,一切运作正常。
5 结束语
本设计的自动跟踪太阳的系统,不仅实现了跟踪的基本功能,而且添加了检测外界的传感器,使得本系统更加的人性化。本系统设计灵巧、轻便、实用,采用PSoC4后更加大大地降低了系统的能耗,提升了系统的稳定性和准确性。
本文设计的系统可应用于车载系统、家用太阳能系统、太阳能发电系统、舞台灯光系统等等,大大提高太阳能的利用率,为现实绿色能源提供技术支持。
参考文献:
[1] 王化格, 赵洪亮. 基于PSoC的太阳能路灯控制器设计[J]. 科技信息, 2013(5): 83-84.
[2] 李鹏. 双轴太阳跟踪系统运动规律的研究[J]. 机械制造, 2010(6): 25-26.
[3] 肖玉华, 熊合金. 基于Atmega8的双核太阳跟踪器的设计[J]. 电子设计工程, 2010(3): 46-47.
[4] 张磊, 郑喜贵. 高精度太阳能自动跟踪装置的研制[J]. 制造业自动化, 2014(5):129-132.
[5] 中国气象局, 地面气象观测规范[M]. 北京: 气象出版社, 2013: 133.
[6] 徐泽清, 高旭东, 韩喜春. 基于psoc的电子称设计[J]. 黑龙江工程学院学报, 2012, 26(4): 48-51.