基于Minim OSD的水质采样船状态反馈的研究与实现
2015-06-08张晓江黄发领
李 青 ,张晓江 ,黄发领
(合肥工业大学 电气与自动化工程学院,安徽 合肥 230009)
随着社会和科技的进步,无人机技术正悄悄的走进人们的生活。在近几年,民用无人机的应用和发展得到了广泛的关注。
无人技术是指搭载任务载荷完成特定任务的自主航行运载器,主要包括无人飞机、无人地面车辆、无人水面艇和无人潜航器等。随着无人技术的日益成熟,无人系统也将大大改变人类的生活方式[1]。
在与人类的协同工作中,无人机往往需要最基本的人机交互,即人能够得到无人机工作环境的反馈,进而使人能够依据现场环境更好的控制无人机。人机交互中最简单直接的方式是显示视频。Minim OSD正是基于这种最简单的人机交互方式被设计,它的工作方式是在视频电子信号中叠加字符信息,使得视频图像中叠加有字符或汉字图形[2]。
1 Minim OSD工作原理
Minim OSD是基于MAX7456和Mega328P的字符叠加模块。
1.1 MAX7456简介
MAX7456视频叠加器件是单通道、单色随屏(OSD)发生器[3],内部集成了视频驱动、同步分离器、视频开关以及EEPROM,采用符合NTSC和PAL制式的256个用户可编程字符,能够方便的以任意字符、尺寸显示各种信息。器件内部包含了36个寄存器,通过对寄存器的读写可以对屏幕像素,各行字符的亮度,字符的闪烁、反色等进行有效的控制。
MAX7456的主要引脚有:CS:输入片选信号,低电平有效;SDIN:串行数据输入,数据在SCLK上升沿移入;SCLK:串行时钟输入,占空比必须在40%到60%之间;SDOUT:串行数据输出,数据在SCLK下降沿输出,当CS变为高电平时,变为高阻抗;VIN:PAL 或者 NTSC,CVBS 视频输出;VPUT:视频输出[4]。
1.2 Minim OSD原理图
电路的主要工作原理是Mega328P通过模拟SPI接口模式向MAX7456发送控制命令,如显示模式,读取字符存储器等,MAX7456根据单片机的指令,修改或者读取字符存储区中的字符,并将图像、字符混合后显示在指定的位置上[5]。Minim OSD的硬件原理图如图1所示。
2 基于Minim OSD的采样船状态反馈的实现方法
随着社会对于环境的关注,特别是对水环境的重视程度加重,水质监测作为水污染控制工作中基础工作,其意义和作用也变得更加重要[6]。由于人力和物力的限制,传统的人工水质采样方式已经慢慢的被淘汰,取而代之的是用人工智能采样船对采样点进行采样并分析[7]。
图1 Minim OSD硬件原理图Fig.1 Schematic diagram of Minim OSD hardware
由于设计原因和使用环境,水质采样船在水中的行为状态不能为人所知,本方法设计的目标即让采样船行进和采样时的状态直观化,使用者在岸边用一个LCD显示屏即了解采样船的各个状态。
2.1 消息(message)的定制
Minim OSD是APM专用的视频显示模块,所以它支持的是APM所使用的MAVLink协议,MAVLink协议的格式如图2所示。
图2 MAVLink协议格式Fig.2 The protocol format of MAVLink
协议各个字节的含义如表1所示。
表1 MAVLink协议各字节含义Tab.1 Protocol of each meaning of MAVLink
Minim OSD是通过MAVLink协议中的消息ID来识别报文种类,OSD中现有程序已用消息ID为0—168,为了不破坏OSD在APM上的功能,我们需要自行添加新消息,使得OSD能够解析到新消息ID的报文。新消息的定制过程如下:
在Minim OSD的源程序文件中的ardupilotmega.xml下定义消息[8],此过程在QXmlEdit软件上进行。在此定义ID为“169”的消息,具体内容如图3所示。
图3 新消息定制内容Fig.3 A new message customized content
定制好消息后保存ardupilotmega.xml文件,然后用Python(脚本软件)生成C程序。
2.2 报文的接收和解析
Minim OSD的程序中,接收和解析报文的源码在MAVLink.ino文件下,在后面加解析代码如下:
其中,MAVLINK_MSG_ID_SAMPLE的值为169,即我们定义的新消息ID,当Minim OSD识别到此ID后,开始解析报文,osd_modey等即要显示的数据。
2.3 系统硬件设计
如图4所示,Minim OSD的Video In口接摄像头单元C,由12 V电源供电,Video Out模块接图传模块,图传将视频信号通过无线传输到地面站上的终端显示。本系统采用Arduino Nano单片机来获得采样船的各个状态,Nano板的D2,D3口为软串口,与Minim OSD的串口通讯,将采水信息发送到Minim OSD,Minim OSD将信息加载到图像上。
图4 系统硬件设计Fig.4 The hardware design of the system
2.4 系统软件设计
该系统中,Nano将实时的采样船状态上传至Minim OSD,Minim OSD接收并解析数据,并将数据显示在LCD屏上。在Nano和Minim OSD的交互过程中,Nano必须每隔1秒钟时间给Minim OSD上传一次心跳报文,以确保Minim OSD的正常工作[9]。系统软件流程图如图5所示。
图5 系统软件流程图Fig.5 The software flow chart of the system
2.5 系统漏水报警显示的实现
现以漏水报警显示为例具体介绍系统对各参数监控的过程。因为内部都是电路走线,采样船舱内不能进水。然而采样船在执行采水任务时,操作员并不知道舱内是否漏水。为了及时知道因未知因素导致的船舱漏水,必须要加漏水检测,并要通过OSD使警报信息显示在LCD屏上。漏水检测板PCB如图6所示。
图中 P1接GND,P2接+5 V,P3接 Nano板 IO口。采样船正常工作时,Nano板检测到P3为低电平,而当船舱内漏水时,会将与P1和P3连接的两根锡皮线导通,Nano检测到P3为高电平,这时Nano传送给Minim OSD的MAVLink协议报文中表示漏水标志位的数据leak_flag置1。这一位数据被Minim OSD得到并正确解析后,使mavlink_msg_sample_get_leakage_warn(&msg)置为 1,检测到此标志位为 1时 OSD中程序会通过 osd.printf(“Leaking warning”)将报警信息显示在LCD屏时。当操作员看到此报警时,会采取补救措施,避免更严重的事故。
图6 漏水检测板PCB图Fig.6 The PCB of water detection board
3 结束语
本系统目前已设计完成并投入使用。采样船在水中采样的过程中,工作人员在岸边通过LCD显示屏可以实时的了解采样船的状态,如采样模式、采样状态、采样量以及漏水警报等等。本文介绍的方法不仅可以用于采样船,也可用于其他无人机系统。
[1]秦博,王蕾.无人机发展综述[J].飞航导弹,2002(8):4-10.QING Bo,WANG Lei.Review of the development of UAV[J].Aerodynamic Missile Journal,2002(8):4-10.
[2]李红,聂红儿.基于MAX7456的视频字幕模块的设计与实现[J].电子元器件应用,2010,12(9):21-23.LI Hong,NIE Hong-er.Design and implementation of video caption module based on MAX7456[J].Electronic Computer&Device Application,2010,12(9):21-23.
[3]张志华,吴建学.基于MAX7456的视频字符叠加系统设计[C].2009通信理论与技术新发展——第十四届全国青年通信学术会议论文集,2009.
[4]汪辉,王昌明,宋高顺,等.基于MAX7456的字符叠加系统设计[J].电子设计工程,2010,18(7):181-183.WANG Hui,WANG Chang-ming,SONG Gao-shun,et al.Design ofcharactersuperimposition system based on MAX7456[J].Electronic Design Engineering,2010,18(7):181-183.
[5]卞爱琴,张金艺,何建波.视频字符叠加芯片及应用[J].电视技术,2003(5):74-76.BIAN Ai-qin,ZHANG Jin-yi,HE Jian-bo.Video character superpose chip and its application[J].Ideo Engineering,2003(5):74-76.
[6]张成.浅谈污水处理中水质检测的发展及重要性[J].中国新技术新产品,2013(5):150.ZHANG Cheng.The development and importance of sewage treatment in water quality testing[J].New Technology&Products of China,2013(5):150.
[7]冯大伟,沈鑫.小型无人自动测量船水质采样及在线监测系统[J].油气田地面工程ISTIC PKU,2010,29(2):93-94.FENG Da-wei,SHEN Xing.Automatic measurement of small unmanned ship,swater quality sampling and online monitoring system[J].Oil-Gas Field Surface Engineering,2010,29(2):93-94.
[8]彭春光,邱晓刚,张柯.仿真环境下基于XML模式的脚本生成系统研究[J].计算机仿真,2006,23(8):248-251.PENG Chun-guang,QIU Xiao-gang,ZHANG Ke.The script generate system based on XML schema in simulation environment[J].Computer Simulation,2006,23(8):248-251.
[9]彭静,张维勇,李洋.基于嵌入式系统的GUI软件开发包的设计和实现[J].合肥工业大学学报:自然科学版,2009,32(4):453-456.PENG Jing,ZHANG Wei-yong,LI Yang.Design and implementation of GUI toolkit based on embedded systems[J].Journal of Hefei University of Technology,2009,32(4):453-456.