本文有麥粒電子撰寫,並提供相應產品服務。編碼
目前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