工业控制 | 能源技术 | 汽车电子 | 通信网络 | 安防监控 | 智能电网 | 移动手持 | 无线技术 | 家用电器 | 数字广播 | 消费电子 | 应用软件 | 其他方案

电路设计->综合电路图->FPGA电路图->关于PC104与C8051F120的水下机器人环境监测系统设计

关于PC104与C8051F120的水下机器人环境监测系统设计

作者:angelazhang时间:2015-07-17

为了实现对水下机器人周围环境的监测,提出了一种基于PC104与C8051F120的水下机器人环境监测系统设计方案,并完成系统的软硬件设计。该系统的硬件部分主要是采集下潜深度传感器、姿态传感器、温湿度传感器的数据,软件部分采用用Visual C++6.0设计了监控界面。该系统能够实时显示视频和各传感器数据。实际测试表明,该系统具有稳定性高、准确性高的特点,达到了设计要求。

水下机器人具有重大需求和巨大的市场价值,如:用于泵站流道和叶轮叶片、坝体、桥墩、排沙口、拦污栅、病险水库等的水下检查和评估。用于市政饮用水系统中水管、水库检查;用于城市排污/排涝管道、下水道检查;用于科学研究、教学目的的水环境、水下生物的观测、研究和教学;用于海洋考察、冰下观察;还有,随着当前全球化的安全局势的恶化,水下机器人可以广泛应用于安全部门,如:检查大坝、桥墩上是否安装爆炸物,船侧、船底是否有炸弹等。这些功能得实现都是基于水下机器人对于周围环境的监测,所以采用一种高效、实时、简单的系统来完成环境监测的功能是十分必要的。在做了多种系统的比较后,提出并设计了基于PC104与C8051F120的水下机器人环境监测系统设计方案,该系统能够完成对环境的监测功能。

1总体设计

图1是系统总体结构图,岸上由微型计算机组成,实时显示视频图像和各传感器数据;水下由PC104、C8051F120、视频采集卡、模拟摄像头、温湿度传感器、姿态传感器、下潜深度传感器组成。PC104通过视频采集卡采集模拟摄像头的信号,C8051F120采集各传感器的数据,通过串口传输给PC104,PC104通过脐缆把视频信号和各传感器数据送给岸上的微型计算机,微型计算机进行实时地显示。



2硬件设计

C8051F120是完全集成的混合信号片上系统型MCU芯片,全速、非侵入式的在系统调试接口,高速、流水线结构的8051兼容的CIP-51内核,真正8位500 ksps的ADC,两个12位DAC,具有可编程数据更新方式,带PGA和8通道模拟多路开关,2周期的16 x 16乘法和累加引擎,128 KK或64KB可在系统编程的FLASH存储器,8448(8K+256)字节的片内RAM,可寻址64KB地址空间的外部数据存储器接口,硬件实现的SPI、SMBus /I2C和两个UART串行接口,5个通用的16位定时器,具有6个捕捉/比较模块的可编程计数器/定时器阵列,片内看门狗定时器、VDD监视器和温度传感器。

在本设计中PC104采用的是Em104P—i2909,温湿度传感器采用的是DHT11单总线传感器,姿态传感器采用的是SCA100T—D01.下潜深度传感器采用GB-2100A投入式压力传感器。电路使用了芯片内部自带的12位AD转换器、多路模拟选择开关和基准电压电路,使电路变得更简洁实用,并外接22.118 4 MHz晶振,经过9/4倍频得到50 MHz.由于温湿度传感器和姿态传感器都只需接在I/O口,下潜深度传感器接在模拟量输入口,故之介绍电路板的电源电路和串口电路。图2是电源电路原理图,图3是串口电路原理图。



3软件设计

3.1系统流程图

单片机程序软件采用的是Keil uVision4,并使用C语言编写程序。程序采用模块化的设计,分为AD转换程序、定时器中断程序、串口程序等。系统先对各个模块进行初始化,等到初始化完成后,系统进入主程序,等待中断,完成各个模块的程序。图4是主程序流程图。



