学习情境8 机器人的设计与制作8.1资讯—知识准备8.1.1 智能机器人的介绍随着微电子技术的不断发展,微处理器芯片的集成程度越来越高,单片机已经可以在一块芯片上同时集成CPU、存储器、定时器/计数器、并行和串行接口、看门狗、前置放大器,甚至A/D、D/A转换器等电路,这就很容易将计算机技术与测量控制技术结合起来,组成所谓的“智能化测量控制系统”。
这促使机器人技术也有了突飞猛进的发展,现在人们已经完全可以设计并制造出具有某些特殊功能的简易智能机器人了。
8.1.2MCS-51单片机的串行接口及串行通信一、串行通信概述1、什么叫串行通信?并行、串行举生活中的例子(排横队行走,排纵队行走)说明;引出并行通信,串行通信的概念。
P00P01P02P03RXDTXD2、同步通信、异步通信提问:数字电路中移位寄存器是怎样进行移位的?同步——发送设备时钟等于接收设备时钟。
同步字符1 同步字符2 数据1 数据2 ···数据n 校验字符校验字符异步——发送时钟不一定等于接收时钟。
空闲位起始位 5 ~ 8位数据奇偶校验位停止位空闲位3、串行通信方向A B发半双工发收收A 全双工 B4、波特率即串行通信速率。
b/s 、bps举例、设有一帧信息,1个起始位、8个数据位、1个停止位,传输速率为240个字符。
求波特率。
解:(1+8+1)×240 = 2400 b/s = 2400波特。
5、串行通信接口发送:展示投影胶片CPUD7 D6 D5 D4 D3 D2 D1 D0 发送数据寄存器SBUF(99H)1 D7 D6 D5 D4 D3 D2 D1 D0 0 发送数据发送时钟接收:展示投影胶片接收时钟0 D0 D1 D2 D3 D4 D5 D6 D7 1 接收数据D0 D1 D2 D3 D4 D5 D6 D7 接收数据寄存器SBUF(99H)CPU二、MCS-51机串行接口单片机内有:通用异步接收/发送器UART全双工,4种工作方式,波特率可编程设置,可中断。
1、串口的组成从编程角度讲来看主要由以下寄存器组成。
PCON SMODSCON SM0 SM1 SM2 REN TB8 RB8 TI RISBUF D7 D6 D5 D4 D3 D2 D1 D0 SBUF发SBUF收SM0、SM1:工作方式选择位(后面再讲)SM2:多机通信控制位,常与RB8配合,决定是否激活RIREN:允许接收TB8:发送的第九位数RB8:接收的第九位数TI :中断标志RISMOD:波特系数选择位,0 ——20 = 11 ——21 = 22、串行口的工作方式(1)方式0:同步移位寄存器方式,波特率固定为fosc / 12RXD ——接收发送数据TXD ——产生同步移位脉冲接收/发送完,置位RI / TI ,(要求SM2 = 0)方式0 发送接收无起始位,无停止位(2)方式1:8位UART,波特率为(2SMOD×T1的溢出率)/ 32停止位D7 D6 D5 D4 D3 D2 D1 D0 起始位发送位起始位D0 D1 D2 D3 D4 D5 D6 D7 停止位接收位1帧信息,10位。
送RB8位波特率可变:2SMOD / 32 ×(T1的溢出率)发送完置位TI。
接收完数据置位RI。
置位RI是有条件的。
即:REN = 1,RI = 0 且SM2 = 0或SM2 = 1但是接收到的停止位为1。
此时,数据装载SBUF,停止位进入RB8,RI置1。
(3)方式2、方式3 :9位UART,多机通信。
方式2波特率:(固定)2SMOD / 64 ×fosc方式3波特率:2SMOD / 32 ×(T1溢出率)发送完数据置位TI。
接收到有效数据完毕,置位RI。
有效数据条件:REN = 1,RI = 0 且SM2 = 0或接收到第9位数据为1。
此时,数据装载SBUF,第9位数据(TB8),RI置1。
3、波特率的设置方式0、方式2固定。
方式1,方式3可变。
波特率= 2SMOD / 32 ×(T1的溢出率)T1溢出率= 单位时间内溢出次数= 1 /(T1的定时时间)而T1的定时时间t就是T1溢出一次所用的时间。
此情况下,一般设T1工作在模式2(8位自动重装初值)。
N = 28-t / T,t = (28-N)T =(28-N)×12 / fosc所以,T1溢出率= 1/t = fosc / 12(28-N),故,波特率= 2SMOD / 32 ×fosc / 12(256-N)。
若已知波特率,则可求出T1的计数初值:y = 256-2SMOD×fosc / (波特率×32×12)巩固新课:例、若fosc = 6MHz,波特率为2400波特,设SMOD = 1,则定时/计数器T1的计数初值为多少?并进行初始化编程。
解:y = 256-2SMOD×fosc / (2400×32×12)= 242.98≈243 = F3H 同理,fosc = 11.0592MHz,波特率为2400,设SMOD = 0,则y = F4H初始化编程:MOV TMOD,#20HMOV PCON,#80HMOV TH1,#0F3HMOV TL1,#0F3HSETB TR1MOV SCON,#50H8.2 计划—学生学习的设想8.2.1 学习目的知识目标:1 串行通信基础2 串行通信总线标准及其接口3 MCS-51的串行接口能力目标:8.2.2学习条件1.教室2.多媒体3.单片机实训室(PG206)4.虚拟仿真实训室(Proteus)5.数字化综合服务平台8.2.3 项目技术要求本机器人能在任意区域内沿引导线行走,自动绕障,在有光源引导的条件下能沿光源行走。
同时,能检测埋在地下的金属片,发出声光指示信息,并能实时存储、显示检测到的金属片数目以及各金属片至起跑线间的距离,最后能停在指定地点,显示出整个运行过程的时间。
学习子领域 串行口通信基础 页 数:项 目 名 称 简易机器人的设计与制作 专 业 班 级 项目设计人 一、项目描述1、项目工作要求(任务书)机器人能在任意区域内沿引导线行走,自动绕障,在有光源引导的条件下能沿光源行走。
同时,能检测埋在地下的金属片,发出声光指示信息,并能实时存储、显示检测到的断点数目以及各断点至起跑线间的距离,最后能停在指定地点,显示出整个运行过程的时间 。
2、已具备资料二、项目资讯三、项目计划1、根据设计要求,选择确定设计方案,分析设计原理图并实现连接。
2、确定本工作任务需要使用的工具和辅助设备,填写下表。
项目名称项目完成人签字:日期:年月日指导老师签字:日期:年月日8.2.4 学习团队50人,6人一组……8.3 决策—项目方案的设计与选择本设计以AT89C51单片机作为检测和控制核心。
采用红外光电传感器检测路面黑线及障碍物,使用金属传感器检测路面下金属铁片,应用光电码盘测距,用光敏电阻检测、判断车库位置,利用PWM技术动态控制电动机的转动方向和转速。
通过软件编程实现机器人行进、绕障、停止的精确控制以及检测数据的存储、显示。
我们通过对电路的优化组合,最大限度的利用51单片机的全部资源。
P0口用于数码管显示,P1口用于电动机的PWM驱动控制,P2,P3口用于传感器的数据采集与中断控制。
这样做的优点很明显:充分地利用了单片机的内部资源,降低了总体设计的成本。
该方案的系统图如图1所示。
2、系统的硬件组成及原理此系统的硬件部分由单片机单元、传感器单元、传感器单元、电源单元、声光报警单元、键盘输入单元、电机控制单元和显示单元组成,如图2所示。
2.1单片机单元本系统采用A T89C51单片机作为中央处理器。
他的主要任务是扫描键盘输入的信号启动机器人,在机器人行走过程中不断读取传感器采集到的数据,将得到的数据进行处理后,根据不同的情况产生占空比不同的PWM脉冲来控制电机,同时将相关数据送显示单元动态显示,产生声光报警信号。
其中,P0口用于数码管动态显示,P1.0~P1.5控制2个电机,P1.6,P1.7为独立式键盘接口,P2口接传感器,P3.2接计里程的光电码盘,P3.7接声光报警单元,P3.4,P3.5,P3.6接用于显示金属片数目的发光二极管。
2.2电机控制单元本机器人采用了双电机双轮驱动的小车作为其底座。
他的2个电机分别独立控制其左右两边的车轮,靠两边电机的转速的不同来实现转弯功能,还可让其原地转弯,便于控制。
而传统的小车是靠动力电机和转向电机驱动,转弯角度难以控制,不便于使用。
电机控制电路采用大功率对管BD139,BD140组成的H型驱动电路,通过单片机产生占空比不同的PWM脉冲,精确调整电机的转速。
这种电路由于工作在晶体管的饱和或截止状态下,避免了在线性放大区工作时晶体管的管耗,可以最大限度地提高效率;H型电路保证了可以简单地实现电机转速和方向的控制;电子开关的速度和稳定性也完全可以满足需要,整套驱动电路是一种被广泛采用的电机驱动技术。
电路如图3所示。
2.3传感器单元整个机器人共采用了9个传感器,他们分布在整个机器人的不同部位,相互配合起着不同的作用,如图4所示。
图4中各传感器说明如下:传感器1置于机器人正前方朝下的金属探测传感器,用于探测金属。
传感器2置于机器人正前方朝前的超声波传感器,用于检测障碍物。
超声波来源于555产生40kHz的方波信号,经超声波发射头发出。
发射头不断发出信号,当遇到障碍物时,信号会被反射回来,从而接收头会接受到信号,将信号送入单片机进行相应的判断和处理。
传感器3置于机器人正前方朝下的红外光电传感器,用于检测停止线。
红外发射管发出信号,经不同的反射介质反射,根据红外接受管是否接受到信号做出相应的判断。
传感器4,5置于机器人底座下方朝下的红外光电传感器,用于检测地面的引导线,原理同传感器3。
传感器6,7置于机器人正前方朝前的光敏电阻传感器,用于寻找光源。
当机器人前方有光源照射时,光敏电阻的大小将会改变,将2个传感器的改变量进行比较处理后送入单片机,单片机将会产生相应的调整信号,使机器人朝着光强的方向行走。
传感器8置于机器人后方两侧朝外的超声波传感器,用于在机器人遇到障碍物时的转弯处理,判断机器人是否完全绕开障碍物,原理同传感器2。
传感器9置于机器人正后方的光电码盘,用于计里程,他借助于鼠标原理,选用直径为2.6cm的塑料小轮自制光电码盘,经过打磨使其周长为8cm,再在该小轮上打等距离的8个孔,(如图5所示),最小测距精度可达到1cm,足以满足要求,两侧装上光电传感器,将其安装在车尾,使之与车的行驶同步。
就实际情况自制出来的各个孔之间的距离无法精确相等,但经过具体测量该光电码盘能保证行驶50cm能产生50个脉冲,于是采用他作为计算距离的基准单位。