[回首页]
直流马达;单极霍尔传感器:这是一种非锁存型(Unipolar)霍尔传感器;磁铁:一小块强磁铁(如钕磁铁)。
磁铁的数量和布局会影响分辨率(后文详述) 微控制器:如 Arduino、STM32 或其他单片机,用于处理脉冲信号。
电阻:一个上拉电阻(通常10kΩ) 导线和电源:用于连接电路。(可选)磁铁固定件:如胶水、支架等
电路连接:
1.VCC:将霍尔传感器的VCC引脚连接到单片机 的 5V或 3.3V引脚(请根据传感器规格书选择电压)
2.GND:将霍尔传感器的GND引脚连接到单片机的 GND 引脚 3.OUT:将霍尔传感器的OUT引脚连接到单片机的某个数字输入引脚。同时,在该引脚和单片机的5V之间 连接一个10kΩ的上拉电阻。这是为了确保在没有磁场时,输出引脚能被稳定地拉至高电平。
磁铁安装:
将磁铁牢固地固定在马达的旋转部分。最常见的方法是粘在马达轴的末端或固定在转子的一个特定位置上。
确保磁铁的南极(S极)朝向能够扫过霍尔传感器感测面的方向。 传感器安装 将霍尔传感器固定不动地安装在靠近磁铁旋转路径的位置。
调整传感器与磁铁之间的气隙(通常为1-3mm)确保磁铁每次经过时都能可靠地触发传感器,但又不能太近以免损坏传感器
软件编程
编程的核心是使用中断或轮询的方式来检测霍尔传感器输出引脚的电平变化(下降沿或上升沿),并计数脉冲, 计算转速(RPM) 转速的计算公式为RPM=(脉冲数x60)/(采样时间x每转脉冲数)
脉冲数:在固定采样时间内(如1秒)计数到的脉冲总数。
60:将秒转换为分钟(1分钟=60秒) 采样时间:你计数所用的时间,单位是秒如果代码中用1000毫秒(1秒),这里就是1。
每转脉冲数(PPR):马达旋转一圈,霍尔传感器产生的脉冲数。
如果你只安装了一块磁铁,那么 PPR =1。 举例: @按照1块磁铁(PPR1) @在1秒的采样时间内,计数到30个脉冲。
@转速RPM=(30x60)/(1x1)=1800RPM. 提高分辨率:如果转速很低,1秒内可能只有几个脉冲,测量会不准确。
可以通过增加磁铁数量来提高分辨率(PPR)
例如:均匀安装 4块磁铁,则PPR=4。转一圈会产生4个脉冲。
这样在相同转速下,脉冲数变为原来的4倍测量精度大大提高。此时计算公式中的PPR需要改为4。
关键注意事项
1.磁极方向:单极霍尔只对南极(S极)敏1.感。务必确保磁铁的正确极性朝向传感器。
2.上拉电阻:必须使用上拉电阻(内部或外部),否则输出引脚在不触发时会处于不确定的“浮空”状态,导致读数乱跳。
3.消抖:机械振动和磁场的非线性可能会导致信号抖动,产生多个虚假脉冲。
解决方案:
硬件消抖:在输出引脚和地之间加一个小电容(如0.1uF) 软件消抖:在中断函数中插入一个短暂的延时(delayMicroseconds(1000))或使用状态机滤波,但要注意这可能错过高速脉冲。上述示例代码为了简单没有加入消抖,在实际高速应用中可能需要。
4.采样时间:采样时间越长,低速测量越精确,但数据更新率越慢。需要在精度和实时性之间做权衡。对于高速电机,可以缩短采样时间(如100ms)
5.磁场强度与气隙:气隙不能太大,否则传感器可能无法被可靠触发;也不能太小,以免机械碰撞或损坏传感器。根据所用磁铁的磁力和传感器灵敏度调整。
6.非对称按照:如果只安装1块磁铁,要确保马达的旋转是平衡的,否则可能引起振动。 总结: 操作流程可以概括为: 固定磁铁 → 固定传感器 → 连接电路(记得上拉电阻)→ 编写代码(中断计数)→ 根据脉冲数和PPR计算RPM。