产品特性:
使用ITR9606高灵敏度槽型光耦器件,它由一个红外发光二极管和一个NPN光电三极管组成,槽宽度为5mm。传感器特设M3固定安装孔,调节方向与固定方便易用,使用宽电压LM393比较器,信号干净,波形好,驱动能力强,超过15mA。广泛用于电机转速检测,脉冲计数,位置限位等。
产品参数:
工作电压3.3V-5V
输出形式﹔数字开关量DO输出(o和1),模拟输出AO引脚无效
使用说明:
接好VCC和GND,模块电源指示灯会亮,模块槽中无遮挡时,接收管导通,模块Do输出低电平,开关指示灯亮﹔遮挡时,DO输出高电平,开关指示灯灭。模块DO可与继电器相连,组成限位开关等功能,也可以与有源蜂鸣器模块相连,组成报警器。DO输出接口可以与单片机Io口直接相连,一般接外部中断,检测传感器是否有遮档,如用电机码盘则可检测电机的转速。
测速传感器模块使用说明书(宽槽版):
模块特色:
1、使用进口槽型光耦传感器,槽宽度 10mm。
2、有输出状态指示灯,输出高电平灯灭,输出低电平灯亮。
3、有遮挡,输出高电平;无遮挡,输出低电平。
4、比较器输出,信号干净,波形好,驱动能力强,超过 15mA。
5、工作电压 3.3V-5V
6、输出形式 :数字开关量输出(0 和 1)
7、设有固定螺栓孔,方便安装
8、小板 PCB 尺寸:2.3cm x 2cm
9、使用宽电压 LM393 比较器
模块使用说明(宽槽版):
1.模块槽中无遮挡时,接收管导通,模块 OUT 输出低电平,遮挡时, OUT 输出高电平;
2、OUT 输出接口可以与单片机 IO 口直接相连,检测传感器是否有遮 档,如用电机码盘则可检测电机的转速。
3.模块 OUT 可与继电器相连,组成限位开关等功能,也可以与有源蜂 鸣器模块相连,组成报警器。
产品接线说明(宽槽版):
1、VCC 接电源正极 3.3-5V
2、GND 接电源负极
3、OUT TTL 开关信号输出
---------------------------------------------------------------------------------------------------------------------------------
测速传感器模块使用说明书(窄槽版):
模块特色(窄槽版):
1、使用进口槽型光耦传感器,槽宽度 5mm。
2、有输出状态指示灯,输出高电平灯灭,输出低电平灯亮。
3、有遮挡,输出高电平;无遮挡,输出低电平。
4、比较器输出,信号干净,波形好,驱动能力强,超过 15mA。
5、工作电压 3.3V-5V
6、输出形式 :数字开关量输出(0 和 1)
7、设有固定螺栓孔,方便安装
8、小板 PCB 尺寸:3.2cm x 1.4cm
9、使用宽电压 LM393 比较器
模块使用说明(窄槽版):
1.模块槽中无遮挡时,接收管导通,模块 DO 输出低电平,遮挡时, DO 输出高电平;
2、DO 输出接口可以与单片机 IO 口直接相连,检测传感器是否有遮 档,如用电机码盘则可检测电机的转速。
3.模块 DO 可与继电器相连,组成限位开关等功能,也可以与有源蜂 鸣器模块相连,组成报警器。
产品接线说明(窄槽版):
1、VCC 接电源正极 3.3-5V
2、GND 接电源负极
3、DO TTL 开关信号输出
4、AO 此模块不起作用
程序设计:
传感器51测试程序(宽槽版):
/******************************************
´«¸ÐÆ÷´¥·¢²âÊÔ
µ¥Æ¬»ú£ºSTC89C52
²¨ÌØÂÊ£º9600
*****************************************/
#include <reg52.h>
unsigned char date;
#define uchar unsigned char
#define uint unsigned int
sbit key1=P0^1;
/* º¯ÊýÉêÃ÷ -----------------------------------------------*/
void delay(uint z);
void Initial_com(void);
//***********************************************************
/*
********************************************************************************
** º¯ÊýÃû³Æ £º delay(uint z)
** º¯Êý¹¦ÄÜ £º ÑÓʱº¯Êý
********************************************************************************
*/
void delay(uint z)
{
uint i,j;
for(i=z;i>0;i--)
for(j=110;j>0;j--);
}
//******************************
//*****´®¿Ú³õʼ»¯º¯Êý***********
//******************************
void Initial_com(void)
{
EA=1; //¿ª×ÜÖжÏ
ES=1; //ÔÊÐí´®¿ÚÖжÏ
ET1=1; //ÔÊÐí¶¨Ê±Æ÷T1µÄÖжÏ
TMOD=0x20; //¶¨Ê±Æ÷T1£¬ÔÚ·½Ê½2ÖжϲúÉú²¨ÌØÂÊ
PCON=0x00; //SMOD=0
SCON=0x50; // ·½Ê½1 Óɶ¨Ê±Æ÷¿ØÖÆ
TH1=0xfd; //²¨ÌØÂÊÉèÖÃΪ9600
TL1=0xfd;
TR1=1; //¿ª¶¨Ê±Æ÷T1ÔËÐпØÖÆÎ»
}
//*************************
//**********Ö÷º¯Êý*********
//*************************
main()
{
Initial_com();
while(1)
{
if(key1==0)
{
delay(); //Ïû¶¶¶¯
if(key1==0) //È·ÈÏ´¥·¢
{
SBUF=0X01;
delay(200);
}
}
if(RI)
{
date=SBUF; //µ¥Æ¬»ú½ÓÊÜ
SBUF=date; //µ¥Æ¬»ú·¢ËÍ
RI=0;
}
}
}
传感器51测试程序(窄槽版):
/******************************************
´«¸ÐÆ÷´¥·¢²âÊÔ
µ¥Æ¬»ú£ºSTC89C52
²¨ÌØÂÊ£º9600
*****************************************/
#include <reg52.h>
unsigned char date;
#define uchar unsigned char
#define uint unsigned int
sbit key1=P0^1;
/* º¯ÊýÉêÃ÷ -----------------------------------------------*/
void delay(uint z);
void Initial_com(void);
//***********************************************************
/*
********************************************************************************
** º¯ÊýÃû³Æ £º delay(uint z)
** º¯Êý¹¦ÄÜ £º ÑÓʱº¯Êý
********************************************************************************
*/
void delay(uint z)
{
uint i,j;
for(i=z;i>0;i--)
for(j=110;j>0;j--);
}
//******************************
//*****´®¿Ú³õʼ»¯º¯Êý***********
//******************************
void Initial_com(void)
{
EA=1; //¿ª×ÜÖжÏ
ES=1; //ÔÊÐí´®¿ÚÖжÏ
ET1=1; //ÔÊÐí¶¨Ê±Æ÷T1µÄÖжÏ
TMOD=0x20; //¶¨Ê±Æ÷T1£¬ÔÚ·½Ê½2ÖжϲúÉú²¨ÌØÂÊ
PCON=0x00; //SMOD=0
SCON=0x50; // ·½Ê½1 Óɶ¨Ê±Æ÷¿ØÖÆ
TH1=0xfd; //²¨ÌØÂÊÉèÖÃΪ9600
TL1=0xfd;
TR1=1; //¿ª¶¨Ê±Æ÷T1ÔËÐпØÖÆÎ»
}
//*************************
//**********Ö÷º¯Êý*********
//*************************
main()
{
Initial_com();
while(1)
{
if(key1==0)
{
delay(); //Ïû¶¶¶¯
if(key1==0) //È·ÈÏ´¥·¢
{
SBUF=0X01;
delay(200);
}
}
if(RI)
{
date=SBUF; //µ¥Æ¬»ú½ÓÊÜ
SBUF=date; //µ¥Æ¬»ú·¢ËÍ
RI=0;
}
}
}
逻辑设计:
测距离:
测速传感器输出为脉冲信号,一个脉冲中断一次﹔红外射线导通的时候是低电平,所以我们设置中断为低电平触法模式。一般码盘上有整数格子,无论是多少格其实原理一样,例如10格码盘,也就是有10个空格子,电机转一圈后便是射线导通10次,外部低电平触法10次﹔安装上面的思路,我们的测速传感器就可以发挥出效果了,我们知道一圈就有10个中断,于是我们计算中断次数,得到的总次数除于10也就是电机转动次数了,然后按照轮子的周长,计算轮子一圈是多长,就可以推算出小车已经跑多远了。
测速度;
按照测距离的思路,我们用一个MCU定时器计算,1秒内接收多少个外部中断,例如一秒内接收了20个外部中断,我们就可以判断小车速度为i秒小车轮子转两圈,然后再计算出小车轮子的周长,就可得知小车1秒行驶的速度。
注意事项:
正确接线!切勿将正负接反,使板子电子器件烧毁。Raspberry Pi
玩家应该设置MCU的I/o口为输入模式/接收模式,否则无法使用。其他MCU,或者更为高级的控制板如ARM这些,若需设置I/o口为输入输出模式,都必须设置为输入模式/接收模式,否则无法使用。51系列单片机可直接使用,无需设置输入输出模式。