基于ATMEGA328的视频监控智能车的设计与实现

2015-10-22 00:42屈宝鹏张喜凤卜文锐
现代电子技术 2015年19期
关键词:视频监控

屈宝鹏 张喜凤 卜文锐

摘 要: 随着智能控制技术的发展,各种智能车不断涌现,在军警特种用途、工业生产和日常生活等领域获得了日益广泛的应用。首先回顾了Arduino平台的特性,然后设计了一种以ATMEGA328单片机为核心的微控制器,采用四轮独立驱动的车体,设计并使用安卓手机端的监控软件,通过WiFi信号进行视频监控和远程遥控的智能车。设计的视频监控智能车经硬件验证,具备了自动避障、视频监控、无线遥控操作等实用功能。

关键词: 智能车; Arduino; 视频监控; ATMEGA328

中图分类号: TN609?34; TM910.6 文献标识码: A 文章编号: 1004?373X(2015)19?0160?03

Abstract: With the development of intelligent control technology, intelligent car has been appeared constantly, and widely used in special purpose of military and police, industrial production, daily life and other fields. The characteristics of the Arduino platform is reviewed. An intelligent car was designed, which is taken ATMEGA328 microcontroller as the core microcontroller, used the car body with four?wheel independent drive, adopted the surveillance software of mobile phone with Android, and conducted with video surveillance and remote control by WiFi signal. The designed intelligent car of video surveillance was verified by hardware, and has the utility functions of automatic obstacle avoidance, video surveillance, and wireless remote control operation.

Keywords: intelligent car; Arduino; video surveillance; ATMEGA328

0 引 言

智能车是当今智能机器人研究领域的一个重要分支,它体现了车辆工程、人工智能、自动控制、计算机等多个学科领域的交叉和综合,在军警无人侦察、消防救灾探测、管道维修施工等领域获得了日益广泛的应用[1?4]。本文设计的视频监控智能车,是基于ATMEGA328单片机设计的,具备自动避障、视频监控、无线遥控操作等功能。

本文首先回顾了Arduino平台和ATMEGA328单片机的特性,然后设计了一种以ATMEGA328单片机为核心微控制器,具有四轮独立驱动车体的视频监控智能车。

1 Arduino平台

Arduino平台由Arduino硬件开发板和Arduino IDE集成软件开发环境两部分组成。Arduino开发板是以Atmel微处理器为核心微控制器的硬件系统电路板。软件程序(sketch)可以在IDE下编辑和编译,通过USB接口可以上传到Arduino板,实现对硬件板的编程,硬件会自动执行写入的软件[5?7]。

Arduino板是一个以AVR单片机为核心的开源硬件平台,其软硬件都是开源的,包括Arduino平台的电路原理图、PCB图等硬件信息,同时还有内部自带的软件库,非常适合二次开发。Arduino的主要功能特点如下:

(1) 软硬件开源,开发接口可以免费获得,并根据需要自行修改;

(2) 使用低价格微处理器(单片机),如ATMEGA8和ATMEGA128等,可以用USB 供电,也可以外接直流电源;

(3) 自带Bootloader程序,也支持ISP线上烧入,将固件烧入芯片。Bootloader程序是系统上电后运行的代码,它对Arduino就像BIOS对于PC机一样;

(4) 扩展性强,Arduino提供了丰富的接口,包括 USB,I2C,SPI等,可插入传感器装置、无线通信装置,插入的感应装置可以获得外界的光、温度、湿度、距离等信息,无线通信装置可方便地与其他设备进行无线通信;

(5) Arduino的缺点在于它缺乏人机界面,虽然可以通过外接蓝牙、WiFi 等连接无线网络,但用户无法方便地操作,需要借助其他平台进行控制和处理。

Arduino平台有自己的一套集成开发环境(Arduino IDE),是与硬件平台相匹配的集成软件开发环境。基于Eclipse,它是由Java,Processing,avr?gcc等软件写成,它有跨平台的兼容性,可以通过它对 Arduino板进行编程,编程语言采用 C++,被 IDE 传递给avr?gcc编译器转换成机器码得以执行。Arduino 官方自带的内容包括语言、函数、库等,它把 AVR 单片机相关的设置都参数化了,开发者不必了解其底层的编写就可以借此开发项目。用户可以通过 IDE 用 C++编写自己的程序(sketch),编译通过后下载到开发板上由开发板执行。

开发界面非常简单,如图1所示,Arduino IDE提供了串行监视功能,点击右上角功能键即可即时观测到板子与电脑的通信数据。下方的黑色窗口,显示程序状态和错误信息。官方提供了很多模块化的库,在设计之前只需要将其导入即可,另外还支持第三方库,导入后即可在编程中使用。endprint

2 ATMEGA328单片机

ATMEGA328是一款基于AVR先进RISC架构的8?bit CMOS低功耗微型处理器,共有131条指令,一个时钟周期执行一条指令,一条指令可以同时访问两个寄存器,32个8位工作寄存器直接连接到ALU上。该处理器执行代码效率非常高,是CISC架构微处理器的10倍。除此之外,芯片还提供非易失性存储器:32 KB FLASH, 1 KB E2PROM 和 2 KB SRAM。芯片有32条GPIO线,3个灵活的计数器,提供内/外部终端机制,一个串行可编程UART接口、两线I2C串行接口以及SPI串行接口等。

