首页 > 编程语言 >12位可编程非接触式电位计(AS5600)的介绍

12位可编程非接触式电位计(AS5600)的介绍

时间:2025-01-09 14:03:54浏览次数:3  
标签:输出 12 引脚 寄存器 角度 接触式 AS5600 编程

目录

概述

1. AS5600介绍

1.1 芯片介绍

1.2 主要性能

1.3 芯片结构框图

1.4 芯片封装和引脚定义

2 I2C操作AS5600

2.1 地址信息

2.2 读数据时序

3 主要寄存器介绍

 3.1 配置寄存器

3.2  输出寄存器

3.3  状态寄存器

4 编程操作

4.1 通过i2c接口进行角度编程

4.2 通过OUT引脚进行角度编程

4.3 输出波形图

5 PWM输出方式

6 方向(顺时针vs逆时针)

7 磁体要求 


概述

本文主要介绍12位可编程非接触式电位计(AS5600)的功能,包括芯片特性,编程要点,输入和输出方式。硬件设计要求等内容。

1. AS5600介绍

1.1 芯片介绍

AS5600是一款易于编程的磁性旋转位置传感器,具有高分辨率12位模拟或PWM输出。这种非接触式系统测量直径磁化轴上磁体的绝对角度。AS5600专为非接触式电位器应用而设计,其坚固的设计消除了任何均匀的外部杂散磁场的影响。工业标准的I²C接口支持非易失性参数的简单用户编程。

默认情况下,输出表示0到360度的范围。也可以通过编程零角度(开始位置)和最大角度(停止位置)来定义较小的输出范围。AS5600还配备了智能低功耗模式功能,可自动降低功耗。

输入引脚(DIR)根据旋转方向选择输出的极性。如果DIR接地,输出值顺时针旋转增加。如果DIR连接到VDD,输出值随逆时针旋转增大。

1.2 主要性能

优势特性
最高的可靠性和耐久性

非接触式角度测量

简单的编程

简单的用户可编程的开始和停止位置在I²C接口
在角度偏移上有很大的灵活性最大角度可编程从18°到360°
高分辨率输出信号12-bit DAC output resolution

可选输出端口

模拟输出与VDD或pwm编码的数字输出的比率
低功耗自动进入低功耗模式
简易安装自动磁检测
小尺寸SOIC-8封装
强大的环境耐受性宽工作温度范围:-40℃~ 125℃

1.3 芯片结构框图

1.4 芯片封装和引脚定义

1)芯片封装(SOIC-8 Pin-Out)

 2)引脚定义

2 I2C操作AS5600

2.1 地址信息

有两个地址用于访问AS5600寄存器。首先是用于选择AS5600的从地址。所有I²C总线事务都包含一个从属地址。从地址AS5600是0x36(0110110二进制)第二个地址是在写事务中传输的第一个字节中发送的字地址。

字地址在AS5600上选择一个寄存器。字地址被加载到AS5600的地址指针中。在随后的读事务和写事务中的后续字节期间,地址指针提供所选寄存器的地址。

2.2 读数据时序

1) 无效数据

当从无效地址读取时,AS5600返回数据字节中的所有零。地址指针在每个字节之后递增。包括地址溢出在内的整个地址范围的顺序读取是可能的。

2) 有效数据

接收和处理第一个字节,就像在从属接收方模式中一样。然而,在这种模式下,方向位表示AS5600将驱动SDA上的数据。START和STOP条件被识别为总线事务的开始和结束。从地址字节是主服务器生成START条件后接收到的第一个字节。从地址字节包含7位AS5600地址。7位从地址后面跟着方向位(R/W),对于读,方向位是1(高)。在接收和解码从地址字节后,从设备驱动一个确认。

数据读取(从发送模式)

 

用地址指针重新加载读取数据(从发送模式)

3 主要寄存器介绍

操作寄存器的主要要点:

1. 要更改配置,请读出寄存器,只修改所需的位,然后写入新的配置。空白字段可能包含出厂设置。
2. 在上电期间,配置寄存器被重置为永久编程值。未编程位为零。

 3.1 配置寄存器

CONF寄存器支持自定义AS5600。显示了CONF寄存器的映射。

3.2  输出寄存器

 角度/原始角度寄存器:

RAW角度寄存器包含未缩放和未修改的角度。缩放后的输出值在ANGLE寄存器中可用。


注意点:

角度寄存器在360度范围的极限处有一个10 lsb的迟滞,以避免在一次旋转内的不连续点或输出切换。

3.3  状态寄存器

 状态寄存器提供指示AS5600当前状态的位。

4 编程操作

对于不使用完整的0到360度角范围的应用程序,可以通过编程实际使用的范围来增强输出分辨率。在这种情况下,输出的全分辨率自动缩放到编程的角度范围。角度范围必须大于18度。
范围是通过编程一个开始位置(ZPOS)和一个停止位置(MPOS)或角度范围的大小(MANG)来指定的。BURN_ANGLE命令最多可以执行3次。

4.1 通过i2c接口进行角度编程

角度读出与I²C编程的应用图

 step-1: 给AS5600上电

 step-2:  将磁铁转到开始位置。

 step-3:  读取RAW角度寄存器。将RAW角度值写入ZPOS寄存器。至少等待1ms。

 step-4:  按照DIR引脚上的电平(GND为顺时针方向,VDD为逆时针方向)所定义的方向旋转磁铁至停止位置。旋转的量必须大于18度。

 step-5:  读取RAW角度寄存器。将RAW角度值写入MPOS寄存器。至少等待1ms。


继续执行步骤6,对配置进行永久编程。


 step-6:  执行BURN_ANGLE命令对设备进行永久编程。至少等待1ms

 step-7:  验证BURN_ANGLE命令:将命令0x01、0x11和0x10依次写入寄存器0xFF以加载实际的
OTP内容。读取ZPOS和MPOS寄存器以验证BURN_ANGLE命令是否成功。

 step-8:  在新的上电周期后再次读取并验证ZPOS和MPOS寄存器。

4.2 通过OUT引脚进行角度编程

使用如图所示的正确硬件配置。PGO引脚连接到GND, OUT引脚被内部电阻拉高,直到编程过程完成。

角度读出和通过OUT引脚编程的应用图

 step-1: 上电AS5600。

 step-2: 将磁铁放置在起始位置。

 step-3: 将OUT引脚拉到GND上至少100毫秒,然后让引脚浮动

 step-4: 按照DIR引脚上的电平(GND为顺时针方向)所定义的方向旋转磁铁,VDD为逆时针方向)到停止位置。旋转的量必须大于18度。

 step-5:  将OUT引脚拉到GND上至少100毫秒,然后让引脚浮动。

 step-6:  检查OUT引脚是否永久驱动到GND。这表示在编程过程中发生了错误。如果驱动在OUT引脚上的电压对应于磁铁位置,则该过程执行成功

4.3 输出波形图

1) 输出特性超过360°全分辨率图

 AS5600既支持零角度编程,也支持最大角度范围编程。如图28所示,减小最大角度范围将非间断点推到边缘,使其远离0和θmax(其中θmax是最大角度),其中λ= (360 - θmax)/2。

2) 输出特性范围小于360°

如果最大角度范围小于360度,则DAC分辨率自动降低。若θmax为最大角度,则输出信号OUT的步数N为:N = (θmax/360) × 4096
AS5600还允许使用CONF寄存器中的OUTS位选择OUT信号的输出动态特性。默认情况下(OUTS = 00),输出可以覆盖整个电压范围(0V到VDD),但范围从10%到GND和VDD之间的90%可以编程(out = 01)。

3) 输出范围减小(10%-90%)的输出特性

5 PWM输出方式

AS5600输出级可以在CONF寄存器的out位中编程,用于pwm编码的数字输出(out)= 10)。在这种模式下,OUT引脚提供数字PWM信号。每个脉冲的占空比与旋转磁体的绝对角度成正比。

如图所示,PWM信号由4351个PWM时钟周期的帧组成。该PWM帧由以下部分组成:
•128 PWM时钟周期高
•4095 PWM时钟周期数据
•128 PWM时钟周期低

角度用帧的数据部分表示,1 PWM时钟周期代表整个角范围的4096分之一。PWM频率是用CONF寄存器中的PWM位来编程的。

脉宽调制模式下的输出特性波形

0度角由128个时钟周期高和4223个时钟周期低表示,而最大角度由4223个时钟周期高和128个时钟周期低表示。

6 方向(顺时针vs逆时针)

AS5600允许用DIR引脚控制磁铁旋转的方向。如果DIR连接到GND (DIR = 0),从顶部顺时针旋转将产生计算角度的增量。如果DIR引脚连接到VDD (DIR = 1),则计算角度的增量将逆时针旋转。

顺时针方向的原始角度演示图

7 磁体要求 

AS5600要求磁场分量Bz垂直于芯片上的敏感区域。沿着霍尔元件圆的圆周,磁场Bz应为正弦形状。的磁场梯度Bz沿圆周的半径应在磁体的线性范围内,用差分测量原理消除位移误差。

