首届ST-EMBED电子设计大赛参赛作品:走迷宫的小车A Robot System Based On WirelessCommunication参赛学校:华中科技大学参赛学生:静超、肖骁、刘焱、孙姚聪、吴正华指导老师:钟国辉参赛队号:2006年1月27日华中科技大学电子与工程系Dian团队走迷宫的小车摘要:本系统采用ST公司ARM7芯片STR710FZT6为核心进行设计,合理利用了该芯片上丰富的资源,实现小车智能蔽障、寻迹,信息无线传输等功能,从而在远端PC上对获取的信息进行实时显示。
本系统针对现实中出现的对于未知区域实时探测的需求,适当进行了简化,利用迷宫进行模拟。
其中,有一台智能小车,和一个PC端。
小车在迷宫行进的过程中,会自动蔽障、选择路线,并通过无线模块将行进的信息实时传送给远端PC机,从而在PC端显示出小车在迷宫中行进的路线。
为了达到在迷宫中行走的目的,我们要设计蔽障和迷宫算法,为了使小车的信息能够实时传输到远端PC机,就需要设计一套较为实用和可靠的无线通信协议。
关键词:蔽障,迷宫算法,无线通信协议A Robot System Based On WirelessCommunicationAbstract:This system uses STR710FZT6 ARM7 chip as a core and its rich resources to achieve a smart car with functions of intelligent languishing impaired, motion, wireless transmission of information and others, PC on the remote will obtain the information for real-time display. In view of the reality of the system for real-time detection of unknown regional demand, we make a proper conduct of a simplified, using simulation maze. Among them, they have a smart car, and a PC terminal. In the process, the smart car will automatically languishing barriers, choose route and the road line will be through wireless module and real-time transmission of information to distant PC which shows it. In order to achieve the purpose, we have to design languishing impaired and maze algorithm, and also with the purpose of making Dolly have the ability of real-time transmission of information to distant PC, we should design a more practical and reliable wireless communication protocol.Keywords: languishing impaired, maze algorithm, wireless communication protocol.目录1 引言 (4)2 功能概述及方案设计 (6)2.1功能概述 (6)2.2 具体方案设计 (7)2.2.1 系统总体方案设计 (7)2.2.2小车控制模块设计 (7)2.2.2.1 小车车体的设计 (7)2.2.2.2 小车控制器模块 (8)2.2.2.3 电源模块 (8)2.2.2.4 稳压模块 (8)2.2.2.5 电机驱动模块 (8)2.2.2.6 小车控制模块设计 (8)2.2.2.7 车速检测模块设计 (8)2.2.3 超声波模块设计 (9)2.2.4 无线通信模块设计 (10)2.2.4.1 硬件选型 (11)2.2.4.2 通信协议介绍 (15)2.2.4.3 利用ARM芯片上的资源 (18)3 系统硬件设计 (19)3.1硬件设计概述 (19)3.2 电机驱动模块设计 (19)3.3 测速模块设计 (19)3.4 超声波模块设计 (20)3.5 无线通信模块 (21)3.6 电源模块硬件设计 (22)4 系统软件设计 (24)4.1 下位机控制模块 (24)4.1.1 模块描述 (24)4.1.2 系统资源使用情况 (25)4.1.3 主控模块设计 (25)4.1.4小车控制模块 (26)4.1.5 超声波模块 (26)4.1.6 无线通信模块 (26)4.2 PC机处理模块 (26)5 现在所完成的工作 (27)6 结束语 (27)1 引言当今社会,科学技术日新月异,时代前进的步伐越迈越宽,应用自动化设备,计算机处理,现代化通讯,数字化信息,现代化显示设备等高新技术而建立的现代化智能,监控等系统已经得到充分的发展与应用,智能机器人也就应运而生。
同时,在建设以人为本的和谐社会的过程中,智能服务机器人能够完成考古发掘,海底揭密,宇宙探索等危险作业,以保证人身安全。
《国家中长期科学和技术发展规划纲要》一文指出:智能服务机器人是在非结构环境下为人类提供必要服务的多种高技术集成的智能化装备。
以服务机器人和危险作业机器人应用需求为重点,研究设计方法、制造工艺、智能控制和应用系统集成等共性基础技术。
重点研究低成本的自组织网络,个性化的智能机器人和人机交互系统、高柔性免受攻击的数据网络和先进的信息安全系统。
2006━2020年,既是国家中长期技术发展计划实现阶段,也是我们最具有活力和最激情洋溢的时段。
于是,我们五个人认识到自己的位置,都对智能机器人的研发和制作有着强烈的好奇心,有着共同爱好和理想,想用自己的青春和智慧挥写这段焕发青春活力的乐谱。
凭借参加本次大赛的机会,我们能够对嵌入式系统的开发有进一步的学习和理解。
ST公司的ARM7芯片STR710FZT6具有丰富的资源,内嵌256+16KB的FLASH和64KB的SRAM。
APB桥它有2个分立的桥:APB1是针对快速外设,例如I2C、 UART、USB、CAN、SPI、HDLC;APB2是针对慢速外设,例如EIC、 XTI、GPIOs、ADC12、Timer、RTC、Watchdog。
特色:APB桥控制着外设时钟开启和控制所有外设的复位。
EIC的特色:多个中断通道的硬件操作,中断优先级、自动向量化;32个可屏蔽中断,映射在ARM的中断查询引脚IRQ;每一个IRQ中断都有16个可编程优先级别;支持硬件中断嵌套(15级);2个可屏蔽中断,映射到ARM的快速中断查询引脚FIQ,既无优先级也不会自动向量化,等等。
我们的系统主要分为控制小车模块、超声波模块、无线通信模块。
前两模块主要是用到控制IO口和定时器,后一模块主要用到SPI总线和串口。
所以我们的系统没有外扩存储器,也没有USB等,对这块ARM的利用率不高,但我们看重的是这块芯片的性价比以及强大的可扩展性,因此选择这块ARM芯片是满足我们要求的。
2 功能概述及方案设计2.1功能概述我们设计的“走迷宫的小车”这一套系统主要是让小车自主的从迷宫的入口走到出口,并把行走的轨迹传输给电脑,绘制出走出迷宫的路线。
在这一过程中,小车通过前、左、右三个超声波模块实现对周围障碍物的实时测距来实现避障功能;在小车的行走过程中,也会实时地把小车的移动距离、速度等信息通过无线传输反馈给电脑;在转弯的时候就会把转弯的角度、移动距离等信息反馈给电脑,让电脑根据所接受到的信息绘制小车的行走路线。
另外,无线传输这一模块还具有自动组网的功能,在多台小车之间也可以通信,这样,多台小车同时探测这一迷宫能大大的提高效率。
若一下图为迷宫,则完成效果图如下:2.2 具体方案设计2.2.1 系统总体方案设计我们将系统分为小车控制模块、超声波模块、无线通信这三个大模块。
其中小车控制模块包括小车以及轮胎上的红外对管模块;无线通信又包括小车这一端和与电脑相连的一端。
图1.系统框图2.2.2小车控制模块设计2.2.2.1 小车车体的设计我们是购买玩具电动车。
购买的玩具电动车具有组装完整的车架车轮、电机及其驱动电路。
玩具电动车具有如下特点:首先,玩具电动车电机都是现成的,在上面架一块板子就可以放下电路板,各种传感器的安装也较方便。
其次,所购买的电动车是由两电机控制的,一个负责左边两轮子,另一个负责右边两轮子。
这样可以进行原地90-180度转弯。
2.2.2.2 小车控制器模块控制器模块采用的是ST 公司的一片ARM 芯STR710FZT6,该芯片大大满足我们的需要,片上资源很多,扩展性很好。
2.2.2.3 电源模块采用12V 蓄电池为直流电机供电,将12V 电压降压、稳压到5V ,为外围芯片供电,再降压稳压到3.3V 给ARM 芯片供电。
蓄电池具有较强的电流驱动能力以及稳定的电压输出性能,所以我们采用锂电池供电。
2.2.2.4 稳压模块我们利用lm7805这块芯片将12V 的锂电池降压到5V ,再利用lm117这块芯片将5V 降压到3.3V 。
2.2.2.5 电机驱动模块采用专用芯片L298N 作为电机驱动芯片。
L298N 是一个具有高电压大电流的全桥驱动芯片,它相应频率高,一片L298N 可以分别控制两个直流电机,而且还带有控制使能端。
用该芯片作为电机驱动,操作方便,稳定性好,性能优良。
2.2.2.6 小车控制模块设计小车的控制是由专用芯片L298N 来完成的,我们用六个IO 口来控制小车的运动,其中两个IO 口是产生PWM 波,控制电机的速度;另外四个IO 口又分成两组,分别控制两个电机的正反转,来实现小车的变速前进、转弯等动作。
2.2.2.7 车速检测模块设计对于小车的车速检测及距离确定的一般原理是这样的:小车的行驶过程是一个连续的时间过程,它的时间、路程、速度都是连续的。
我们用t 表示时间,S 表示路程,υ表示瞬时速度,那么它们的数学定义为:s vdt =⎰,ds v dt=,小车的平均速度为:s v t= 。
将上面的式子离散化,假设在一个很短的时间t 内小车行驶了S 的路程,则小车的即时速度Ns Lm=•。