一种编码补偿方法、装置及伺服驱动器的制造方法

文档序号:10653468阅读:523来源:国知局
一种编码补偿方法、装置及伺服驱动器的制造方法
【专利摘要】本发明实施例公开了一种编码补偿方法、装置及伺服驱动器。所述方法包括获取编码器发送的编码值;根据预设的补偿条件判断所获取的编码值是否异常,在所述编码值异常时,根据历史编码值预测补偿编码值;根据判断结果执行数字通道切换,将所述补偿编码值通过异常数据传输通道输出至电机驱动模块,以使所述电机驱动模块在编码值异常时,根据所述补偿编码值控制电机运行。本发明实现通过对历史编码值的计算,预测在发生通讯异常时编码器应该返回的编码值,伺服驱动器根据补偿编码值控制电机的运行,使电机的运行状态能够平滑过渡,达到了提高伺服控制系统在强干扰环境下的可靠性的效果。
【专利说明】
-种编码补偿方法、装置及伺服驱动器
技术领域
[0001] 本发明实施例设及电机控制技术,尤其设及一种编码补偿方法、装置及伺服驱动 器。
【背景技术】
[0002] 伺服控制系统是一种能对试验装置的机械运动按预定要求进行自动控制的操作 系统。因此,伺服控制系统常被应用于各种恶劣和高危的自动化应用环境,例如高福射环 境、电源谐波大及电压不稳定的环境等。上述恶劣的环境对编码器的正常工作造成巨大的 影响。
[0003] 编码器,特别是绝对式编码器是伺服控制系统实现高精度定位及定速控制的关键 零部件。编码器的精度和抗干扰能力直接决定了伺服控制系统的控制精度和电磁兼容性 能。实际应用中,编码器一般与永磁同步电机同轴安装,与伺服驱动器通过线缆连接,通常 采用485通讯协议与伺服驱动器进行串行通讯,W进行数据交换。当伺服控制系统应用于高 福射或电源谐波大等强干扰的工况时,编码器与伺服驱动器之间的通讯容易被外部电磁信 号打断或破坏,造成伺服控制系统或电机运行异常,更严重地,可能造成事故。
[0004] 本申请的发明人在实现本发明的过程中,发现现有技术的伺服控制系统中编码器 与伺服驱动器之间的线缆多采用了共地与编织网屏蔽的线缆结构,但实践证明该结构未能 完全杜绝编码器通讯因外部干扰而中断或影响编码值的现象。

【发明内容】