典型的气隙在0.5 mm到3mm之间,它取决于所选择的磁铁。更大更强的磁铁可以产生更大的气隙。以AGC值为导向,通过调整磁铁与AS5600之间的距离,使AGC值处于其范围的中心,即可找到最佳气隙。参考磁体旋转轴相对于封装中心的最大允许位移为当使用直径为6mm的磁铁时,为0.25 mm。

标签:输出,12,引脚,寄存器,角度,接触式,AS5600,编程
From: https://blog.csdn.net/mftang/article/details/144993217

相关文章

  • CC430F5137IRGZR数据手册 CC430F613x、CC430F612x、CC430F513一款低功耗射频无线收发
    TICC430系列超低功耗片上系统(SoC)器微控制搭载有集成射频收发器内核,并包含数个采用各种不同外设集的器件,可广泛应用于各种应用。此架构经过优化,与五种低功耗模式相配合使用,可延长便携式测量应用中的电池寿命。该器件具有功能强大的MSP43016位RISCCPU、16位寄存器和有......
  • C#集合:一文掌握12种集合优缺点及使用场景,高效编程必修课!
    C#是一种强大的编程语言,广泛用于各种应用和服务开发。集合是一种非常重要的数据结构,它用于存储和管理一组对象。集合的使用贯穿于软件开发的各个方面,从简单的列表到复杂的键值对映射,集合提供了强大的工具来处理数据的集合。本文将详细介绍C#中的各种集合类型及其使用场景,帮助开......
  • 12. 调优命令有哪些?
    SunJDK监控和故障处理命令有jpsjstatjmapjhatjstackjinfojps:JVMProcessStatusTool,显示指定系统内所有的HotSpot虚拟机进程。jstat:JVMstatisticsMonitoring是用于监视虚拟机运行时状态信息的命令,它可以显示出虚拟机进程中的类装载、内存、垃圾收集、JIT编译等运行数......
  • C# 调用YoloSharp.Gpu,调用Microsoft.ML.OnnxRuntime.Gpu出错126
    今天使用C#调用YoloSharp.Gpu,加载onnx模型,然后检测,代码很简单。//LoadtheYOLOpredictorpredictor??=newYoloPredictor(@"pathtoyour.onnx");//Runmodelvarresult=predictor.Detect(@"pathtoyourimage");一运行就爆错ONNXRuntimeError:1:FAIL:LoadL......
  • [CQOI2012] 局部极小值
    前言又是重庆题,继续害怕最近打算每天少踢点球,我效率不高,还是要多堆点时间的然后就是倒计时要多关注,别老无视听讲很重要啊冷静一点,不死磕,不畏难,太难太偏的直接不管即可思路转化题意,定义一个位置为局部极小值,当且仅当其在以自己为中心\(3\times3\)的......
  • Effective C++读书笔记——item12(自定义拷贝构造函数和拷贝赋值运算符可能出现的问题
    1.拷贝函数相关背景及编译器行为在面向对象系统中,拷贝构造函数和拷贝赋值运算符统称为拷贝函数,若不自行声明,编译器会按需生成默认的拷贝函数,其会拷贝被拷贝对象的全部数据。但当自行声明拷贝函数后,编译器若发现实现存在错误,往往不会主动提示,比如在新增数据成员却未更新拷贝函......
  • Centos7.8安装Gitlab.211208
    公司为了合规性考虑,需要自己搭建私有化版的github。那不用想,肯定要上GitLab了。项目背景:服务器:华为云ECS,需要上公网,并在安全组打开80端口访问。用户:关闭公开注册,新建用户后,手动改密码,不用安装邮件服务。步骤:1.安装gitlab-ce仓库和安装包curlhttps://packages.gitlab.com/i......
  • docker-compose安装mysql.211216
    0.安装docker-compose参见本站另外文章1.目录结构:按以下目录结构mkdir文件夹和相关文件**mysql目录下的data为数据目录,mysql的数据表、二进制日志文件就在这里。.env文件包含了一些变量,这些变量可以在docker-compose.yml文件中通过${variable_name}来引用。2.创......
  • mysql忘记密码的终极解决方案(docker-compose).211216
    MYSQL8的安全性能有所提高,装好后,各种不适应,需要各种调试。1.首先,root密码忘记或是更改,操作步骤:vimysql/config/my.cnf在[mysqld]的段中加上一句:skip-grant-tables=1保存并且退出vi。2.docker-composerestart进入bash,运行mysql-uroot-p,回车,直接进入。下面很重要,特别......
  • 12345
    详情时间婆婆、爷爷幺爸幺妈大舅二舅外婆龙舅二姨婆(老家)......