低代码技术实现霍尔传感器测电机转速(脉冲计数)

96 篇文章 0 订阅
67 篇文章 0 订阅

霍尔传感器测电机转速(脉冲计数)

本教程出自 FlexLua 官网,FlexLua基于Lua脚本语言,简洁高效,实现零门编程开发 IoT 硬件。

一、霍尔传感器模块介绍

霍尔传感器模块的核心部件为ES3144单极开关型霍尔传感器, 是基于双极半导体(Bipolar)工艺设 计和生产的霍尔器件,器件内部集成了霍尔效应片、电压调节器、反向电压保护器、信号放大处 理电路、施密特触发器和一个开集电极输出驱动三极管。 另外,霍尔传感器模块上的LM393运放芯片用来将ES3144霍尔传感器产生的模拟信号整形成数字方波信号。

8dd8b62f2da4fc5ab72da316bc417708.jpeg

d59b08102005f60f19bfe62435fb9e9f.jpeg

当 磁体的S 极接近芯片标记面时,且当施加到霍尔效应片的磁感应强度 B 超过工作点(BOP)时(B > BOP > 0),输出导通, 输出变低。当磁感应强度减弱低于释放点(BRP)(即 0 < B < BRP)或撤除(B=0)时,输出关断, 输出变高。但磁体的N极接近芯片标记面时不能触发芯片工作,N 极磁场可以从标记面的反面接近芯片以触发芯片导通。

下图为ES3144霍尔元件的磁电转换示意图:

69b1fba7b3766ba4a81b798c8f1a9e64.jpeg

下图为霍尔传感器模块的参考电路图(非本模块电路):

5d9488509cf5879c05803871fb8086bd.jpeg

二、霍尔传感器测量电机转速原理

原理概述:霍尔传感器模块通过感应套在电机转动轴上的霍尔感应磁环的S极和N极产生的方波信号个数来计算转速。

具体实现:当电机每转一圈时,套在电机转动轴上的感应磁环的S极和N极会分别靠近一次霍尔传感器(ES3144),这个过程中霍尔传感器会根据磁极的远近产生一个类似正弦波的信号,然后经过霍尔传感器模块上的LM393运放芯片的整形处理后产生一个周期的数字方波信号。我们可以通过统计在每秒或每分钟这种方波信号的个数即可得出电机的转速。

f47b30d4b33ba8d8cb4297aa420bb7c9.jpeg

90b2d4ecb809fa7e7f5711519e124b97.jpeg

三、接线图

adcb0cc4a427397c788a3dadee299af6.jpeg

四、材料清单

  • 霍尔传感器模块

五、完整代码

--初始化
function Init()
--设置0.96寸oled模块占用SCL1和SDA1引脚
LIB_0_96_OledConfig("IIC1")
--配置计量脉冲的D4引脚内部上拉,触发条件为下降沿,测量周期为1000ms
LIB_PulseCountMeasureConfig("PullUp","Fall",1000)
end
--初始化
Init()
--开始大循环
while(GC(1) == true)
do
--查询计数结果,该函数需要及时在测量周期内调用,不然会错过上1个测量周期的计数结果
finish_flag, data = LIB_PulseCountMeasureFinishCheck()
if finish_flag == 1 then
--通过oled屏幕展示1秒内电机一共转了多少圈
LIB_0_96_OledPuts("4","1",string.format("Freq= %dHz",data))
end
end

如果感兴趣,上面代码中出现的LIB开头的库函数可以在 API文档 中通过Ctrl+F查询。

建议:如果您的电机转速很慢的话,建议用Core提供的脉宽测量库函数通过测量电机转一圈的时间来间接测量转速,在这里就不示例该功能了。

六、代码验证结果

用霍尔传感器模块测量电机转速其实就是测量霍尔传感器模块输出的方波频率,下面我们模拟一个1000Hz的方波输入给Core,相当于一个一秒钟转1000转的电机,当然实际上也很少有电机能转这么快,这里只是一个模拟演示而已。

f6c09ee712d3b06533b101d4d6702b31.jpeg

59122e158ee18fb7b148f035e7f564aa.jpeg

由上图可以看到,Core可以精确的统计每秒钟的方波个数。

  • 27
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值