机器人控制技术基础NCEPU实验指导书 1.docx
《机器人控制技术基础NCEPU实验指导书 1.docx》由会员分享,可在线阅读,更多相关《机器人控制技术基础NCEPU实验指导书 1.docx(26页珍藏版)》请在冰豆网上搜索。
机器人控制技术基础NCEPU实验指导书1
前言
本实验指导书以两轮智能移动小车工程项目为主线,通过循序渐进的构建智能小车的智能控制器和传感器电路,将单片机外围接口特性、内部结构原理、应用设计方法和C语言程序设计等知识通过先项目实践、后总结归纳的方式传授给学生,彻底打破了传统的教学方法和教学体系结构,解决了单片机原理与应用,以及C语言程序设计等核心专业基础课程抽象与难学的难题。
本书的任务是要让每一个学习单片机原理与应用的学生能够以智能小车作为工程对象,在开发自己的机器人过程中学习和掌握单片机的基本原理与应用系统的开发技能,包括:
C51系列单片机的C语言编程环境和使用方法;单片机接口的使用方法和C程序设计;单片机的接口电气特性和外围电路;单片机的串口通讯、应用与C程序设计;单片机与LCD的连接与C编程;基础传感器原理、用C51编程实现机器人基本智能的实现方法和硬件电路设计等。
本书在编写过程当中非常注意的一点,就是寓教于乐,兴趣为先。
将传统的学习单片机原理与应用(即先理论讲解,然后实验验证)的模式,改变为先实验和实践如何应用,然后再归纳单片机原理(即先实践,后归纳)的模式,并以智能小车作为贯穿实践过程的典型工程对象,使整个教学和学习过程充满挑战和乐趣,大大提高学习效率。
同时在学习和实践的过程中,还可以培养学生的系统世界观和方法论。
通过本课程的学习和实践,可以引领学生或者个人进入神奇的信息技术世界和机器人世界。
本书作为工程训练中心开设机器人控制技术基础课程实验指导书,也可作为电子制作的实践教材和相应专业课程的实验配套教材,同时还可以供广大希望从事嵌入式系统开发和C语言程序设计的学生或者个人自学使用。
第一章机器人的发展现状
一、机器人在中国高校中的迅猛发展:
目前人类正以惊人的速度走出工业文明,步入信息时代和新型技术时代。
新型技术
时代的来临不仅改变着人们的生产和生活方式,而且改变着人们的思维和学习方式,这
对教育提出了前所未有的挑战,也为教育的改革发展提供了千载难逢的机遇。
机器人技术的发展,正是当今新型技术时代的一个重大标志。
机器人技术是“体现
了当前最高意义上的自动化”的一门技术,是自动化学科的集大成者,综合了材料、结
构、控制、感知、智能等各方面的最新研究成果。
当前,高校、研究机构乃至企业,来自各方面的研究人员对智能机器人的研究进展已经处于一个由前沿探索转向产业化、实用化的关键时期。
大量的玩具机器人(娱乐机器人)已经推向市场,并取得良好效益。
可携带武器在战场上替代士兵的军用地面移动机器人、自主移动车辆(类似AGV)等广义的机器人已经在发达国家进入军队。
机器人应用的发展已处于关键阶段。
二十一世纪的教育理念是素质教育和创新教育,这对于以培养新型科技人才为已任的高等理工科院校尤为重要。
高等院校作为培养高技术人才的摇篮,肩负着培养高技术
人才的任务,必需紧跟高技术发展潮流,开设相关课程以改善、丰富当前的教学体系。
但还有很多高校的教学体制已经显得僵化、陈旧,更多强调的是教的过程,忽略了学生
的主动性。
通信专业学生在经历了基础课程学习后,更多的是在创新技能训练阶段、比赛及
科研领域里能够有所突破。
结合计算机信息工程学院的特色,可以在研究型机器人实
验平台上开展本专业学科领域的通信技术、传感技术、组网技术、图像识别技术等等
多个领域的研究。
智能机器人技术是利用电子、信息(包括传感、人工智能、控制和计算)技术使机械柔性化和智能化的综合性技术,被宋健院士称为“当代最高意义上的自动化”。
实际上,机器人技术不仅仅是传统意义上的自动化,而是结合了人工智能、智能控制、先进传感技术等,综合了机械、自动化、计算机技术的综合性技术。
但是由于上述的课程设置滞后的原因,长期以来,对智能机器人技术的教学和研究分成了两大方向:
机器人平台的教学与研究,机器人智能和决策的研究。
由于缺少相关的教学实验系统,造成机械、电子、算法与策略各自开展,整体化教学和研究困难。
随着机器人大赛如火如荼的开展,研究机器人的热潮一浪高过一浪,各高校也纷纷
组织机器人的学习与创新,力求能为机器人技术的发展贡献一份力量。
在全国范围内,
越来越多的工科院校建立专门的机器人创新实验室,希望能为学校和老师提供更便利和
更优越的环境,以取得更卓越的成就。
二、机器人在计算机通信技术专业学科创新教学领域应用
通信技术是以现代的声、光、电技术为硬件基础,辅以相应软件来达到信息交流目的。
上个世纪末,多媒体的广泛推广、互联网的应用极大地推动了通信工程专业的发展,展望这个世纪初期,宽带技术、光通信也已经崭露头角。
通信工程专业所研究的内容涵盖了当今最流行、发展最迅猛的领域。
单单这些是否已经使你跃跃欲试了呢?
通信工程专业跨电子、计算机专业,所修课程兼有两者的特点,需要较好的数学、物理基础以及较强的动手应用能力。
一些课程,如《数据结构》、《操作系统》、《数据库》等属于计算机类,另一些,如《信号处理》、《高频电路》、《电路原理》等属于电子类,还有本专业基础的通信原理等课程,所学范围比较宽。
需要学生有较强的逻辑思维能力,特别适合那些理解力强、善于分析的同学。
专业划分比较细的时候,本专业可“软”可“硬”,分别倾向于计算机与电子两个方向。
机器人产品众多,属于计算机通信相关院系具有自主产权的机器人不多,尤其是机
器人实训室都是购买社会上公司成型的产品。
不能有效的针对专业需求,所以我们郑重
提出筹建一个国内一流,国外领先的机器人实训室建设方案,它有3个层次:
第一个层次是满足机器人教学和实验的实训室;第二个层次是满足目前教育部和国际著名机器人大赛的机器人竞赛方案;第三层次是满足计算机、信息、通信相关类院校教师的科研开发。
三、机器人在人才培养中的作用
1、结合学校特色培养:
在人才培养特色上,众多大学强调“创新型、实践型和科研型”三项统一,突出
创新能力与实际操作能力的养成与训练;在人才培养模式上,众多大学强调产学研结合、
校企合作、手脑并用、学做合一。
大学毕业生的能力水平是衡量一个学校的办学水平的标准之一。
理、工学生的能
力水平集中体现在动手操作的能力,不管是科研单位还是企业中,能迅速将书本知识
转变为实际解决问题的能力尤其受到重视。
机器人实验室的建设(包括硬件建设和配套课程、实验、课件等软件建设),通过提供开放性的机器人实验平台,让学生掌握机电一体化技术的开发和集成技术,使学生从系统整体角度认识复杂智能机器人系统。
通过机器人实验室的建设,还可以使学生的机电系统的设计、装配、调试能力得到综合训练;机器人实验教学可以解决自动化、机电一体化、计算机等专业教学中缺乏实践环节的问题。
以机器人应用为导向,在工程项目中掌握电路设计,嵌入式系统技能,以及机电系统整体的规划,“机-电-软”综合设计能力。
2、学生自主创新能力的培养:
培养学生综合运用知识的能力:
机器人技术平台本身的综合性决定了该实验室能实
现这一目的。
机器人技术综合了多学科的发展成果,代表了高技术的发展前沿,涉及到信息技术的多个领域,它融合了多种先进技术,没有一种技术平台会比机器人具有更为强大的综合性。
因此它被誉为“当代最高意义上的自动化”,可以作为机械设计、机电工程、电子工程、计算机、通信工程、生物医学电子等多个学科和专业的实践课程,具有很强的实践意义。
它让学生在动手过程中把所学知识串联起来,综合思考,而不仅仅是一门学科。
紧密结合实际应用,提高学生学习兴趣。
机器人是一个前沿的平台,学生不管是想
训练算法、编程、电路、机械工艺设计,都能与工业实际应用中的对象结合,机器人的新颖性和趣味性,更能提高学生学习的兴趣。
提高学生学习、动手能力:
按照“由理论引导实践,由实践验证理论”的思路,逐步提高学生对理论知识的掌握和动手操作能力。
第二章C51单片机编程环境和使用方法
一、单片机与C51系列单片机
1、什么是单片机?
一台能够工作的计算机要有这样几个部份:
CPU(CentralProcessingUnit,中央处理单元:
进行运算、控制)、RAM(RandomAccessMemory,随机存储器:
数据存储)、ROM(ReadOnlyMemory,只读存储器:
程序存储)、输入/输出设备(串行口、并行口等)。
在个人计算机上这些部份被分成若干块芯片或者插卡,安装一个称之为主板的印刷线路板上。
而在单片机中,这些部份全部被做到一块集成电路芯片中,所以就称为单片机。
2、学习单片机有必要吗?
与我们经常使用的个人计算机、笔记本电脑相比,单片机的功能是很小的,那学它干啥?
实际生活中并不是任何需要计算机的场合都要求计算机有很高的性能,比如空调温度的控制,冰箱温度的控制等都不需要很复杂高级的计算机。
应用的关键是看是否够用,是否有很好的性能价格比。
单片机凭借体积小、质量轻、价格便宜等优势,已经渗透到我们生活的各个领域:
导弹的导航装置、飞机上各种仪表的控制、工业自动化过程的实时控制和数据处理、广泛使用的各种智能IC卡、民用豪华轿车的安全保障系统、录象机、摄象机、全自动洗衣机、程控玩具、电子宠物等等。
更不用说自动控制领域的机器人、智能仪表、医疗器械了。
因此,单片机的学习、开发与应用将造就一批计算机应用、嵌入式系统设计与智能化控制的科学家、工程师,同时,学习使用单片机也是了解通用计算机原理与结构的最佳选择。
3、C51系列单片机
一提到单片机,你就会经常听到这样一些名词:
MCS51、8051、C51等等,它们之间究竟是什么关系呢?
MCS51是指由美国INTEL公司生产的一系列单片机的总称。
这一系列单片机包括了好些品种,如8031,8051,8751等,其中8051是最典型的产品,该系列单片机都是在8051的基础上进行功能的增、减、改变而来的,所以人们习惯于用8051来称呼MCS51系列单片机。
INTEL公司将MCS51的核心技术授权给了很多其它公司,所以有很多公司在做以8051为核心的单片机,当然,功能或多或少有些改变,以满足不同的需求。
其中较典型的一款单片机AT89C51(简称C51)由于由美国ATMEL公司以8051为内核开发生产。
本教材使用的AT89S52单片机是在此基础上改进而来。
AT89S52是一种高性能、低功耗的8位单片机,内含8k字节ISP(In-systemProgrammable,系统在线编程)可反复擦写1000次的FLASH只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS51指令系统及其引脚结构。
在实际工程应用中,功能强大的AT89S52已成为许多高性价比嵌入式控制应用系统的解决方案。
4、什么是单片机的位数?
现在市场上闹得沸沸扬扬的微软新推出的系统VISTA是64位操作系统;大家常用的系统,如WINDOWSXP、WINDOWS2003等,是32位操作系统;这里你将用到的单片机AT89S52是8位的,而有些厂家生产的单片机则是16位的。
那么,这些位数:
64、32、16、8代表什么意义呢?
简单地说,这些位数指的是CPU能一次处理的数据的最大长度。
当然,这里的位是指二进制的位,而非十进制的位。
AT89S52是8位的单片机,意味着它如果要处理16位数据的话就应该分两次处理。
5、嵌入式系统
嵌入式系统是指嵌入到工程对象中能够完成某些相对简单或者某些特定功能的计算机系统。
与从8位机迅速向16位、32位、64位过渡的通用计算机系统相比,嵌入式系统有其功能的特殊要求和成本的特殊考虑,从而决定了嵌入式系统在高、中、低端系统三个层次共存的局面。
在低端嵌入式系统中,8位单片机从20世纪70年代初期诞生至今还一直在工业生产和日常生活中广泛使用。
嵌入式系统嵌入到对象系统中,并在对象环境下运行。
与对象领域相关的操作主要是对外界物理参数进行采集、处理,对对象实现控制,并与操作者进行人机交互等。
鉴于嵌入式低端应用对象的有限响应要求、嵌入式系统低端应用的巨大市场以及8位机具有的计算能力,可以预测在未来相当长的时间内,8位机仍然是嵌入式应用中的主流机型。
早期的单片机应用程序开发通常需要仿真机、编程机等配套工具,要配置这些工具需要一笔不小的投资。
本教材采用的AT89S52,不需要仿真机和编程机,只需运用ISP电缆就可以对单片机的FLASH反复擦写1000次以上,因此使用起来特别方便简单,尤其适合初学者使用,而且配置十分灵活,可扩展性特别强。
6、In-systemProgrammable(ISP,系统在线编程)
In-systemprogrammable是指用户可把已编译好的程序代码通过一条“下载线”直接写入到器件的编程(烧录)方法,已经编程的器件也可以用ISP方式擦除或再编程。
ISP所用的“下载线”并非不需要成本,但相对于传统的“编程器”成本已经大大下降了。
通常FLASH型芯片会具备ISP下载能力。
二、获得软件:
在本课程的学习中,你将反复用到三款软件:
KeiluVisionIDE集成开发环境、SLISP下载软件、串口调试软件等。
1、KeiluVisionIDE集成开发环境
该软件是德国KEIL公司出品的51系列单片机C语言集成开发系统。
如果你已经掌握了PBASIC语言编程思想和基本技能,你将会发现,C语言在语法结构上更加灵活,功能更加强大,但同时学习和理解起来也稍困难些。
你可以在KEIL公司的网站上获得该软件的安装包。
也可以在实验室G盘里下装该软件。
2、STC-ISP下载编程烧录软件
该软件是由宏晶科技公司推出的一款ISP下载软件,使用该软件你可以将可执行文件下载到你的机器人单片机上。
你可以在宏晶科技公司的网站www.mcu-中获得该软件。
3、串口调试软件
此软件是用来显示单片机与计算机的交互信息的。
在硬件上,你的计算机至少要有串口或USB接口来与单片机教学板的串口连接。
光盘中提供了该软件的绿色版本,无需安装即可使用。
如何从互联网上获得你想要的东西,当今互联网如此发达,以至我们可以“万事”不求人。
熟练运用互联网的搜索引擎,你也可以做个“百事通”。
如今有两大著名的搜索引擎,国内的,全球的,只要你输入关键字,你就可以找到相关的任何东西。
记住遇到问题XX或谷歌一下很重要。
比如你想找Keil软件,你可以先打开google网,然后输入关键字“Keil下载”,你就可以找到很多相关的网站。
如。
三、安装软件
到目前为止,你已从网站上或从光盘中获得了软件安装包。
在光盘中提供了几个文件夹,它们分别是KeiluVision安装包、ISP软件安装包、串口调试终端、头文件和本书例程的源码。
软件的安装很简单,与你安装的其他软件过程一样。
安装KeiluVision2,执行KeiluVision2安装程序,选择安装EvalVersion版进行安装。
在后续出现的窗口中全部选择Next按钮,将程序默认安装在C:
\ProgramFiles\Keil文件目录下。
将光盘“头文件”文件夹中的文件拷贝到C:
\ProgramFiles\Keil\C51\INC文件夹里。
KeiluVisionIDE软件安装到你的电脑上的同时,会在你的计算机桌面建立一个快捷方式。
安装ISP下载软件与此类似。
第三章C51单片机实验
一、设备介绍
机器人控制基础实验设备共包括小车及学习板1套、usb电源线1根、usb转串口下载线1根、220/9V变压器一个。
请注意不要带电拔插串口线!
!
!
二、安装Usb转串口线
第1步:
放入光盘,打开“光盘:
\usb转串口驱动和说明书-最新\驱动程序\驱动2\CH341SER.EXE”,出现如下图驱动安装界面(注意杀毒软件可能报错,这时要先关掉杀毒软件再打开文件)。
第2步:
点击INSTALL,usb转串口线驱动即安装完毕
第3步:
把串口线和usb转串口线接好,连接到电脑上。
此时电脑会提示发现新硬件。
选择自动安装新硬件即可
三、把程序烧录进电路板
1、把usb电源线和usb转串口线都连接到电路板和电脑上。
2、打开“光盘:
\ZC-51L刻录文档-ok\串口下载软件\stc-isp\STC-ISPV29Beta8.exe”。
出现如下界面。
这个就是烧录程序的软件。
3、按照界面上左上角step1—>step5的提示操作。
Step1:
选择单片机型号:
点开下拉菜单,MCUType选择第二个,STC89C52RC
Step2:
打开程序文件:
点击openfile按钮,打开“光盘:
\ZC-51L刻录文档-ok\实验原程序程序-ZC-51L\1,发光二极管闪动实验\1,发光二极管闪动实验.hex”(如下图)
Step3:
选择串口。
因机器而定,一般选COM3(若不行请到“我的电脑\设备管理器\端口COM和LPT”里查看是哪个串口)
Step4:
初学者勿动,默认设置即可
Step5:
下载程序。
点击download。
4、按下电路板中那个蓝色的按钮,给电路板通电。
烧录开始。
(若点击download之前电路板就是通着电的,则有可能烧录不成功,此时烧录软件会提示“请给电路板复位上电”。
此时需要按一次电路板上蓝色按钮断开电路板电源,再按第二次给电路板重新上电,就能烧录了)到此大家知道怎么把已经写好的程序烧录进电路板了吧。
接下来就是自己写程序了。
程序编译软件是keilC2(公用邮箱JQRKZJC@126.COM密码:
JQRKZJC123有keilC手册)。
实验一:
最简单的LED灯闪烁实验(可以下载光盘的自带C或汇编程序,要求必须读懂程序)。
以ZC-51Z系统板为平台:
为了验证P1口的输出电平是不是由你编写的程序输出的电平,可以采用一个非常简单有效的办法,就是在你想验证的端口位接一个发光二极管。
当你输出高电平时,发光二级管灭;输出低电平时,发光二极管亮。
在本任务中,使用P1端口的第一脚(记为P1_0)来控制发光二极管以1HZ的频率不断闪烁(器件电路已经集成在系统板上了)。
实际搭建好的电路参考下图。
图:
发光二极管与I/O脚P1_0和P1_1口的连接
例程:
HighLowLed.c
接通板上的电源
输入、保存、下载并运行程序HighLowLed.c(整个过程请参考第一章)
观察与P1_0连接的LED是否每隔一秒发光、关闭一次
#include
#include
intmain(void)
{
uart_Init();//初始化串口
while
(1)
{
P1_0=1;//P1_0输出高电平
delay_nms(500);//延时500ms
P1_0=0;//P1_0输出低电平
delay_nms(500);//延时500ms
}
扩展实验:
LED双灯闪烁实验,每灯的闪烁间隔时间不同。
实验二:
两个按键控制LED灯亮灭实验(可以下载光盘的自带C或汇编程序,要求必须读懂程序)。
扩展实验:
单键控制LED灯亮和灭,中断控制的两灯闪烁实验。
四、本节实验收获:
1、工程素质和技能归纳:
C51系列单片机KeiluVisionIDE(集成开发环境)软件和ISP下载软件的下载和安装。
ZC-51Z教学板与计算机或者笔记本的连接。
如何在集成开发环境中创建目标工程文件,并添加和编辑C语言源程序。
C语言程序的编译和下载。
串口调试终端的使用。
C语言基本知识:
基本数据类型、常量、变量、运算符、表达式。
2、科学精神的培养:
查阅参考书,了解其他数据类型、算术运算符知识。
第四章NCEPU智能小车实验
NCEPU智能车套件适合于单片机学习开发及各种单片机实验,同时也可以进行各种机器人比赛(寻光灭火、迷宫、跟踪、竞技、寻迹、测距、定位等),是学校电子技术、自动控制、计算机应用、机电一体化等专业辅助教学、课程设计、课程实习、毕业设计、开放性实验的理想实验设备,也是各种电子兴趣小组、电子爱好者、参加各种电子竞赛的理想学习工具,可以让学生极大地提高学习积极性,锻炼学生的实践动手能力,把学生从枯燥的理论学习中解脱出来。
下面将引导你如何运用51单片机作为机器人的大脑制作一款智能机器人小车,并采用C语言对51单片机进行编程,使机器人实现下述三个基本智能任务:
安装传感器以探测周边环境;基于传感器信息做出决策;控制机器人小车运动(通过操作带动轮子旋转电机)。
通过这些任务的完成,使你在无限的乐趣之中,不知不觉地掌握C51单片机原理与应用开发技术,以及C语言程序设计技术,轻松走上嵌入式系统开发之路。
实物图:
一、NCEPU智能车特点:
控制器兼容51、AVR等多种单片机;提供丰富的智能控制借口资源,包括红外传感、超声波传感、加速度传感、直流/伺服电机控制等;线路板提供扩展接口,非常方便使用者扩展其它智能控制功能;提供多种供电方式:
USB供电、电池供电、变压器供电;
NCEPU的主要特点体现在机身结构科学合理,外表美观,单片机对各种传感器的输出的信号进行采集和处理,实现了超声波检测障碍物来改变小车行走方向,多路红外传感器实现小车寻迹功能等,而且可扩展性强。
既激发单片机初学者的学习兴趣,又能对有一定基础的同学在传感与检测技术和单片机对信号处理方面的学习有很大帮助。
二、系统资源
1、硬件资源:
1块MCS51系列单片机开发板(1个LED数码管,2路LED灯,四路小键盘,1个RS232串口);1辆智能机器车;1个四节电池盒;2个红外循迹、避障传感器;1个寻光传感器;1块超声波模块;DC9V充电变压器;1根usb电源线;1根usb转串口下载线;
2、软件资源:
KeilC51编译器;单片机开发小工具软件包;usb转串口下载线驱动程序;单片机开发板电路原理图;发光二极管闪动实验程序;发光二极管流水闪动实验程序;蜂鸣器实验程序;动态数码管显示程序;按键扫描-实验板综合测试程序;232通讯实验程序;智能红外循迹程序;智能追光灭火程序;智能避障程序;智能测距程序;
三、智能小车电机驱动原理
1、驱动板概述
驱动板由大功率驱动芯片L298为主,加上7805稳压芯片为整个电路板提供稳定的5V电压。
驱动板能同时驱动两个直流电机。
通过对六个口的控制就可以分别实现对电机正反转、加减速的控制。
完成向前、向后、左转和右转等各种组合运动。
每个电机用三个口控制,一个使能端(EN)或PWM输入端,控制电机的转动与停止,也能用于PWM控制调速。
也就说,对这个输入端输入一定频率的脉冲,当为高电平时,电机转动,为低电平时,电机停止转动。
一定频率的脉冲,电机一段时间内转动一段时间内停止转动,但由于直流电机的惯性特性,它不会立即停下来,只要频率高于某个值,就不会感觉到电机的停滞现象,反而是一种很连续的运动。
只要改变一个周期内高低电平的时间比例,就可以改变电机的速度。
另外两个输入端是为了控制方向,分别为In1和In2。
In1为高电平,In2为低电平,电机按一个方向转,In1为低电平,In2为高电平,电机向相反方向转,如果他们同时为高电平或低电平,那么电机不转。
2、驱动板电路原理
我们首先分析一下L298驱动板,L298驱动板原理图如图1。
该驱动板需要用7.5V以上电源供电,但L298N的逻辑参考电平为典型的TTL电平。
用了一个