CN108873770A - 基于状态机的as5048a磁编码器控制方法及*** - Google Patents

基于状态机的as5048a磁编码器控制方法及*** Download PDF

Info

Publication number
CN108873770A
CN108873770A CN201810437784.2A CN201810437784A CN108873770A CN 108873770 A CN108873770 A CN 108873770A CN 201810437784 A CN201810437784 A CN 201810437784A CN 108873770 A CN108873770 A CN 108873770A
Authority
CN
China
Prior art keywords
as5048a
module
spi
control module
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201810437784.2A
Other languages
English (en)
Other versions
CN108873770B (zh
Inventor
张玉莲
刘慧�
张明月
高思远
葛航宇
储海荣
张宏巍
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Changchun Institute of Optics Fine Mechanics and Physics of CAS
Original Assignee
Changchun Institute of Optics Fine Mechanics and Physics of CAS
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Changchun Institute of Optics Fine Mechanics and Physics of CAS filed Critical Changchun Institute of Optics Fine Mechanics and Physics of CAS
Priority to CN201810437784.2A priority Critical patent/CN108873770B/zh
Publication of CN108873770A publication Critical patent/CN108873770A/zh
Application granted granted Critical
Publication of CN108873770B publication Critical patent/CN108873770B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0423Input/output
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/21Pc I-O input output
    • G05B2219/21137Analog to digital conversion, ADC, DAC

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Transmission And Conversion Of Sensor Element Output (AREA)

Abstract

本发明公开一种基于状态机的AS5048A磁编码器控制方法及***,涉及编码器领域,解决了AS5048A磁编码器的测试及应用问题。磁编码器的控制逻辑包括SPI协议解析模块、SPI控制模块、状态转换模块及错误监测模块。本发明通过信号处理板上的FPGA控制逻辑实现与AS5048A的SPI接口及数据解析,通过UART模块将AS5048A控制模块解析完成的角度信息由串口发送出去,电平转换电路将TTL电平转换为RS232电平,通过上位机的串口调试助手可接收到磁编码器的角度测量信息。由此获得的角度信息为数字量,可与控制器无缝对接,无需A/D采集,可广泛应用于各种角度非接触式测量。

Description

基于状态机的AS5048A磁编码器控制方法及***
技术领域
本发明涉及编码器技术领域,具体涉及一种基于状态机的AS5048A磁编码器控制方法,应用于各种角度非接触式测量中,所获得的角度信息可应用于云台控制、舵机控制等伺服***的闭环控制。
背景技术
编码器是伺服控制***的关键器件,主要用于伺服电机的角度、转速的测量。伺服控制***的角度测量多使用电位计、光电编码器和旋转变压器等测量手段,虽测量精度高但存在成本高、抗干扰性能差、体积大等缺陷。磁编码器是一种磁阻效应编码器,可实现无接触角度测量,无磨损,抗干扰效果好,不易受油污、灰尘、结露等恶劣条件的影响,其结构简单紧凑,高频特性好,虽然其分辨率与精度比电位计和光电编码器低,但在要求低成本、抗环境干扰强的场合下仍然有广泛的应用需求。
发明内容
本发明旨在克服现有技术的缺陷,提供一种基于状态机的AS5048A磁编码器控制方法及***,应用于各种角度非接触式测量中,所获得的角度信息可应用于云台控制、舵机控制等伺服***的闭环控制。
为实现上述目的,本发明采用以下技术方案:提供一种基于状态机的AS5048A磁编码器控制方法,包括如下步骤:
步骤1、通过AS5048A敏感感应磁铁的磁场变化,并通过AS5048A内部的Sigma-Delta模数转换器及数字信号处理算法处理后,由SPI接口输出高精度的角度信息;
步骤2、通过AS5048A控制模块访问AS5048A的内部寄存器,对AS5048A进行配置,配置成功后,获得测量的角度信息及表征磁场大小的数据,还通过AS5048A控制模块获取磁场大小数据来辅助调节感应磁铁与AS5048A芯片表面的距离;
步骤3、将AS5048A控制模块解析得到的角度信息发送给上位机。
AS5048A控制模块为在FPGA下的模块,所述FPGA还包括UART模块;
步骤3中,FPGA将接收到的AS5048A的角度信息解析后通过UART模块进行串口输出,便于伺服控制器接收角位置数据,将磁编码器的控制与接口集成在一起;
并通过电平转换电路将FPGA的I/O口的TTL电平转换为RS232电平;
通过RS232至USB转换器进行转换,上位机的串口调试助手可以接收到UART模块发送的角度信息。
FPGA还包括时钟模块和复位模块,时钟模块提供***工作的时钟信号,复位模块在上电后完成***的初始化。
步骤1中,所述AS5048A芯片用于精确测量360°以内的角度,14位满量程分辨率为0.0219°/LSB,由SPI接口输出高精度的角度信息。
步骤2中,AS5048A控制模块包括:SPI协议解析模块、SPI控制模块、状态转换模块、错误监测模块:
通过SPI协议解析模块实现SPI串行数据与16位并行数据的相互转换,将AS5048A由MISO输出的串行数据解析为16位的并行数据,得到14位角度信息和磁场强度信息,或者将控制器发送的16位并行数据转换为串行数据,转换后的串行数据经由MOSI传输至AS5048A从而控制其工作状态;
通过SPI控制模块对SPI协议解析模块进行控制,实现对AS5048A的agc寄存器、mag寄存器、angle寄存器的访问,AS5048A对于单个读命令需要两个传输周期,第一个传输周期写入AS5048A的数据包由读命令和芯片地址组成,第二个传输周期写入AS5048A的数据包可以是任何命令,在第二个SPI传输循环完成时由SPI协议解析模块的MISO接收寄存器读取AS5048A发送的数据;
通过状态转换模块完成工作状态与清除错误状态的转换,若某次访问AS5048A寄存器出现错误时,则转入AS5048A清除错误状态,通过状态转换模块与SPI控制模块进行交互,当处在某个工作状态时,SPI控制模块执行完相应的操作后反馈给状态转换模块,状态转换模块切换工作状态后通知SPI控制模块进入新的工作状态;
通过错误监测模块监测磁编码器输出的角度信息和磁场强度信息等是否正常,当磁场过强或过弱以及硬件连接有问题或者数据传输有错误时,对错误标志进行置位。
为实现上述目的,本发明还采用以下技术方案:提供一种基于状态机的AS5048A磁编码器控制***,包括:
AS5048A,AS5048A敏感感应磁铁的磁场变化,并通过AS5048A内部的Sigma-Delta模数转换器及数字信号处理算法处理后,由SPI接口输出高精度的角度信息;
AS5048A控制模块,AS5048A控制模块访问AS5048A的内部寄存器,对AS5048A进行配置,配置成功后,获得测量的角度信息及表征磁场大小的数据,还通过AS5048A控制模块获取磁场大小数据来辅助调节感应磁铁与AS5048A芯片表面的距离;
上位机,用于获取AS5048A控制模块解析得到的角度信息。
AS5048A控制模块为在FPGA下的模块,所述FPGA还包括UART模块;
FPGA用于将接收到的AS5048A的角度信息解析后通过UART模块进行串口输出,便于伺服控制器接收角位置数据,将磁编码器的控制与接口集成在一起;
用于通过电平转换电路将FPGA的I/O口的TTL电平转换为RS232电平;
用于通过RS232至USB转换器进行转换,上位机的串口调试助手可以接收到UART模块发送的角度信息。
FPGA还包括时钟模块和复位模块,时钟模块提供***工作的时钟信号,复位模块在上电后完成***的初始化。
所述AS5048A芯片用于精确测量360°以内的角度,14位满量程分辨率为0.0219°/LSB,由SPI接口输出高精度的角度信息。
AS5048A控制模块包括:SPI协议解析模块、SPI控制模块、状态转换模块、错误监测模块:
通过SPI协议解析模块实现SPI串行数据与16位并行数据的相互转换,将AS5048A由MISO输出的串行数据解析为16位的并行数据,得到14位角度信息和磁场强度信息,或者将控制器发送的16位并行数据转换为串行数据,转换后的串行数据经由MOSI传输至AS5048A从而控制其工作状态;
通过SPI控制模块对SPI协议解析模块进行控制,实现对AS5048A的agc寄存器、mag寄存器、angle寄存器的访问,AS5048A对于单个读命令需要两个传输周期,第一个传输周期写入AS5048A的数据包由读命令和芯片地址组成,第二个传输周期写入AS5048A的数据包可以是任何命令,在第二个SPI传输循环完成时由SPI协议解析模块的MISO接收寄存器读取AS5048A发送的数据;
通过状态转换模块完成工作状态与清除错误状态的转换,若某次访问AS5048A寄存器出现错误时,则转入AS5048A清除错误状态,通过状态转换模块与SPI控制模块进行交互,当处在某个工作状态时,SPI控制模块执行完相应的操作后反馈给状态转换模块,状态转换模块切换工作状态后通知SPI控制模块进入新的工作状态;
通过错误监测模块监测磁编码器输出的角度信息和磁场强度信息等是否正常,当磁场过强或过弱以及硬件连接有问题或者数据传输有错误时,对错误标志进行置位。
本发明的有益效果:采用FPGA实现与AS5048A的SPI接口,采用状态机控制磁编码器的工作过程,通用性强,便于扩展。
本发明所述的磁编码器控制方法能够依据对agc寄存器和mag寄存器的监测调整AS5048A芯片和感应磁铁之间的距离,给机械安装的调整提供参考。
本发明基于状态机的AS5048A磁编码器控制方法及***,当发生错误时进入清除错误模式,不输出角度信息,能够通过错误监测模块保证输出的角度信息都是有效的。
本发明所述的磁编码器控制方法集成了UART模块,解析得到的角度信息可以通过UART模块进行输出,便于伺服控制器接收角位置数据。
本发明所述的磁编码器控制方法通过将输出的角度信息与高精度的光电编码器比较,以得到测量误差的大小来指导机械安装,可减小感应磁铁与AS5048A芯片之间的同轴度、平行性和距离等因素对测角精度产生的影响。
附图说明
图1为本发明所述的基于状态机的AS5048A磁编码器控制***的框图;
图2为SPI控制模块流程图;
图3为SPI数据传输示意图;
图4为状态转换模块流程图;
图5为UART模块流程图;
图6为磁编码器测量结果图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及具体实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,而不构成对本发明的限制。
结合图1至图6说明本实施方式,基于状态机的AS5048A磁编码器控制器方法。具体包括AS5048A芯片接口板、AS5048A控制模块、UART模块、时钟模块、复位模块、电源模块、电平转换电路、RS232至USB转换器、上位机。AS5048A控制模块包括SPI协议解析模块、SPI控制模块、状态转换模块、错误监测模块。
步骤1、通过AS5048A敏感感应磁铁的磁场变化,并通过AS5048A内部的Sigma-Delta模数转换器及数字信号处理算法处理后,由SPI接口输出高精度的角度信息;感应磁铁必须放在AS5048A芯片的正上方或正下方,且固定磁铁的支架不应含有铁和镁,最好选择黄铜、铜、铝、不锈钢等材料。推荐感应磁铁的规格为6×2.5mm,在使用推荐感应磁铁的条件下磁铁与AS5048A芯片表面的距离要求在0.5-3mm之间;
步骤2、通过AS5048A控制模块访问AS5048A的内部寄存器,对AS5048A进行配置,配置成功后,获得测量的角度信息及表征磁场大小的数据,还通过AS5048A控制模块获取磁场大小数据来辅助调节感应磁铁与AS5048A芯片表面的距离;
步骤3、将AS5048A控制模块解析得到的角度信息发送给上位机。
AS5048A控制模块为在FPGA下的模块,所述FPGA还包括UART模块;
步骤3中,FPGA将接收到的AS5048A的角度信息解析后通过UART模块进行串口输出,便于伺服控制器接收角位置数据,将磁编码器的控制与接口集成在一起;
并通过电平转换电路将FPGA的I/O口的TTL电平转换为RS232电平;
通过RS232至USB转换器进行转换,上位机的串口调试助手可以接收到UART模块发送的角度信息。
FPGA还包括时钟模块和复位模块,时钟模块提供***工作的时钟信号,复位模块在上电后完成***的初始化。
步骤1中,所述AS5048A芯片用于精确测量360°以内的角度,14位满量程分辨率为0.0219°/LSB,由SPI接口输出高精度的角度信息。
步骤2中,AS5048A控制模块包括:SPI协议解析模块、SPI控制模块、状态转换模块、错误监测模块:
SPI协议解析模块负责SPI协议的解析,结合CSn和CLK信号,将AS5048A由MISO输出的串行数据解析为16位的并行数据,得到14位角度信息和磁场强度信息,或者将控制器发送的16位并行数据转换为串行数据,转换后的串行数据经由MOSI传输至AS5048A从而控制其工作状态;
结合图2,通过SPI控制模块对SPI协议解析模块进行控制,实现对AS5048A的agc寄存器、mag寄存器、angle寄存器的访问,AS5048A对于单个读命令需要两个传输周期,第一个传输周期写入AS5048A的数据包由读命令和芯片地址组成,第二个传输周期写入AS5048A的数据包可以是任何命令,在第二个SPI传输循环完成时由SPI协议解析模块的MISO接收寄存器读取AS5048A发送的数据,命令和数据传输过程如图3所示;
结合图4,状态转换模块完成工作状态与清除错误状态的转换,若某次访问AS5048寄存器出现错误,错误标志被置高,错误标志将一直保持高电平直到接收到清除错误命令,所以在读取角度信息、磁场强度信息的过程中需要一直监测是否有错误发生,当发生错误时,不输出角度信息,而是转入AS5048A清除错误状态。错误监测模块监测到磁编码器输出的角度信息和磁场强度信息等出现错误标志后,SPI控制模块发送清楚错误命令。状态转换模块确认错误标志清除后,回到工作状态。通过错误监测模块监测磁编码器输出的角度信息和磁场强度信息等是否正常,当磁场过强或过弱以及硬件连接有问题或者数据传输有错误时,对错误标志进行置位。
UART模块负责将AS5048A控制模块采集的角度信息发送出去,UART模块一次数据传输数据位最多为8位,14位的角度信息需要分两次传输完成。结合图5,当采集的角度信息有效后,即spi_data_en置位时,启动UART模块数据传输。UART模块在空闲状态时进行角度信息的采样,1ms对角度信息采样更新一次。采样完成后先发送角度信息高字节数据,进入发送高字节状态,wr_uart置1,启动UART模块数据传输,之后进入发送高字节等待状态,高字节数据发送完成后进入发送低字节状态,wr_uart置1,启动UART模块数据传输,然后进入发送低字节等待状态,低字节数据发送完成后进入空闲状态开始下一次循环。UART模块采用115200bps的总线波特率,8个数据位,1个停止位,无校验位,帧频为1kHz。
磁编码器的精度受应用时的安装对准误差影响较大。要求磁铁中心轴与AS5048A芯片中心的对准偏移半径Rd为0.25mm。将光电编码器与磁编码器同时安装在转轴上,使用高精度的光电编码器来校准磁编码器的输出,可通过监测磁编码器与光电编码器之间的测量误差大小来指导磁编码器的安装,实验表明磁编码器的精度对机械安装敏感,感应磁铁与AS5048A芯片之间的同轴度、平行性和距离均对测角精度造成影响。
串口接收到的磁编码器测角数据用MATLAB程序处理,测量结果如图6所示。测量结果表明,本发明专利所述的基于状态机的AS5048A磁编码器控制方法能够稳定可靠的获得角度信息,可实现0°~360°范围内的角度测量。
为实现上述目的,本发明还采用以下技术方案:提供一种基于状态机的AS5048A磁编码器控制***,包括:
结合图1至图6说明本实施方式,基于状态机的AS5048A磁编码器控制器方法。具体包括AS5048A芯片接口板、AS5048A控制模块、UART模块、时钟模块、复位模块、电源模块、电平转换电路、RS232至USB转换器、上位机。AS5048A控制模块包括SPI协议解析模块、SPI控制模块、状态转换模块、错误监测模块。
AS5048A,AS5048A敏感感应磁铁的磁场变化,并通过AS5048A内部的Sigma-Delta模数转换器及数字信号处理算法处理后,由SPI接口输出高精度的角度信息;感应磁铁必须放在AS5048A芯片的正上方或正下方,且固定磁铁的支架不应含有铁和镁,最好选择黄铜、铜、铝、不锈钢等材料。推荐感应磁铁的规格为6×2.5mm,在使用推荐感应磁铁的条件下磁铁与AS5048A芯片表面的距离要求在0.5-3mm之间;
AS5048A控制模块,AS5048A控制模块访问AS5048A的内部寄存器,对AS5048A进行配置,配置成功后,获得测量的角度信息及表征磁场大小的数据,还通过AS5048A控制模块获取磁场大小数据来辅助调节感应磁铁与AS5048A芯片表面的距离;
上位机,用于获取AS5048A控制模块解析得到的角度信息。
AS5048A控制模块为在FPGA下的模块,所述FPGA还包括UART模块;
FPGA用于将接收到的AS5048A的角度信息解析后通过UART模块进行串口输出,便于伺服控制器接收角位置数据,将磁编码器的控制与接口集成在一起;
用于通过电平转换电路将FPGA的I/O口的TTL电平转换为RS232电平;
用于通过RS232至USB转换器进行转换,上位机的串口调试助手可以接收到UART模块发送的角度信息。
FPGA还包括时钟模块和复位模块,时钟模块提供***工作的时钟信号,复位模块在上电后完成***的初始化。
所述AS5048A芯片用于精确测量360°以内的角度,14位满量程分辨率为0.0219°/LSB,由SPI接口输出高精度的角度信息。
AS5048A控制模块包括:SPI协议解析模块、SPI控制模块、状态转换模块、错误监测模块:
SPI协议解析模块负责SPI协议的解析,结合CSn和CLK信号,将AS5048A由MISO输出的串行数据解析为16位的并行数据,得到14位角度信息和磁场强度信息,或者将控制器发送的16位并行数据转换为串行数据,转换后的串行数据经由MOSI传输至AS5048A从而控制其工作状态;
结合图2,通过SPI控制模块对SPI协议解析模块进行控制,实现对AS5048A的agc寄存器、mag寄存器、angle寄存器的访问,AS5048A对于单个读命令需要两个传输周期,第一个传输周期写入AS5048A的数据包由读命令和芯片地址组成,第二个传输周期写入AS5048A的数据包可以是任何命令,在第二个SPI传输循环完成时由SPI协议解析模块的MISO接收寄存器读取AS5048A发送的数据,命令和数据传输过程如图3所示;
结合图4,状态转换模块完成工作状态与清除错误状态的转换,若某次访问AS5048寄存器出现错误,错误标志被置高,错误标志将一直保持高电平直到接收到清除错误命令,所以在读取角度信息、磁场强度信息的过程中需要一直监测是否有错误发生,当发生错误时,不输出角度信息,而是转入AS5048A清除错误状态。错误监测模块监测到磁编码器输出的角度信息和磁场强度信息等出现错误标志后,SPI控制模块发送清楚错误命令。状态转换模块确认错误标志清除后,回到工作状态。
通过错误监测模块监测磁编码器输出的角度信息和磁场强度信息等是否正常,当磁场过强或过弱以及硬件连接有问题或者数据传输有错误时,对错误标志进行置位。
UART模块负责将AS5048A控制模块采集的角度信息发送出去,UART模块一次数据传输数据位最多为8位,14位的角度信息需要分两次传输完成。结合图5,当采集的角度信息有效后,即spi_data_en置位时,启动UART模块数据传输。UART模块在空闲状态时进行角度信息的采样,1ms对角度信息采样更新一次。采样完成后先发送角度信息高字节数据,进入发送高字节状态,wr_uart置1,启动UART模块数据传输,之后进入发送高字节等待状态,高字节数据发送完成后进入发送低字节状态,wr_uart置1,启动UART模块数据传输,然后进入发送低字节等待状态,低字节数据发送完成后进入空闲状态开始下一次循环。UART模块采用115200bps的总线波特率,8个数据位,1个停止位,无校验位,帧频为1kHz。
磁编码器的精度受应用时的安装对准误差影响较大。要求磁铁中心轴与AS5048A芯片中心的对准偏移半径Rd为0.25mm。将光电编码器与磁编码器同时安装在转轴上,使用高精度的光电编码器来校准磁编码器的输出,可通过监测磁编码器与光电编码器之间的测量误差大小来指导磁编码器的安装,实验表明磁编码器的精度对机械安装敏感,感应磁铁与AS5048A芯片之间的同轴度、平行性和距离均对测角精度造成影响。
串口接收到的磁编码器测角数据用MATLAB程序处理,测量结果如图6所示。测量结果表明,本发明专利所述的基于状态机的AS5048A磁编码器控制方法能够稳定可靠的获得角度信息,可实现0°~360°范围内的角度测量。
以上所述本发明的具体实施方式,并不构成对本发明保护范围的限定。任何根据本发明的技术构思所作出的各种其他相应的改变与变形,均应包含在本发明权利要求的保护范围内。

Claims (10)

1.一种基于状态机的AS5048A磁编码器控制方法,其特征在于,包括如下步骤:
步骤1、通过AS5048A敏感感应磁铁的磁场变化,并通过AS5048A内部的Sigma-Delta模数转换器及数字信号处理算法处理后,由SPI接口输出高精度的角度信息;
步骤2、通过AS5048A控制模块访问AS5048A的内部寄存器,对AS5048A进行配置,配置成功后,获得测量的角度信息及表征磁场大小的数据,还通过AS5048A控制模块获取磁场大小数据来辅助调节感应磁铁与AS5048A芯片表面的距离;
步骤3、将AS5048A控制模块解析得到的角度信息发送给上位机。
2.如权利要求1所述的基于状态机的AS5048A磁编码器控制方法,其特征在于,AS5048A控制模块为在FPGA下的模块,所述FPGA还包括UART模块;
步骤3中,FPGA将接收到的AS5048A的角度信息解析后通过UART模块进行串口输出,便于伺服控制器接收角位置数据,将磁编码器的控制与接口集成在一起;
并通过电平转换电路将FPGA的I/O口的TTL电平转换为RS232电平;
通过RS232至USB转换器进行转换,上位机的串口调试助手可以接收到UART模块发送的角度信息。
3.如权利要求2所述的基于状态机的AS5048A磁编码器控制方法,其特征在于,FPGA还包括时钟模块和复位模块,时钟模块提供***工作的时钟信号,复位模块在上电后完成***的初始化。
4.如权利要求1所述的基于状态机的AS5048A磁编码器控制方法,其特征在于,步骤1中,所述AS5048A芯片用于精确测量360°以内的角度,14位满量程分辨率为0.0219°/LSB,由SPI接口输出高精度的角度信息。
5.如权利要求1所述的基于状态机的AS5048A磁编码器控制方法,其特征在于,步骤2中,AS5048A控制模块包括:SPI协议解析模块、SPI控制模块、状态转换模块、错误监测模块:
通过SPI协议解析模块实现SPI串行数据与16位并行数据的相互转换,将AS5048A由MISO输出的串行数据解析为16位的并行数据,得到14位角度信息和磁场强度信息,或者将控制器发送的16位并行数据转换为串行数据,转换后的串行数据经由MOSI传输至AS5048A从而控制其工作状态;
通过SPI控制模块对SPI协议解析模块进行控制,实现对AS5048A的agc寄存器、mag寄存器、angle寄存器的访问,AS5048A对于单个读命令需要两个传输周期,第一个传输周期写入AS5048A的数据包由读命令和芯片地址组成,第二个传输周期写入AS5048A的数据包可以是任何命令,在第二个SPI传输循环完成时由SPI协议解析模块的MISO接收寄存器读取AS5048A发送的数据;
通过状态转换模块完成工作状态与清除错误状态的转换,若某次访问AS5048A寄存器出现错误时,则转入AS5048A清除错误状态,通过状态转换模块与SPI控制模块进行交互,当处在某个工作状态时,SPI控制模块执行完相应的操作后反馈给状态转换模块,状态转换模块切换工作状态后通知SPI控制模块进入新的工作状态;
通过错误监测模块监测磁编码器输出的角度信息和磁场强度信息等是否正常,当磁场过强或过弱以及硬件连接有问题或者数据传输有错误时,对错误标志进行置位。
6.一种基于状态机的AS5048A磁编码器控制***,其特征在于,包括:
AS5048A,AS5048A敏感感应磁铁的磁场变化,并通过AS5048A内部的Sigma-Delta模数转换器及数字信号处理算法处理后,由SPI接口输出高精度的角度信息;
AS5048A控制模块,AS5048A控制模块访问AS5048A的内部寄存器,对AS5048A进行配置,配置成功后,获得测量的角度信息及表征磁场大小的数据,还通过AS5048A控制模块获取磁场大小数据来辅助调节感应磁铁与AS5048A芯片表面的距离;
上位机,用于获取AS5048A控制模块解析得到的角度信息。
7.如权利要求6所述的基于状态机的AS5048A磁编码器控制***,其特征在于,AS5048A控制模块为在FPGA下的模块,所述FPGA还包括UART模块;
FPGA用于将接收到的AS5048A的角度信息解析后通过UART模块进行串口输出,便于伺服控制器接收角位置数据,将磁编码器的控制与接口集成在一起;
用于通过电平转换电路将FPGA的I/O口的TTL电平转换为RS232电平;
用于通过RS232至USB转换器进行转换,上位机的串口调试助手可以接收到UART模块发送的角度信息。
8.如权利要求7所述的基于状态机的AS5048A磁编码器控制***,其特征在于,FPGA还包括时钟模块和复位模块,时钟模块提供***工作的时钟信号,复位模块在上电后完成***的初始化。
9.如权利要求6所述的基于状态机的AS5048A磁编码器控制***,其特征在于,所述AS5048A芯片用于精确测量360°以内的角度,14位满量程分辨率为0.0219°/LSB,由SPI接口输出高精度的角度信息。
10.如权利要求6所述的基于状态机的AS5048A磁编码器控制***,其特征在于,AS5048A控制模块包括:SPI协议解析模块、SPI控制模块、状态转换模块、错误监测模块:
通过SPI协议解析模块实现SPI串行数据与16位并行数据的相互转换,将AS5048A由MISO输出的串行数据解析为16位的并行数据,得到14位角度信息和磁场强度信息,或者将控制器发送的16位并行数据转换为串行数据,转换后的串行数据经由MOSI传输至AS5048A从而控制其工作状态;
通过SPI控制模块对SPI协议解析模块进行控制,实现对AS5048A的agc寄存器、mag寄存器、angle寄存器的访问,AS5048A对于单个读命令需要两个传输周期,第一个传输周期写入AS5048A的数据包由读命令和芯片地址组成,第二个传输周期写入AS5048A的数据包可以是任何命令,在第二个SPI传输循环完成时由SPI协议解析模块的MISO接收寄存器读取AS5048A发送的数据;
通过状态转换模块完成工作状态与清除错误状态的转换,若某次访问AS5048A寄存器出现错误时,则转入AS5048A清除错误状态,通过状态转换模块与SPI控制模块进行交互,当处在某个工作状态时,SPI控制模块执行完相应的操作后反馈给状态转换模块,状态转换模块切换工作状态后通知SPI控制模块进入新的工作状态;
通过错误监测模块监测磁编码器输出的角度信息和磁场强度信息等是否正常,当磁场过强或过弱以及硬件连接有问题或者数据传输有错误时,对错误标志进行置位。
CN201810437784.2A 2018-05-09 2018-05-09 基于状态机的as5048a磁编码器控制方法及*** Active CN108873770B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810437784.2A CN108873770B (zh) 2018-05-09 2018-05-09 基于状态机的as5048a磁编码器控制方法及***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810437784.2A CN108873770B (zh) 2018-05-09 2018-05-09 基于状态机的as5048a磁编码器控制方法及***

Publications (2)

Publication Number Publication Date
CN108873770A true CN108873770A (zh) 2018-11-23
CN108873770B CN108873770B (zh) 2021-03-19

Family

ID=64333073

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810437784.2A Active CN108873770B (zh) 2018-05-09 2018-05-09 基于状态机的as5048a磁编码器控制方法及***

Country Status (1)

Country Link
CN (1) CN108873770B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109828943A (zh) * 2019-01-16 2019-05-31 北京左江科技股份有限公司 一种低速率通信网络的提高串口传输速率处理***及方法
CN112684725A (zh) * 2019-10-18 2021-04-20 北京华航无线电测量研究所 一种集成了磁编码器的伺服控制器
CN112902990A (zh) * 2021-01-15 2021-06-04 长春禹衡光学有限公司 一种位置传感器的位置数据获取方法、装置及设备

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0463643A2 (en) * 1986-09-29 1992-01-02 Kabushiki Kaisha Yaskawa Denki Seisakusho Absolute encoder of the multirotation type
EP1475502A1 (en) * 2003-05-07 2004-11-10 Rib S.r.l. Safety device for automatic entry systems
CN101123046A (zh) * 2007-08-16 2008-02-13 北京科技大学 一种磁敏传感器综合演示实验仪
CN201877986U (zh) * 2010-06-10 2011-06-22 浙江中控电气技术有限公司 一种基于epa的电机数字磁编码器
CN102707717A (zh) * 2012-05-03 2012-10-03 北京工业大学 一种双轮机器人的自由舞步生成方法
CN204101987U (zh) * 2014-07-08 2015-01-14 北京中电金桥电网技术开发有限公司 一种具有磁编码器反馈的精密云台控制***
CN104536461A (zh) * 2014-12-31 2015-04-22 大连华锐重工集团股份有限公司 风电偏航控制器用磁编码器
CN204536822U (zh) * 2015-04-21 2015-08-05 南京泽荣自动化***有限责任公司 一种磁编码器电子凸轮控制器
CN106547549A (zh) * 2016-10-25 2017-03-29 安徽猎豹汽车有限公司 一种汽车车身焊接总成自动下线装置的软件开发方法
CN106679710A (zh) * 2017-02-08 2017-05-17 亿航智能设备(广州)有限公司 一种磁编码器校准方法及***
CN107005129A (zh) * 2016-07-28 2017-08-01 深圳市创客工场科技有限公司 一种磁编舵机

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0463643A2 (en) * 1986-09-29 1992-01-02 Kabushiki Kaisha Yaskawa Denki Seisakusho Absolute encoder of the multirotation type
EP1475502A1 (en) * 2003-05-07 2004-11-10 Rib S.r.l. Safety device for automatic entry systems
CN101123046A (zh) * 2007-08-16 2008-02-13 北京科技大学 一种磁敏传感器综合演示实验仪
CN201877986U (zh) * 2010-06-10 2011-06-22 浙江中控电气技术有限公司 一种基于epa的电机数字磁编码器
CN102707717A (zh) * 2012-05-03 2012-10-03 北京工业大学 一种双轮机器人的自由舞步生成方法
CN204101987U (zh) * 2014-07-08 2015-01-14 北京中电金桥电网技术开发有限公司 一种具有磁编码器反馈的精密云台控制***
CN104536461A (zh) * 2014-12-31 2015-04-22 大连华锐重工集团股份有限公司 风电偏航控制器用磁编码器
CN204536822U (zh) * 2015-04-21 2015-08-05 南京泽荣自动化***有限责任公司 一种磁编码器电子凸轮控制器
CN107005129A (zh) * 2016-07-28 2017-08-01 深圳市创客工场科技有限公司 一种磁编舵机
CN106547549A (zh) * 2016-10-25 2017-03-29 安徽猎豹汽车有限公司 一种汽车车身焊接总成自动下线装置的软件开发方法
CN106679710A (zh) * 2017-02-08 2017-05-17 亿航智能设备(广州)有限公司 一种磁编码器校准方法及***

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
JIE LIU,ZEKUN LIU,ZHIHONG WANG,JUNYI CAO: "《AS5048 Magnetic Encoder for the Application in DC Motor Position Control of Portable Spectrometer》", 《PROCEEDINGS OF 2016 IEEE ADVANCED INFORMATION MANAGEMENT,COMMUNICATES,ELECTRONIC AND AUTOMATION CONTROL CONFERENCE(IMCEC 2016)》 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109828943A (zh) * 2019-01-16 2019-05-31 北京左江科技股份有限公司 一种低速率通信网络的提高串口传输速率处理***及方法
CN112684725A (zh) * 2019-10-18 2021-04-20 北京华航无线电测量研究所 一种集成了磁编码器的伺服控制器
CN112902990A (zh) * 2021-01-15 2021-06-04 长春禹衡光学有限公司 一种位置传感器的位置数据获取方法、装置及设备
CN112902990B (zh) * 2021-01-15 2023-10-27 长春禹衡光学有限公司 一种位置传感器的位置数据获取方法、装置及设备

Also Published As

Publication number Publication date
CN108873770B (zh) 2021-03-19

Similar Documents

Publication Publication Date Title
CN108873770A (zh) 基于状态机的as5048a磁编码器控制方法及***
CN204758291U (zh) 一种应用于谐波减速器的扭转刚度测试机
CN103278100B (zh) 一种基于非接触式传感器组合的孔径测量方法
CN104457623A (zh) 一种对中误差的激光测量装置
CN102937409A (zh) 一种极坐标齿轮测量中心及其零点标定方法
CN102519723A (zh) 一种齿轮动态传动误差测控***
CN106091917A (zh) 旋转变压器检测评估***
CN109974597A (zh) 一种xy平面光电式非接触位移传感器***及其使用方法
CN209541769U (zh) 一种陀螺仪测试***及装置
US8132335B2 (en) Apparatus for checking the accuracy of a circular path of a machine tool performed by a work spindle and/or a machine table
CN102198634A (zh) 一种在机测量曲轴轮廓的测量方法及装置
CN110531161A (zh) 一种印刷电路板各位置输入阻抗非接触式在线测试装置
CN103522127A (zh) 一种用于回转式曲线轮廓加工的在机测量装置及方法
CN202066475U (zh) 一种直径测量仪
CN204757949U (zh) 成套回转装备主轴动态回转误差的测量装置
CN204612675U (zh) 一种对中误差的激光测量装置
CN106610261A (zh) 一种圆度测量仪
CN105841957A (zh) 一种测试太阳帆板驱动机构的转矩输出的设备和试验台体
CN102101394A (zh) 一种对绝对式编码器精确定位的方法及控制装置
CN107478247B (zh) 一种旋转变压器高精度解算***
CN208140043U (zh) 检测目标旋转的传感器及高空作业车回转位置检测装置
CN203964941U (zh) 一种旋转变压器在线快速测量设备
CN208780333U (zh) 船舶动力总成机械振动采集仪
CN207133431U (zh) 一种接触网激光测距***
CN110346135A (zh) 一种超高精密齿轮箱测试***

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant