1、作品设计报告 1 嵌入式探月小车作品设计报告 广东科贸职业学院信息工程系 开发小组成员:黄文哲、欧信、杨毅英 指导老师: 滕泓虬、禹涛 2011 年 5 月 作品设计报告 2 目 录 1. 原创性声明 . 1 2. 摘要 . 2 3. 嵌入式探月小车系统方案 . 3 3.1 概述 . 3 3.2 系统方案 . 3 3.3 嵌入式探月小车 . 4 3.4 功能与指标 . 4 4. 探月小车硬件设计 . 5 4.1 硬件框图 . 5 4.2 MINI2440 开发板简介 . 5 4.3 主要 I/O 口说明 . 6 4.4 直流电机驱动模块 . 7 4.4.1 电机驱动模块实物图 . 7 4.4.
2、2 L298N 驱动原理图 . 8 4.4.3 H 桥控 制方案 . 8 4.5 超声波测距模块 (避障 ) . 9 4.6 无线通讯模块 . 10 4.7 摄像头模块 . 11 5 嵌入式探月车软件设计 . 11 5.1 软件整体设计 . 12 5.2 驱动程序设计 . 12 5.3 添加 MINI2440 GPIO LED 灯支持 . 12 5.4 电机控制子程序 . 13 5.5 无线通讯子程序 . 16 5.6 摄像头控制程序 . 17 5.7 Openwrt 嵌入式系统的移植 . 17 5.8 嵌入式小车的 PC 客户端设计 . 22 6 系统测试方案 . 25 6.1 直流电机驱动
3、模块( l298n)测试 . 25 6.2 无线通信模块测试 . 26 7 创新性描述 . 27 8 附录 . 1 - 1 - 1. 原创性声明 参赛作品原创性声明 本人郑重声明:所呈交的参赛作品报告,是本人和队友独立进行研究工作所取得的成果。除文中已经注明引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写过的作品成果,不侵犯任何第三方的知识产权或其他权利。本人完全意识到本声明的法 律结果由本人承担。 参赛队员签名: 日期: 年 月 日 - 2 - 2. 摘要 探月 小车 实现了全方位自主移动及避障,行走中的图像采集、无线 数据 传输。采用 ARM 处理器 S3C2440 作为主板 控
4、制 器。选择一种独特的嵌入式 LINUX 发行版 OpenWrt 作为操作系统。小车系统采用两层架构,上层以 S3C2440 为核心,负责图像采集, 并将图像通过 wifi 方式发送给 PC 机 ;下层以 51 单片机为核心,负责运 动控制,传感器数据处理。 两层架构在控制、用户扩展 方面有明显优势。 下层单片机接口上可接多个 扩展模块 。选择 OpenWrt 作为 操作系统 ,也是作品的一个大胆创新之处。 关键词: ARM 嵌入式 linux S3C2440 OpenWrt 智能 wifi 摄像 - 3 - 3. 嵌入式 探月 小车 系统方案 3.1 概述 近年来随着人工智能技术、计算机技术
5、等相关技术的发展 ,对移动机器人的研究越来越多。 嵌入式 探月小车 实际上是一种 移动机器人,它 可实现多种不同功能,如 探测 险情 、 巡视、 图像采集、定位 、无线通信 等。 它还 可以 作为各种智能控制方法 (包括动 态避障、 路径规划、 群体协作策略 ) 的良好载体 ,开展研究。 3.2 系统方案 “ 履带式 探月 小 车”采用 两层架构。上层 以 ARM 处理器 S3C2440 为核心 ,选用 MINI2440 开发板 作为上层的主板 ,负责图像采集, 并将图像通过 wifi 方式发送给 远端的 PC 机 。 wifi 无线通信是利用 PC 机与无线路由器搭配环境平台共同实现的 。
6、下层 是 以 51 单片机为核心 的单片机控制板 ,由作者手工焊接单片机芯片及外围电路而成。下层负责小车运动控制,传感器数据处理。 51 单片机 通过 IO 口输出 PWM 信号控制 直流电机的转速,实现小车的 前进、停止、左转和右 转 。 单片机接口电路上挂接了 1 个 超声波测距模块、 1 个 人体红外感应模块 、 1 个步进电机模块。超声波测距模块用来实现小车避障。在探月小车的前端安装了一个步进电机,而超声波测距模块安置在步进电机的转轴上, 步进电机不停地来回转动,随之转动,这样用 1 个超声波测距模块就可实现多方位测距,大大减少了超声波测距模块的数量。 小车主要由硬件系统和软件系统构成
7、。硬件系统主要包括: ARM 处理器、单片机、 外围接口 电路 、 外 设 、 小车车体以及电源等,其中 ARM 处理器是上层的核心 , 51 单片机是下层的核心 ;软件包括:嵌入式 LINUX 操作系统、外 设驱动程序 、 LINUX 应用 程序以及单片机应用程序 等。 我们并没有选用平常的嵌入式 LINUX 版本,而是另辟蹊径,选用 一种独特的嵌入式 LINUX 发行版 之 OpenWrt 作为操作系统。 OpenWrt 提供了一个完全可写的文件系统及软件包管理,它通过简单易用的方式,极大地降低了嵌入式 linux 开发的门槛,它允许开发者使用软件包的概念来定制嵌入式设备,简化了嵌入软件开
8、发的工序。 我们 由于选择了 OpenWrt, 在开发过程中, 我们 发现 , 定制 linux 的内核变成 了 一件相当容易的事情。 探月小车 的工作流程为:车载传感器模块实时 采集周围环境信息,将此数据信息传输到 小车控制 系统中, 单片机 通过数据分析获取有效数据,从而获知小车与障碍物的相对位置,然后根据此位置信息产生控制信号 , 单片机会产生 PWM- 4 - 信号控制 直流 电机来控制小车转向,从而达到小车自主“行走”的目的。 下层的单片机与上层的 ARM 处理器通过串口来通信 , ARM 主板可将下层单片机控制板的工作数据通过 无线 wifi 的方式传输到远端的 PC 机。 ARM
9、 主板平时不间断地将 USB 摄像头采集的清晰现场图片发给 PC 机。 3.3 嵌入式探月 小车 3.4 功能与指标 探月小车的功能特点: 小车直线行走和转弯行走 履带 式小车,履带 底盘长 180mm,宽 135mm,高 58mm,可 成功越障3040mm,爬坡能力: 40 度 USB 摄像头图像采集 无线图像传输,可达每秒 15 帧 超声波测距及避障,最大测距 80CM 摄像头带云台,转动范围 360 度 主板 采用 S3C2440 处理芯片,系统主频稳定 400MHz,可以轻松应对视频采集,视频处理,无线传输,联网和语音控制等功能。 可扩展能力强:多种传感器模块,并支持传感器扩展 Lin
10、ux 操作系统支持,可扩展高级网络和图形应用 - 5 - 通过 WebUI 的方式对小车上的嵌入式 linux 系统进行配置 4. 探月 小 车硬件 设计 4.1 硬件 框 图 US B 集线器图像采集 无线模块超声波测距模块红外感应模块M I NI 2440( S 3 C 2440 )直流电机步进电机单片机STC 89 C 524.2 MINI2440 开发板 简介 MINI2440 开发板基于三星 S3C2440 芯片,如下图所示: - 6 - 主要接口说明: 电源接口:输入电压不能大于 7 伏电压,标准电源试配器为 5 伏。 音频接口:红色为音频输入接口,另一个为音频输出接口。 USB
11、接口:主要用于传输数据。 串口接口:串 口接口主要是它能使 PC 机和开发板直接进行交换操作和数据传送,完成调试。 网卡接口:在启动操作系统后,接上无线网卡,就可以对小车发送无线信号。 J tag接口: J tag接口主要作用是当 Nand Flash或 Nor Flash 中没有 bootloader时 ,使用 J tag 接口进行烧写。 4.3 主要 I/O 口 说明 主控芯片为 三星 S3C2440 芯片 , 如图 :- 7 - 主要用到 的 I/O 口 包括: 1. 用 COM2 IO 与单片机通讯 。 2. 用 GPIO nLED 1、 nLED 2、 nLED 3、 nLED 4 来 显示当前系统状态 . 4.4 直流电机驱动模块 4.4.1 电机驱动模块 实物图 驱动板主要采用了 L298N 芯片, 它具有带载能力强的特点。 - 8 - 4.4.2 L298N 驱动原理图 驱动电路芯片外围电路主要用由二极管构成的电桥电路,两组电机 并联而成。 4.4.3 H 桥控制方案 小车通过采用 L298N 芯片可以达到目的,整体控制方案如图 电机共有四 4 路 PWM 输出分别作为左右轮的驱动,而通过两路 PWM 输出可控制一个电机,两电机为并联即可。