




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
A/D、D/A转换接口与漫游机器人制作新工科建设之路·机器人技术与应用系列应用型人才创新能力培养机器人制作与开发(单片机技术及应用)(第2版)第五章01基于红外测距导航的漫游机器人的制作和编程本任务使用红外传感器SHARP2Y0A21F2Y作为机器人导航传感器制作漫游机器人。该传感器输出的模拟电压表示检测到的不同距离。本任务涉及的元器件包括:智能机器人小车1辆,红外传感器(测距)及安装套件1套,TLC549A/D转换芯片1个,1602LCD显示模块1个,跳线、导线和杜邦线若干。基于红外测距导航的漫游机器人的制作和编程基于红外测距导航的漫游机器人的制作和编程SHARP红外传感器实物图如图5.1所示。SHARP红外传感器的测量原理物体对红外光的反射、环境温度及操作时间都不会轻易影响距离探测的准确度。SHARP2Y0A21F2Y红外传感器采用模拟量输出,由PSD(位置灵敏探测器)、IRED(红外发射二极管)及信号处理电路组成,可以用于近距离的探测,探测范围是8~80cm。基于红外测距导航的漫游机器人的制作和编程基于红外测距导航的漫游机器人的制作和编程图5.2所示为输出电压与探测距离的关系曲线。由图可知,在0~8cm范围内,随着探测距离的减小,输出电压急剧下降;在8~30cm范围内,随着探测距离的增大,输出电压下降幅度较大;在30~80cm范围内,随着探测距离的增大,输出电压变化得较为平缓。即当探测距离足够小(小于8cm)时,输出电压急剧下降,虽然物体离得很近,但探测到的距离好像越来越远了,传感器反而“看”不到了。因此要探测更远的物体,需要用分辨率更高的传感器。基于红外测距导航的漫游机器人的制作和编程根据SHARP红外传感器的特性,在实际使用前,需要对传感器的测量特性进行曲线拟合。在进行曲线拟合时,如果不分段拟合,得到的测距函数只在某个范围内比较准确,在其他的范围内误差会比较大。对于SHARP2Y0A21F2Y红外传感器,合理的分段拟合方案是将距离分成8~30cm、30~50cm两段。基于本任务的应用要求,只在10~30cm范围内进行拟合。基于红外测距导航的漫游机器人的制作和编程注意:对于不同型号的传感器,其输出特征曲线不同,需要在实际使用前对所使用的传感器进行标定校正。基于红外测距导航的漫游机器人的制作和编程基于红外测距导航的漫游机器人的制作和编程A/D转换芯片的连接原理图和连接实物图分别如图5.3和图5.4所示。先把TLC549芯片插到面包板上,然后用导线连接相对应的引脚。俯视A/D转换芯片TLC549,以标记有小圆点的左上角引脚为1引脚,逆时针方向依次为2~8引脚。将1、8引脚接至Vce;2引脚接红外传感器信号输出端口。在图5.4中,用了1个扩展学习板将红外传感器接入单片机系统,红外传感器的3Pin电缆直接接到扩展学习板的4号3Pin插口上,与它相通的是面包板旁边的4号插孔,所以将4号插孔用连接线连接到芯片的2引脚上;3、4引脚接地;5、6、7引脚分别接单片机的P34、P16、P15引脚。基于红外测距导航的漫游机器人的制作和编程注意:在下载程序时需要先将单片机P16、PI5引脚的导线断开,在下载完成后再接上。这是因为这两个引脚是与下载器接口复用的。基于红外测距导航的漫游机器人的制作和编程注意:当用到较多的单片机IO端口时,必须正确分配可用端口,否则会出现意想不到的结果。基于红外测距导航的漫游机器人的制作和编程例如,如果将TLC549的输入端、输出端或者片选信号的接线接至P10、P11舵机控制引脚,这时经AD转换芯片转换的数据就输出不到LCD上了;如果使用了P2端口的液晶端口,或者在使用定时器中断时,占用了单片机第二功能引脚的中断设置端口,同样会出现错误。因此,在使用单片机IO端口时要特别注意端口资源的合理分配。基于红外测距导航的漫游机器人的制作和编程程序说明上述程序实现的漫游机器人功能是,一边向前运动,一边测量其与前方物体的距离,LCD1602第一行显示广告字符串,第二行显示距离值,若前方20cm的范围内有物体,则机器人向左转(可以自行更改设定的规则),然后继续向前运动,一直循环下去。用8位八段数码管制作简易秒表程序说明TLC549是一种新型的A/D转换器,具有8位的分辨率。由于在实际应用中的A/D转换器输入数据可能由于受到干扰而有突然的变化,因此为了让测量的结果更加准确,可以采用多次采集再计算的方式得到相对准确的数值,这种方法称为软件滤波。软件滤波有很多算法,最简单的算法是对多次采样的数据求平均值,即均值滤波法。用8位八段数码管制作简易秒表首先,在10~30cm范围内均匀采样20个数据,从距离10cm开始,每隔lcm记录1次红外传感器的测量电压值。每次红外传感器的测量电压都可以通过LCD1602显示出来。然后,将这20组数据分别填入Excel表格(以Excel2013为例)中。接着,选中所有的数据,选择“插入”一“散点图”-“带平滑线和数据标记的散点图”选项,得到一个散点图,在图中的曲线上右击鼠标,在弹出的快捷菜单中选择“添加趋势线”选项,在“设置趋势线格式”窗格中选中“幂”选项,然后勾选“显示公式”复选框。基于红外测距导航的漫游机器人的制作和编程基于红外测距导航的漫游机器人的制作和编程就可以生成图5.5所示的红外传感器输出电压和测量距离的拟合曲线,并得到对应的公式,根据该拟合曲线及对应的公式,每次测量的距离误差可以控制在0.5cm范围内。也可以对标定数据进行多项式拟合,只需将上述步骤中的“幂”选项改选为“多项式”选项,并设置多项式的最高次数。由于本任务中仅测量10~30cm之间的距离,因此无须进行分段拟合,在实践中可以根据需要按同样的方法进行拟合操作。基于红外测距导航的漫游机器人的制作和编程基于红外测距导航的漫游机器人的制作和编程编写A/D转换子函数要根据TLC549的工作时序图(如图5.6所示)来完成。02拓展阅读A/D转换器的作用是将模拟量转换为数字量,这里的模拟量既可以是电压、电流等电信号,也可以是压力、温度、湿度、位移、声音等非电信号。但在A/D转换前,输入A/D转换器的信号必须转换成电压信号。由于这些输入信号在时间上是连续的,而输出的数字信号是离散的,因此每个离散的数字量实际上代表的是一个区间的模拟量,如用255代表[4.98V,5V]的连续瞬时量,这个区间的大小实际上就是A/D转换器的分辨率。拓展阅读分辨率说明了A/D转换器对输入信号的分辨能力。A/D转换器输出的数字信号位数可以是8位、10位、12位、14位、16位等,在输入电压一定时,输出位数越多,输出的数字信号分辨率越高。例如,当输入信号最大为5v,最小为OV时,8位A/D转换器输出的数字信号的分辨率为19.53mV(5V/2³≈19.53mV),12位A/D转换器输出的数字信号的分辨率为1.22mV(5V/2³²≈1.22mV)。拓展阅读A/D转换器的另一个指标是转换时间,即从A/D转换器转换控制信号到来开始,到输出端得到稳定的数字信号所需的时间。不同类型转换器的转换速度是不同的,所以转换时间也不同。其中,并行比较型A/D转换器转换速度最高,一般的8位并行A/D转换器的转换时间可达50ns,而逐次比较型A/D转换器的转换时间为10~50μs,有的也可达到几百纳秒。拓展阅读在选择A/D转换器时,除了要考虑转换器的分辨率、转换时间,还要考虑项目实际需要的分辨率和转换时间。拓展阅读03红外测距云台导航机器人的制作人们在用眼睛寻找目标时,不会只注视前方,而会通过脖子的转动来扫描四周。为了让机器人能够进行类似的搜索,可在机器人前方安装一个角度舵机,并将红外传感器装在角度舵机的输出轴上,这样红外传感器就可以随着角度舵机进行0°~180°的转动了。红外测距云台导航机器人的制作红外测距云台导航机器人的制作舵机控制脉冲示意图如图5.7所示。角度舵机角度舵机的控制信息与连续旋转伺服舵机一样,只是其高电平脉冲宽度(简称脉宽)对应的是输出轴的角度,而不是速度,例如,1.5ms高电平脉宽可控制舵机回到中间位置,即90°位置。为了方便说明,这里规定从右往左的角度依次为0°~180°,即最右边为0°,最左边为180°。红外测距云台导航机器人的制作红外测距云台导航机器人的制作根据任务需要,取5个角度,角度舵机转动角度与20ms周期内高电平持续时间之间的关系如表5.1所示。红外测距云台导航机器人的制作角度舵机安装后的实物图如图5.8所示。红外测距云台导航机器人的制作云台舵机接线电路如图5.9所示。红外测距云台导航机器人的制作完整的红外测距云台导航机器人的实物图如图5.10所示。使红外传感器左右扫描的方法是:首先使红外传感器的方向在右边第一个测量角度的位置(18°)上,并在右边的第一个测量角度(18°)和左边的第一个测量角度(162°)上设置左转和右转标志,据此控制角度舵机从右向左转或者从左向右转。红外测距云台导航机器人的制作程序说明机器人一边向前运动,一边不断测量5个不同方位前方物体的距离,并存在数组中。在每次扫描测得数据后,都要比较所得5个距离的大小,以决定机器人下一步的运动方向,然后将数组内的数据还原为初始数据,依此一直循环执行。判断执行条件是:若与前方90°、54°、126°方位的距离同时满足小于23.4cm,则转180°;若与18°和54°方位的距离之一小于23.4cm,则向左转;若与126°和162°方位的距离之一小于23.4cm,则向右转。红外测距云台导航机器人的制作程序说明为了方便学习,这里只做了简单的处理。在实际应用或者比赛过程中,需要根据实际情况进行更仔细、更合理或者更有效的规划。测距子函数中的计算距离单位改成了mm,也就是数值扩大了10倍,然后取整,这样测得的数据就可以存放在数组里了。这样做一方面是因为AT89S52单片机中的数组不能存放浮点型数据,另一方面是因为数据存储器容量有限,不能存储大量数据。float型数据占用64字节,所以将其强制转换成无符号整型,以节约存储空间,也可以用无符号字符型表示。红外测距云台导航机器人的制作让机器人一边运动、一边测距的技巧是:在机器人运动时,电机低电平延时的20ms用来执行角度舵机的转动(因为电机低电平延时需要20ms,刚好是角度舵机转动的一个周期)。角度舵机从右向左转、从左向右转的起始角度需要设置标志,分别进行递增和递减计数。在数组内存储的数据用完后就还原为初值。红外测距云台导航机器人的制作04D/A转换和机器人LED的亮度控制D/A转换器是一种将数字量信号转换成模拟量信号的器件。要想使单片机输出模拟信号,需要在输出级中加上D/A转换器,即D/A转换芯片。D/A转换芯片的输出可以是电流,也可以是电压,由数字输入和参考电压组合进行控制。大多数常用D/A转换芯片的输入数据采用二进制码或BCD码的形式。较常用的D/A转换芯片有20个引脚封装的8位数据并行通信芯片DAC0832,以及8个引脚封装的串行输入且输出为电压型的芯片TLC6519,通过3根串行总线就可以完成10位数据的串行输入。D/A转换和机器人LED的亮度控制本任务使用的是价格低廉、接口简单、转换控制容易并具有8位分辨率、电流型输出的D/A转换芯片DAC0832,它主要由8位输入寄存器、8位DAC寄存器、8位D/A转换器及输入控制电路4部分组成。通过对DAC0832的数据锁存器和DAC寄存器设置不同的控制方式,DAC0832可以工作在3种不同方式下:直通方式、单缓冲方式和双缓冲方式。D/A转换和机器人LED的亮度控制本任务选择直通方式。DAC寄存器的输出在实际应用时需要外接运算放大器(简称运放),使之成为电压型输出的。这里使用的是LM324运放。本任务所用元器件包括:智能机器人小车1辆,DAC0832芯片1个,LM324运放芯片1个,直流电源模块(提供12V和-12V直流电源)1个,跳线、导线、杜邦线若干。D/A转换和机器人LED的亮度控制D/A转换和机器人LED的亮度控制DAC0832芯片和LM324芯片的连接电路如图5.11所示。D/A转换和机器人LED的亮度控制LM324芯
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 伊能静签下器官协议书
- 邻里房屋间隔协议书
- 酒店经营转让协议书
- 体教联办训练点协议书
- 边界联防联控协议书
- 购货解除合同协议书
- 金婚佟志手术协议书
- 营销广告合同协议书
- 酒店接机服务协议书
- 迅雷支持旋风协议书
- 鱼类卵子受精机制与精子激活
- 植物营养学智慧树知到期末考试答案章节答案2024年黑龙江八一农垦大学
- MOOC 市场调查与研究-南京邮电大学 中国大学慕课答案
- 小学数学项目化设计教学案例
- 燃气工程项目全生命周期管理与维保策略
- 下肢感染护理查房
- 2023年4月自考02333软件工程试题及答案含解析
- 简易呼吸器课件9
- 凉水井煤矿矿山地质环境与土地复垦方案
- 《口腔医学技术》课件-暂时冠制作
- 思明区公开招聘非在编聘用人员报名表
评论
0/150
提交评论