如何在Raspberry Pi上使用霍尔效应传感器

4

上个月,我给自己买了一台3D打印机。它使用标准的微动开关来记录可移动部件的位置。我想用机械性较小的东西代替这些,在支持论坛上有人提到使用霍尔效应传感器代替。

霍尔效应传感器可以检测到磁场的存在,通常用于定位物体或测量旋转。例如,您可以通过将磁铁附着到一根辐条上来测量自行车车轮的速度。

为了测试这个想法并检查传感器触发的距离,我决定使用Raspberry Pi和一些Python。

A1120霍尔效应传感器霍尔效应传感器

我选择的传感器是Allegro霍尔效应传感器A1120EUA-T。大约花费 来自CPC的£1。对于那里的老朋友来说,不是’t 其中之一.

这是引脚分配:

A1120霍尔效应传感器的引脚排列

磁铁

Magnet我想要一个便宜,紧凑的磁铁,以便能够轻松地安装在打印机上,所以我订购了一些 来自亚马逊。这没有真正的科学,涉及一些猜测工作。我去了一些“N48级稀土钕”尺寸为5 x 10mm的小圆柱体的磁铁。 50块磁铁的价格为4英镑。

电路图

霍尔效应传感器和磁铁

在上方的照片中,红色导线为Vcc(3.3V),棕色导线接地,橙色导线为Vout。

这是电路图:

霍尔效应传感器电路

Vcc连接到Pi上的3.3V电源’s接头连接器(引脚1)。 GND连接到引脚6。Vout连接到引脚11(GPIO17),尽管您可以使用任何备用GPIO引脚。 10K(或类似)电阻器将输出拉高。制造商建议在Vcc和GND之间放置一个0.1uF的电容,以降低噪声,但是我发现没有它,它可以很好地工作。

Pi标头A1120
 3.3V (Pin 1)Pin 1
 Gnd (Pin 6)Pin 2
 GPIO17 (Pin 11)Pin 3

我没有使用外部上拉电阻,而是使用了Pi上可用的内部电阻。’s 通用输入输出 pins.

示例Python代码

我编写的Python脚本仅将GPIO引脚配置为输入,将其拉高并设置了回调功能。每当传感器的状态改变时,它就会触发回调函数并打印一些文本。 通用输入输出17消失了“low”当磁铁靠近传感器并返回到“high”当磁铁被移除时。

It’并不是很复杂,可以使用以下命令直接下载到您的Pi:

wget //bitbucket.org/MattHawkinsUK/rpispy-misc/raw/master/python/hall.py

该脚本可以使用以下命令在Python 2中运行:

蟒蛇 hall.py

或者如果您使用的是Python 3:

蟒蛇3 hall.py

触发距离

我很快发现触发距离约为15mm。这使设置非常适合我的应用程序。这假定圆柱体的末端与霍尔效应传感器的平面成一直线。其他磁铁几乎肯定会导致不同的触发距离,因此如果您的应用需要不同的距离,则可能必须尝试使用​​替代磁铁。

分享。

4条留言

  1. 嗨,马特,
    我也一直在寻找3D打印机上Z端止动装置的微动开关的替代品。在实验中,您是否注意到霍尔效应传感器中有任何滞后现象。即,您说传感器在大约15mm处触发。但是,当您抽出磁铁时,传感器又恢复了正常距离有多远?

    很棒的文章!

    • 嗨加文,我’我刚刚对其进行了快速测试,我不得不撤回大约3-4毫米的磁铁。一世’我希望这可以让我的打印机完成它’s calibration cycle.

    • 该传感器是数字传感器,因此对Pi呈现逻辑高电平或低电平’s 通用输入输出引脚。因此,无需ADC。

发表评论

该网站使用Akismet减少垃圾邮件。 了解如何处理您的评论数据.