电机测速传感器槽型光耦模块的使用(stm32)

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/P_xiaojia/article/details/79313242

这里写图片描述
OUT:信号输出端,有遮挡,输出高电平;无遮挡,输出低电平
GND:接地
VCC:接 3.3V-5V

用途:
广泛用于电机转速检测,脉冲计数,位置限位等。

模块特色:
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 可与继电器相连,组成限位开关等功能,也可以与有源蜂
鸣器模块相连,组成报警器

实际接线图:
这里写图片描述
与电机,码盘组成测速模块
这里写图片描述

Stm32编程:
1.测速思想:通过计算一秒钟的脉冲数,推出码盘转的圈数,即码盘转过的路程,除以时间得到速度。

 路程= 脉冲数/码盘个数(20)*周长
 速度=路程/时间
 ![这里写图片描述](https://img-blog.csdn.net/20180211205916880?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvUF94aWFvamlh/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70)

2.怎么计算脉冲数,这个时候就要用到外部中断了。一个计数脉冲产生一个外部中断
(1)初始化I/O端口
这里写图片描述
(2)配置外部中断
这里写图片描述
(3)中断服务函数的处理
Stm32的外部中断是木有电平触发,所以我们要用代码模拟一下电平触发(沿触发肯定是有问题的)
这里写图片描述
源码工程文件链接:https://download.csdn.net/download/p_xiaojia/10390382

展开阅读全文

没有更多推荐了,返回首页