首页 > 其他 > 详细

AMS5601的ardunio和STM32驱动开发

时间:2019-07-29 00:34:59      阅读:179      评论:0      收藏:0      [点我收藏+]

AMS5601的ardunio和STM32驱动开发

本文有麦粒电子撰写,并提供相应产品服务。

  • 前言

    目前ams关于磁编码芯片用的比较多的可能是ams5600,能够输出pwm信号,电压信号以及I2C通信数字读取。这款芯片目前在市面上也比较容易买到,价格相对也便宜。有需要的AS5600模块可以点击链接了解。

    但是在编码器应用中,尤其在在电机应用。对编码器的输出信号还有一种A、B、Z相对信号的方式。在这种情况下ams5600绝对值位置检测显得就不能满足要求。由此,我们把目光注意到了ams5601。这款芯片功能和ams5600一脉相承,只是多了一个A、B向输出的类型和按钮检测。

  • 简介

    AS5601是一个12bit精度的磁编码器芯片,能够输出增量AB信号,iic信号,push信号。引脚信息如下图所示。
    技术分享图片
    下图为本文使用的as5601模块
    技术分享图片
    技术分享图片

    值得注意的是as5601内部有给LDO稳压芯片,所以其可以有2种电压操作模式(5V和3.3V),相应的电路图如下图所示。可根据自己的情况选择。
    技术分享图片

  • 开发

    准备:径向圆形磁铁;ardunio开发板;as5601模块;杜邦线若干。

    1.将控制板利用杜邦线连接as5601的相应IIC,AB,电源等接口。
    2.圆形磁铁放置再AS5601芯片正上方,最远距离为3mm,当然如果磁铁磁性够强,也可以更远。
    3.编写ardunio驱动代码。如下图所示
    技术分享图片

    输出结果如下所示
    技术分享图片

  • 注意点

    as5601提供永久零点写入功能,分别是Burn_Angle Command和Burn_Setting Command 。区别是一个可以写入3次,一个只能写入一次。如下如图所示。
    技术分享图片

  • 后续增加了更加详细的as5601的寄存器命令功能,AB相检测,永久烧录功能,并且再STM32上实现驱动开发。详情请点击如下链接。****
    技术分享图片

AMS5601的ardunio和STM32驱动开发

原文:https://www.cnblogs.com/maili/p/11261623.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!