太阳辐射是自然界中各物理过程的重要能量来源,也是地球表面与大气交换热量的一种形式,可以作为反映气候变化的重要信号 。而太阳跟踪装置是散射辐射测量中的一个基本部件,其精确度直接影响散射辐射测量的精度与准确性 。
光电式太阳跟踪方法因其结构简单,易于实现,同时具有较高的跟踪精度而被广泛地应用于太阳辐射测量以及太阳能应用等领域 。但传统的光电式跟踪方法虽然瞬时跟踪精度较高,但多数采用直接基于嵌入式平台的跟踪方法[13],受限于单片机等主控芯片的计算速度与开发难度,往往不能实时精确地定位太阳质心,易出现累积误差,影响太阳跟踪的稳定性与连续性 。因此,本文提出一种基于ARM和MATLAB GUI的太阳图像数据采集系统,以基于ARM Cortex M3的STM32F103为硬件核心,利用CMOS传感器对太阳图像数据进行采集,并且提供可视化的上位机操作界面,对采集到的数据进行存储、分析、计算 。本系统不仅可以对太阳图像数据进行实时采集和显示,而且便于扩展和后续对太阳质心图像提取算法的研究,为进一步消除太阳跟踪系统累积误差以及准确测定太阳辐射提供基础 。同时,该系统可以为其他需要实现较复杂图像处理的嵌入式系统提供有利的技术参考 。
1总体设计
图像数据采集系统总体结构如图1所示 。系统由两部分组成:一部分是通过PC与STM32串口实现图像数据的实时通信,另一部分是利用MATLAB GUI完成图像存储及图像处理[4] 。
系统下位机负责图像数据的采集,并通过串行接口实时地将图像数据传送回上位机准备进行下一步处理 。其中,图像传感器选用OV7725,以实现图像的采集与存储等功能 。摄像头模块外接FIFO芯片,存储采集的图像,并在控制信号到来时,由STM32读取FIFO中存储的图像数据 。STM32通过CP2102电平转换芯片与PC的USB接图1系统总体结构图2摄像头接口电路口相连,利用芯片将TTL电平与RS232电平转换,完成数据传输功能 。
系统的上位机部分负责图像数据的存储与处理 。通过调用MATLAB设备控制箱中的serial类,完成对串口的设置,接着根据自定义的传输协议在摄像头与PC串口之间进行实时通信 。上位机的串口参数、图像像素等设置均可通过采集系统的GUI界面,根据下位机配置进行修改 。对返回的图像数据,可利用MATLAB的图像处理工具箱与直接面向矩阵操作的编程特点,方便地进行分析与处理,获取所需信息 。
2硬件设计
2.1摄像头接口电路
鉴于CMOS传感器兼容CMOS技术,内部集成了A/D转换等芯片,简化了外围模块的设计,提高了采集的抗噪声能力,故本系统采用美国Omni Vision公司的CMOS数字图像传感器OV7725 。其接口电路原理图如图2所示 。OV7725是一个能够提供单片VGA摄像头和影像处理器的所有功能的图像传感器,实际有效像素为640×480,支持整帧输出、子采样、取窗口等模式,支持8/10位图像分辨率,支持包括RAW RGB、RGB(RGB 4:2:2、RGB565/555/444)以及YCbCr(4:2:2)等多种数据格式 。其体积小,工作电压低,可以对图像进行伽马曲线、白平衡、饱和度、色度等处理 。
在OV7725后端搭载了FIFO来降低对单片机的性能依赖(当前模块对处理器的硬件要求仅仅为一个中断,几个GPIO管脚即可),节省片内资源,方便后续对于单片机功能的扩展 。WEN与HREF作为与非门的输入端,而与非门的输出端口连接到FIFO的WE端口 。当WEN管脚和HREF管脚都为高电平时,FIFO的WE端口的电平值才为低电平 。因此,如果允许图像数据传入FIFO时,可以把WEN拉高,当摄像头的HREF为低电平时,WE的电平值为高电平,因此,即使PCLK仍在运转,也不会传送数据进入FIFO,从而防止采集到无效数据[5] 。
推荐阅读
- 可以自己做游戏的编程软件 编程游戏软件
- 诺基亚老款手机大全 诺基亚经典老款手机
- 最新lenovo电脑排行 联想编程笔记本电脑排名
- 游戏代码编程入门编写 编程一个最简单游戏代码
- 好玩的免费回合制游戏 经典单机回合制游戏
- 程序编辑器是什么 目前编程软件排名
- c++编程思想怎么样 c++入门书籍推荐
- 手游版帝国时代哪个版本最好玩 分享经典电脑单机游戏
- 苹果6手机壁纸 苹果6手机壁纸经典推荐
- 文言文翻译大全 经典文言文大全