CN108873770B - 基于状态机的as5048a磁编码器控制方法及系统 - Google Patents
基于状态机的as5048a磁编码器控制方法及系统 Download PDFInfo
- Publication number
- CN108873770B CN108873770B CN201810437784.2A CN201810437784A CN108873770B CN 108873770 B CN108873770 B CN 108873770B CN 201810437784 A CN201810437784 A CN 201810437784A CN 108873770 B CN108873770 B CN 108873770B
- Authority
- CN
- China
- Prior art keywords
- as5048a
- module
- state
- spi
- angle information
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/042—Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
- G05B19/0423—Input/output
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/20—Pc systems
- G05B2219/21—Pc I-O input output
- G05B2219/21137—Analog 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磁编码器控制方法,包括如下步骤:
步骤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 (8)
1.一种基于状态机的AS5048A磁编码器控制方法,其特征在于,包括如下步骤:
步骤1、通过AS5048A敏感感应磁铁的磁场变化,并通过AS5048A内部的Sigma-Delta模数转换器及数字信号处理算法处理后,由SPI接口输出高精度的角度信息;
步骤2、通过AS5048A控制模块访问AS5048A的内部寄存器,对AS5048A进行配置,配置成功后,获得测量的角度信息及表征磁场大小的数据,还通过AS5048A控制模块获取磁场大小数据来辅助调节感应磁铁与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控制模块发送清楚错误命令,状态转换模块确认错误标志清除后,回到工作状态,则转入AS5048A清除错误状态,通过状态转换模块与SPI控制模块进行交互,当处在某个工作状态时,SPI控制模块执行完相应的操作后反馈给状态转换模块,状态转换模块切换工作状态后通知SPI控制模块进入新的工作状态;
通过错误监测模块监测磁编码器输出的角度信息和磁场强度信息是否正常,当磁场过强或过弱以及硬件连接有问题或者数据传输有错误时,对错误标志进行置位;
步骤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.一种基于状态机的AS5048A磁编码器控制系统,其特征在于,包括:
AS5048A,AS5048A敏感感应磁铁的磁场变化,并通过AS5048A内部的Sigma-Delta模数转换器及数字信号处理算法处理后,由SPI接口输出高精度的角度信息;
AS5048A控制模块,AS5048A控制模块访问AS5048A的内部寄存器,对AS5048A进行配置,配置成功后,获得测量的角度信息及表征磁场大小的数据,还通过AS5048A控制模块获取磁场大小数据来辅助调节感应磁铁与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控制模块发送清楚错误命令,状态转换模块确认错误标志清除后,回到工作状态,则转入AS5048A清除错误状态,通过状态转换模块与SPI控制模块进行交互,当处在某个工作状态时,SPI控制模块执行完相应的操作后反馈给状态转换模块,状态转换模块切换工作状态后通知SPI控制模块进入新的工作状态;
通过错误监测模块监测磁编码器输出的角度信息和磁场强度信息是否正常,当磁场过强或过弱以及硬件连接有问题或者数据传输有错误时,对错误标志进行置位;
上位机,用于获取AS5048A控制模块解析得到的角度信息。
6.如权利要求5所述的基于状态机的AS5048A磁编码器控制系统,其特征在于,AS5048A控制模块为在FPGA下的模块,所述FPGA还包括UART模块;
FPGA用于将接收到的AS5048A的角度信息解析后通过UART模块进行串口输出,便于伺服控制器接收角位置数据;
用于通过电平转换电路将FPGA的I/O口的TTL电平转换为RS232电平;
用于通过RS232至USB转换器进行转换,上位机的串口调试助手可以接收到UART模块发送的角度信息。
7.如权利要求6所述的基于状态机的AS5048A磁编码器控制系统,其特征在于,FPGA还包括时钟模块和复位模块,时钟模块提供系统工作的时钟信号,复位模块在上电后完成系统的初始化。
8.如权利要求5所述的基于状态机的AS5048A磁编码器控制系统,其特征在于,所述AS5048A芯片用于精确测量360°以内的角度,14位满量程分辨率为0.0219°/LSB,由SPI接口输出高精度的角度信息。
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 CN108873770A (zh) | 2018-11-23 |
CN108873770B true 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) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109828943B (zh) * | 2019-01-16 | 2023-07-14 | 北京左江科技股份有限公司 | 一种低速率通信网络的提高串口传输速率处理系统及方法 |
CN112684725A (zh) * | 2019-10-18 | 2021-04-20 | 北京华航无线电测量研究所 | 一种集成了磁编码器的伺服控制器 |
CN112902990B (zh) * | 2021-01-15 | 2023-10-27 | 长春禹衡光学有限公司 | 一种位置传感器的位置数据获取方法、装置及设备 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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的电机数字磁编码器 |
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 | 安徽猎豹汽车有限公司 | 一种汽车车身焊接总成自动下线装置的软件开发方法 |
CN107005129A (zh) * | 2016-07-28 | 2017-08-01 | 深圳市创客工场科技有限公司 | 一种磁编舵机 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0641853B2 (ja) * | 1986-09-29 | 1994-06-01 | 株式会社安川電機 | 多回転式絶対値エンコ−ダ |
CN102707717A (zh) * | 2012-05-03 | 2012-10-03 | 北京工业大学 | 一种双轮机器人的自由舞步生成方法 |
CN106679710B (zh) * | 2017-02-08 | 2020-03-10 | 亿航智能设备(广州)有限公司 | 一种磁编码器校准方法及系统 |
-
2018
- 2018-05-09 CN CN201810437784.2A patent/CN108873770B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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的电机数字磁编码器 |
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 | 安徽猎豹汽车有限公司 | 一种汽车车身焊接总成自动下线装置的软件开发方法 |
Non-Patent Citations (1)
Title |
---|
《AS5048 Magnetic Encoder for the Application in DC Motor Position Control of Portable Spectrometer》;Jie Liu,Zekun Liu,Zhihong Wang,Junyi Cao;《Proceedings of 2016 IEEE Advanced Information Management,Communicates,Electronic and Automation Control Conference(IMCEC 2016)》;20161003;第1-4节 * |
Also Published As
Publication number | Publication date |
---|---|
CN108873770A (zh) | 2018-11-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108873770B (zh) | 基于状态机的as5048a磁编码器控制方法及系统 | |
CN108155910B (zh) | 一种基于fpga的高速正余弦编码器解码方法 | |
CN102624375B (zh) | 兼容多种编码器与旋转变压器接口的信号处理装置 | |
CN111457953A (zh) | 一种旋转编码器自动校准检测系统以及方法 | |
CN105043317A (zh) | 成套回转装备主轴动态回转误差的测量装置与测量方法 | |
CN206095174U (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 | |
CN103207010A (zh) | 一种高精度加速度信号检测及分析装置 | |
CN102494604A (zh) | 角度传感器特性检测仪器 | |
CN109974597A (zh) | 一种xy平面光电式非接触位移传感器系统及其使用方法 | |
CN205539191U (zh) | 基于fpga与msp430的数字多功能信号参数测试装置 | |
CN202869496U (zh) | 陀螺仪辅助式姿态测量装置 | |
CN204757949U (zh) | 成套回转装备主轴动态回转误差的测量装置 | |
CN106610261A (zh) | 一种圆度测量仪 | |
CN204731259U (zh) | 一种用于整车耐久试验的高精度车门关闭速度测量系统 | |
CN114577109A (zh) | 轴侧检测的旋转轴角度磁性测量装置及方法 | |
CN110095514A (zh) | 一种便于数据采集的水分仪系统 | |
CN112560762B (zh) | 车体回转角度数据处理方法、装置、控制器以及介质 | |
CN105366547A (zh) | 一种起重机回转位置的非接触式测量装置及方法 | |
CN101441152B (zh) | 一种基于usb数据采集系统的材料试验机 | |
CN102200459A (zh) | 一种直读表 | |
CN205027254U (zh) | 汽车座椅disc检具 | |
CN201993620U (zh) | 数控机床热误差测量集成系统 | |
CN204807044U (zh) | 一种位移传感器 | |
CN208140043U (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 |