资源描述
,*,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,单击此处编辑母版标题样式,能力风暴机器人,光电编码器,光电编码器,它是一种能够传递位置信息的传感器,由光电编码模块及码盘组成。它的原理也是靠发射与接收红外光来工作的。,2,只光电编码器运用红外发射接收模块(光电编码器芯片集成了发射与接收功能),反射器(即码盘)是黑白相间的铝合金圆片。,问题:如何,通过光电编码器得到机器人行走的距离和转弯角度?,当红外光射在黑色辐条上时没有反射信号,射在白色辐条上时有反射信号,这样,当码盘随轮子旋转时,黑条和白条交替经过光电编码器,反馈的信号状态不同,就构成一个脉冲,通过读出经过左右光电编码器脉冲累计值,就可计算得到行走的距离和速度。通过它们可知道机器人行走的距离和转弯角度。,检测左右编码器当前状态的库函数为:,encoder(1),它返回左编码器的当前状态到,PA0,;,encoder(2),它返回右编码器的当前状态,PA1,。为低电平,(,黑条对着芯片,),,为高电平(白条对着芯片),。,库函数,rotation(1),rotation(2),可读出经过左右光电编码器的脉冲累计值。,/*,光电编码器当前状态,,index=,左,1,右,2*/,int,encoder(int,index),if(index,=1)return digitalport(0);,else return digitalport(7);,范例,Void main(),rotation(1,);,/*,调用,1,次,将脉冲计数器清零*,/,drive(70,0),;,/*,这是库函数调用,设置直流电机的速度*,/,wait(2.0),;,printf,(“left=%fn”,(float)rotation(1)/33.0),;,/*,读出的脉冲数值除以,33,即得左轮旋转圈数*,/,stop(),;,自编简短程序,让机器人以最大速度前进,6,秒,然后计算机器人行走的距离和速度。,Void main(),int,I,distant,velocity,;,int,number=0;,while(1),for(I,=0;I6;I+),drive(100,0);,sleep(1.0);,number+=rotation(1);,distant=(,int)(number,*6.1848);,velocity=(int)(distant/6);,作业题,五种基本的传感器,三种基本的执行器,所对应的库函数有哪些,如何应用?,构成机器人的三大要素是什么?请从这三大要素着手分析说明机器人的工作原理。,机器人的调速系统采用了哪些装置?它是如何进行调速的?,机器人中,如何利用检测红外传感器检测前方、左前方、右前方的障碍物的?即如何利用红外传感器检测障碍物的方位的?,与红外传感器相比较,碰撞传感器检测方位的方法有何不同,为什么?,试简述机器人如何感知外界光源,并如何将光源信息进行处理的过程。,请根据图,3.18,麦克风的电路图,说明麦克风如何采集声音信息,并如何将采集到的信息传递给微控制器的?,光电编码器是一种传递位置信息的传感器,试述它的工作原理。,
展开阅读全文