本文有麦粒电子撰写,并提供相应产品服务。编码
目前ams关于磁编码芯片用的比较多的多是ams5600,可以输出pwm信号,电压信号以及I2C通讯数字读取。这款芯片目前在市面上也比较容易买到,价格相对也便宜。有须要的AS5600模块能够点击连接了解。htm
可是在编码器应用中,尤为在在电机应用。对编码器的输出信号还有一种A、B、Z相对信号的方式。在这种状况下ams5600绝对值位置检测显得就不能知足要求。由此,咱们把目光注意到了ams5601。这款芯片功能和ams5600一脉相承,只是多了一个A、B向输出的类型和按钮检测。接口
AS5601是一个12bit精度的磁编码器芯片,可以输出增量AB信号,iic信号,push信号。引脚信息以下图所示。
下图为本文使用的as5601模块
开发
值得注意的是as5601内部有给LDO稳压芯片,因此其能够有2种电压操做模式(5V和3.3V),相应的电路图以下图所示。可根据本身的状况选择。
get
准备:径向圆形磁铁;ardunio开发板;as5601模块;杜邦线若干。产品
1.将控制板利用杜邦线链接as5601的相应IIC,AB,电源等接口。
2.圆形磁铁放置再AS5601芯片正上方,最远距离为3mm,固然若是磁铁磁性够强,也能够更远。
3.编写ardunio驱动代码。以下图所示
it
输出结果以下所示
io
as5601提供永久零点写入功能,分别是Burn_Angle Command和Burn_Setting Command 。区别是一个能够写入3次,一个只能写入一次。以下如图所示。
nio
后续增长了更加详细的as5601的寄存器命令功能,AB相检测,永久烧录功能,而且再STM32上实现驱动开发。详情请点击以下连接。****
im