3.2传感器测量模块

舱内主要测量温度、湿度和水下机器人的姿态。对于温湿度传感器通过单片机的I/O口模拟时钟信号来进行读取数据,对于姿态传感器通过单片机的I/O口模拟SPI信号来进行读取数据。舱外主要测量水下机器人下潜的深度。通过C8051F120自带的12位ADC转换器,并选择模拟通道1进行下潜深度传感器的采集,把采集到的模拟量信号转换成数字量。AD转换器有4种转换启动方式,由ADCOCN中的ADC0启动转换方式位(ADOCM1,ADOCM0)的状态决定。转换触发源有:

1)向ADCOCN的ADOBUSY位写1;

2)定时器3溢出(即定时的连续转换);

3)外部ADC转换启动信号的上升沿,CNVSTR0;

4)定时器2溢出(即定时的连续转换)。

本程序采用向ADCOCN的ADOBUSY位写1作为启动方式。当通过向ADOBUSY写‘1’启动数据转换时,查询ADOINT位以确定转换是否结束,当转换结束后读出转换后的数据并处理。串口初始化和转换程序如下。



3.3定时器中断模块

为了使系统达到低功耗的要求,采用定时器中断来使能各传感器,并对各传感器数据进行采集和处理。当100 ms定时器中断到来时,首先对赋予数据包的起始位,然后使能ADC,进行下潜深度传感器数据的采集;接着使能姿态传感器,读取姿态传感器数据,并对姿态传感器的X轴,Y轴数据进行正负的判别;最后使能温湿度传感器,进行温湿度传感器数据的采集并赋予数据包结束符。图5是定时器中断流程图。



定时器中断程序如下。


3.4串口通信模块

串口通信模块主要是负责和工控机进行通信,当PC104需要传感器数据的时候,单片机就通过串口把数据发给PC104,PC104在把信息发送给岸上的微型计算机,供用户进行显示。图6是串口中断程序流程图。



串口中断程序如下。



4视频图像的采集和传输

H264采用“回归基本”的简洁设计,不用众多的选项,获得比MPEG-4好得多的压缩性能;H.264加强了对各种信道的适应能力,采用“网络友好”的结构和语法,有利于对误传和丢包的处理;H.264应用目标范围较宽,可以满足不同速率、不同解析度以及不同传输(存储)场合的需求。

RTP是一种网络传输协议,RTP协议不要求底层网络提供可靠的数据传输服务,它自身也不对报文丢失、重复和次序颠倒等差错进行处理。应用程序可以通过检测RTP报文固定头中的次序号发现传输过程中的差错。RTP具有较好的实时性,对于低带宽实时性要求高的场合很实用。



图7是视频结构图。PC104和微型计算机之间采用的是C/S模式。模拟摄像头的信号通过视频采集卡送入到PC104中,PC104通过H264压缩后,然后通过RTP传输给微型计算机,微型计算机接受到视频数据后进行解压显示。

5实验应用

该系统用于水下机器人周围环境的测试。在进行测试时,通过按操作员控制器上面的相应按钮来实现相应的功能。当点击视频采集按钮时,视频图像数据会显示;当点击传感器数据采集按钮时,传感器数据会显示。测试界面如图8所示,图中的视频图像是水下桥墩的墙壁。当发现数据不对时,需要修改相应的电路或者程序。通过实际应用发现,该测试系统测试结果准确并且稳定可靠。



6结论

经过试验测试得知,对于水下机器人舱体和舱内的基本环境监测问题,如水下机器人的姿态、舱内的温湿度、下潜深度和水下景象,传感器数据和视频数据都能够实时地采集,PC104与微型计算机之间的通信能够准确无误地传输,对于水下机器人周围环境的监测起到了实时监控的效果,为将来水下机器人的自主导航提供了有利的条件。






评论

技术专区