1、-精品word文档 值得下载 值得拥有-实验1 光电传感器测小车转速1 实验目的 观察了解光电传感器。 测试光电传感器的应变输出。 3. 计数公式:轮子直径*3.14/20格码盘=6.5Cm*3.14/20约=1cm 2 实验原理 本实验说明光电传感器的原理和工作情况。光电传感器由敏感元件、转换元件、基本转换电路三部分组成。它把光型号转换成为电信号,直接检测来自物体的辐射信息,也可以转换其它物理量成为光信号。其主要的原理是光电效应。当光照射到物质上的时候,物质上的电效应发生改变,这里的电效应宝库奥电子发射、电导率和电位电流等。然后通过类似光敏电阻这样的器件把光能转化成为电能,然后通过放大和去噪
2、声处理就得到了所需要的输出信号。这里的输出电信号和原始的光信号接近线性的关系。光电传感器电路图 13 实验所需部件 超声波传感器,L298驱动模块,光电传感器,单片机控制模块等 超声波传感器 1 光电传感器 1 L298电机驱动模块 单片机芯片 14 实验步骤:1测试。先让点击空转显示小车转速,然后与理论计算相比。2按图(4)将实验部件用实验线连接成测试桥路。桥路中R1、R2、R3和WD为电桥中的固定电阻和直流调平衡电位器,R为应变片(可任选上、下梁中的一片工作片)。直流激励电源为 士4v。测微头装于悬臂梁前端的永久磁钢上,并调节使应变梁处于基本水平状态。小车测速程序如下:#include#d
3、efine Left_moto_go P1_0=1,P1_1=0,P1_2=1,P1_3=0; #define Left_moto_back P1_0=0,P1_1=1,P1_2=0,P1_3=1; #define Left_moto_Stop P1_0=0,P1_1=0,P1_2=0,P1_3=0; #define Right_moto_go P1_4=1,P1_5=0,P1_6=1,P1_7=0;#define Right_moto_back P1_4=0,P1_5=1,P1_6=0,P1_7=1;#define Right_moto_Stop P1_4=0,P1_5=0,P1_6=0,P
4、1_7=0;sbit led1 =P20; sbit led2 =P21;sbit led3 =P22;sbit led4 =P23;Unsigned code table=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90; unsigned code dis =0xfe,0xfd,0xfb,0xf7; unsigned char disbuff5=0;unsigned char time=0; unsigned char i =0; unsigned int count1=0; unsigned int V=0; /*/延时函数 void d
5、elay(unsigned int k) unsigned int x,y; for(x=0;xk;x+) for(y=0;y=4)i=0; P0=tabledisbuffi; P2=disi; /*/*TIMER0中断服务子函数产生2MS定时扫描数码管与产生0。5S*/ void timer0()interrupt 1 using 2 TH0=(65536-2000)/256;/2MS定时 TL0=(65536-2000)%256; time+; Display_SMG(); if(time=250)/250次即是,0。5S time=0; V=count1*2; /计数公式:轮子直径*3.
6、14/20格码盘=6.5Cm*3.14/20约=1cm 即一个脉冲走1CM距离(count1*1)/0.5S= (count1*2)CM/S count1=0; /清计数 disbuff0=V/1000; /更新显示 disbuff1=V%1000/100; disbuff2=V%1000%100/10; disbuff3=V %1000%100%10; /*/ /外部0中断用于计算左轮的脉冲 void intersvr1(void) interrupt 0 using 1 count1+; void run(void) Left_moto_go ; Right_moto_go ; void
7、backrun(void) Left_moto_back ; Right_moto_back ; void leftrun(void) Left_moto_back ; Right_moto_go ; void rightrun(void) Left_moto_go ; Right_moto_back ; void stoprun(void) Left_moto_Stop ; Right_moto_Stop ; /*/ /*-主函数-*/void main(void) TMOD=0X01; TH0=(65536-2000)/256;/2MS定时 TL0=(65536-2000)%256; TR
8、0= 1; ET0= 1; EX0=1; IT0=1; IE0=0; EA = 1; run();while(1) if(Left_2_led=0&Right_1_led=0) run(); else if(Right_1_led=1&Left_2_led=0) Left_moto_go; Right_moto_back; if(Left_2_led=1&Right_1_led=0) Right_moto_go; Left_moto_back; 5 实验心得 在过去几周里,我非常幸运参加杨淑珍老师组织的实验课程。在实验中,我遇到很多问题。从选材开始,我们就开始查资料,从光电传感器的工作电压、传
9、感模式、工作模式、传感范围、安装方式等一点点查起。先是光电测速码盘,安装到4个电机上,电机转动时光电测速码盘会走有晃动。最后我们选择一个相对较平稳的电机装上光电测速码盘。因为我们组选用的小车底盘高度太矮,光电传感器安装还是出了问题。为了使光电传感器的安装更稳定,刚开始选择的是卡在小车上底盘,结果小车跑起来数据偏差较大。杨老师建议我们固定光电传感器,我们为了省事,直接用胶带粘,结果还是不行。最后改为用双面胶彻底固定光电传感器,数据显示正常。在杨老师刚开始给我们建议的时候,我还自大地以为不是那个问题,一直在其他方面找原因。现在终于明白自己跟杨老师差距太大,在实验过程中还发现了自己很是粗心大意的毛病,跟杨老师认真细致比起来,我要学的还很多。-精品word文档 值得下载 值得拥有-