CN105509777A - 结合处理器和磁传感器的可编程实现方法及编码器 - Google Patents
结合处理器和磁传感器的可编程实现方法及编码器 Download PDFInfo
- Publication number
- CN105509777A CN105509777A CN201510903687.4A CN201510903687A CN105509777A CN 105509777 A CN105509777 A CN 105509777A CN 201510903687 A CN201510903687 A CN 201510903687A CN 105509777 A CN105509777 A CN 105509777A
- Authority
- CN
- China
- Prior art keywords
- pulse
- magnetic sensor
- time
- processor
- interruption
- 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
Links
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01D—MEASURING NOT SPECIALLY ADAPTED FOR A SPECIFIC VARIABLE; ARRANGEMENTS FOR MEASURING TWO OR MORE VARIABLES NOT COVERED IN A SINGLE OTHER SUBCLASS; TARIFF METERING APPARATUS; MEASURING OR TESTING NOT OTHERWISE PROVIDED FOR
- G01D5/00—Mechanical means for transferring the output of a sensing member; Means for converting the output of a sensing member to another variable where the form or nature of the sensing member does not constrain the means for converting; Transducers not specially adapted for a specific variable
- G01D5/12—Mechanical means for transferring the output of a sensing member; Means for converting the output of a sensing member to another variable where the form or nature of the sensing member does not constrain the means for converting; Transducers not specially adapted for a specific variable using electric or magnetic means
- G01D5/244—Mechanical means for transferring the output of a sensing member; Means for converting the output of a sensing member to another variable where the form or nature of the sensing member does not constrain the means for converting; Transducers not specially adapted for a specific variable using electric or magnetic means influencing characteristics of pulses or pulse trains; generating pulses or pulse trains
- G01D5/245—Mechanical means for transferring the output of a sensing member; Means for converting the output of a sensing member to another variable where the form or nature of the sensing member does not constrain the means for converting; Transducers not specially adapted for a specific variable using electric or magnetic means influencing characteristics of pulses or pulse trains; generating pulses or pulse trains using a variable number of pulses in a train
- G01D5/2451—Incremental encoders
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Transmission And Conversion Of Sensor Element Output (AREA)
- Control Of Electric Motors In General (AREA)
Abstract
本发明涉及磁传感器、微处理器。为实现通过程序配置编码器输出脉冲形式和分辨率,提高编码器的灵活性,同时具有抗干扰能力强,体积小,可应用于恶劣环境等特点。本发明采取的技术方案是,一种结合处理器和磁传感器的可编程编码器,磁传感器用于检测电机转子位置,输出转子位置信号给处理器;处理器为单片机,用于根据位置信号按设定分辨率和脉冲形式输出编码脉冲。本发明主要应用于输出脉冲编码器的设计制造。
Description
技术领域
本发明涉及磁传感器、微处理器,特别涉及结合处理器和磁传感器的可编程实现方法及编码器。
背景技术
编码器作为将转速(速度)、角度(位置)等机械量转换为数字脉冲的传感器,被广泛应用于运动控制系统中,按输出脉冲形式分为增量式编码器、绝对式编码器和混合式编码器。其中,增量式编码器输出两路正交的AB脉冲,每旋转一周输出一个Z脉冲作为零位参考,适用于转速测量。绝对式编码器并行输出与转子位置对应的二进制码,适用于位置和转速测量,但占用接口引线多,成本高,对环境条件敏感。混合式编码器在输出ABZ增量式脉冲的同时输出三相互差120°电角度的UVW脉冲,将增量式编码器的高分辨率和绝对式编码器的位置测量结合在一起,占用的接口引线较少,成本适中。目前,上述这些编码器多为光电编码器,抗扰能力强,但光栅的抗振性欠佳,易被污浊遮挡,寿命短。磁编码器体积小,寿命长,抗振能力强,可工作在恶劣环境中。随着小型化、高可靠性需求的不断提出,磁编码器在家电、办公机械、伺服控制系统、工业机器人等领域的市场份额正逐步扩大。
发明内容
为克服光电式编码器的不足,本发明提出一种可编程编码器,可通过程序配置编码器输出脉冲形式和分辨率,提高编码器的灵活性,同时具有抗干扰能力强,体积小,可应用于恶劣环境等特点。本发明采取的技术方案是,一种结合处理器和磁传感器的可编程编码器,磁传感器用于检测电机转子位置,输出转子位置信号给处理器;处理器,用于根据位置信号按设定分辨率和脉冲形式输出编码脉冲。
处理器内设置有中断0模块、中断1模块;中断0模块产生周期为T0的定时中断0,处理器在中断0中读取磁传感器的角度寄存器,获取当前时刻转子位置,与前一拍的转子位置作差得到角度值增量,据此计算电机转速,根据电机转速和设定的分辨率计算T0时间内应输出的脉冲沿数P1,根据T0和P1配置快速中断1的周期T1;中断1模块用于改变IO口电平依次输出脉冲沿,中断1具有最高优先级,中断0可随时被中断1打断。
为防止误差随时间的累积,要对T0时间内应输出的脉冲沿数P1进行在线校正:处理器累积截至到上次中断0结束前已输出的脉冲沿数,并与上次中断0中获取的转子实际位置相比较,用差值对P1值的大小做修正得到修正后T0时间内应输出的脉冲沿数P2。
对P2进行限幅,其中上限幅用来防止P2较大导致的中断1周期过短,中断程序在T1时间内执行不完,不能按时输出脉冲,下限幅用来防止电机静止时受测量误差影响磁传感器寄存器第0位跳变导致的脉冲输出。
根据上述步骤得到T0时间内应该输出的脉冲沿数P2,并由此计算中断1的中断周期T1=T0/P2,在中断1中改变IO口电平,输出满足设定分辨率和信号形式的编码脉冲。
结合处理器和磁传感器的可编程实现方法,利用磁传感器检测电机转子位置,输出转子位置信号给处理器;利用单片机处理器根据位置信号按设定分辨率和脉冲形式输出编码脉冲。
在单片机上设置两段中断处理程序中断0模块、中断1模块,中断0模块产生周期为T0的定时中断0,处理器在中断0中读取磁传感器的角度寄存器,获取当前时刻转子位置,与前一拍的转子位置作差得到角度值增量,据此计算电机转速,根据电机转速和设定的分辨率计算T0时间内应输出的脉冲沿数P1,根据T0和P1配置快速中断1的周期T1;中断1模块用于改变IO口电平依次输出脉冲沿,中断1具有最高优先级,中断0可随时被中断1打断。
为防止误差随时间的累积,对T0时间内应输出的脉冲沿数P1进行在线校正:处理器累积截至到上次中断0结束前已输出的脉冲沿数,并与上次中断0中获取的转子实际位置相比较,用差值对P1值的大小做修正得到修正后T0时间内应输出的脉冲沿数P2。
对P2进行限幅,其中上限幅用来防止P2较大导致的中断1周期过短,中断程序在T1时间内执行不完,不能按时输出脉冲,下限幅用来防止电机静止时受测量误差影响磁传感器寄存器第0位跳变导致的脉冲输出。
与已有技术相比,本发明的技术特点与效果
通过软件编程改变编码器的分辨率和输出脉冲形式,极大地提高了编码器的灵活性,同时编码器的抗干扰能力强,体积小,寿命长,可应用于恶劣环境中。
附图说明:
图1是可编程磁编码器的实物图。
图2是TLE5012和单片机通信接线图。
图3是可编程磁编码器获取磁场位置、计算输出脉冲沿数的软件流程图。
图4是可编程磁编码器输出ABZ脉冲的软件流程图。
图5是可编程磁编码器输出UVW脉冲的软件流程图。
具体实施方式
下面以Infineon公司推出的基于GMR原理的磁传感器芯片TLE5012,通过与串行外设接口SPI(serialperipheralinterface)兼容的同步串行通信SSC(synchronousserialcommunication)输出位置信号给单片机为例,对本发明具体实施方式进行详细说明。
SPII为单片机SPI的数据输入引脚;SPIO为单片机SPI的数据输出引脚;SPICLK为单片机SPI的时钟引脚;IO为单片机输人输出引脚;DATA为TLE5012的数据输入输出引脚;SCK为TLE5012的SSC时钟输入引脚;CSQ为TLE5012的SSC的使能信号引脚;CLK为TLE5012的时钟信号;AVAL为TLE5012的角度值寄存器;RDATA为磁场位置值;ANG_K为本次中断读取的磁场位置值的2倍;ANG_K_1为上次中断读取的磁场位置值的2倍;D_ANG为磁场角度增量值的2倍;COUNT1为已输出脉冲沿数;D_COUNT1为输出脉冲沿误差值的2倍;ABS为取绝对值操作;TEMP_AB为存储AB脉冲状态的变量;TEMP_UVW为存储UVW脉冲状态的变量。
如图1所示,设计并制作的可编程磁编码器沿边缘开3个孔槽以方便安装固定。
参考TLE5012数据手册给出的单片机与TLE5012的接口电路如图2所示,TLE0512与单片机通过SSC和SPI接口通信,单片机的通用IO口与TLE5012的CSQ引脚相连,控制SSC的数据传输。
下面结合附图3~附图5以电机每转一周编码器输出10个UVW脉冲和8192个AB脉冲为例对可编程磁编码器的设计方案进行说明,按照此方法,可以根据需要对编码器分辨率和输出信号形式进行配置。
软件的整体设计思路为:在周期为T0的定时中断0中获取转子位置信息并处理,计算电机转速,计算T0时间内的应该输出的脉冲沿数P1,根据T0和P1配置快速中断1的周期T1,在中断1中改变IO口电平输出脉冲沿。其中,为保证输出脉冲沿的延时充分短,中断1具有最高优先级,中断0可以随时被中断1打断。
中断0中首先读AVAL寄存器获取位置RDATA,根据AVAL定义,需要将RDATA左移一位变为补码后通过作差得到角度值增量D_ANG,计算电机转速
每个AB脉冲周期含4个脉冲沿,所以T0时间内应该输出的脉冲沿数P1为
中断1的周期T1为
T1=T0/p1(3)
为消除数据离散化和取整误差随时间的累积,必须对脉冲沿数进行校正,用校正后的脉冲沿数P2代替式(2)中P1计算中断1的周期。脉冲沿数校正公式为
p2=|p1+(ANG_K_1)/2-COUNT1|(3)
式中:(ANG_K_1)/2是上次中断0中获取的转子实际位置;COUNT1是单片机累积得到的上次中断0以前已输出的脉冲沿数。累积值在系统上电时根据转子实际位置进行了初始化,然后根据电机旋转方向在中断1中自增1或自减1。在TLE5012的分辨率为15位和编码器分辨率为8192的前提下,(ANG_K_1)/2-COUNT1等于当前输出的脉冲沿数误差。
程序中需对P2值进行上下限幅,其中上限幅用来防止P2较大时导致的中断1周期过短,中断程序在T1时间内执行不完,不能按时输出脉冲,下限幅用来防止在电机静止时受测量误差影响AVAL寄存器第0位跳变导致的脉冲输出。对P2最大值限幅限制了编码器能测量的最大转速,但对P2最小值限幅并不影响编码器能测量的最小转速,因为程序会对连续多个不输出脉冲的T0时间内角度变化进行累积,当累积值超过下限幅时会正常输出脉冲。
输出分辨率为8192的ABZ编码脉冲时,AB脉冲的输出电平由COUNT1的低两位TEMP_AB决定,根据电机旋转方向,TEMP_AB由0逐一增大到3或由3逐一减小到0,程序判断TEMP_AB的值输出相应的AB脉冲。Z脉冲相位和宽度可以根据需要调节,附图4所示为在角度为0时输出4个脉冲沿宽的Z脉冲。
电机每转一周输出10个UVW脉冲时,COUNT1每计3276个数编码器完成一个周期的UVW脉冲的输出,使用变量TEMP_UVW代表一个脉冲周期内UVW的6个状态,根据电机旋转方向TEMP_UVW由0逐一增大到5或由5逐一减小到0,程序判断TEMP_UVW的值输出相应脉冲。
以上所述仅是以使用TLE5012和单片机为例,对将编码器配置成分辨率为每周8192个ABZ脉冲和10个UVW脉冲信号的软硬件设计进行了详细说明,并非对本发明做任何形式上的限制。采用不同的磁传感器和单片机制作可编程磁编码器,对编码器的分辨率和输出脉冲形式进行可编程配置,依然属于本发明的技术方案,凡是根据本发明的技术实质对以上实例所做的任何简单修改、等同变化与修饰均属于本发明技术方案的范围。
Claims (9)
1.一种结合处理器和磁传感器的可编程编码器,其特征是,磁传感器用于检测电机转子位置,输出转子位置信号给处理器;处理器,用于根据位置信号按设定分辨率和脉冲形式输出编码脉冲。
2.如权利要求1所述结合处理器和磁传感器的可编程编码器,其特征是,处理器内设置有中断0模块、中断1模块;中断0模块产生周期为T0的定时中断0,处理器在中断0中读取磁传感器的角度寄存器,获取当前时刻转子位置,与前一拍的转子位置作差得到角度值增量,据此计算电机转速,根据电机转速和设定的分辨率计算T0时间内应输出的脉冲沿数P1,根据T0和P1配置快速中断1的周期T1;中断1模块用于改变IO口电平依次输出脉冲沿,中断1具有最高优先级,中断0可随时被中断1打断。
3.如权利要求2所述结合处理器和磁传感器的可编程编码器,其特征是,为防止误差随时间的累积,要对T0时间内应输出的脉冲沿数P1进行在线校正:处理器累积截至到上次中断0结束前已输出的脉冲沿数,并与上次中断0中获取的转子实际位置相比较,用差值对P1值的大小做修正得到修正后T0时间内应输出的脉冲沿数P2。
4.如权利要求3所述结合处理器和磁传感器的可编程编码器,其特征是,对P2进行限幅,其中上限幅用来防止P2较大导致的中断1周期过短,中断程序在T1时间内执行不完,不能按时输出脉冲,下限幅用来防止电机静止时受测量误差影响磁传感器寄存器第0位跳变导致的脉冲输出。
5.如权利要求4所述结合处理器和磁传感器的可编程编码器,其特征是,根据上述步骤得到T0时间内应该输出的脉冲沿数P2,并由此计算中断1的中断周期T1=T0/P2,在中断1中改变IO口电平,输出满足设定分辨率和信号形式的编码脉冲。
6.一种结合处理器和磁传感器的可编程实现方法,其特征是,利用磁传感器检测电机转子位置,输出转子位置信号给处理器;利用单片机处理器根据位置信号按设定分辨率和脉冲形式输出编码脉冲。
7.如权利要求6所述的结合处理器和磁传感器的可编程实现方法,其特征是,在单片机上设置两段中断处理程序中断0模块、中断1模块,中断0模块产生周期为T0的定时中断0,处理器在中断0中读取磁传感器的角度寄存器,获取当前时刻转子位置,与前一拍的转子位置作差得到角度值增量,据此计算电机转速,根据电机转速和设定的分辨率计算T0时间内应输出的脉冲沿数P1,根据T0和P1配置快速中断1的周期T1;中断1模块用于改变IO口电平依次输出脉冲沿,中断1具有最高优先级,中断0可随时被中断1打断。
8.如权利要求6所述的结合处理器和磁传感器的可编程实现方法,其特征是,为防止误差随时间的累积,对T0时间内应输出的脉冲沿数P1进行在线校正:处理器累积截至到上次中断0结束前已输出的脉冲沿数,并与上次中断0中获取的转子实际位置相比较,用差值对P1值的大小做修正得到修正后T0时间内应输出的脉冲沿数P2。
9.如权利要求6所述的结合处理器和磁传感器的可编程实现方法,其特征是,对P2进行限幅,其中上限幅用来防止P2较大导致的中断1周期过短,中断程序在T1时间内执行不完,不能按时输出脉冲,下限幅用来防止电机静止时受测量误差影响磁传感器寄存器第0位跳变导致的脉冲输出。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510903687.4A CN105509777B (zh) | 2015-12-09 | 2015-12-09 | 结合处理器和磁传感器的可编程实现方法及编码器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510903687.4A CN105509777B (zh) | 2015-12-09 | 2015-12-09 | 结合处理器和磁传感器的可编程实现方法及编码器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105509777A true CN105509777A (zh) | 2016-04-20 |
CN105509777B CN105509777B (zh) | 2018-04-06 |
Family
ID=55717930
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510903687.4A Expired - Fee Related CN105509777B (zh) | 2015-12-09 | 2015-12-09 | 结合处理器和磁传感器的可编程实现方法及编码器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105509777B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117705176A (zh) * | 2024-02-06 | 2024-03-15 | 赛诺威盛科技(北京)股份有限公司 | 一种旋转角度脉冲校正方法、装置、设备和存储介质 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6176911A (ja) * | 1984-09-25 | 1986-04-19 | Japan Servo Co Ltd | 磁気エンコ−ダ |
EP0386877A1 (en) * | 1989-01-27 | 1990-09-12 | BRITISH TELECOMMUNICATIONS public limited company | Telecommunications system |
CN101178599A (zh) * | 2007-11-27 | 2008-05-14 | 南京东部精密机械有限公司 | 精整机影像定位控制系统及其控制方法 |
CN201145947Y (zh) * | 2007-12-12 | 2008-11-05 | 北京拓盛电子科技有限公司 | 采用可编程磁旋转编码芯片的编码器 |
CN201464879U (zh) * | 2009-06-30 | 2010-05-12 | 上海电器科学研究所(集团)有限公司 | 一种具有多路高速脉冲输出和高速计数功能的可编程控制器 |
CN201885729U (zh) * | 2010-12-14 | 2011-06-29 | 长春荣德光学有限公司 | 磁电旋转编码器 |
CN103604440A (zh) * | 2013-12-05 | 2014-02-26 | 湖南航天机电设备与特种材料研究所 | 一种高精度里程计 |
EP2765392A1 (de) * | 2013-02-06 | 2014-08-13 | Siemens Aktiengesellschaft | Verfahren und Auswerteeinrichtung für eine Plausibilitätsprüfung eines Inkrementalzählers |
US20140375317A1 (en) * | 2011-12-21 | 2014-12-25 | Japan Science And Technology Agency | Nmr imaging device and nmr imaging method |
-
2015
- 2015-12-09 CN CN201510903687.4A patent/CN105509777B/zh not_active Expired - Fee Related
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6176911A (ja) * | 1984-09-25 | 1986-04-19 | Japan Servo Co Ltd | 磁気エンコ−ダ |
EP0386877A1 (en) * | 1989-01-27 | 1990-09-12 | BRITISH TELECOMMUNICATIONS public limited company | Telecommunications system |
CN101178599A (zh) * | 2007-11-27 | 2008-05-14 | 南京东部精密机械有限公司 | 精整机影像定位控制系统及其控制方法 |
CN201145947Y (zh) * | 2007-12-12 | 2008-11-05 | 北京拓盛电子科技有限公司 | 采用可编程磁旋转编码芯片的编码器 |
CN201464879U (zh) * | 2009-06-30 | 2010-05-12 | 上海电器科学研究所(集团)有限公司 | 一种具有多路高速脉冲输出和高速计数功能的可编程控制器 |
CN201885729U (zh) * | 2010-12-14 | 2011-06-29 | 长春荣德光学有限公司 | 磁电旋转编码器 |
US20140375317A1 (en) * | 2011-12-21 | 2014-12-25 | Japan Science And Technology Agency | Nmr imaging device and nmr imaging method |
EP2765392A1 (de) * | 2013-02-06 | 2014-08-13 | Siemens Aktiengesellschaft | Verfahren und Auswerteeinrichtung für eine Plausibilitätsprüfung eines Inkrementalzählers |
CN103604440A (zh) * | 2013-12-05 | 2014-02-26 | 湖南航天机电设备与特种材料研究所 | 一种高精度里程计 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117705176A (zh) * | 2024-02-06 | 2024-03-15 | 赛诺威盛科技(北京)股份有限公司 | 一种旋转角度脉冲校正方法、装置、设备和存储介质 |
CN117705176B (zh) * | 2024-02-06 | 2024-05-14 | 赛诺威盛科技(北京)股份有限公司 | 一种旋转角度脉冲校正方法、装置、设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN105509777B (zh) | 2018-04-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101833049B (zh) | 异常监视装置 | |
CN111197954B (zh) | 一种机器的绝对位置测量方法、装置、存储介质及机器 | |
CN205484398U (zh) | 传感装置、传感系统及转向系统 | |
CN106052724B (zh) | 一种机器人、旋转测量装置及方法 | |
CN109959400A (zh) | 绝对编码器参数计算的方法、装置及终端设备 | |
CN107340005A (zh) | 多圈绝对值编码器、驱动装置、存储介质及控制方法 | |
CN102624375A (zh) | 兼容多种编码器与旋转变压器接口的信号处理装置 | |
CN101534109B (zh) | 带滤波功能的正交信号倍频鉴相逻辑电路 | |
CN106871850B (zh) | 角度测量装置和用于运行角度测量装置的方法 | |
CN109696120A (zh) | 一种舵机及其角度检测方法、装置及计算机可读存储介质 | |
US20210148734A1 (en) | Absolute angle sensor with improved accurancy using error estimation | |
CN105509777A (zh) | 结合处理器和磁传感器的可编程实现方法及编码器 | |
CN102636127B (zh) | 轨迹跟踪式干涉信号计数细分装置及方法 | |
CN101975549B (zh) | 超大量程绝对位置角度传感器及绝对位置的角度检测方法 | |
CN204392210U (zh) | 一种编码信号转换电路 | |
CN204388870U (zh) | 绝对式编码器 | |
Lamár et al. | Implementation of speed measurement for electrical drives equipped with quadrature encoder in LabVIEW FPGA | |
CN101196532B (zh) | 速度检测装置 | |
CN109073422A (zh) | 用于确定在借助于角度测量系统所获取的旋转角数值与参考值之间的角度误差的方法 | |
CN204313787U (zh) | 一种角度编码器的检测电路 | |
CN101930013A (zh) | 转向检测方法及转向检测电路 | |
CN108759644B (zh) | 移动距离的检测方法、装置和存储介质 | |
CN202533042U (zh) | 轨迹跟踪式干涉信号计数细分装置 | |
CN202694083U (zh) | 一种兼容多种编码器与旋转变压器接口的信号处理装置 | |
CN109990823A (zh) | 用于检测光电编码器精度的检测装置及检测方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20180406 Termination date: 20181209 |
|
CF01 | Termination of patent right due to non-payment of annual fee |