基于MSP430单片机的光电经纬仪自动调光调焦系统研制

时间:2022-07-03 09:10:10

基于MSP430单片机的光电经纬仪自动调光调焦系统研制

【摘要】被试品在空中飞行时,相对经纬仪的位置发生变化,背景光强度改变,像点离焦,影响成像质量。本系统以MSP430单片机为控制核心,采用μC/OSⅡ实时操作系统下的多任务编程技术,实现自动调光调焦以获得最佳成像质量。

【关键词】经纬仪;自动调光调焦;MSP430;μC/OSⅡ

1.引言

光电经纬仪是靶场对被试品进行外弹道测量的主要装备,其主要测量传感器一般为CCD相机。被试品在空中飞行时,相对经纬仪的位置不断发生变化,目标与背景的对比度改变,像点离焦,影响成像质量,不利于数据处理。因此,提高经纬仪的成像质量,对被试品的跟踪测量十分重要。

自动调光根据背景光的强度和曝光时间,改变光路中变密盘的位置,调整光通量以获得最佳的对比度;自动调焦根据装备的相关信息,改变光轴上物面的位置,调整目标像点位置,以获得最佳成像质量。

本系统采用MSP430单片机为控制核心,用光敏三极管获取光圈信息,用旋转电位计获取焦距信息,用步进电机调整变密盘和物面的位置;软件采用μC/OSⅡ实时操作系统下的多任务编程技术,确保软件的实时性、稳定性和可靠性。

2.自动调光调焦方法

自动调光部分采用可变密度盘调整像面照度,使CCD靶面上得到适度的曝光量,达到控制成像质量的目的。可变密度盘的透过率是随其转角按一定函数关系变化的,变化范围为5个光圈。光强检测元件为放在CCD相机靶面附近的光敏三极管,它感应背景光的强度,经过光电转换放大处理后送入单片机进行采样、处理,判定曝光量的高低,调整密度盘向低密或高密转,如图1所示。

自动调焦部分通过调整放置在望远镜光路中的光楔来改变空间的光程,以达到调整目标像点使其与CCD焦面重合的目的。利用旋转电位计作为检测元件,获取距离信号;用温度传感器获取温度信息,送单片机进行采样、处理,与目标距离进行必对获得离焦值,驱动步进电机带动光楔移动进行调焦,如图2所示。

3.系统硬件设计

本系统中使用的单片机是MSP430F149,它采用16位R1SC结构,CPU中有16个寄存器和常数发生器,可使得代码效率达到最高,而且它还集成了JTAG接口,可直接对其中的Flash存储器进行编程。系统利用键盘和液晶显示器进行人机交互,测量结果保存在外扩的FLASH存储器中。系统通过RS232串行接口和上位机进行通信,接收距离信息进行调焦。

4.系统软件设计

软件在IAR Embedded Workbench for MSP430开发环境下进行编程,程序可以在线仿真,方便编写、调试及程序烧录。为了优化、简化系统的软件设计,提高系统软件的可靠性、可扩展性及可维护性,结合MSP430单片机的特点,用μC/OSⅡ实时操作系统为内核来构建系统软件,采用多任务设计方式,通过定时机制、消息管理和任务调度,使得多个任务同时运行,在方便编程设计的同时确保软件的实时性、稳定性和可靠性。

4.1 μC/OSⅡ操作系统

μC/OSⅡ是一个基于ROM运行的、可裁减的抢占式实时多任务内核,具有高度可移植性、高度可靠性、鲁棒性和安全性,特别适合于微处理器和微控制器。μC/OSⅡ是单片机启动后首先执行的背景程序,它作为主控程序管理整个系统的资源,对系统中的各个任务进行调度,用户的应用程序就是运行于其上的各个任务。μC/OSⅡ根据各个任务的需求,进行资源管理、任务调度、消息管理、异常处理等工作。每个任务均有一个优先级,μC/OSⅡ根据各个任务的优先级和任务所处的状态,动态地在各个任务之间进行切换,以保证实时性。各个任务独立编写,通过任务间的通信和同步机制来保证任务之间的协调,降低程序的复杂度,减小程序设计的工作量,降低出错的可能性,使程序更可靠,具有较高的可维护性。

4.2 任务设计

在设计多任务应用时,进行合理的任务划分对系统的运行效率、实时性影响极大,任务分解过细会使任务频繁切换的开销增加,而任务分解不够彻底会造成原本可以并行的操作只能按顺序串行完成,从而减少了系统的吞吐量。因而将系统任务分解为以下几个主要任务:

系统启动任务:μC/OSⅡ初始化、系统硬件初始化;

采集控制任务:完成背景光强度、调焦光楔位置、距离以及温度等有关信息的采集,控制步进电机进行调光调焦,显示相关信息;

参数设置任务:对系统的一些参数进行设置;

系统自检任务:完成对系统硬件的检测、结合一定的设备对相关处理电路进行校正。

任务通过OSMboxPost()、OSMboxPend()实现切换,如图4所示:

所有的任务模块均为一个死循环结构,任务之间通过邮箱实现信息交换已达到任务切换的目的,其代码结构为:

void TASK(void)//TASK为任务名

{ 变量声明;

OSMboxPend( );//等待邮箱信息

While()

{ 液晶屏刷新;

任务功能实现;

OSMboxPost( );//向切换任务邮箱投递信息

OSMboxPend( );//等待邮箱信息}}

在实际设计过程中,由于各任务模块的复杂程度不同,在编程时根据需要进一步细分,将单个任务划分为不同的具体任务来简化编程。对所有硬件的驱动程序进行模块化、规范化设计,降低代码数量,提高代码质量,预留接口,使得整个设计具有良好的整体性、可维性。

5.结论

基于MSP430单片机的光电经纬仪自动调光调焦系统,是集光、机、电、微型计算机于一体的闭合回路自动控制系统,是经纬仪不可或缺的部分。其控制电路设计简单可靠,采样精度高,开发方式简单快捷,电路简单且具有较高的调节精度;采用μC/OSⅡ实时操作系统下的多任务编程技术,使得软件具有较强的实时性、稳定性和可靠性。

参考文献

[1]沈建华等.MSP430系列16位超低功耗单片机原理与应用[M].2004.

[2]魏小龙.MSP430系列单片机接口技术及系统设计实例[M].2002.

[3]胡大可.MSP430系列16位超低功耗单片机原理与应用[M].2001.

[4]胡大可.MSP430系列单片机C语言程序设计与开发[M].2003.

[5]Jean J.Labrosse.嵌入式实时操作系统μC/OSⅡ(第二版)[M].2003.

[6]任哲,潘树林,房红征.嵌入式操作系统基础μC/OSⅡ和Linux[M].2006.

上一篇:利用KEPWARE通过三菱PLC485BD模块读写三菱PLC... 下一篇:燃煤电厂湿法烟气脱硫过程的优化分析