3 视频监控智能车的硬件系统设计

本文设计的视频监控智能车系统结构框图如图2所示。

各部分的主要功能如下:

电源部分:由锂电池组、电压监控、线性直流稳压电源组成。为了给智能车的四轮驱动电机提供足够的驱动电流,并保证必要的续航里程,智能车采用3节18650规格的锂电池串联构成电池组,电池组输出电压范围为10.8~12.6 V。锂电池组的电能提供给线性直流稳压电源,转换为稳定的5 V电源电压,为智能车系统各部分提供电源。在锂电池组上安装了数字电压表,通过监控锂电池组的电压来估算剩余电量,以便适时充电,防止锂电池组过度放电。

车体部分:为了更加灵活高效地控制车体,采用了四轮驱动的车体结构。每个车轮都由单独的电机驱动,这样的设计一方面提高了车体的动力性能,另一方面使智能车具备了原地转向能力,行驶轨迹的控制更加灵活。

主控部分:智能车采用配备了ATMEGA328单片机的Arduino开发板作为主控板。主控部分的主要功能包括接收自动避障模块的信号,防止智能车误撞障碍物;与WiFi模块通信,处理遥控信号,实现智能车的远程控制。自动避障模块使用超声波距离传感器,当智能车前方出现无法跨越的障碍时,自动避障模块会触发主控板的自动避障功能,主控板会命令智能车的四轮驱动电机立即反转0.5 s,抵消智能车的前进速度,向后倒车离开障碍物。

遥控部分:为了保证远程视频监控所需要的视频信号传输带宽,智能车使用WiFi模块作为视频监控和远程遥控的通信硬件。视频监控功能首先由车载摄像头将智能车正前方的影像拍摄下来,然后通过WiFi模块传输给安卓智能手机端,在手机屏幕上显示摄像头拍摄的画面。远程遥控功能则是把来自安卓智能手机端的控制信号通过WiFi模块传输给主控板,进而控制智能车的行驶。为了扩大视频监控和远程遥控的距离,本文设计的智能车为WiFi模块安装了12 dB高增益天线,使得智能车与手机端之间在无障碍情况下的视频稳定传输和遥控距离达到了25 m以上。完整的智能车硬件部分如图3所示。

手机控制部分:为了实现安卓智能手机端对智能车的视频监控和远程遥控,本文设计的智能车使用了专门设计的安卓手机APP软件。

4 手机端的控制软件

安卓是目前国内使用最为广泛的智能手机操作系统之一,所以本文设计的智能车使用了安卓智能手机作为远程控制端。安卓是基于Linux内核并开放源代码的操作系统,专为移动设备设计的软件平台,由Google从其开发者购买,在2007年推出,后来由开放手机联盟支持,从此安卓系统开始快速发展,成为手机和平板系统市场的主要占领者。它包括操作系统、中间件和关键应用程序,是真正意义上的开放移动设备平台,第三方开发者可以用Java语言自行开发应用软件在安卓系统上使用。本文设计的安卓智能手机端控制软件使用Java语言在安卓开发环境下编写完成后,打包成一个.apk文件,安装到安卓智能手机上,手机端的控制界面如图4所示,手机屏幕上全屏显示的就是智能车上安装的摄像头拍摄到的画面。

5 结 语

本文设计的视频监控智能车经硬件验证,具备自动避障、视频监控、无线遥控操作等实用功能。智能车的设计初衷在于将其应用于危险场合或者人员难以到达的位置进行远程视频监控,有望在进一步强化结构和提高稳定性以后推广应用。目前该智能车有待进一步探讨的问题在于:其一,车载摄像头仅支持可见光环境下的拍摄,对于微光或者暗夜环境下的使用,需要更换微光摄像头或者加装照明光源;其二,为了扩展通信距离使用的12 dB高增益天线导致智能车的高度较大,不利于通过狭窄的通道;其三,智能车的车体本身越障能力有限,缺乏复杂地形的实际应用,系统稳定性和实用性有待进一步提高。

参考文献

[1] 朱洪波,杨龙祥,于全.物联网的技术思想与应用策略研究[J].通信学报,2010,31(11):2?9.

[2] DHAWAN S. Analogy of promising wireless technologies on different frequencies: Bluetooth, WiFi, and WiMax [C]// Procee?dings of 2007 the 2nd IEEE International Conference on Wireless Broadband and Ultra Wideband Communications. Sydney: IEEE, 2007: 14.

[3] BANZI M. Getting started with Arduino [M]. 2nd ed. USA: Make Books, 2011.

[4] 杨继志,郭敬.Arduino的互动产品平台创新设计[J].单片机与嵌入式系统应用,2012,12(4):39?41.

[5] Atmel Corporation. ATmega48PA/88PA/168PA/328PA datasheet [R]. US: Atmel Corporation, 2009.

[6] 杨旭超.基于Android终端应用的研究与实现[D].西安:西安电子科技大学,2013.

[7] 李晓.基于Android平台的手持终端应用功能开发与设计[D].武汉:湖北大学,2010.endprint

猜你喜欢
视频监控
基于视频图像采集移动目标检测系统的设计
数字化监控系统的企业应用
基于嵌入式Linux的视频监控系统的设计与实现
基于HTML5的视频监控微课设计浅析
智能视频检索技术在校园安防建设中的发展应用