Rath-HAL - I2C 读取 AS5600 磁编码器

Rath-HAL - I2C 读取 AS5600 磁编码器,第1张

首先引入 AS5600.h 这个库,里面定义了 AS5600 的寄存器地址。

所有连接到 I2C 总线的设启郑备都是开漏输出,因此 I2C 总线需要上拉电阻者喊将总线电压拉到高电平。AS5600 模块上自带上拉电阻,因此 Tequila Nano 与该模块的连接不需要再外置上拉电阻。

在 I2C 初始化部分,我们设置 I2C0_init.clock_speed = 100000,将 I2C 通讯速率设置为 I2C 标准速度 100kHz,但 AS5600 最高支持 1MHz 的高通讯速度。

需要注意的是,在 I2C0_init.address = 0x0U 这里,我们设置的是 Tequila Nano 的 I2C 地址。因为 Tequila Nano 作为 Master 端来驱动 I2C,因此我们不会用到主设备地址,设为 0 即可。

在程序 loop 中,首旁野我们通过读取 AS5600 的 AS5600_ANGLE_L_ADDR 和 AS5600_ANGLE_H_ADDR 来获取角度,并将两个 8 位数值组合成一个 uint16_t 获得 raw_angle。之后,我们通过将 ((double)raw_angle / 4096.) * M_2PI 这个公式将 raw_angle 转化为弧度制数值。

关于方向,面对 AS5600 芯片上面的顺时针旋转为正方向。

输出值随顺时针方向旋转而增加。

AS5600是一款易于编程的磁性旋转位置传感器,其引脚功能是输出值随顺时针方向旋转而增加,具有高分辨率12位模拟差源或PWM输出。

引脚,又叫管脚,英文叫Pin。就是从集成电路(芯片)内部电路引出与外围罩型电路的接线,所有的引脚就构成物庆猜了这块芯片的接口。引线末端的一段,通过软钎焊使这一段与印制板上的焊盘共同形成焊点。

关于as5600抖动相关资料如下

as5600抖动这里就得逐步排查了,

1、首先我检查了电源,因为5600芯片的电源是从开发板上接的,而开发板本身就有许多外设,有可能造成电源功率过低,但更换电源后发现现象依旧。

2、会不会是导线连接处有松动,这个最有可能,因为毕竟这种插针式连接线有时候也不一定牢固,检测后发现并无。

3、不会是芯片坏了吧,这个是最不想看到的,但是新买的怎么可能呢,但也不是不可能,所以就狠下心又买了AS5600芯片换上,发现故障解决了..才怪。

4、再次观察后发现,数据虽然跳变,但当手去触碰电机外壳时数据跳或岁动更加明显,噢!我好像发现了新大衫磨睁陆,难道这就游乱是传说中的电磁干扰吗,但是电机动我没有通电且和5600芯片无任何电器连接呀?于是我试着在电机外壳接线,连接至GND,数据瞬间稳定


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12536387.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-26
下一篇 2023-05-26

发表评论

登录后才能评论

评论列表(0条)

保存