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

这里写图片描述
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

光耦对射光电开关模块是一种红外计数测速传感器,用于测量电机的转速。它通过遮挡物的存在与否来计数,当信号输出发生变化时就计数一次。通过一系列的换算,可以得到电机的转速。\[2\] 在实验中,可以将G接GND、V接5V、S接数字引脚2或者3(使用中断,只能接这两个脚)。在Arduino的代码中,使用attachInterrupt函数来设置引脚电平发生改变时触发中断。通过计算Val的值和时间的差值,可以得到转速Speed。\[2\] 以下是一个示例代码: ``` int U_Pin = 2; float Val = 0; float time; float Speed; void setup(){ Serial.begin(9600); attachInterrupt(0,count,CHANGE); } void loop(){ time = millis(); Speed = (Val/40)/(time/60000); Serial.println(Speed); delay(1000); } void count(){ Val += 1; } ``` 在另一个实验中,可以使用数字引脚2来接收遮挡计数器的信号。当遮挡物存在时,计数值会增加,并通过串口输出显示。\[3\] 以下是一个示例代码: ``` int speedPin = 2; int cntValue = 0; void setup () { pinMode(speedPin, INPUT); Serial.begin(9600); Serial.println("Speed Count\n"); } void loop() { if (digitalRead(speedPin) == 0) { cntValue++; Serial.println(cntValue); while (digitalRead(speedPin) == 0); } } ``` 这些代码可以帮助你使用光耦对射光电开关模块来测量电机的转速。 #### 引用[.reference_title] - *1* *2* *3* [【雕爷学编程】Arduino动手做(78)---光耦测速模块](https://blog.csdn.net/weixin_41659040/article/details/114669584)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 16
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值