[0005] 本发明提供一种编码补偿方法、装置及伺服驱动器,W在出现编码异常时,实现编 码补偿,使电机运行状态平滑过渡,提高伺服控制系统在强干扰环境下的可靠性。
[0006] 第一方面,本发明实施例提供了一种编码补偿方法,包括:
[0007] 获取编码器发送的编码值;
[000引根据预设的补偿条件判断所获取的编码值是否异常,在所述编码值异常时,根据 历史编码值预测补偿编码值;
[0009] 根据判断结果执行数字通道切换,将所述补偿编码值通过异常数据传输通道输出 至电机驱动模块,W使所述电机驱动模块在编码值异常时,根据所述补偿编码值控制电机 运行。
[0010] 进一步的,根据预设的补偿条件判断所获取的编码值是否异常,包括:
[0011] 判断所述编码值是否超过设定阔值;
[0012] 若超过设定阔值,则确定所述编码值异常;
[0013] 若未超过设定阔值,则判断与编码器的通讯时间是否超过设定时间阔值,若超过 设定时间阔值,则确定所述编码值异常,若未超过设定时间阔值,则确定所述编码值正常。
[0014] 进一步的,在根据预设的补偿条件判断所获取的编码值是否异常之后,还包括:
[0015] 在所述编码值正常时,根据所述编码值更新对应的寄存器,用于根据寄存器中的 正常编码值计算补偿编码值;
[0016] 通过正常数据传输通道输出所述编码值至电机驱动模块。
[0017] 进一步的,在根据历史编码值预测补偿编码值之前,还包括:
[0018] 检测连续的补偿次数,判断所述补偿次数是否超过设定次数阔值;
[0019] 若是,则向电机驱动模块发送停机指示,并报警;
[0020] 若否,则获取寄存器中存储的历史编码值。
[0021] 进一步的,在所述编码值异常时,根据历史编码值预测补偿编码值,包括:
[0022] 在当前编码值异常时,将与当前时刻最接近的=个连续的正常编码值中,与当前 时刻时间间隔最短的时刻对应的正常编码值作为第一历史编码值,W及,与当前时刻时间 间隔最长的时刻对应的正常编码值作为第二历史编码值;
[0023] 根据所述第一历史编码值和所述第二历史编码值,计算补偿编码值。
[0024] 进一步的,将所述补偿编码值通过所述异常数据传输通道输出至电机驱动模块之 前,还包括:
[0025] 通过所述异常数据传输通道将所述补偿编码值发送至随机存储器进行缓存,W使 所述电机驱动模块从所述随机存储器中读取所述补偿编码值。
[0026] 第二方面,本发明实施例还提供了一种编码补偿装置,该编码补偿装置包括:
[0027] 编码获取模块,用于获取编码器发送的编码值;
[0028] 编码补偿模块,用于根据预设的补偿条件判断所获取的编码值是否异常,在所述 编码值异常时,根据历史编码值预测补偿编码值;
[0029] 补偿编码发送模块,用于根据判断结果执行数字通道切换,将所述补偿编码值通 过异常数据传输通道输出至电机驱动模块,W使所述电机驱动模块在编码值异常时,根据 所述补偿编码值控制电机运行。
[0030] 进一步的,编码补偿模块具体用于:
[0031] 判断所述编码值是否超过设定阔值;
[0032] 若超过设定阔值,则确定所述编码值异常;
[0033] 若未超过设定阔值,则判断与编码器的通讯时间是否超过设定时间阔值,若超过 设定时间阔值,则确定所述编码值异常,若未超过设定时间阔值,则确定所述编码值正常。
[0034] 进一步的,还包括:
[0035] 寄存器更新模块,用于在根据预设的补偿条件判断所获取的编码值是否异常之 后,在所述编码值正常时,根据所述编码值更新对应的寄存器,用于根据寄存器中的正常编 码值计算补偿编码值;
[0036] 正常编码发送模块,用于通过正常数据传输通道输出所述编码值至电机驱动模 块。
[0037] 进一步的,还包括:
[0038] 判断模块,用于在根据历史编码值预测补偿编码值之前,检测连续的补偿次数,判 断所述补偿次数是否超过设定次数阔值;
[0039] 若是,则向电机驱动模块发送停机指示,并报警;
[0040] 若否,则获取寄存器中存储的历史编码值。
[0041] 进一步的,编码补偿模块具体用于:
[0042] 在当前编码值异常时,将与当前时刻最接近的=个连续的正常编码值中,与当前 时刻时间间隔最短的时刻对应的正常编码值作为第一历史编码值,W及,与当前时刻时间 间隔最长的时刻对应的正常编码值作为第二历史编码值;
[0043] 根据所述第一历史编码值和所述第二历史编码值,计算补偿编码值。
[0044] 进一步的,还包括:
[0045] 缓存模块,用于将所述补偿编码值通过所述异常数据传输通道输出至电机驱动模 块之前,通过所述异常数据传输通道将所述补偿编码值发送至随机存储器进行缓存,W使 所述电机驱动模块从所述随机存储器中读取所述补偿编码值。
[0046] 第=方面,本发明实施例还提供了一种伺服驱动器,所述伺服驱动器集成如第二 方面所述的编码补偿装置。
[0047] 本发明实施例通过在检测到编码值异常时,根据历史编码值预测补偿编码值;将 数字通道切换至设定的异常数据传输通道,将所述补偿编码值通过所述异常数据传输通道 输出至电机驱动模块,W使所述电机驱动模块根据所述补偿编码值控制电机运行,解决编 码器与伺服驱动器之间通讯异常影响伺服驱动器的稳定性的问题,实现通过对历史编码值 的计算,预测在发生通讯异常时编码器应该返回的编码值,伺服驱动器根据补偿编码值控 制电机的运行,使电机的运行状态能够平滑过渡,达到了提高伺服控制系统在强干扰环境 下的可靠性的效果。
【附图说明】
[0048] 图1是本发明实施例一中提供的一种编码补偿方法的流程图;
[0049] 图2是本发明实施例二中提供的一种编码补偿方法的一个示例的流程图;
[0050] 图3是本发明实施例=中提供的一种编码补偿装置的结构示意图;
[0051] 图4是本发明实施例四中提供的一种伺服控制系统的结构示意图。
【具体实施方式】
[0052] 下面结合附图和实施例对本发明作进一步的详细说明。可W理解的是,此处所描 述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便 于描述,附图中仅示出了与本发明相关的部分而非全部结构。
[0053] 实施例一
[0054] 图1示出了本发明实施例一中的一种编码补偿方法,本实施例可适用于在编码器 传输的编码值异常时,进行编码补偿的情况,该方法可W由编码补偿装置来执行,具体包括 如下步骤:
[0055] 步骤110、获取编码器发送的编码值。
[0056] 其中,编码器与电机同轴连接,用于实时检测电机的位置与速度。连接方式可W是 高速端安装(例如连接于电机转轴)、低速端安装(例如与减速齿轮安装)或辅助机械装置安 装等。编码器与伺服驱动器通过线缆连接,伺服驱动器的通讯模块周期性地向编码器发送 获取指令,并接收编码器根据所述获取指令返回的编码值,其中,编码值包括当前时刻电机 的位置与速度信息。传输方式可W是并行通信讯、串行通讯或现场总线通讯等方式。
[0057] 步骤120、根据预设的补偿条件判断所获取的编码值是否异常,在所述编码值异常 时,根据历史编码值预测补偿编码值。
[0058] 其中,预设的补偿条件包括将获取的编码值超过设定阔值,或在获取的编码值未 超过设定阔值时,与编码器的通讯时间超过设定时间阔值。设定阔值可W由用户根据伺服 控制系统所处的实际工况下的干扰值进行设定,可W设定为编码值范围。设定时间阔值可 W在伺服控制系统出厂前设置默认时间阔值,还可W由用户根据实际情况对默认时间阔值 进行修改。
[0059] 特殊情况下,在外界干扰十分巨大W至于伺服驱动器未收到编码器发送的当前时 刻的编码值时,伺服驱动器默认当前时刻的编码值为零,由于零超出设定的阔值范围,则可 W确定此时需要进行编码补偿。同时,伺服驱动器的通讯模块输出一个错误信号给伺服驱 动器中FPGA控制电路,W指示通讯异常或编码值异常。
[0060] 伺服驱动器将所获取的当前编码值与设定的补偿条件进行匹配,若所获取的编码 值符合设定的补偿条件,则确定当前编码值异常,根据历史编码值计算补偿编码值。其中, 历史编码值存储于伺服驱动器中,W根据至少两个设定寄存器中的历史编码值预测在发生 通讯异常时,编码器应该返回的编码值。
[0061] 步骤130、根据判断结果执行数字通道切换,将所述补偿编码值通过异常数据传输 通道输出至电机驱动模块。
[0062] 其中,所述数字通道包括供正常编码值传输的正常数据传输通道,W及供补偿编 码值传输的异常数据传输通道。
[0063] 在上述判断结果为所获取的编码值为正常编码值时,通过该正常数据传输通道传 输,直至,在上述判断结果为所获取的编码值为异常编码值时,将数字通道切换至异常数据 传输通道,通过相应的数字通道将正常编码值或补偿编码值输出至伺服控制器中的电机驱 动模块,W使正常算法流程与异常补偿算法流程并行计算,实现在发生通讯故障时,通过数 字通道切换将补偿编码值输出,减小编码值传输的延迟,达到对伺服驱动器原有性能无影 响的基础上,算法快速切换执行,保证电机运行状态平稳过渡的效果。
[0064] 本实施例的技术方案,通过在检测到编码值异常时,根据历史编码值预测补偿编 码值;将数字通道切换至设定的异常数据传输通道,将所述补偿编码值通过所述异常数据 传输通道输出至电机驱动模块,W使所述电机驱动模块根据所述补偿编码值控制电机运 行,解决编码器与伺服驱动器之间通讯异常影响伺服驱动器的稳定性的问题,实现通过对 历史编码值的计算,预测在发生通讯异常时编码器应该返回的编码值,伺服驱动器根据补 偿编码值控制电机的运行,使电机的运行状态能够平滑过渡,达到了提高伺服控制系统在 强干扰环境下的可靠性的效果。
[0065] 实施例二
[0066] 图2示出了本发明实施例二中的一种编码补偿方法的一个示例。本实施例的技术 方案在上述实施例的基础上,提供了一种具体的编码补偿方式。如图2所示,本实施例具体 包括如下步骤:
[0067] 步骤210、读取设定阔值。
[0068] 伺服驱动器可W由DSP(数字信号处理器)与FPGA(现场可编程口阵列)的逻辑控制 电路硬件结构实现。在工作时,FPGA读取用户根据实际工况下的干扰值设定的编码值范围, 作为设定阔值。
[0069] 步骤220、向编码器发送数据指令,W根据该数据指令获取编码值。
[0070] FPGA周期性发送数据指令至编码器,编码器根据该数据指令将当前时刻的编码值 发送至伺服驱动器,从而获得电机当前的位置和速度信息。
[0071] 步骤230、判断所述编码值是否超过设定阔值,若是,则执行步骤240、若否,则执行 步骤250。
[0072] FPGA判断所获取的编码值是否超过设定的编码值范围,若是,则执行步骤240,否 则执行步骤250。
[0073] 步骤240、判断连续的补偿次数是否超过设定次数阔值,若是,则执行步骤290,若 否,则执行步骤270。
[0074] 其中,设定次数阔值为可W根据历史编码值计算补偿编码值的最大补偿次数,可 W根据实际情况由用户设定。补偿次数与电机动态性能成反比,若补偿次数设计的较大,贝U 要在一定程度上牺牲电机的动态性能。
[0075] FPGA判断所获取的编码值超过设定的编码值范围,则确定当前的编码值为异常编 码值。获取计数器中记录的连续的补偿次数,判断所述补偿次数是否超过设定次数阔值,根 据判断结果确定是否执行编码补偿操作。若所述补偿次数超过设定次数阔值,则执行步骤 290, W停止DSP工作并报警。若所述补偿次数未超过设定次数阔值,则执行步骤270, W执行 编码补偿操作。
[0076] 步骤250、判断与编码器的通讯时间是否超过设定时间阔值,若是,则返回执行步 骤240,若否,则执行步骤260。
[0077] FPGA判断所获取的编码值未超过设定的编码值范围,则获取计时器中记录的当前 编码值对应的获取操作的通讯时间。然后,将该通讯时间与设定时间阔值进行比较,根据比 较结果当前编码值是否异常。若该通讯时间超过设定时间阔值,则确定为与编码器的通讯 错误,即当前所获取的编码值异常,返回执行步骤240。若该通讯时间未超过设定时间阔值, 则确定当前编码值正常,执行步骤260。
[0078] 步骤260、根据所述编码值更新对应的寄存器。
[0079] 其中,寄存器为FPGA中用于存储正常编码值的存储单元。在所述编码值正常时,根 据所述编码值更新对应的寄存器,用于根据寄存器中的正常编码值计算补偿编码值。示例 性的,在开始工作之前,清除FPGA中寄存器的历史数据。在正常工作后,若FPGA接收到第一 个编码值为正常编码值,则根据该第一编码值更新第一寄存器P( 1);若FPGA接收到第二个 编码值仍为正常编码值,则根据该第二编码值更新第二寄存器P(2);若FPGA接收到第S个 编码值为异常编码值,则不更新第S寄存器;依次类推,若FPGA接收到第i个编码值为正常 编码值,则根据该第i个编码值更新对应的寄存器P( i)。
[0080] 步骤270、获取设定的寄存器中存储的历史编码值,根据历史编码值预测补偿编码 值。
[0081] 在当前编码值异常时,将与当前时刻最接近的=个连续的正常编码值中,与当前 时刻时间间隔最短的时刻对应的正常编码值作为第一历史编码值,W及,与当前时刻时间 间隔最长的时刻对应的正常编码值作为第二历史编码值。根据所述第一历史编码值和所述 第二历史编码值,计算补偿编码值。
[0082] 示例性的,在当前编码值异常时,且未出现连续的编码异常,则屏蔽该异常编码 值,并判断是否存在对应于当前时刻n最接近的S个连续的时刻n-l、n-2和n-3的正常编码 值。若不存在,则发出错误警报。若存在,则将n-1时刻对应的寄存器P(n-l)内的正常编码值 作为第一历史编码值;将n-3时刻对应的寄存器P(n-3)内的正常编码值作为第二历史编码 值。通过下述公式计算补偿编码值,得到补偿编码值后执行步骤280。
[0083]
;其中,P(n)、P (n-1)和P(n-3)均为寄存器标识,在下述公式中出现寄存器标识的地方对应的含义均为相 应的编码值。
[0084] 若当前时刻的下一时刻获取的编码值仍为异常编码值,且设定次数阔值大于2,即 未达到补偿次数上限,则屏蔽该异常编码值,并继续使用上述第一历史编码值和第二历史 编码值计算n+1时刻的补偿编码值,得到补偿编码值后执行步骤280。公式如下:
[0085]
[0086] 依次类推,若从时刻n出现编码值异常后,又连续出现i次编码异常,且i + 1仍未达 到补偿次数上限,则屏蔽该异常编码值,并继续使用上述第一历史编码值和第二历史编码 值计算n+i时刻的补偿编码值,得到补偿编码值后执行步骤280。公式如下:
[0087]
[0088] 如上述记载,若n+i时刻的编码值仍然为异常编码值,但i+1大于设定的次数阔值, 良Pi+1超过补偿次数上限,则不对此时的编码值进行补偿,执行步骤290。
[0089] 步骤280、通过相应的数据传输通道将正常编码值或补偿编码值发送至随机存储 器进行缓存。
[0090] 在确定当前时刻获取的编码值正常时,通过正常数据传输通道输出所述编码值至 随机存储器RAM(例如双口 RAM),W使电机驱动模块(例如DSP忍片)从所述随机存储器中读 取该正常编码值。
[0091] 在确定当前时刻获取的编码值异常或通讯错误时,执行数字通道切换,W选择异 常数据传输通道传输数据。获取根据历史编码值预测的补偿编码值,将该补偿编码值通过 异常数据传输通道输出至随机存储器RAM(例如双口 RAM), W使电机驱动模块(例如DSP忍 片)从所述随机存储器中读取所述补偿编码值。
[0092] 步骤290、向电机驱动模块发送停机指示,并报警。
[0093] 在连续补偿次数超过设定次数阔值时,向DSP忍片发送停机指示,W使DSP忍片停 止工作,并发出错误警报。
[0094] 实施例S
[00M]图3示出了本发明实施例=中一种的编码补偿装置。所述编码值补偿装置包括:
[0096] 编码获取模块310,用于获取编码器发送的编码值;
[0097] 编码补偿模块320,用于根据预设的补偿条件判断所获取的编码值是否异常,在所 述编码值异常时,根据历史编码值预测补偿编码值;
[0098] 补偿编码发送模块330,用于根据判断结果执行数字通道切换,将所述补偿编码值 通过异常数据传输通道输出至电机驱动模块,W使所述电机驱动模块在编码值异常时,根 据所述补偿编码值控制电机运行。
[0099] 本发明实施例的技术方案,在编码获取模块310获取编码值后,通过编码补偿模块 320检测该编码值是否异常,从而,在编码值异常时,根据历史编码值预测补偿编码值;然 后,通过补偿编码发送模块330将数字通道切换至设定的异常数据传输通道,将所述补偿编 码值输出至电机驱动模块,W使所述电机驱动模块根据所述补偿编码值控制电机运行,解 决编码器与伺服驱动器之间通讯异常影响伺服驱动器的稳定性的问题,实现通过对历史编 码值的计算,预测在发生通讯异常时编码器应该返回的编码值,伺服驱动器根据补偿编码 值控制电机的运行,使电机的运行状态能够平滑过渡,达到了提高伺服控制系统在强干扰 环境下的可靠性的效果。
[0100] 在上述技术方案的基础上,编码补偿模块320具体用于:判断所述编码值是否超过 设定阔值。若超过设定阔值,则确定所述编码值异常;若未超过设定阔值,则判断与编码器 的通讯时间是否超过设定时间阔值,若超过设定时间阔值,则确定所述编码值异常,若未超 过设定时间阔值,则确定所述编码值正常,达到准确及时确定编码值异常时刻的效果。
[0101] 在上述技术方案的基础上,编码补偿装置还包括:
[0102] 寄存器更新模块350,用于在根据预设的补偿条件判断所获取的编码值是否异常 之后,在所述编码值正常时,根据所述编码值更新对应的寄存器,用于根据寄存器中的正常 编码值计算补偿编码值。
[0103] 正常编码发送模块360,用于通过正常数据传输通道输出所述编码值至电机驱动 模块。
[0104] 在上述技术方案的基础上,编码补偿装置还包括:
[0105] 判断模块%0,用于在根据历史编码值预测补偿编码值之前,检测连续的补偿次 数,判断所述补偿次数是否超过设定次数阔值。
[0106] 若是,则向电机驱动模块发送停机指示,并报警;若否,则获取寄存器中存储的历 史编码值。
[0107] 在上述技术方案的基础上,编码补偿模块320具体用于:
[0108] 在当前编码值异常时,将与当前时刻最接近的=个连续的正常编码值中,与当前 时刻时间间隔最短的时刻对应的正常编码值作为第一历史编码值,W及,与当前时刻时间 间隔最长的时刻对应的正常编码值作为第二历史编码值。
[0109] 根据所述第一历史编码值和所述第二历史编码值,计算补偿编码值,达到了计算 得到最接近于正常编码值的补偿编码值,使电机的运行状态在伺服驱动器发生编码值异常 或通讯错误时也可平稳过渡。
[0110] 在上述技术方案的基础上,编码补偿装置还包括:
[0111] 缓存模块370,用于将所述补偿编码值通过所述异常数据传输通道输出至电机驱 动模块之前,通过所述异常数据传输通道将所述补偿编码值发送至随机存储器进行缓存, W使所述电机驱动模块从所述随机存储器中读取所述补偿编码值。达到了为FPGA与DSP提 供读写缓存,避免因二者的读写速度不匹配而出现读写错误的效果。
[0112] 上述编码补偿装置可执行本发明任意实施例所提供的编码补偿方法,具备执行方 法相应的功能模块和有益效果。
[0113] 实施例四
[0114] 图4示出了本发明实施例四中的一种伺服控制系统,其中伺服驱动器410集成如上 述实施例=所述的编码补偿装置。如图4所示,所述伺服控制系统具体包括:伺服驱动器410 和编码器420,伺服驱动器410与编码器420通过线缆连接。
[0115] 其中,伺服驱动器410包括编码器通讯电路41UFPGA控制电路412、双口RAM 413 (双口随机存储器)、DSP控制电路414、FPGA外围电路和DSP外围电路。FPGA控制电路412通过 编码器通讯电路411周期性的发送数据指令,W使编码器420根据该数据指令向伺服驱动器 410发送编码值。从而,通过编码器通讯电路411接收编码器420发送的编码值后,发送给 FPGA控制电路412。
[0116] FPGA控制电路412获取编码值,在编码值异常或发生通讯错误的情况下,根据历史 编码值预测补偿编码值,将补偿编码值输出至双口RAM 413进行缓存。或在编码值正常且通 讯正常的情况下,根据该正常编码值更新对应的寄存器,并将该正常编码值输出至双口RAM 413进行缓存。FPGA外围电路可W包括晶振电路、复位电路、蜂鸣器电路、通讯电路和显示电 路等,用于为FPGA控制电路412的正常工作提供支持。
[0117] 双口RAM 413对正常编码值或异常编码值进行缓存,供DSP控制电路414按照需要 读取正常编码值或异常编码值。双口RAM 413为FPGA与DSP提供读写缓存,避免因二者的读 写速度不匹配而出现读写错误的效果。
[011引 DSP控制电路414采用并口通讯的方式读取双口 RAM413中的正常编码值或异常编 码值,并根据所读取的编码值进行电机控制与计算。DSP外围电路包括时钟电路、电源及复 位电路、通讯电路和数模转换电路等,用于为DSP控制电路414的正常工作提供支持。
[0119] 本实施例的技术方案,通过伺服驱动器集成具有编码补偿功能的编码补偿装置, 提高了伺服控制系统在强干扰环境下的抗干扰能力。
[0120] 注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解, 本发明不限于运里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、 重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过W上实施例对本发明进行 了较为详细的说明,但是本发明不仅仅限于W上实施例,在不脱离本发明构思的情况下,还 可W包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
【主权项】
1. 一种编码补偿方法,其特征在于,包括: 获取编码器发送的编码值; 根据预设的补偿条件判断所获取的编码值是否异常,在所述编码值异常时,根据历史 编码值预测补偿编码值; 根据判断结果执行数字通道切换,将所述补偿编码值通过异常数据传输通道输出至电 机驱动模块,以使所述电机驱动模块在编码值异常时,根据所述补偿编码值控制电机运行。2. 根据权利要求1所述的方法,其特征在于,根据预设的补偿条件判断所获取的编码值 是否异常,包括: 判断所述编码值是否超过设定阈值; 若超过设定阈值,则确定所述编码值异常; 若未超过设定阈值,则判断与编码器的通讯时间是否超过设定时间阈值,若超过设定 时间阈值,则确定所述编码值异常,若未超过设定时间阈值,则确定所述编码值正常。3. 根据权利要求1所述的方法,其特征在于,在根据预设的补偿条件判断所获取的编码 值是否异常之后,还包括: 在所述编码值正常时,根据所述编码值更新对应的寄存器,用于根据寄存器中的正常 编码值计算补偿编码值; 通过正常数据传输通道输出所述编码值至电机驱动模块。4. 根据权利要求3所述的方法,其特征在于,在根据历史编码值预测补偿编码值之前, 还包括: 检测连续的补偿次数,判断所述补偿次数是否超过设定次数阈值; 若是,则向电机驱动模块发送停机指示,并报警; 若否,则获取寄存器中存储的历史编码值。5. 根据权利要求4所述的方法,其特征在于,在所述编码值异常时,根据历史编码值预 测补偿编码值,包括: 在当前编码值异常时,将与当前时刻最接近的三个连续的正常编码值中,与当前时刻 时间间隔最短的时刻对应的正常编码值作为第一历史编码值,以及,与当前时刻时间间隔 最长的时刻对应的正常编码值作为第二历史编码值; 根据所述第一历史编码值和所述第二历史编码值,计算补偿编码值。6. 根据权利要求1所述的方法,其特征在于,将所述补偿编码值通过所述异常数据传输 通道输出至电机驱动模块之前,还包括: 通过所述异常数据传输通道将所述补偿编码值发送至随机存储器进行缓存,以使所述 电机驱动模块从所述随机存储器中读取所述补偿编码值。7. -种编码补偿装置,其特征在于,包括: 编码获取模块,用于获取编码器发送的编码值; 编码补偿模块,用于根据预设的补偿条件判断所获取的编码值是否异常,在所述编码 值异常时,根据历史编码值预测补偿编码值; 补偿编码发送模块,用于根据判断结果执行数字通道切换,将所述补偿编码值通过异 常数据传输通道输出至电机驱动模块,以使所述电机驱动模块在编码值异常时,根据所述 补偿编码值控制电机运行。8. 根据权利要求7所述的编码补偿装置,其特征在于,编码补偿模块具体用于: 判断所述编码值是否超过设定阈值; 若超过设定阈值,则确定所述编码值异常; 若未超过设定阈值,则判断与编码器的通讯时间是否超过设定时间阈值,若超过设定 时间阈值,则确定所述编码值异常,若未超过设定时间阈值,则确定所述编码值正常。9. 根据权利要求7所述的编码器补偿装置,其特征在于,还包括: 寄存器更新模块,用于在根据预设的补偿条件判断所获取的编码值是否异常之后,在 所述编码值正常时,根据所述编码值更新对应的寄存器,用于根据寄存器中的正常编码值 计算补偿编码值; 正常编码发送模块,用于通过正常数据传输通道输出所述编码值至电机驱动模块。10. 根据权利要求9所述的编码器补偿装置,其特征在于,还包括: 判断模块,用于在根据历史编码值预测补偿编码值之前,检测连续的补偿次数,判断所 述补偿次数是否超过设定次数阈值; 若是,则向电机驱动模块发送停机指示,并报警; 若否,则获取寄存器中存储的历史编码值。11. 根据权利要求10所述的编码器补偿装置,其特征在于,编码补偿模块具体用于: 在当前编码值异常时,将与当前时刻最接近的三个连续的正常编码值中,与当前时刻 时间间隔最短的时刻对应的正常编码值作为第一历史编码值,以及,与当前时刻时间间隔 最长的时刻对应的正常编码值作为第二历史编码值; 根据所述第一历史编码值和所述第二历史编码值,计算补偿编码值。12. 根据权利要求7所述的编码补偿模块,其特征在于,还包括: 缓存模块,用于将所述补偿编码值通过所述异常数据传输通道输出至电机驱动模块之 前,通过所述异常数据传输通道将所述补偿编码值发送至随机存储器进行缓存,以使所述 电机驱动模块从所述随机存储器中读取所述补偿编码值。13. -种伺服驱动器,其特征在于,所述伺服驱动器集成如权利要求7-12任一所述的编 码补偿装置。
【文档编号】G05B19/042GK106020059SQ201610573365
【公开日】2016年10月12日
【申请日】2016年7月19日
【发明人】陈英华, 边道海, 王子荣, 韩晋飞, 符观龙
【申请人】珠海格力电器股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1