运动系统精确定位控制方法、控制系统及存储介质与流程

文档序号:17471717发布日期:2019-04-20 05:51阅读:255来源:国知局
运动系统精确定位控制方法、控制系统及存储介质与流程
本发明涉及工业数控自动化
技术领域
,更具体地说,是涉及一种运动系统精确定位控制方法、控制系统及存储介质。
背景技术
:滚珠丝杠系统是常见的运动系统之一,其一般包括电机、滚珠丝杠、联轴器、编码器和滑块,通过电机驱动滚珠转动,从而带动滑块的往复滑移,实现外部运动构件的位移,由于其结构简单且控制方便,因而被广泛使用。目前滚珠丝杠系统的控制一般采用人工手动去计算机床的电机运动特性,比如用户需要使用电机定位到一个目标位置,然后手动去执行运行,当到达目标位置时,停止电机,但是由于电机本身的惯性,电机会冲出设定的目标位置,此时,用户需要记录电机由于惯性移动的距离,然后将此移动的惯性距离作为系统校准参数进行保存,当用户下次再次定位到一个目标位置时,那么系统在到达这个目标位置之前(既目标位置减去电机惯性的距离值)就要开始停止,那么由于电机本身的惯性,会向前冲出一段距离,也就刚好到达了用户设定的目标位置了;但是在实际应用的过程中,由于丝杆安装和精度的问题,使得丝杆上每个点都存在一定地误差,导致滑块不会刚好到位,需要控制电机来回摆动进行定位,定位时间长,且需要来回跳动接触器5-8次才能进行定位,易对接触器造成损伤、丝杆产生磨损。上述方法在调试阶段较为繁琐,特别是随着时间的推移,电机的老化、丝杆的间隙松动、丝杆滑块本身的负载、润滑油的多少等因素都会发生变化,这些都会直接影响电机停止惯性的变化,这就导致用户第一次设置惯性值后,也许在第一个月内可以正常使用,但是在第二个月,由于上述几种情况的发生都会影响电机的惯性距离,此时的定位就不准确了,需要重新进行校准,从而给生产造成了诸多麻烦。技术实现要素:本发明的目的在于提供一种运动系统精确定位控制方法、控制系统及存储介质,具有可实时更新惯性值且调试简便的优点。为实现上述目的,本发明采用的技术方案是:第一方面,本发明提供一种运动系统精确定位控制方法,包括:在接收到运行目标值后,查找存储的惯性位移列表,所述惯性位移列表中记载有一一对应的位置值和预存惯性值;若在所述惯性位移列表中未查找到与运动目标值一致的位置值,依据默认惯性值控制电机运行驱动滑块移动至第一惯性前位置后控制电机停止运行,所述第一惯性前位置为运行目标值减去默认惯性值;在电机停止运行预定时长后获得滑块的当前位置,根据所述第一惯性前位置得到第一当前惯性值,并将所述第一当前惯性值与运行目标值相对应进行存储并增加到所述惯性位移列表中;若在所述惯性位移列表中查找到与运动目标值一致的位置值,依据所述预存惯性值控制电机运行驱动滑块移动至第二惯性前位置后控制电机停止运行,所述第二惯性前位置为运行目标值减去预存惯性值;在电机停止运行预定时长后获得滑块的当前位置,根据所述第二惯性前位置得到第二当前惯性值,并依据所述第二当前惯性值更新所述惯性位移列表中与运行目标值相对应的预存惯性值。实现上述技术方案,初始时,在系统内预存惯性位移列表和默认惯性值,且初始状态下预存惯性值与默认惯性值相同,使用时,用户先向系统输入一运行目标值,系统在接收到该运行目标值后,在惯性位移列表中查找是否存在与该运行目标值相同的位置值,若未能查找到,则控制电机驱动滑块移动至第一惯性前位置,随后在惯性的作用下,滑块会继续移动一小段距离,该段距离即为第一当前惯性值,此时将运行目标值与第一当前惯性值对应增加到惯性位移列表中,从而形成一组新的惯性数据;而若能够在惯性位移列表中查找到与该运行目标值相一致的位置值,则以该位置值对应的预存惯性值为参照,控制电机运行到第二惯性前位置,随后在惯性的作用下,滑块继续向前移动一小段距离,该段距离即为第二当前惯性值,并同时将该第二当前惯性值存储到惯性位于列表中,替换当前的预存惯性值,从而对预存惯性值进行实时的更新;由于一根丝杠上的各位点受力状况基本相同,因此在每个位点的惯性也基本是一致的,因此第一当前惯性值和第二当前惯性值即为运行目标值相对应的惯性值;由于用户输入的运行目标值对应的惯性值是上一次更新的最新惯性值,因此保证了惯性位移列表中的预存惯性值时刻保持最新的状态,从而解决了由于电机老化、丝杆运行过程中松紧不同、润滑油多少、装配松紧问题而产生的电机惯性不同的问题,并进而会根据这些情况自动适应当前电机运行环境,使得对电机的控制更加精确,且省去了人工调试的过程,操作更加简便。结合第一方面,在第一种可能实现的方式中,对应滑块的运动方向,所述预存惯性值包括:预存前惯性值和预存后惯性值,所述第一当前惯性值包括:第一当前前惯性值和第一当前后惯性值,所述第二当前惯性值包括:第二当前前惯性值和第二当前后惯性值。实现上述技术方案,由于滑块有两个运行方向,因此相应的在丝杆的每个位置上也对应有两个惯性值,即前惯性值和后惯性值,电机带动滑块向前滑行因惯性产生的距离即为前惯性值,电机带动滑块向后滑行因惯性产生的距离即为后惯性值。结合第一方面,或者结合第一方面第一种可能实现的方式,在第二种可能实现的方式中,所述第一当前惯性值为滑块的当前位置减去所述第一惯性前位置;所述第二当前惯性值为滑块的当前位置减去所述第二惯性前位置。结合第一方面,在第三种可能实现的方式中,所述默认惯性值为2-5mm。实现上述技术方案,根据丝杠的特性和相关试验结果,丝杠的初始惯性值在2-5mm之间,因此将该距离设置为默认惯性值,使得初始使用时,对电机的控制更加精确。结合第一方面,在第四种可能实现的方式中,所述预定时长为500-800ms。实现上述技术方案,预定时长在500-800ms之间时,滑块可以在惯性移动后停止,且使得距离采集更加过程快速。第二方面,本发明提供一种运动系统精确定位控制系统,包括:处理器,所述处理器内设有存储介质;与所述处理器相连的输入模组,所述输入模组用于输入运行目标值;与所述处理器及电机相连的电机控制器,用于接收所述处理器的控制指令控制电机运行;以及,反馈模组,用于测定滑块的当前位置、并产生位置信息反馈至所述处理器中;所述存储介质中存储有指令集用于执行如下操作:在接收到运行目标值后,查找存储的惯性位移列表,所述惯性位移列表中记载有一一对应的位置值和预存惯性值;若在所述惯性位移列表中未查找到与运动目标值一致的位置值,依据默认惯性值控制电机运行驱动滑块移动至第一惯性前位置后控制电机停止运行,所述第一惯性前位置为运行目标值减去默认惯性值;在电机停止运行预定时长后获得滑块的当前位置,根据所述第一惯性前位置得到第一当前惯性值,并将所述第一当前惯性值与运行目标值相对应进行存储并增加到所述惯性位移列表中;若在所述惯性位移列表中查找到与运动目标值一致的位置值,依据所述预存惯性值控制电机运行驱动滑块移动至第二惯性前位置后控制电机停止运行,所述第二惯性前位置为运行目标值减去预存惯性值;在电机停止运行预定时长后获得滑块的当前位置,根据所述第二惯性前位置得到第二当前惯性值,并依据所述第二当前惯性值更新所述惯性位移列表中与运行目标值相对应的预存惯性值。实现上述技术方案,初始时,在存储介质内预存惯性位移列表和默认惯性值,且初始状态下预存惯性值与默认惯性值相同,使用时,用户先通过输入模块向处理器输入一运行目标值,处理器在接收到该运行目标值后,在惯性位移列表中查找是否存在与该运行目标值相同的位置值,若未能查找到,则控制电机驱动滑块移动至第一惯性前位置,随后在惯性的作用下,滑块会继续移动一小段距离,该段距离即为第一当前惯性值,通过反馈模块测出滑块的当前距离减去第一惯性前位置即为第一当前惯性值,此时处理器将运行目标值与第一当前惯性值对应增加到惯性位移列表中,从而形成一组新的惯性数据;而若能够在惯性位移列表中查找到与该运行目标值相一致的位置值,则处理器以该位置值对应的预存惯性值为参照,控制电机运行到第二惯性前位置,随后在惯性的作用下,滑块继续向前移动一小段距离,该段距离即为第二当前惯性值,通过反馈模块测出滑块的当前距离减去第二惯性前位置即为第二当前惯性值,并同时通过处理器将该第二当前惯性值存储到惯性位于列表中,替换当前的预存惯性值,从而对预存惯性值进行实时的更新;由于一根丝杠上的各位点受力状况基本相同,因此在每个位点的惯性也基本是一致的,因此第一当前惯性值和第二当前惯性值即为运行目标值相对应的惯性值;由于用户输入的运行目标值对应的惯性值是上一次更新的最新惯性值,因此保证了惯性位移列表中的预存惯性值时刻保持最新的状态,从而解决了由于电机老化、丝杆运行过程中松紧不同、润滑油多少、装配松紧问题而产生的电机惯性不同的问题,并进而会根据这些情况自动适应当前电机运行环境,使得对电机的控制更加精确,且省去了人工调试的过程,操作更加简便。结合第二方面,在第一种可能实现的方式中,所述反馈模组从如下结构中选择单独或者组合适用:编码器、距离传感器或者测距仪。结合第二方面,在第二种可能实现的方式中,对应滑块的运动方向,所述预存惯性值包括:预存前惯性值和预存后惯性值,所述第一当前惯性值包括:第一当前前惯性值和第一当前后惯性值,所述第二当前惯性值包括:第二当前前惯性值和第二当前后惯性值;所述第一当前惯性值为滑块的当前位置减去所述第一惯性前位置;所述第二当前惯性值为滑块的当前位置减去所述第二惯性前位置。结合第二方面,在第三种可能实现的方式中,所述默认惯性值为2-5mm;所述预定时长为500-800ms。第三方面,本发明提供一种存储介质,所述存储介质中存储有指令集,当其在处理器中运行时,处理器依据所述指令集执行第一方面中任意技术方案所述的方法。综上所述,本发明具有如下有益效果:本发明实施例通过提供一种运动系统精确定位控制方法、控制系统及存储介质,其中,控制方法包括:在接收到运行目标值后,查找存储的惯性位移列表,所述惯性位移列表中记载有一一对应的位置值和预存惯性值;若在所述惯性位移列表中未查找到与运动目标值一致的位置值,获得第一当前惯性值,并将所述第一当前惯性值与运行目标值相对应进行存储并增加到所述惯性位移列表中;若在所述惯性位移列表中查找到与运动目标值一致的位置值,则获得第二当前惯性值,并依据所述第二当前惯性值更新所述惯性位移列表中与运行目标值相对应的预存惯性值。由于用户输入的运行目标值对应的惯性值是上一次更新的最新惯性值,因此保证了惯性位移列表中的预存惯性值时刻保持最新的状态,从而解决了由于电机老化、丝杆运行过程中松紧不同、润滑油多少、装配松紧问题而产生的电机惯性不同的问题,并进而会根据这些情况自动适应当前电机运行环境,使得对电机的控制更加精确,且省去了人工调试的过程,操作更加简便。附图说明为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为本发明实施例中控制系统的结构示意图。图2为本发明实施例中控制方法的流程图。具体实施方式在下面的详细描述中,提出了许多具体细节,以便于对本发明的全面理解。但是,对于本领域技术人员来说很明显的是,本发明可以在不需要这些具体细节中的一些细节的情况下实施。下面对实施例的描述仅仅是为了通过示出本发明的示例来提供对本发明的更好地理解。下面将结合附图,对本发明实施例的技术方案进行描述。一种运动系统精确定位控制系统,包括:处理器,处理器内设有存储介质;与处理器相连的输入模组,输入模组用于输入运行目标值;与处理器及电机相连的电机控制器,用于接收处理器的控制指令控制电机运行;以及,反馈模组,用于测定滑块的当前位置、并产生位置信息反馈至处理器中。其中,存储介质中存储有指令集用于执行如下操作:在接收到运行目标值后,查找存储的惯性位移列表,惯性位移列表中记载有一一对应的位置值和预存惯性值;若在惯性位移列表中未查找到与运动目标值一致的位置值,依据默认惯性值控制电机运行驱动滑块移动至第一惯性前位置后控制电机停止运行,第一惯性前位置为运行目标值减去默认惯性值;在电机停止运行预定时长后获得滑块的当前位置,根据第一惯性前位置得到第一当前惯性值,并将第一当前惯性值与运行目标值相对应进行存储并增加到惯性位移列表中;若在惯性位移列表中查找到与运动目标值一致的位置值,依据预存惯性值控制电机运行驱动滑块移动至第二惯性前位置后控制电机停止运行,第二惯性前位置为运行目标值减去预存惯性值;在电机停止运行预定时长后获得滑块的当前位置,根据第二惯性前位置得到第二当前惯性值,并依据第二当前惯性值更新惯性位移列表中与运行目标值相对应的预存惯性值。具体的,输入模组为按键、键盘或者触摸屏,反馈模组从如下结构中选择单独或者组合适用:编码器、距离传感器或者测距仪,本实施例中,反馈模组选用编码器。对应滑块的运动方向,预存惯性值包括:预存前惯性值和预存后惯性值,第一当前惯性值包括:第一当前前惯性值和第一当前后惯性值,第二当前惯性值包括:第二当前前惯性值和第二当前后惯性值;第一当前惯性值为滑块的当前位置减去第一惯性前位置;第二当前惯性值为滑块的当前位置减去第二惯性前位置;由于滑块有两个运行方向,因此相应的在丝杆的每个位置上也对应有两个惯性值,即前惯性值和后惯性值,电机带动滑块向前滑行因惯性产生的距离即为前惯性值,电机带动滑块向后滑行因惯性产生的距离即为后惯性值。默认惯性值为2-5mm,本实施例中默认惯性值为3mm,根据丝杠的特性和相关试验结果,丝杠的初始惯性值在2-5mm之间,因此将该距离设置为默认惯性值,使得初始使用时,对电机的控制更加精确;预定时长为500-800ms,本实施例中预定时长为500ms,预定时长在500-800ms之间时,滑块可以在惯性移动后停止,且使得距离采集更加过程快速。初始时,在存储介质内预存惯性位移列表和默认惯性值,且初始状态下预存惯性值与默认惯性值相同,使用时,用户先通过输入模块向处理器输入一运行目标值,处理器在接收到该运行目标值后,在惯性位移列表中查找是否存在与该运行目标值相同的位置值,若未能查找到,则控制电机驱动滑块移动至第一惯性前位置,随后在惯性的作用下,滑块会继续移动一小段距离,该段距离即为第一当前惯性值,通过反馈模块测出滑块的当前距离减去第一惯性前位置即为第一当前惯性值,此时处理器将运行目标值与第一当前惯性值对应增加到惯性位移列表中,从而形成一组新的惯性数据;而若能够在惯性位移列表中查找到与该运行目标值相一致的位置值,则处理器以该位置值对应的预存惯性值为参照,控制电机运行到第二惯性前位置,随后在惯性的作用下,滑块继续向前移动一小段距离,该段距离即为第二当前惯性值,通过反馈模块测出滑块的当前距离减去第二惯性前位置即为第二当前惯性值,并同时通过处理器将该第二当前惯性值存储到惯性位于列表中,替换当前的预存惯性值,从而对预存惯性值进行实时的更新;由于一根丝杠上的各位点受力状况基本相同,因此在每个位点的惯性也基本是一致的,因此第一当前惯性值和第二当前惯性值即为运行目标值相对应的惯性值;由于用户输入的运行目标值对应的惯性值是上一次更新的最新惯性值,因此保证了惯性位移列表中的预存惯性值时刻保持最新的状态,从而解决了由于电机老化、丝杆运行过程中松紧不同、润滑油多少、装配松紧问题而产生的电机惯性不同的问题,并进而会根据这些情况自动适应当前电机运行环境,使得对电机的控制更加精确,且省去了人工调试的过程,操作更加简便,同时无需进行反复的定位和校正,延长了丝杆、电机及接触器的使用寿命。相应的,本实施例还提供一种运动系统精确定位控制方法,包括:在接收到运行目标值后,查找存储的惯性位移列表,惯性位移列表中记载有一一对应的位置值和预存惯性值;若在惯性位移列表中未查找到与运动目标值一致的位置值,依据默认惯性值控制电机运行驱动滑块移动至第一惯性前位置后控制电机停止运行,第一惯性前位置为运行目标值减去默认惯性值;在电机停止运行预定时长后获得滑块的当前位置,根据第一惯性前位置得到第一当前惯性值,并将第一当前惯性值与运行目标值相对应进行存储并增加到惯性位移列表中;若在惯性位移列表中查找到与运动目标值一致的位置值,依据预存惯性值控制电机运行驱动滑块移动至第二惯性前位置后控制电机停止运行,第二惯性前位置为运行目标值减去预存惯性值;在电机停止运行预定时长后获得滑块的当前位置,根据第二惯性前位置得到第二当前惯性值,并依据第二当前惯性值更新惯性位移列表中与运行目标值相对应的预存惯性值。其中,对应滑块的运动方向,预存惯性值包括:预存前惯性值和预存后惯性值,第一当前惯性值包括:第一当前前惯性值和第一当前后惯性值,第二当前惯性值包括:第二当前前惯性值和第二当前后惯性值;第一当前惯性值为滑块的当前位置减去第一惯性前位置,第二当前惯性值为滑块的当前位置减去第二惯性前位置;默认惯性值为2-5mm,本实施例中默认值为3mm,预定时长为500-800ms,本实施例中预定时长为500ms。下面就其中一个具体实例进行详细的说明:步骤一:系统在初始状态下时,在处理器的芯片中烧录程序时,在芯片中存入初始的惯性位移列表及默认惯性值,当然也可只设定默认惯性值,比如本实施例中设定默认惯性值为3mm。步骤二:当系统上电时,首先用户校准好当前滑块的位置,假设当前位置是50mm,然后手动输入一个运行目标值,假如运行目标的位置是100mm,那么系统首先在惯性位移列表中寻找位置值100mm的数据,这些数据通常是保存在掉电保存区域的,如eeprom或者外部存储器;如果没有找到100mm的位置值,那么就建立一张新的数据表,编号为1、位置值为100mm,然后控制电机开始运行,当电机到运行目标值减去默认惯性值的位置(100mm-3mm),即97mm的位置时,控制电机停止运转,电机利用向前冲的惯性会继续带动滑块向前滑动一段距离,当电机完全停止后超过500ms(根据丝杆后安装的编码器反馈的当前位置可以判断当前电机是否停止),假设此时停止后滑块的位置为99.8mm,即可计算出当前电机在运行目标值为100mm的前惯性的惯性距离为当前位置减去电机停止驱动时的位置,既前惯性为(99.8mm-97mm)=2.8mm,那么就可以将运行目标值100mm和前惯性值保存在惯性位移列表的编号为1的表格中;而电机反向反方向运行,即可算出运行目标值位置为100mm的后惯性值,并保存在编号为1表格中;如果能够找到100mm的位置值,则相应的可以读取对应的前惯性值和后惯性值,例如查找到的前惯性值为2.8mm,然后控制电机开始运行,当电机到运行目标值减去读取的前惯性值的位置(100mm-2.8mm),即97.2mm的位置时,控制电机停止运转,电机利用向前冲的惯性会继续带动滑块向前滑动一段距离,当电机完全停止后超过500ms(根据丝杆后安装的编码器反馈的当前位置可以判断当前电机是否停止),假设此时停止后滑块的位置为99.9mm,即可计算出当前电机在运行目标值为100mm的前惯性的惯性距离为当前位置减去电机停止驱动时的位置,既前惯性为(99.8mm-97mm)=2.7mm,那么就可以将该前惯性值更新到惯性位移列表中,即将开始查找到的2.8的前惯性值对应修改成2.7;而电机反向反方向运行,即可算出运行目标值位置为100mm的后惯性值,并更新到在惯性位移列表中;。步骤三:根据第二步的建表流程,用户每次输入运行目标值时,就会通过此种方式建立新的惯性数据库,这张惯性位移列表可无限扩张下去,只要芯片的存储空间足够大,即可一直扩展下去;另外,当用户如果输入的运行目标值在惯性位移列表内已经存在了,每次调用的惯性值都会重新被算法更新,也就是用户输入的运行目标值的前、后惯性是用户上一次更新的最新惯性值,这样就保证了惯性位移列表中的数据时刻保持最新,从而解决了由于电机老化、丝杆运行过程中松紧不同、润滑油多少、装配松紧问题而产生的电机惯性不同的问题。最终建立的惯性位移列表如下表所示:编号运行目标值/mm前惯性/mm后惯性/mm11002.72.9250.12.83.131202.93.0420.32.63.253002.73.163592.63.1············当建立了一张对应的电机在每个点的惯性位移列表以后,滑块定位的问题就迎刃而解了。比如,当前电机的位置是在10mm的位置,当用户手动输入目标运行位置为100mm时,那么系统会首先在惯性位移列表里面寻找运行目标值为100mm的数据索引,然后再根据100mm的运行目标值调用前惯性的值,前惯性表示是电机在向前加的方向上参数的惯性距离,通过惯性位移列表可知,当前前惯性值为2.7mm,那么电机获取到这个前惯性值后,就要在运行目标值减去前惯性值(100mm-2.7mm)=97.3mm的位置停止驱动电机,然后利用电机停止后的运动惯性向前冲2.7mm,也就是刚刚好到达用户设定的运行目标值100mm,即可实现精准定位。同时,随着用户使用次数越高,系统的惯性位移列表越来越精准,定位精度也会越来越高,并且可随着机械的磨损程度、松紧程度、老化程度自动更新惯性位移列表内的惯性值。相应的,本发明实施例还提供一种存储介质,存储介质中存储有指令集,当其在处理器中运行时,处理器依据指令集执行本实施例中的控制方法。以上实施例仅用以说明本发明的技术方案,而非对发明的保护范围进行限制。显然,所描述的实施例仅仅是本发明部分实施例,而不是全部实施例。基于这些实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明所要保护的范围。尽管参照上述实施例对本发明进行了详细的说明,本领域普通技术人员依然可以在不冲突的情况下,不作出创造性劳动对本发明各实施例中的特征根据情况相互组合、增删或作其他调整,从而得到不同的、本质未脱离本发明的构思的其他技术方案,这些技术方案也同样属于本发明所要保护的范围。以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1