《移动机器人编程技术与应用 第5章 传感器技术基础》由会员分享,可在线阅读,更多相关《移动机器人编程技术与应用 第5章 传感器技术基础(91页珍藏版)》请在金锄头文库上搜索。
1、 第5章 传传感器技感器技术术基基础础1.掌握点亮LED灯并实现流水灯的方法2.了解数码管的段码组成及使用3.了解红外传感器测距的工作原理及使用方法4.掌握PWM占空比调制的使用方法5.掌握快速VI和底层VI的使用一一、传传感感器器训训练练套套件件 二二、LED灯灯与与流流水水灯灯 三、数三、数码码管管显显示示四四、红红外外传传感感器器测测距距 五、五、PWM风风扇扇3课课程目程目录录一、一、传传感器感器训练训练套件套件4传感器训练套件是 慧谷在担任长达两 年多的世界技能大 赛移动机器人项目 的技术指导专家的 过程中,结合公司 对国家集训队的培 训实践,而定制开 发出来的一套适合 于机器人等系
2、统学 习的传感器实验平 台。1.1 传传感器感器训练训练套件套件5集成18个模块红外测距传感器超声波测距传感器9轴姿态传感器循迹传感器温度传感器光敏传感器脉搏传感器循迹传感器LED6矩阵键盘数码管PWM风扇继电器热敏传感器压力传感器驻极体麦克风蜂鸣器串口通讯1.1 传传感器感器训练训练套件套件传感器训练套件与myRIO连接。1.1 传传感器感器训练训练套件套件7二、二、LED灯与流水灯灯与流水灯81.LED工作原理2.数字信号3.点亮LED4.数字输出底层VI5.流水灯9二、二、LED灯与流水灯灯与流水灯LED是发光二极管的简称。它是半导体二极管的 一种,可以把电能转化成光能。发光二极管是由
3、一个PN结组成,具有单向导电性。当给发光二 极管加上正向电压后,P区的空穴和N区的电子 在PN结附近数微米内复合,产生自发辐射的荧 光。2.1 LED工作原理工作原理10数字信号不是连续变化的信号,只能取分立值, 如二进制数字变量只能取两个值(0和1)。例如开关,我们可以认为它是数字量,因为他的 状态只有开和关,对应1和0。2.2 数字信号数字信号11短接J2控制LED8 个 LED 灯 依 次 连 接 到myRIO B/DIO8-B/DIO15(在程序框图中配置IO口)低电平有效2.3 点亮点亮LED灯模块J212编程思想:1.在程序框图中添加数字输出Express VI;2.配置数字输出E
4、xpress VI端口;3.创建布尔类型的输入;4.添加while循环结构;5.添加复位VI。注:低电平有效132.3 点亮点亮LED2.3 点亮点亮LED114在程序框图中 添 加 数 字 输 出 Express VI2myRIO Digital Out。2.配置数字输出 Express VI端口按照传感器板 上标识的端口 配置。2.3 点亮点亮LED选择端口2.添加端口3.完成配置153.创建布尔类型输入注:低电平有效2.3 点亮点亮LED164.添加While循环,即可连续控制8个LED的亮灭。2.3 点亮点亮LED175.添加复位VI程 序 框 图 单 击 右 键 myRIO Devi
5、ce Menagement Reset。2.3 点亮点亮LED2183 演示演示编程完成手动点亮8个LED,通过前面板的布尔 控件控制对应LED灯的亮与灭。2.3 点亮点亮LED19数字输出Express VI实际上是由底层VI事先编写好 的较高级的子VI。2.4 数字数字输输出底出底层层VI20添加底层VI步骤程序框图单击右 键 myRIO Lo w LevelDigital I/O 1Open/Read/Write/Close 。2.4 数字数字输输出底出底层层VI22134数字I/O底层VI介绍。2.4 数字数字输输出底出底层层VIOpen打开一个有一个或多个数字I/O通道的引用Read
6、读取一个或多个数字I/O通道 的逻辑值Write向一个或多个数字I/O通道写 逻辑值Close关闭I/O通道,设置所有输出 通道的逻辑水平低,并禁用 所有输出通道22用底层VI编程实现手动点亮8个LED,通过前面 板的布尔控件控制对应LED灯的亮与灭。2.4 课课堂堂练习练习23流水灯是由多个LED组成,向一个方向循环流 动点亮的一种效果。流水灯的实现是基于LED 点亮实验的基础之上。2.5 流水灯流水灯241.建立一个控制8盏LED的程序2.5 流水灯流水灯252.初始化一个能实现流水灯状态的二维数组流水灯是8个LED灯逐个地从下往上点亮,所以 实现流水灯需创建一个控件状态是逐行拉低的二 维
7、数组。2.5 流水灯流水灯263.每次循环索引一行数据因为流水灯由多个状态组成,所以每次循环需从 二维数组索引一行数据以显示,一般采用除以二 维数组的行大小取余的方法对二维数组进行索引, 每次索引一行。2.5 流水灯流水灯272.5 流水灯流水灯添加复位VI28 演示演示实现上述流水灯功能2.5 流水灯流水灯29用快速VI实现双向流水灯,使LED从上往下点亮后, 接着从下往上点亮,如此反复。2.5 课课堂堂练习练习302.5 课课堂堂练习练习31三、数码管显示321.数码管工作原理2.数码管结构和段码3.数码管显示33三、数三、数码码管管显显示示数码管是一种半导体发光器件,其基本单元是发 光二
8、极管。数码管按其段数可以分为七段数码管和八段数码 管,八段数码管比七段数码管多一个小数点( dp)。按发光二极管单元连接方式可分为共阳极数码管 和共阴极数码管。学习板上的数码管模块采用的 就是共阳八段数码管。当myRIO与数码管相连 端口的电平为低时,就会点亮相应的LED。343.1 数数码码管工作原理管工作原理B/DIO8B/DIO9B/DIO10B/DIO11B/DIO12B/DIO13B/DIO14B/DIO15abcdefgdp3.2 数数码码管管结结构和段构和段码码数字abcdefgdp0FFFFFFTT1TFFTTTTT2FFTFFTFT3FFFFTTFT4TFFTTFFT5FTF
9、FTFFT6FTFFFFFT7FFFTTTTT8FFFFFFFT9FFFFTFFT35短接J1控制数码管adp灯依次连接到 myRIO B/DIO8- B/DIO15(在程序框图中配置IO口)低电平有效3.3 数数码码管管显显示示36编程思想:1.在程序框图中添加数字输出Express VI2.配置数字输出Express VI 端口3.创建布尔类型的输入4.索引各段二极管的值5.添加While循环结构6.添加复位VI注:低电平有效373.3 数数码码管管显显示示3.3 数数码码管管显显示示1.在程序框图中添加数字输出Express VI程序框图单击右键myRIODigital Out。2382
10、.配置数字输出Express VI 端口数码管adp灯依次分别由myRIO 的B/DIO8-B/DIO15控制。3.3 数数码码管管显显示示配置端口2.完成配置393.创建布尔类型的输入例如数码管显示5时的段码为01001001,1表示 高电平,0表示低电平,将其创建为一个一维数 组常量。3.3 数数码码管管显显示示404.索引各段二极管的值创建的布尔类型输入是一个数组,需要布尔值从 数组中将各段二极管的值索引出来连接到对应的DIO口。3.3 数数码码管管显显示示0位开始 依次索引415.添加While循环结构添加While循环使程序循环运行。3.3 数数码码管管显显示示426.添加复位VI程
11、序框图单击右键myRIO Device Manage ment Reset。3.3 数数码码管管显显示示2433添加复位VI。3.3 数数码码管管显显示示44 演示演示数码管显示数字53.3 数数码码管管显显示示45用快速VI实现数码管依次循环显示09。 提示:1.可参考流水灯程序;2.加入延时;3.需使用09的段码;4.用For循环从数组中索引数据,每次循环取一行 数据。463.3 课课堂堂练习练习3.3 课课堂堂练习练习VI实现参考程序47四、红外传感器测距481.红外传感器测距原理2.夏普GP2Y0A21传感器3.模拟信号4.红外传感器数据显示5.抖动数据处理6.红外测距7.模拟输入底层
12、VI49四、四、红红外外传传感器感器测测距距红外测距传感器具有一对红外信号发射与接收二 极管,发射管发射特定频率的红外信号,接收管 接收这种频率的红外信号,当红外的检测方向遇 到障碍物时,红外信号反射回来被接收管接收。4.1 红红外外测测距原理距原理50夏普GP2Y0A21利用三角测距原理,用一种称之 为位置敏感器件(Position Sensitive Device)的PSD元件来获得输出信号, 根据信号来获得物体 的距离量值。4.2 夏普夏普GP2Y0A21传传感器感器51夏普GP2Y0A21型距离测量传感器有效的测量距 离在80cm以内,有效的测量角度大于40,输 出的信号为模拟电压,在
13、0到8cm左右的范围内 与距离成正比关系,在10到80cm的距离范围内 成反比非线性关系,反应时间约为5ms,并且对 背景光及温度的适应性较强。4.2 夏普夏普GP2Y0A21传传感器感器52模拟信号是指用连续变化的 物理量所表达的信息。例如温度,速度,电压等都 是模拟信号。模拟输入/ 输出( AI/AO ) 通常是指模拟输入或者输出 接口,模拟口输入或者输出 的电压(或电流)是可连续 变化的,对应模拟量的输入 以及输出。4.3 模模拟拟信号信号534.3 模模拟拟信号信号特性优点缺点图像模 拟 信 号连续直观、容 易实现抗干扰能 力弱、保 密性差数 字 信 号离散抗干扰能 力强, 便 于存储
14、、 处理和交 换, 保密 性强占用信道 频带较宽54编程思想1.在程序框图中添加模拟输出Express VI2.配置模拟输入Express VI3.添加波形图表显示数据4.添加While循环5.添加50ms延时6.添加复位VI554.4 红红外外传传感器数据感器数据显显示示4.4 红红外外传传感器数据感器数据显显示示在程序框图中添加模拟输出Express VImyRIOAnalog In。25612.配置模拟输入Express VI从myRIO B/AI2端口读取模拟电压。4.4 红红外外传传感器数据感器数据显显示示341573.添加波形图表显示数据。4.4 红红外外传传感器数据感器数据显显示
15、示584.添加While循环。4.4 红红外外传传感器数据感器数据显显示示595.添加50ms延时。4.4 红红外外传传感器数据感器数据显显示示606.添加复位VI。4.4 红红外外传传感器数据感器数据显显示示61 演示演示实现红外传感器显示数据,并观察数据。4.4 红红外外传传感器数据感器数据显显示示62下图是红外测距传感器返回的电压信号,从图中 可以看出电压数据抖动严重,不利于计算,所以 用于计算前需要进行必要的数据处理。4.5 抖抖动动数据数据处处理理63处理抖动数据的方法,常见的就有取一段时间内 的值进行取平均值,用平均值作为该区间内的值。使用一个先进先出的队列计算均值。比如使用10个
16、数据点进行平均。4.5 抖抖动动数据数据处处理理求平均值0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 求平均值64均值(逐点)函数的使用:程序框图右键信号处理(Signal Peocessing)逐点概率与统计均值(逐点)4.5 抖抖动动数据数据处处理理43265均值(逐点)函数介绍X接入要处理的数据。采样长度输入队列的长度(要用多少个数进行 均值处理)。初始化接入T时清空队列均值输出滤波处理后的 数据。4.5 抖抖动动数据数据处处理理66 演示演示在红外传感器显示数据程序的基础上,加入均值 功能(采样长度为10),数据在波形图表中显示。4.5 抖抖动动数据数据处处理理67经过均值函数处理过的电压波形,可看出经均值 处理过后的数据波形较未处理前的稳定很多4.5 抖抖动动数据数据处处理理68得到稳定的红外传感器数据之后,需要将数据( 电压值)转换为距离值。红外测距传感器的AD是10位的,及其数字量为 0 1023,对应05V的电压。红外测距的公 式为L=6787/(X-3)-4,X为测距返回电压对应的 数据量。4.6 红红外外测测距距69 演示在上一程序的基