CN104135212B - 一种柔性化运动控制ip核及实现方法 - Google Patents
一种柔性化运动控制ip核及实现方法 Download PDFInfo
- Publication number
- CN104135212B CN104135212B CN201410348942.9A CN201410348942A CN104135212B CN 104135212 B CN104135212 B CN 104135212B CN 201410348942 A CN201410348942 A CN 201410348942A CN 104135212 B CN104135212 B CN 104135212B
- Authority
- CN
- China
- Prior art keywords
- module
- max
- acceleration
- interpolation
- deceleration
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 17
- 230000001133 acceleration Effects 0.000 claims abstract description 182
- 230000036461 convulsion Effects 0.000 claims description 60
- 238000006073 displacement reaction Methods 0.000 claims description 38
- 238000012545 processing Methods 0.000 claims description 29
- 230000003139 buffering effect Effects 0.000 claims description 14
- 238000007781 pre-processing Methods 0.000 claims description 13
- 206010044565 Tremor Diseases 0.000 claims description 12
- JEIPFZHSYJVQDO-UHFFFAOYSA-N ferric oxide Chemical compound O=[Fe]O[Fe]=O JEIPFZHSYJVQDO-UHFFFAOYSA-N 0.000 claims description 10
- 230000000737 periodic effect Effects 0.000 claims description 10
- 230000005540 biological transmission Effects 0.000 claims description 7
- 230000010354 integration Effects 0.000 claims description 6
- 230000001360 synchronised effect Effects 0.000 claims description 5
- 210000001367 artery Anatomy 0.000 claims description 2
- 210000003462 vein Anatomy 0.000 claims description 2
- 239000000047 product Substances 0.000 claims 2
- 239000006227 byproduct Substances 0.000 claims 1
- 230000010363 phase shift Effects 0.000 claims 1
- 238000004080 punching Methods 0.000 claims 1
- 230000008901 benefit Effects 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 230000008520 organization Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 102100026816 DNA-dependent metalloprotease SPRTN Human genes 0.000 description 1
- 101710175461 DNA-dependent metalloprotease SPRTN Proteins 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 239000000686 essence Substances 0.000 description 1
- 239000003550 marker Substances 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000004575 stone Substances 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Landscapes
- Numerical Control (AREA)
Abstract
本发明公开了一种柔性化运动控制IP核及实现方法,属于运动控制领域,所述IP核包括加减速模块、插补模块、脉冲计数模块、脉冲生成模块、总线控制器和RAM接口模块,本发明是为了解决运动控制算法在通用MCU或者DSP中运行的周期过长,导致控制周期不能进一步减小,无法实现高速和高精度。本发明具有控制周期小,输出脉冲精度高的特点,可以实现非对称直线加减速,非对称S形曲线加减速,带有直线或S形曲线加减速的两轴或三轴直线插补,匀速的两轴圆弧插补。本发明采用IP核方式提供,以Verilog硬件描述语言软核形式实现运动控制相关算法,可在FPGA中实现,可以ASIC方式实现,可集成到SoC芯片中,典型工作频率为100MHz,为构建柔性化运动控制***提供可行性。
Description
技术领域
本发明涉及运动控制的研究领域,特别涉及一种柔性化运动控制IP核及实现方法。
背景技术
一般伺服电机都有三种控制方式:速度控制方式,转矩控制方式,位置控制方式。伺服***作为一个有惯性和负载的***,无论是那种控制方式,伺服电机均需要进行加减速控制。当伺服电机从一个速度(v1)过渡到另外一个速度(v2),就需要进行加减速规划。目前提出的方法有直线加减速、指数加减速、S曲线加减速、三角函数加减速。在工程中常用的是直线加减速和S曲线加减速。直线加减速具有计算简单,响应快,但是将产生较大振动和冲击,影响运控轨迹和机床寿命,多用于要求不高的场合。S曲线加减速能保证加减速过程的平滑性,且充分利用了伺服***最大允许速度和最大允许加速度,效率最高,但S曲线将速度变迁过程分为7个阶段,计算复杂。在速度规划之后,需要对两轴或者三轴联动的***进行插补,把每控制周期的速度值分配到各个轴上面去,这个过程中,会存在插补轨迹误差。在***实时性可以保证的情况下,***的控制周期越小,插补得到的轨迹越精确;而如果在同样的轨迹误差的情况下,***的控制周期越小,***的最大速度越大,可以提高效率。因此,综上所述,为了实现高速高精度的运动控制,控制周期要尽可能小。目前的开放式运动控制卡多采用软件来计算加减速曲线,软件采取串行运算的方式,运算速度较慢,为了在每周期完成一次插补运算,需要高速的DSP或MCU来执行,成本较高,并且很难进一步缩小控制周期。
随着集成电路技术发展和现场可编程逻辑门阵列(FPGA)的出现,集成电路设计发重大变革。硬件描述语言(HDL)的出现,使得一个特定功能的集成电路模块可以以一段HDL的形式存在,并且封装成具有一定功能的IP核(Intellectual Property core)。这些IP核可以在众多厂商提供的各类型号FPGA中通用,并且可以移植到专用集成电路(ASIC)的开发。因而这些具有特定功能的IP核就成为独立自主知识产权产品。
发明内容
本发明的主要目的在于克服现有技术的缺点与不足,提供一种柔性化运动控制IP核。
本发明的另一目的在于,提供一种柔性化运动控制IP核的实现方法。
为了达到上述第一目的,本发明采用以下技术方案:
一种柔性化运动控制IP核,所述IP核包括加减速模块、插补模块、脉冲计数模块、脉冲生成模块、总线控制器和RAM接口模块,所述总线控制器分别与;加减速模块、插补模块、脉冲计数模块连接,所述加减速模块与插补模块和RAM接口模块连接;所述插补模块又与RAM接口模块和脉冲计数模块连接;所述脉冲计数模块还与脉冲生成模块连接;
所述加减速模块,用于根据CPU发来的加减速方式选择初始速度、目标速度、最大速度、最大加速度以及目标位置参数,计算合适的加减速曲线,并且以离散的速度数值的形式保存在RAM中;
所述插补模块,用于根据CPU发过来的插补参数,从RAM中读取速度数值进行插补,插补后输出各轴对应的速度数值;
所述脉冲生成模块,用于根据插补模块发过来的各轴速度数值,产生对应频率的脉冲;
所述脉冲计数模块,用于根据伺服电机反馈回来的含有噪声的各轴反馈脉冲,进行消抖后,输入计数模块进行计数,于每控制周期输出一次各轴电机实际运行的脉冲数;
RAM接口模块,用于把输入离散的速度数值产生合适的地址后送入RAM控制器,写入RAM,并根据命令产生正确的读地址,从RAM中读取离散的速度数值,
所述总线控制器,用于控制本IP通过总线与其他IP和CPU通信。
优选的,所述加减速模块包括加减速方式选择模块、直线加减速模块以及S形曲线加减速模块;
所述加减速方式选择模块,用于根据上级模块输入的加减速方式选择信号选择对应的加减速方式,把加减速参数输入对应的模块;
所述直线加减速模块,用于生成直线加减速曲线的离散化数据;
所述S形曲线加减速模块,用于生成S曲线加减速曲线的离散化数据。
优选的,所述直线加减速模块包括加速度规划模块、第一除法器、第一乘法器、第一积分模块,所述加速度规划模块与第一积分模块、第一除法器、第一乘法器连接,所述第一除法器还与第一乘法器连接;CPU输入的最大速度V_max和最大加速度A_max送入第一除法器,计算t1=V_max/A_max,再把结果和最大速度V_max送入第一乘法器,计算S_min=V_max2/A_max,将S_min与目标位移S比较,如果S_min>S,则将V_max右移1位,S_min右移2位,t1右移1位,重新同S比较,直至S_min<S为止;对于S_min<S且初始速度为零,则把t1、V_max、A_max送入第一积分模块,计算并且每时钟周期输出一个速度值;若初始速度(目标速度)不为零,则重新计算加速阶段加速度A_max'=(V_max-V_start)/V_max×A_max(减速阶段加速度A_max”=(V_max-V_end)/V_max×A_max),把t1、V_max、A_max'、A_max”送入第一积分模块,计算并且每时钟周期输出一个速度值。
优选的,所述S形曲线加减速模块包括加加速度规划模块、数据预处理模块、第二除法器、第二乘法器、数据后处理模块、第二积分模块,所述数据预处理模块、第二除法器、数据后处理模块以及第二乘法器顺序连接;所述加加速度规划模块分别与数据预处理模块、第二乘法器以及第二积分模块连接;CPU输入的最大速度V_max、最大加速度A_max和加加速度Jerk送入数据预处理模块,把它们按照A_max/Jerk,V_max/A_max两组依次送入第二除法器,数据后处理模块负责识别结果并存储t1=A_max/Jerk,t2=V_max/A_max,然后把t1、t2、V_max送入第二乘法器,计算S_min=V_max·(t1+t2),将S_min与目标位移S比较,如果S_min>S,则将t1、V_max、A_max右移1位,并送入第二乘法器重新计算S_min并与S比较,直至S_min<S为止。对于S_min<S且初始速度(目标速度)为零,则把t1、t2、V_max、A_max、Jerk送入第二积分模块,计算并且每时钟周期输出一个速度值;若初始速度(目标速度)不为零,则重新计算加速阶段加加速度Jerk'=(V_max-V_start)/V_max×Jerk(减速阶段加加速度Jerk”=(V_max-V_end)/V_max×Jerk),把t1、t2、V_max、Jerk'、Jerk”送入第二积分模块,计算并且每时钟周期输出一个速度值。
优选的,所述插补模块包括插补顶层模块、直线插补模块以及圆弧插补模块;
所述直线插补模块用于根据插补参数中的插补坐标把速度值分配到各个轴上面去,直线插补模块包括直线插补控制模块、第三乘法器、第三除法器、直线误差处理模块以及直线输出缓冲模块;首先直线插补控制模块将(xe-xs)·vi、(ye-ys)·vi、(ze-zs)·vi三组参数输入第三乘法器,并依次得到积,然后将积与上一周期第三除法器的余数相加并依次送入第三除法器,将商送入直线输出缓冲模块,余数缓存起来,进而直线输出缓冲模块把各轴速度送入脉冲生成模块中;直线误差处理模块接收来自脉冲计数模块的实际速度值,并将它与数据缓冲模块的理论值对比,将差值记录并输入插补控制模块中,在下一周期补偿;
所述圆弧插补模块,用于进行匀速两轴圆弧插补,用大量等长微直线段逼近圆弧,并且将速度值分配到两个轴上面去;所述圆弧插补模块包括圆弧插补控制模块、第四除法器、第四乘法器、圆弧输出缓冲模块、圆弧误差处理模块以及片上ROM;圆弧插补控制模块将根据CPU发送的圆弧半径R通过查表找到一个合适的圆弧等分点数和对应的等分角度θ,将圆弧角度α和等分角度θ送入第四除法器,计算等分份数N=α/θ,然后通过查表获得每点坐标xi,yi,然后通过一次减法和乘法vix=(xi-xi-1)·R,viy=(yi-yi-1)·R,如果存在xi<xi-1、yi<yi-1,则将方向信号DIR置为1,进而圆弧输出缓冲模块把vix,DIRx、viy,DIRy送入脉冲生成模块中;圆弧误差处理模块接收来自脉冲计数模块的实际速度值,并将它与数据缓冲模块的理论值对比,将差值输入圆弧插补控制模块中,在下一周期补偿。
优选的,所述脉冲生成模块包括误差处理模块、第五除法器、分频器模块;插补模块发送过来的速度数值通过误差处理模块与上一周期第五除法器产生的余数相加后,作为除数送入第五除法器,第五除法器的被除数为***工作频率,第五除法器的商即为分频比,用此分频比对***时钟进行分频,输出频率等于输入速度值的脉冲。
优选的,所述脉冲计数模块包括消抖模块、计数时钟同步模块和计数器模块;伺服驱动器反馈回来的含有噪声的各轴反馈脉冲,进行消抖后,输入计数模块进行计数,到达信号到来后,计数结束,把计数结果与目标位移相比,获得总位移误差;到达信号需经过同步模块延时,使之与实际运动的到达同步;计数模块在开始信号、到达信号、控制时钟的指示下,对脉冲发送模块实际发送的脉冲进行计数,于每控制周期输出一次各轴电机实际运行的脉冲数。
为了达到上述第二目的,本发明采用以下技术方案:
一种柔性化运动控制IP核的实现方法,包括下述步骤:
S1、***上电后,MicroBlaze软核处理器开始执行程序,通过总线控制器把运动控制参数发到运动控制IP核;
S2、加减速模块根据加减速方式选择信号选择对应的加减速方式,把加减速参数输入对应的模块;
S3、加减速模块所计算的速度值每周期产生一次,然后送入RAM接口模块,生成写地址,并与地址一起送入内存控制器,写入RAM;
S4、插补模块把各轴速度发送到脉冲生成模块,误差处理模块把当前速度数值与上一周期第五除法器产生的余数相加后,作为除数送入第五除法器,第五除法器的被除数为运动控制IP核工作频率100MHz,第五除法器的商即为分频比,用此分频比对100MHz进行计数分频,输出频率等于输入速度值的脉冲;
S5、发送脉冲的同时,伺服驱动器反馈回来的含有噪声的各轴反馈脉冲,进行消抖后,输入脉冲计数模块,由计数模块进行计数,到达信号到来后,计数结束,把计数结果与目标位移相比,获得总位移误差;到达信号需经过同步模块延时,使之与实际运动的到达同步;计数模块在开始信号、到达信号、控制时钟的指示下,对脉冲发送模块实际发送的脉冲进行计数,于每控制周期输出一次各轴电机实际运行的脉冲数。
优选的,步骤S2中,若所选加减速方式为直线加减速,则加减速参数输入直线加减速模块,直线加减速模块首先将最大速度V_max和最大加速度A_max送入第一除法器,计算t1=V_max/A_max,再把结果和最大速度V_max送入第一乘法器,计算S_min=V_max2/A_max,将S_min与目标位移S比较,如果S_min>S,则将V_max右移1位,S_min右移2位,t1右移1位,重新同S比较,直至S_min<S为止;对于S_min<S且初始速度为零,则把t1、V_max、A_max送入第一积分模块,计算并且每时钟周期输出一个速度值;若初始速度(目标速度)不为零,则重新计算加速阶段加速度A_max'=(V_max-V_start)/V_max×A_max(减速阶段加速度A_max”=(V_max-V_end)/V_max×A_max),把t1、V_max、A_max'、A_max”送入第一积分模块,计算并且每时钟周期输出一个速度值;
若所选加减速方式为S形曲线加减速,S形曲线加减速模块首先将CPU输入的最大速度V_max、最大加速度A_max和加加速度Jerk送入数据预处理模块,把它们按照A_max/Jerk,V_max/A_max两组依次送入第二除法器,数据后处理模块负责识别结果并存储t1=A_max/Jerk,t2=V_max/A_max,然后把t1、t2、V_max送入第二乘法器,计算S_min=V_max·(t1+t2),将S_min与目标位移S比较,如果S_min>S,则将t1、V_max、A_max右移1位,并送入第二乘法器重新计算S_min并与S比较,直至S_min<S为止。对于S_min<S且初始速度(目标速度)为零,则把t1、t2、V_max、A_max、Jerk送入第二积分模块,计算并且每时钟周期输出一个速度值;若初始速度(目标速度)不为零,则重新计算加速阶段加加速度Jerk'=(V_max-V_start)/V_max×Jerk(减速阶段加加速度Jerk”=(V_max-V_end)/V_max×Jerk),把t1、t2、V_max、Jerk'、Jerk”送入第二积分模块,计算并且每时钟周期输出一个速度值。
优选的,步骤S4中,若所选插补方式为直线插补,直线插补模块首先插补控制模块将(xe-xs)·vi、(ye-ys)·vi、(ze-zs)·vi三组参数输入第三乘法器,并依次得到积,然后将积与上一周期第三除法器的余数相加并依次送入第三除法器,将商送入输出缓冲模块,余数缓存起来,进而输出缓冲模块把各轴速度送入脉冲生成模块中。误差处理模块接收来自脉冲计数模块的实际速度值,并将它与数据缓冲模块的理论值对比,将差值记录并输入插补控制模块中,在下一周期补偿;各轴速度分别为:
Vx=vi·(xe-xs)/S、Vy=vi·(ye-ys)/S、Vz=vi·(ze-zs)/S;
若所选插补方式为圆弧插补,圆弧插补模块通过查表获得每周期的X、Y轴脉冲比例及其方向,再通过一次乘法和一次减法即可获得每周期速度值;首先插补控制模块将根据CPU发送的圆弧半径R通过查表找到一个合适的圆弧等分点数和对应的等分角度θ,将圆弧角度α和等分角度θ送入第四除法器,计算等分份数N=α/θ,然后通过查表获得每点坐标xi,yi,然后通过一次减法和乘法vix=(xi-xi-1)·R,viy=(yi-yi-1)·R,如果存在xi<xi-1、yi<yi-1,则将方向信号DIR置为1,进而输出缓冲模块把vix,DIRx、viy,DIRy送入脉冲生成模块中;误差处理模块接收来自脉冲计数模块的实际速度值,并将它与数据缓冲模块的理论值对比,将差值输入插补控制模块中,在下一周期补偿。
本发明与现有技术相比,具有如下优点和有益效果:
1、本发明提出一种柔性化运动控制的IP核,采用IP核方式提供,以Verilog硬件描述语言软核形式实现,可以在FPGA中实现,与其他***IP核一起,构建基于SoPC的运动控制***,具有柔性化和可重构的优点。
2、本发明使用集成电路方式计算加减速曲线和插补曲线,可以进行非对称直线加减速、非对称S形曲线加减速、带有直线或S形曲线加减速的两轴或三轴直线插补、匀速的两轴圆弧插补。具有运算速度快,控制周期小的优点。其控制周期为T=0.125ms,最大加速度为A=125P/T2(脉冲每周期平方),最大速度为1250P/T(脉冲每周期,即1MHz)。
3、本发明的插补模块中具有误差处理模块,可将上一控制周期的除法运算的结果计入下一周期中,减小插补运算的累计误差。
4、本发明在脉冲生成模块中具有误差处理模块,可减小生成脉冲的频率误差造成的累计效应。
附图说明
图1为本发明总体架构图;
图2为运动参数定义;
图3为加减速模块的架构图;
图4为直线加减速模块的工作流程图;
图5为S形曲线加减速模块的工作流程图;
图6为插补模块的架构图;
图7为脉冲生成模块的架构图;
图8为脉冲计数模块的架构图;
图9为RAM接口模块的架构图;
图10为采用本IP核的SoC具体实施方案架构图。
具体实施方式
下面结合实施例及附图对本发明作进一步详细的描述,但本发明的实施方式不限于此。
实施例
如图1所示,本实施例的一种柔性化运动控制IP核,包括加减速模块、插补模块、脉冲计数模块、脉冲生成模块、总线控制器和RAM接口模块,所述总线控制器分别与;加减速模块、插补模块、脉冲计数模块连接,所述加减速模块与插补模块和RAM接口模块连接;所述插补模块又与RAM接口模块和脉冲计数模块连接;所述脉冲计数模块还与脉冲生成模块连接;
所述加减速模块,用于根据CPU发来的加减速方式选择初始速度、目标速度、最大速度、最大加速度以及目标位置参数,计算合适的加减速曲线,并且以离散的速度数值的形式保存在RAM中;
所述插补模块,用于根据CPU发过来的插补参数,从RAM中读取速度数值进行插补,插补后输出各轴对应的速度数值;
所述脉冲生成模块,用于根据插补模块发过来的各轴速度数值,产生对应频率的脉冲;
所述脉冲计数模块,用于根据伺服电机反馈回来的含有噪声的各轴反馈脉冲,进行消抖后,输入计数模块进行计数,于每控制周期输出一次各轴电机实际运行的脉冲数;
RAM接口模块,用于把输入离散的速度数值产生合适的地址后送入RAM控制器,写入RAM,并根据命令产生正确的读地址,从RAM中读取离散的速度数值,
所述总线控制器,用于控制本IP通过总线与其他IP和CPU通信。
如图2所示,所述加减速参数包含:加减速方式选择信号、初始速度、目标速度、最大速度、最大加速度、目标位移。
如图3所示,所述加减速模块包括加减速方式选择模块、直线加减速模块以及S形曲线加减速模块;
所述加减速方式选择模块,用于根据上级模块输入的加减速方式选择信号选择对应的加减速方式,把加减速参数输入对应的模块;
所述直线加减速模块,用于生成直线加减速曲线的离散化数据;如图4所示,所述直线加减速模块包括加速度规划模块、第一除法器、第一乘法器、第一积分模块,所述加速度规划模块与第一积分模块、第一除法器、第一乘法器连接,所述第一除法器还与第一乘法器连接;工作过程如下:首先将CPU输入的最大速度V_max和最大加速度A_max送入第一除法器,计算t1=V_max/A_max,再把结果和最大速度V_max送入第一乘法器,计算S_min=V_max2/A_max,将S_min与目标位移S比较,如果S_min>S,则将V_max右移1位,S_min右移2位,t1右移1位,重新同S比较,直至S_min<S为止。对于S_min<S且初始速度(目标速度)为零,则把t1、V_max、A_max送入第一积分模块,计算并且每时钟周期输出一个速度值;若初始速度(目标速度)不为零,则重新计算加速阶段加速度A_max'=(V_max-V_start)/V_max×A_max(减速阶段加速度A_max”=(V_max-V_end)/V_max×A_max),把t1、V_max、A_max'、A_max”送入积分模块,计算并且每时钟周期输出一个速度值。
所述S形曲线加减速模块,用于生成S曲线加减速曲线的离散化数据;如图5所示,所述S形曲线加减速模块包括加加速度规划模块、数据预处理模块、第二除法器、第二乘法器、数据后处理模块、第二积分模块,所述数据预处理模块、第二除法器、数据后处理模块以及第二乘法器顺序连接;工作过程如下:首先将CPU输入的最大速度V_max、最大加速度A_max和加加速度Jerk送入数据预处理模块,把它们按照A_max/Jerk,V_max/A_max两组依次送入第二除法器,数据后处理模块负责识别结果并存储t1=A_max/Jerk,t2=V_max/A_max,然后把t1、t2、V_max送入第二乘法器,计算S_min=V_max·(t1+t2),将S_min与目标位移S比较,如果S_min>S,则将t1、V_max、A_max右移1位,并送入第二乘法器重新计算S_min并与S比较,直至S_min<S为止。对于S_min<S且初始速度(目标速度)为零,则把t1、t2、V_max、A_max、Jerk送入第二积分模块,计算并且每时钟周期输出一个速度值;若初始速度(目标速度)不为零,则重新计算加速阶段加加速度Jerk'=(V_max-V_start)/V_max×Jerk(减速阶段加加速度Jerk”=(V_max-V_end)/V_max×Jerk),把t1、t2、V_max、Jerk'、Jerk”送入第二积分模块,计算并且每时钟周期输出一个速度值。
所述积分模块,其关键点在于减速度点的判断,对于加速阶段的计算,采用时间判断法,直线加减速根据前述t1,S形曲线加减速根据t1、t2判断匀速点,到达匀速后,记录加速段的位移,由于加速段和减速段时间上对称,所以减速段位移可以由以下公式求出:S_down=S_up·(V_max-V_end)/(V_max-V_start),再与总位移与当前位移之差即剩余位移比较,当剩余位移恰好等于减速段位移S_down时,减速点到来。
如图6所示,所述插补模块包括插补顶层模块、直线插补模块以及圆弧插补模块;所述插补顶层模块,其功能为根据CPU输入的插补参数,选择对应的插补方式,发送读命令到RAM接口模块;所述直线插补模块用于根据插补参数中的插补坐标把速度值分配到各个轴上面去,直线插补模块包括直线插补控制模块、第三乘法器、第三除法器、直线误差处理模块以及直线输出缓冲模块;首先直线插补控制模块将(xe-xs)·vi、(ye-ys)·vi、(ze-zs)·vi三组参数输入第三乘法器,并依次得到积,然后将积与上一周期第三除法器的余数相加并依次送入第三除法器,将商送入直线输出缓冲模块,余数缓存起来,进而直线输出缓冲模块把各轴速度送入脉冲生成模块中;直线误差处理模块接收来自脉冲计数模块的实际速度值,并将它与数据缓冲模块的理论值对比,将差值记录并输入插补控制模块中,在下一周期补偿;各轴速度分别为:
Vx=vi·(xe-xs)/S、Vy=vi·(ye-ys)/S、Vz=vi·(ze-zs)/S;
所述圆弧插补模块,用于进行匀速两轴圆弧插补,用大量等长微直线段逼近圆弧,并且将速度值分配到两个轴上面去;所述圆弧插补模块包括圆弧插补控制模块、第四除法器、第四乘法器、圆弧输出缓冲模块、圆弧误差处理模块以及片上ROM;圆弧插补控制模块将根据CPU发送的圆弧半径R通过查表找到一个合适的圆弧等分点数和对应的等分角度θ,将圆弧角度α和等分角度θ送入第四除法器,计算等分份数N=α/θ,然后通过查表获得每点坐标xi,yi,然后通过一次减法和乘法vix=(xi-xi-1)·R,viy=(yi-yi-1)·R,如果存在xi<xi-1、yi<yi-1,则将方向信号DIR置为1,进而圆弧输出缓冲模块把vix,DIRx、viy,DIRy送入脉冲生成模块中;圆弧误差处理模块接收来自脉冲计数模块的实际速度值,并将它与数据缓冲模块的理论值对比,将差值输入圆弧插补控制模块中,在下一周期补偿。
如图7所示,所述脉冲生成模块包括误差处理模块、第五除法器、分频器模块;插补模块发送过来的速度数值通过误差处理模块与上一周期第五除法器产生的余数相加后,作为除数送入第五除法器,第五除法器的被除数为***工作频率,除法器的商即为分频比,用此分频比对***时钟进行分频,输出频率等于输入速度值的脉冲。
如图8所示,所述脉冲计数模块包括消抖模块、计数时钟同步模块和计数器模块;伺服驱动器反馈回来的含有噪声的各轴反馈脉冲,进行消抖后,输入计数模块进行计数,到达信号到来后,计数结束,把计数结果与目标位移相比,获得总位移误差;到达信号需经过同步模块延时,使之与实际运动的到达同步;计数模块在开始信号、到达信号、控制时钟的指示下,对脉冲发送模块实际发送的脉冲进行计数,于每控制周期输出一次各轴电机实际运行的脉冲数。
如图9所示,所述RAM接口模块用于把输入离散的速度数值产生合适的地址后送入RAM控制器,写入RAM;读功能:产生正确的读地址,从RAM中读取离散的速度数值,送入插补模块。RAM接口模块由以下2个下级模块构成:写地址生成模块、读地址生成模块。
图10给出了一个采用本IP的SoC具体实施方案图,该实施例为本IP核在XilinxSpartan 6FPGA中以SoPC的方式来实现,其RISC CPU为Xilinx提供的MicroBlaze 32位软核处理器,其RAM控制器为Spartan6FPGA提供的硬核内存控制器MCB(Memory ControllerBlock),其RAM为DDR2SDRAM,其片上总线为Xilinx提供的PLB(Processor Local Bus),其时钟模块为Xilinx提供的DCM(Digital Clock Manager);该实施例中,运动控制IP核(MotionIPcore)运行频率为100MHz,MicroBlaze软核处理器工作频率为75MHz,由DCM为它们提供所需的时钟,外部50MHz时钟经过DCM产生100MHz、75MHz、600MHz分别作为运动控制IP核、MicroBlaze软核处理器、DDR2SDRAM的工作时钟。
该基于SoPC柔性化运动控制***工作过程如下:
***上电后,MicroBlaze软核处理器开始执行程序,通过总线控制器把运动控制参数发到运动控制IP核。所述加减速参数包含:加减速方式选择信号、初始速度、目标速度、最大速度、最大加速度、目标位移;
然后,加减速模块根据加减速方式选择信号选择对应的加减速方式,把加减速参数输入对应的模块;
若所选加减速方式为直线加减速,则加减速参数输入直线加减速模块,直线加减速模块首先将最大速度V_max和最大加速度A_max送入第一除法器,计算t1=V_max/A_max,再把结果和最大速度V_max送入第一乘法器,计算S_min=V_max2/A_max,将S_min与目标位移S比较,如果S_min>S,则将V_max右移1位,S_min右移2位,t1右移1位,重新同S比较,直至S_min<S为止;对于S_min<S且初始速度为零,则把t1、V_max、A_max送入第一积分模块,计算并且每时钟周期输出一个速度值;若初始速度(目标速度)不为零,则重新计算加速阶段加速度A_max'=(V_max-V_start)/V_max×A_max(减速阶段加速度A_max”=(V_max-V_end)/V_max×A_max),把t1、V_max、A_max'、A_max”送入第一积分模块,计算并且每时钟周期输出一个速度值;
若所选加减速方式为S形曲线加减速,S形曲线加减速模块首先将CPU输入的最大速度V_max、最大加速度A_max和加加速度Jerk送入数据预处理模块,把它们按照A_max/Jerk,V_max/A_max两组依次送入第二除法器,数据后处理模块负责识别结果并存储t1=A_max/Jerk,t2=V_max/A_max,然后把t1、t2、V_max送入第二乘法器,计算S_min=V_max·(t1+t2),将S_min与目标位移S比较,如果S_min>S,则将t1、V_max、A_max右移1位,并送入第二乘法器重新计算S_min并与S比较,直至S_min<S为止。对于S_min<S且初始速度(目标速度)为零,则把t1、t2、V_max、A_max、Jerk送入第二积分模块,计算并且每时钟周期输出一个速度值;若初始速度(目标速度)不为零,则重新计算加速阶段加加速度Jerk'=(V_max-V_start)/V_max×Jerk(减速阶段加加速度Jerk”=(V_max-V_end)/V_max×Jerk),把t1、t2、V_max、Jerk'、Jerk”送入第二积分模块,计算并且每时钟周期输出一个速度值。
与此同时,积分模块进行减速度点的判断,对于加速阶段的计算,采用时间判断法,直线加减速根据前述t1,S形曲线加减速根据t1、t2判断匀速点,到达匀速后,记录加速段的位移,由于加速段和减速段时间上对称,所以减速段位移可以由以下公式求出:S_down=S_up·(V_max-V_end)/(V_max-V_start),再与总位移与当前位移之差即剩余位移比较,当剩余位移恰好等于减速段位移S_down时,减速点到来。
加减速模块所计算的速度值每周期产生一次,然后送入RAM接口模块,生成写地址,并与地址一起送入内存控制器,写入RAM。
对于两轴或者三轴联动运动,还需要进行插补运算。插补顶层模块根据CPU输入的插补参数,选择对应的插补方式,插补模块根据CPU发过来的插补参数,发送读命令到RAM接口模块,产生正确的读地址,从RAM中读取离散的速度数值,再把离散速度值送回插补模块进行插补,经插补后输出各轴对应的速度数值。
若所选插补方式为直线插补,直线插补模块首先插补控制模块将(xe-xs)·vi、(ye-ys)·vi、(ze-zs)·vi三组参数输入第三乘法器,并依次得到积,然后将积与上一周期第三除法器的余数相加并依次送入第三除法器,将商送入输出缓冲模块,余数缓存起来,进而输出缓冲模块把各轴速度送入脉冲生成模块中。误差处理模块接收来自脉冲计数模块的实际速度值,并将它与数据缓冲模块的理论值对比,将差值记录并输入插补控制模块中,在下一周期补偿。各轴速度分别为:
Vx=vi·(xe-xs)/S、Vy=vi·(ye-ys)/S、Vz=vi·(ze-zs)/S;
若所选插补方式为圆弧插补,圆弧插补模块通过查表获得每周期的X、Y轴脉冲比例及其方向,再通过一次乘法和一次减法即可获得每周期速度值。其工作过程为:首先插补控制模块将根据CPU发送的圆弧半径R通过查表找到一个合适的圆弧等分点数和对应的等分角度θ,将圆弧角度α和等分角度θ送入第四除法器,计算等分份数N=α/θ,然后通过查表获得每点坐标xi,yi,然后通过一次减法和乘法vix=(xi-xi-1)·R,viy=(yi-yi-1)·R,如果存在xi<xi-1、yi<yi-1,则将方向信号DIR置为1(表示反向),进而输出缓冲模块把vix,DIRx、viy,DIRy送入脉冲生成模块中。误差处理模块接收来自脉冲计数模块的实际速度值,并将它与数据缓冲模块的理论值对比,将差值输入插补控制模块中,在下一周期补偿。
然后,插补模块把各轴速度发送到脉冲生成模块,误差处理模块把当前速度数值与上一周期第五除法器产生的余数相加后,作为除数送入第五除法器,第五除法器的被除数为运动控制IP核工作频率100MHz,除法器的商即为分频比,用此分频比对100MHz进行计数分频,输出频率等于输入速度值的脉冲。
发送脉冲的同时,伺服驱动器反馈回来的含有噪声的各轴反馈脉冲,进行消抖后,输入脉冲计数模块,由计数模块进行计数,到达信号到来后,计数结束,把计数结果与目标位移相比,获得总位移误差(以脉冲数表示)。到达信号需经过同步模块延时,使之与实际运动的到达同步;计数模块在开始信号、到达信号、控制时钟的指示下,对脉冲发送模块实际发送的脉冲进行计数,于每控制周期输出一次各轴电机实际运行的脉冲数。
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。
Claims (9)
1.一种柔性化运动控制IP核,其特征在于,所述IP核包括加减速模块、插补模块、脉冲计数模块、脉冲生成模块、总线控制器和RAM接口模块,所述总线控制器分别与加减速模块、插补模块、脉冲计数模块连接;所述加减速模块与插补模块和RAM接口模块连接;所述插补模块又与RAM接口模块和脉冲计数模块连接;所述脉冲计数模块还与脉冲生成模块连接;其中,IP核全称为Intellectual Property core,即知识产权核;
所述加减速模块,用于根据CPU发来的加减速方式选择初始速度、目标速度、最大速度、最大加速度以及目标位置参数,计算合适的加减速曲线,并且以离散的速度数值的形式保存在RAM中;
所述插补模块,用于根据CPU发过来的插补参数,从RAM中读取速度数值进行插补,插补后输出各轴对应的速度数值;
所述脉冲生成模块,用于根据插补模块发过来的各轴速度数值,产生对应频率的脉冲;
所述脉冲计数模块,用于根据伺服电机反馈回来的含有噪声的各轴反馈脉冲,进行消抖后,输入计数模块进行计数,于每控制周期输出一次各轴电机实际运行的脉冲数;
RAM接口模块,用于把输入离散的速度数值产生合适的地址后送入RAM控制器,写入RAM,并根据命令产生正确的读地址,从RAM中读取离散的速度数值;
所述总线控制器,用于控制本IP通过总线与其他IP和CPU通信;
所述脉冲生成模块包括误差处理模块、第五除法器、分频器模块;插补模块发送过来的速度数值通过误差处理模块与上一周期第五除法器产生的余数相加后,作为除数送入第五除法器,第五除法器的被除数为***工作频率,第五除法器的商即为分频比,用此分频比对***时钟进行分频,输出频率等于输入速度值的脉冲。
2.根据权利要求1所述的柔性化运动控制IP核,其特征在于,所述加减速模块包括加减速方式选择模块、直线加减速模块以及S形曲线加减速模块;
所述加减速方式选择模块,用于根据上级模块输入的加减速方式选择信号选择对应的加减速方式,把加减速参数输入对应的模块;
所述直线加减速模块,用于生成直线加减速曲线的离散化数据;
所述S形曲线加减速模块,用于生成S曲线加减速曲线的离散化数据。
3.根据权利要求2所述的柔性化运动控制IP核,其特征在于,所述直线加减速模块包括加速度规划模块、第一除法器、第一乘法器、第一积分模块,所述加速度规划模块与第一积分模块、第一除法器、第一乘法器连接,所述第一除法器还与第一乘法器连接;CPU输入的最大速度V_max和最大加速度A_max送入第一除法器,计算t1=V_max/A_max,再把结果和最大速度V_max送入第一乘法器,计算S_min=V_max2/A_max,将S_min与目标位移S比较,如果S_min>S,则将V_max右移1位,S_min右移2位,t1右移1位,重新同S比较,直至S_min<S为止;对于S_min<S且初始、目标速度为零,则把t1、V_max、A_max送入第一积分模块,计算并且每时钟周期输出一个速度值;若初始、目标速度不为零,则重新计算加速阶段加速度A_max'=(V_max-V_start)/V_max×A_max、减速阶段加速度A_max”=(V_max-V_end)/V_max×A_max,把t1、V_max、A_max'、A_max”送入第一积分模块,计算并且每时钟周期输出一个速度值。
4.根据权利要求2所述的柔性化运动控制IP核,其特征在于,所述S形曲线加减速模块包括加加速度规划模块、数据预处理模块、第二除法器、第二乘法器、数据后处理模块、第二积分模块,所述数据预处理模块、第二除法器、数据后处理模块以及第二乘法器顺序连接;所述加加速度规划模块分别与数据预处理模块、第二乘法器以及第二积分模块连接;CPU输入的最大速度V_max、最大加速度A_max和加加速度Jerk送入数据预处理模块,把它们按照A_max/Jerk,V_max/A_max两组依次送入第二除法器,数据后处理模块负责识别结果并存储t1=A_max/Jerk,t2=V_max/A_max,然后把t1、t2、V_max送入第二乘法器,计算S_min=V_max·(t1+t2),将S_min与目标位移S比较,如果S_min>S,则将t1、V_max、A_max右移1位,并送入第二乘法器重新计算S_min并与S比较,直至S_min<S为止;对于S_min<S且初始、目标速度为零,则把t1、t2、V_max、A_max、Jerk送入第二积分模块,计算并且每时钟周期输出一个速度值;若初始、目标速度不为零,则重新计算加速阶段加加速度Jerk'=(V_max-V_start)/V_max×Jerk、减速阶段加加速度Jerk”=(V_max-V_end)/V_max×Jerk,把t1、t2、V_max、Jerk'、Jerk”送入第二积分模块,计算并且每时钟周期输出一个速度值。
5.根据权利要求1所述的柔性化运动控制IP核,其特征在于,所述插补模块包括插补顶层模块、直线插补模块以及圆弧插补模块;
所述直线插补模块用于根据插补参数中的插补坐标把速度值分配到各个轴上面去,直线插补模块包括直线插补控制模块、第三乘法器、第三除法器、直线误差处理模块以及直线输出缓冲模块;首先直线插补控制模块将(xe-xs)·vi、(ye-ys)·vi、(ze-zs)·vi三组参数输入第三乘法器,并依次得到积,然后将积与上一周期第三除法器的余数相加并依次送入第三除法器,将商送入直线输出缓冲模块,余数缓存起来,进而直线输出缓冲模块把各轴速度送入脉冲生成模块中;直线误差处理模块接收来自脉冲计数模块的实际速度值,并将它与数据缓冲模块的理论值对比,将差值记录并输入插补控制模块中,在下一周期补偿;
所述圆弧插补模块,用于进行匀速两轴圆弧插补,用大量等长微直线段逼近圆弧,并且将速度值分配到两个轴上面去;所述圆弧插补模块包括圆弧插补控制模块、第四除法器、第四乘法器、圆弧输出缓冲模块、圆弧误差处理模块以及片上ROM;圆弧插补控制模块将根据CPU发送的圆弧半径R通过查表找到一个合适的圆弧等分点数和对应的等分角度θ,将圆弧角度α和等分角度θ送入第四除法器,计算等分份数N=α/θ,然后通过查表获得每点坐标xi,yi,然后通过一次减法和乘法vix=(xi-xi-1)·R,viy=(yi-yi-1)·R,如果存在xi<xi-1、yi<yi-1,则将方向信号DIR置为1,进而圆弧输出缓冲模块把vix,DIRx、viy,DIRy送入脉冲生成模块中;圆弧误差处理模块接收来自脉冲计数模块的实际速度值,并将它与数据缓冲模块的理论值对比,将差值输入圆弧插补控制模块中,在下一周期补偿。
6.根据权利要求1所述的柔性化运动控制IP核,其特征在于,所述脉冲计数模块包括消抖模块、计数时钟同步模块和计数器模块;伺服驱动器反馈回来的含有噪声的各轴反馈脉冲,进行消抖后,输入计数模块进行计数,到达信号到来后,计数结束,把计数结果与目标位移相比,获得总位移误差;到达信号需经过同步模块延时,使之与实际运动的到达同步;计数模块在开始信号、到达信号、控制时钟的指示下,对脉冲发送模块实际发送的脉冲进行计数,于每控制周期输出一次各轴电机实际运行的脉冲数。
7.根据权利要求1-6中任一项所述的柔性化运动控制IP核的实现方法,其特征在于,包括下述步骤:
S1、***上电后,MicroBlaze软核处理器开始执行程序,通过总线控制器把运动控制参数发到运动控制IP核;
S2、加减速模块根据加减速方式选择信号选择对应的加减速方式,把加减速参数输入对应的模块;
S3、加减速模块所计算的速度值每周期产生一次,然后送入RAM接口模块,生成写地址,并与地址一起送入内存控制器,写入RAM;
S4、插补模块把各轴速度发送到脉冲生成模块,误差处理模块把当前速度数值与上一周期第五除法器产生的余数相加后,作为除数送入第五除法器,第五除法器的被除数为运动控制IP核工作频率100MHz,第五除法器的商即为分频比,用此分频比对100MHz进行计数分频,输出频率等于输入速度值的脉冲;
S5、发送脉冲的同时,伺服驱动器反馈回来的含有噪声的各轴反馈脉冲,进行消抖后,输入脉冲计数模块,由计数模块进行计数,到达信号到来后,计数结束,把计数结果与目标位移相比,获得总位移误差;到达信号需经过同步模块延时,使之与实际运动的到达同步;计数模块在开始信号、到达信号、控制时钟的指示下,对脉冲发送模块实际发送的脉冲进行计数,于每控制周期输出一次各轴电机实际运行的脉冲数。
8.根据权利要求7所述的柔性化运动控制IP核的实现方法,其特征在于,步骤S2中,若所选加减速方式为直线加减速,则加减速参数输入直线加减速模块,直线加减速模块首先将最大速度V_max和最大加速度A_max送入第一除法器,计算t1=V_max/A_max,再把结果和最大速度V_max送入第一乘法器,计算S_min=V_max2/A_max,将S_min与目标位移S比较,如果S_min>S,则将V_max右移1位,S_min右移2位,t1右移1位,重新同S比较,直至S_min<S为止;对于S_min<S且初始、目标速度为零,则把t1、V_max、A_max送入第一积分模块,计算并且每时钟周期输出一个速度值;若初始、目标速度不为零,则重新计算加速阶段加速度A_max'=(V_max-V_start)/V_max×A_max、减速阶段加速度A_max”=(V_max-V_end)/V_max×A_max,把t1、V_max、A_max'、A_max”送入第一积分模块,计算并且每时钟周期输出一个速度值;
若所选加减速方式为S形曲线加减速,S形曲线加减速模块首先将CPU输入的最大速度V_max、最大加速度A_max和加加速度Jerk送入数据预处理模块,把它们按照A_max/Jerk,V_max/A_max两组依次送入第二除法器,数据后处理模块负责识别结果并存储t1=A_max/Jerk,t2=V_max/A_max,然后把t1、t2、V_max送入第二乘法器,计算S_min=V_max·(t1+t2),将S_min与目标位移S比较,如果S_min>S,则将t1、V_max、A_max右移1位,并送入第二乘法器重新计算S_min并与S比较,直至S_min<S为止;对于S_min<S且初始、目标速度为零,则把t1、t2、V_max、A_max、Jerk送入第二积分模块,计算并且每时钟周期输出一个速度值;若初始、目标速度不为零,则重新计算加速阶段加加速度Jerk'=(V_max-V_start)/V_max×Jerk、减速阶段加加速度Jerk”=(V_max-V_end)/V_max×Jerk,把t1、t2、V_max、Jerk'、Jerk”送入第二积分模块,计算并且每时钟周期输出一个速度值。
9.根据权利要求7所述的柔性化运动控制IP核的实现方法,其特征在于,步骤S4中,若所选插补方式为直线插补,直线插补模块首先插补控制模块将(xe-xs)·vi、(ye-ys)·vi、(ze-zs)·vi三组参数输入第三乘法器,并依次得到积,然后将积与上一周期第三除法器的余数相加并依次送入第三除法器,将商送入输出缓冲模块,余数缓存起来,进而输出缓冲模块把各轴速度送入脉冲生成模块中;误差处理模块接收来自脉冲计数模块的实际速度值,并将它与数据缓冲模块的理论值对比,将差值记录并输入插补控制模块中,在下一周期补偿;各轴速度分别为:
Vx=vi·(xe-xs)/S、Vy=vi·(ye-ys)/S、Vz=vi·(ze-zs)/S;
若所选插补方式为圆弧插补,圆弧插补模块通过查表获得每周期的X、Y轴脉冲比例及其方向,再通过一次乘法和一次减法即可获得每周期速度值;首先插补控制模块将根据CPU发送的圆弧半径R通过查表找到一个合适的圆弧等分点数和对应的等分角度θ,将圆弧角度α和等分角度θ送入第四除法器,计算等分份数N=α/θ,然后通过查表获得每点坐标xi,yi,然后通过一次减法和乘法vix=(xi-xi-1)·R,viy=(yi-yi-1)·R,如果存在xi<xi-1、yi<yi-1,则将方向信号DIR置为1,进而输出缓冲模块把vix,DIRx、viy,DIRy送入脉冲生成模块中;误差处理模块接收来自脉冲计数模块的实际速度值,并将它与数据缓冲模块的理论值对比,将差值输入插补控制模块中,在下一周期补偿。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410348942.9A CN104135212B (zh) | 2014-07-21 | 2014-07-21 | 一种柔性化运动控制ip核及实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410348942.9A CN104135212B (zh) | 2014-07-21 | 2014-07-21 | 一种柔性化运动控制ip核及实现方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104135212A CN104135212A (zh) | 2014-11-05 |
CN104135212B true CN104135212B (zh) | 2017-04-19 |
Family
ID=51807779
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410348942.9A Expired - Fee Related CN104135212B (zh) | 2014-07-21 | 2014-07-21 | 一种柔性化运动控制ip核及实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104135212B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110471336A (zh) * | 2019-08-02 | 2019-11-19 | 上海交通大学 | 基于Verilog实现的伺服电机控制*** |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104597832B (zh) * | 2014-12-31 | 2017-04-19 | 浙江中控研究院有限公司 | 一种基于amba总线的plc程序调度器ip核 |
CN104483906A (zh) * | 2015-01-07 | 2015-04-01 | 浙江师范大学 | 一种离散采样的s曲线加减速控制方法及装置 |
CN104647331B (zh) * | 2015-03-23 | 2017-07-21 | 常州米泽智能装备科技有限公司 | 一种主从随动示教工业机器人*** |
CN105137817B (zh) * | 2015-07-24 | 2018-04-17 | 浙江杰芯科技有限公司 | 控制程序处理器的片上***的控制程序执行方法 |
CN106484657A (zh) * | 2016-11-18 | 2017-03-08 | 成都嘉纳海威科技有限责任公司 | 一种可重构的信号处理器asic架构及其重构方法 |
CN106371406A (zh) * | 2016-12-06 | 2017-02-01 | 上海电器科学研究院 | 一种用于地下管网焊接设备的智能控制*** |
CN107046382B (zh) * | 2017-03-24 | 2019-06-11 | 吉林大学 | 一种基于三角函数的迭代速度控制方法 |
CN109407621A (zh) * | 2018-01-30 | 2019-03-01 | 武汉呵尔医疗科技发展有限公司 | 一种取样机械臂插补中s型加减速运动控制方法 |
CN110160521A (zh) * | 2018-02-28 | 2019-08-23 | 北京兴承科技有限公司 | Mems复合量程三轴姿态解算装置及解算方法 |
JP7020198B2 (ja) * | 2018-03-09 | 2022-02-16 | オムロン株式会社 | 制御装置および制御システム |
CN108628259B (zh) * | 2018-07-12 | 2021-03-12 | 贵阳合众精密机械制造有限公司 | 一种钻攻中心刚性攻丝加减速运动控制方法 |
CN108958169B (zh) * | 2018-07-27 | 2021-04-06 | 山东大学 | 一种基于s曲线的pvt控制方法 |
CN110465422B (zh) * | 2019-08-29 | 2020-06-19 | 内蒙古大学 | 一种基于fpga的喷涂机运动控制***及其运动控制方法 |
CN111584160B (zh) * | 2020-06-04 | 2021-10-08 | 广州铁路职业技术学院(广州铁路机械学校) | 一种基于无线通信的绞线机排线*** |
CN112783098B (zh) * | 2020-12-28 | 2022-03-25 | 杭州爱科科技股份有限公司 | 多轴联动机械运动控制方法、装置、***及可读存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1752879A (zh) * | 2005-10-31 | 2006-03-29 | 西安交通大学 | 柔性数字式运动控制*** |
CN201426109Y (zh) * | 2009-05-31 | 2010-03-17 | 深圳市雷泰控制技术有限公司 | 一种pci总线型多轴脉冲式运动控制卡 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS59168513A (ja) * | 1983-03-16 | 1984-09-22 | Fanuc Ltd | 加減速制御方式 |
-
2014
- 2014-07-21 CN CN201410348942.9A patent/CN104135212B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1752879A (zh) * | 2005-10-31 | 2006-03-29 | 西安交通大学 | 柔性数字式运动控制*** |
CN201426109Y (zh) * | 2009-05-31 | 2010-03-17 | 深圳市雷泰控制技术有限公司 | 一种pci总线型多轴脉冲式运动控制卡 |
Non-Patent Citations (1)
Title |
---|
"基于FPGA的运动控制卡的研究与开发";杨雪峰;《中国优秀硕士学位论文全文数据库》;20110615;第6-9、13-15、19、22、26-28、31、34页 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110471336A (zh) * | 2019-08-02 | 2019-11-19 | 上海交通大学 | 基于Verilog实现的伺服电机控制*** |
Also Published As
Publication number | Publication date |
---|---|
CN104135212A (zh) | 2014-11-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104135212B (zh) | 一种柔性化运动控制ip核及实现方法 | |
CN104899182B (zh) | 一种支持可变分块的矩阵乘加速方法 | |
Gaubert et al. | Modeling and analysis of timed Petri nets using heaps of pieces | |
CN103064343B (zh) | 一种面向复杂曲面加工的轨迹生成方法及其轨迹生成*** | |
CN105719351B (zh) | 一种显示电子地图的方法和装置 | |
CN102809945B (zh) | 数控加工中的运动规划方法、运动规划器及其应用 | |
CN103514037A (zh) | 任务调度处理方法及装置 | |
CN112783098B (zh) | 多轴联动机械运动控制方法、装置、***及可读存储介质 | |
CN103270468B (zh) | 低存储器使用的任意波形表示或生成 | |
CN103870238B (zh) | 基于fpga的伪随机序列发生器及其生成方法 | |
CN109947573A (zh) | 适用于电力***边缘计算的智能加速芯片 | |
CN100511125C (zh) | 一种cordic算法的实现装置 | |
CN104580005A (zh) | 一种精确按照流量模型发送随机长度报文的方法 | |
CN106970561B (zh) | 运动控制*** | |
CN111185909A (zh) | 机器人运行工况获取方法、装置、机器人及存储介质 | |
CN104133409B (zh) | 一种对称性可调的三角波合成装置 | |
CN104777456B (zh) | 可配置的雷达数字信号处理器及其处理方法 | |
CN109407888B (zh) | 一种触摸屏坐标实时跟随及去抖动的两级滤波处理方法 | |
CN103744352A (zh) | 一种基于fpga的三次b样条曲线的硬件插补器 | |
JP5431290B2 (ja) | クロック・ドメイン・クロッシングのデータ転送回路および方法 | |
CN102353940B (zh) | 基于fpga的脉冲压缩优化方法 | |
CN107273099A (zh) | 一种基于FPGA的AdaBoost算法加速器及控制方法 | |
CN202309644U (zh) | 一种基于fpga的车辆振动信号滤波装置 | |
GB2503263A (en) | Truncated multiplier | |
CN102394591B (zh) | 一种基于fpga的车辆振动信号滤波装置 |
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: 20170419 |