1.一种运动控制方法,其特征在于,所述方法包括:
S1、第一信号转换器将外部编码器采集的差分数据信号转换为单端数据信号,并将所述单端数据信号发送至FPGA解码器;
S2、FPGA解码器对所述单端数据信号进行解码,并将解码得到的数据信号发送至ARM控制器;
S3、ARM控制器通过主定时器模块读取所述解码得到的数据信号以及上位机发送的控制参数,并根据预设的复合控制算法获取控制输出量,并将所述控制输出量输出至DA转换器;所述复合控制算法由PID闭环控制、前馈控制构成;
S4、DA转换器将所述控制输出量由数字量形式转变为模拟量形式,然后将其输出至电机驱动器;
其中,所述ARM控制器装载有UCOSII操作系统。
2.如权利要求1所述的方法,其中,在步骤S3中,所述ARM控制器通过主定时器模块读取所述解码得到的数据信号以及上位机发送的控制参数,具体包括:
读取上位机发送的控制参数,并判断ARM控制器中的控制参数是否改变;若控制参数改变,则对ARM控制器重新进行初始化;若控制参数未改变或者在重新初始化之后,读取FPGA解码器解码得到的数据信号、并将其转换为角度数据。
3.如权利要求2所述的方法,其中,在步骤S3中,所述主定时器模块根据预设的复合控制算法获取控制输出量,具体包括:
根据所述角度数据获取位置反馈数据,并对所述位置反馈数据进行一阶滤波获取速度反馈数据;
根据电机运行模式调用相应的轨迹规划函数,计算位置期望数据;其中,所述轨迹规划函数为梯形规划函数或三角形规划函数;
根据所述位置反馈数据、位置期望数据计算位置环偏差,并将所述位置环偏差输入PID位置闭环,以获取位置环PID控制量;
对所述位置环PID控制量进行二阶滤波,获取速度期望数据;
根据所述速度反馈数据、速度期望数据计算速度环偏差,并将所述速度环偏差输入PID速度闭环,以获取速度环PID控制量。
4.如权利要求3所述的方法,其中,所述一阶滤波具体为:
式中,Δv为速度反馈数据,s1为当前时刻的角度增量,s2为与s1相邻的前一时刻的角度增量、s3为与s2相邻的前一时刻的角度增量、s4为与s3相邻的前一时刻的角度增量。
5.如权利要求3所述的方法,其中,所述根据所述角度数据获取位置反馈数据,具体包括:
判断当前采集的角度数据是否正确;若当前采集的角度数据正确,则将错误计数清零,并将当前采集的角度数据作为当前的位置反馈数据;若当前采集的角度数据错误,则将错误计数加1,并且,在连续出错次数小于100次时,用前一时刻的位置反馈数据作为当前的位置反馈数据。
6.如权利要求5所述的方法,其中,在当前采集的角度数据错误时,所述方法还包括:
若连续出错次数大于等于100次,则令ARM控制器进入紧急停车模式,以使控制输出量为0。
7.如权利要求3所述的方法,其中,在获取速度反馈数据之后,且在计算位置期望数据之前,所述方法还包括:
根据所述速度反馈数据判断电机是否超速;若电机未超速,则将超速计数清零;若电机超速,则将超速计数加1;并且,在连续超速次数大于100次时,令ARM控制器进入紧急停车模式,以使控制输出量为0。
8.如权利要求3所述的方法,其中,在根据预设的复合控制算法获取控制输出量之后,且在将所述控制输出量输出至DA转换器之前,所述方法还包括:
判断所述控制输出量是否超出预设的输出极限值;若所述控制输出量超出所述输出极限值,则将所述输出极限值输出至DA转换器;若所述控制输出量未超出所述输出极限值,则将控制输出量输出至DA转换器。
9.如权利要求1-8任一所述的方法,其中,所述方法还包括:所述ARM控制器通过网络通信模块接收上位机发送的控制参数,以及向上位机返回ARM控制器的状态信息。
10.一种运动控制装置,其特征在于,所述装置包括:第一信号转换器、FGPA解码器、装载有UCOSII操作系统的ARM控制器、DA转换器;所述ARM控制器包括:主定时器模块、网络通信模块;
第一信号转换器用于将外部编码器采集的差分数据信号转换为单端数据信号,并将所述单端数据信号发送至FPGA解码器;
FPGA解码器用于对所述单端数据信号进行解码,并将解码得到的数据信号发送至ARM控制器;
ARM控制器用于通过所述网络通信模块接收上位机发送的控制参数,以及向上位机返回ARM控制器的状态信息;ARM控制器还用于通过主定时器模块读取所述解码得到的数据信号以及上位机发送的控制参数,并根据预设的复合控制算法获取控制输出量,并将所述控制输出量输出至DA转换器;所述复合控制算法由PID闭环控制、前馈控制构成;
DA转换器用于将所述控制输出量由数字量形式转变为模拟量形式,然后将其输出至电机驱动器;
其中,所述ARM控制器为STM32芯片。