一种电动舵机的控制方法和控制系统与流程

文档序号:13515799阅读:687来源:国知局
一种电动舵机的控制方法和控制系统与流程

本发明涉及电动舵机控制领域,尤其涉及一种电动舵机的控制方法和控制系统。



背景技术:

电动舵机是导弹的重要部件系统,随着导弹性能的不断提升,对电动舵机的体积大小要求也越来越高。目前导弹上通常均匀分布四路舵机,每个舵机采用一个控制器,每个控制器需要单独的配电线缆和通信接口。电动舵机系统中的伺服电机一般采用三相无刷直流电机,在控制过程中,需要采集电机的霍尔信号来对电机进行换相控制和外接编码器来采集电机的转速信息,同时需要生成六路pwm波给驱动电路,从而控制电机旋转。通常采用dsp作为控制器的cpu,但是由于dsp的专用编码器接口和捕获接口的数量限制,通常一块dsp只用来控制一路舵机。这种方式不仅增加了电动舵机系统的体积、成本、元器件的数量而且增加了线束的数量,降低了系统的可靠性的同时也给电动舵机系统的布线增加了难度。



技术实现要素:

本发明旨在解决现有技术中电动舵机系统的体积较大的技术问题,提供一种电动舵机的控制方法和控制系统。

本发明提供一种实施例的电动舵机的控制方法,所述电动舵机包括主控制器芯片dsp和cpld,所述控制方法包括以下步骤:

所述主控制器芯片dsp获取到定时中断信号;

所述主控制器芯片dsp获取至少两路电位器的电压采样值,并根据所述电压采样值得到每路对应输出轴的当前旋转角度;

所述主控制器芯片dsp获取cpld采集的至少两路编码器的脉冲计数值,并根据所述编码器的脉冲计数值和预设的脉冲计数值,得到每路对应电机的转速;

所述主控制器芯片dsp根据每路对应输出轴的当前旋转角度和每路对应电机的转速,得到每路参考pwm波和每路方向信号并输出至所述cpld以同时控制至少两路电机旋转。

本发明还提供一种实施例的电动舵机的控制系统,所述控制系统包括主控制器芯片dsp、cpld、电源转换电路、电位器电压采集电路、rs422串口通信电路、编码器接口电路、霍尔信号接口电路、隔离电路、驱动电路和三相桥式功率主电路,其中电源转换电路分别给主控制器芯片dsp、cpld、电位器电压采集电路、rs422串口通信电路、编码器接口电路、霍尔信号接口电路、隔离电路、驱动电路和三相桥式功率主电路供电;

电位器电压采集电路,用于采集至少两路电位器的电压采样值;

霍尔信号接口电路,用于采集至少两路电机的霍尔信号;

所述主控制器芯片dsp分别与电位器电压采集电路和cpld连接,当获取到1ms中断信号后,启动程序,获取至少两路电位器的电压采样值,并根据所述电压采样值得到每路对应输出轴的当前旋转角度,获取cpld采集的至少两路编码器的脉冲计数值,并根据所述编码器的脉冲计数值和预设的脉冲计数值,得到每路对应电机的转速,以及根据每路对应输出轴的当前旋转角度和每路对应电机的转速,得到每路参考pwm波和每路方向信号并输出至所述cpld以同时控制至少两路电机旋转;

所述cpld分别与编码器接口电路、霍尔信号接口电路和隔离电路连接。

本发明还提供一种实施例的计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述方法的步骤。

本发明的技术方案与现有技术相比,有益效果在于:所述主控制器芯片dsp和所述cpld的组合,可以输出与至少两路对应数量的pwm波信号以同时控制至少两路电机旋转,从而能够有效的减少电动舵机的体积和成本,降低了电动舵机系统布线的难度,减少了控制器的电子元器件,提高了系统升级的便捷性的可靠性。

附图说明

图1为电动舵机的控制方法一种实施例的流程图。

图2为电动舵机的控制方法另一种实施例的流程图。

图3为电动舵机的控制系统一种实施例的结构框图。

图4为电动舵机的控制系统一种实施例的结构框图。

301、主控制器芯片dsp,302、cpld,303、电源转换电路,304、电位器电压采集电路,305、编码器接口电路,306、霍尔信号接口电路,307、隔离电路,308、驱动电路,309、三相桥式功率主电路,310、rs422串口通信电路。

具体实施方式

下面结合附图对本发明的具体实施方式作进一步说明。

本发明提供一种实施例的电动舵机的控制方法,所述电动舵机包括主控制器芯片dsp(digitalsignalprocessing,数字信号处理)和cpld(complexprogrammablelogicdevice,复杂可编程逻辑器件),如图1所示,所述控制方法包括以下步骤:

步骤s11,所述主控制器芯片dsp获取到定时中断信号;

步骤s12,所述主控制器芯片dsp获取至少两路电位器的电压采样值,并根据所述电压采样值得到每路对应输出轴的当前旋转角度;

步骤s13,所述主控制器芯片dsp获取cpld采集的至少两路编码器的脉冲计数值,并根据所述编码器的脉冲计数值和预设的脉冲计数值,得到每路对应电机的转速;

步骤s14,所述主控制器芯片dsp根据每路对应输出轴的当前旋转角度和每路对应电机的转速,得到每路参考pwm波和每路方向信号并输出至所述cpld;

步骤s15,所述cpld采集至少两路电机的霍尔信号,根据每路参考pwm波、每路方向信号和每路电机的霍尔信号在电机的控制换相逻辑下进行组合,输出与至少两路对应数量的pwm波信号以同时控制至少两路电机旋转。

本发明的电动舵机的控制方法,通过所述主控制器芯片dsp和所述cpld的组合,可以输出与至少两路对应数量的pwm波信号以同时控制至少两路电机旋转,从而能够有效的减少电动舵机的体积和成本,降低了电动舵机系统布线的难度,减少了控制器的电子元器件,提高了系统升级的便捷性的可靠性。

在具体实施中,步骤s12,具体包括以下步骤:

所述主控制器芯片dsp在所述电动舵机在机械零位时获取至少两路电位器的第一电压采样值;

所述主控制器芯片dsp在预设的控制周期内获取至少两路电位器的第二电压采样值;

所述主控制器芯片dsp根据所述第一电压采样值和第二电压采样值,得到每路对应输出轴的当前旋转角度。

具体的,预设的控制周期为1ms,也就是说每隔1ms开始时,主控制器芯片dsp同时采集至少两路不同电位器的第二电压采样值。所述主控制器芯片根据所述第一电压采样值和第二电压采样值,得到每路对应输出轴的当前旋转角度的计算公式如下:

每路对应输出轴的当前旋转角度为:(v2-v1)*6;

其中,v1为所述第一电压采样值,v2为第二电压采样值,6是由电位器参数决定的,电气角度为60°,采用10v的电压进行供电,所以电气角度和电压值的比例系数为6。

具体的,在步骤s13中,由于定时中断为1ms定时中断,每路编码器的脉冲计数值为在1ms时编码器输出的脉冲计数值,即所述主控制器芯片dsp在1ms时读取到的所述编码器的脉冲计数值,预设的脉冲计数值为初始计数值,比如32768,在1ms时编码器输出的脉冲计数值与预设的脉冲计数值的差值就是1ms内电机转动编码器产生的脉冲个数。由于编码器为512线的编码器,电机旋转一圈产生可以2048个脉冲,所以1ms内电机转速为(在1ms时编码器输出的脉冲计数值-32768)*29.3,单位是rpm,其中29.3为转换系数以将计数值转换为转速值。

在具体实施中,步骤s14,具体包括以下步骤:

所述主控制器芯片dsp根据每路对应输出轴的当前旋转角度和每路对应电机的转速,通过控制率计算得到计数码值;

所述主控制器芯片dsp根据所述计数码值输出对应的每路参考pwm波和对应的每路方向信号。

具体的,每路对应输出轴的当前旋转角度和每路对应电机的转速,通过控制率计算得到计数码值,同时将得到的计数码值取绝对值后写入主控制器芯片dsp的事件管理器的比较寄存器中,主控制器芯片dsp会根据比较寄存器的数值产生相应的pwm波。另外,所述每路方向信号具体为:当主控制器芯片dsp得到的计数码值为正数时,方向信号为高电平信号;当主控制器芯片dsp算得的计数码值为负数时,方向信号为低电平信号,其中,高电平信号表示电机顺时针正向旋转,低电平信号表示电机逆时针反向旋转。

在具体实施中,所述控制方法包括以下步骤:

所述主控制器芯片dsp获取到串口通信中断信号;

所述主控制器芯片dsp接收弹载计算机发出的四路舵偏角指令;

所述主控制器芯片dsp对接收到的四路舵偏角指令进行校验和解码;

所述主控制器芯片dsp将每路对应输出轴的当前旋转角度输出至所述弹载计算机。

在具体实施中,如图2所示,本发明一种实施例的电动舵机的控制方法,可以同时控制四路舵机即同时控制四路电机的旋转,所述控制方法包括以下步骤:

步骤s21,舵机系统上电;

步骤s22,进行系统初始化、外设初始化和中断初始化;

步骤s23,进行中断等待;

步骤s24,所述主控制器芯片dsp判断是否获取到定时中断信号,如果是进入步骤s25,如果否进入步骤s201;

步骤s25,所述主控制器芯片dsp启动ad转换;

步骤s26,所述主控制器芯片dsp读取电位器的电压值,对应转换成输出轴的当前旋转角度;

步骤s27,所述主控制器芯片dsp读取cpld解算的编码器码值,计算电机的速度;

步骤s28,进入位置环和速度环控制算法,得到计数码值,并将计数码值写入主控制器芯片dsp的事件管理器的比较寄存器中;

步骤s29,所述主控制器芯片dsp输出每路参考pwm波和每路方向信号并输出至所述cpld,返回步骤s23;

步骤s201,所述主控制器芯片dsp判断是否获取到串口通信中断信号,如果是,进入步骤s202,如果否,返回步骤s23;

步骤s202,所述主控制器芯片dsp接收弹载计算机发出的四路舵偏角指令;

步骤s203,所述主控制器芯片dsp对接收到的四路舵偏角指令进行校验和解码;

步骤s204,所述主控制器芯片dsp将每路对应输出轴的当前旋转角度输出至所述弹载计算机,返回步骤s23。

在步骤s24中,中断程序包括1ms定时中断和2ms串口通信中断,另外1ms定时中断的优先级高于串口通信中断,1ms定时中断是整个舵机的控制中断,而串口通信中断用于接收弹载计算机发出的四路舵偏角指令,指令数据帧包括起始位、数据位和校验位。

在步骤s28中,位置环采用pi控制器,输出轴的旋转角度是pi控制器的反馈量。速度环采用pi控制器,电机的转速是速度环的反馈量。

在所述主控制器芯片dsp输出每路参考pwm波和每路方向信号并输出至所述cpld之后,即所述主控制器芯片dsp输出单路pwm波信号和方向信号到cpld,由于所述主控制器芯片需要控制四路电机,主控制器芯片dsp输出四路pwm波信号和方向信号到cpld,cpld内部同时采集4路电机的霍尔信号,与主控制器芯片dsp输出的参考pwm波和方向信号根据三相无刷直流电机的控制换相逻辑进行组合,输出24路pwm波信号,从而同时控制4路电机旋转。由于控制1个电机只需要6个pwm波,6个pwm波见表1中的v1-v6,4路电机中的每路电机的控制逻辑表都是一样的,每路电机的控制逻辑表如表1所示,其中hall1、hall2和hall3代表三个霍尔信号为三相无刷直流电机中自带的霍尔传感器产生的。

表1

本发明还提供一种实施例的电动舵机的控制系统,如图3所示,所述控制系统包括主控制器芯片dsp301、cpld302、电源转换电路303、电位器电压采集电路304、编码器接口电路305、霍尔信号接口电路306、隔离电路307、驱动电路308和三相桥式功率主电路309,rs422串口通信电路310。其中电源转换电路303分别给主控制器芯片dsp301、cpld302、电位器电压采集电路304、编码器接口电路305、rs422串口通信电路310、霍尔信号接口电路306、隔离电路307、驱动电路308和三相桥式功率主电路309供电;

电位器电压采集电路304,用于采集至少两路电位器的电压采样值;

霍尔信号接口电路306,用于采集至少两路电机的霍尔信号;

所述主控制器芯片dsp301分别与电位器电压采集电路304和cpld302连接,当获取到1ms中断信号后,启动程序,获取至少两路电位器的电压采样值,并根据所述电压采样值得到每路对应输出轴的当前旋转角度,获取cpld采集的至少两路编码器的脉冲计数值,并根据所述编码器的脉冲计数值和预设的脉冲计数值,得到每路对应电机的转速,以及根据每路对应输出轴的当前旋转角度和每路对应电机的转速,通过控制算法,得到每路参考pwm波和每路方向信号并输出至所述cpld以同时控制至少两路电机旋转;

所述cpld302分别与编码器接口电路305、霍尔信号接口电路306和隔离电路307连接。

在具体实施中,所述cpld302还用于采集至少两路电机的霍尔信号,根据每路参考pwm波、每路方向信号和每路电机的霍尔信号在电机的控制换相逻辑下进行组合,输出与至少两路对应数量的pwm波信号以同时控制至少两路电机旋转。具体的,三相桥式功率主电路309与电机连接。电机为三相无刷直流电机。当电动舵机中具有4路电机时,cpld内部同时采集4路电机的霍尔信号,与主控制器芯片dsp301输出的参考pwm波和方向信号根据三相无刷直流电机的控制换相逻辑进行组合,输出24路pwm波信号,从而同时控制4路电机旋转。

本发明的电动舵机的控制系统,通过所述主控制器芯片dsp301和所述cpld302的组合,可以输出与至少两路对应数量的pwm波信号以同时控制至少两路电机旋转,从而能够有效的减少电动舵机的体积和成本,降低了电动舵机系统布线的难度,减少了控制器的电子元器件,提高了系统升级的便捷性的可靠性。

在具体实施中,所述主控制器芯片dsp301还用于:

在所述电动舵机在机械零位时获取至少两路电位器的第一电压采样值;

在预设的控制周期内获取至少两路电位器的第二电压采样值;

根据所述第一电压采样值和第二电压采样值,得到每路对应输出轴的当前旋转角度。

具体的,预设的控制周期为1ms,也就是说每隔1ms开始时,主控制器芯片同时采集四路不同电位器的第二电压采样值。所述主控制器芯片根据所述第一电压采样值和第二电压采样值,得到每路对应输出轴的当前旋转角度的计算公式如下:

每路对应输出轴的当前旋转角度为:(v2-v1)*6;

其中,v1为所述第一电压采样值,v2为第二电压采样值,6是由电位器参数决定的,电气角度为60°,采用10v的电压进行供电,所以电气角度和电压值的比例系数为6。

具体的,在所述主控制器芯片dsp301用于获取cpld采集的至少两路编码器的脉冲计数值时,由于定时中断为1ms定时中断,每路编码器的脉冲计数值为在1ms时编码器输出的脉冲计数值,即所述主控制器芯片在1ms时读取到的所述编码器的脉冲计数值,预设的脉冲计数值为初始计数值,比如32768,在1ms时编码器输出的脉冲计数值与预设的脉冲计数值的差值就是1ms内电机转动编码器产生的脉冲个数,即在1ms时编码器输出的脉冲计数值与32768的差值就是1ms内电机转动编码器产生的脉冲个数。由于编码器为512线的编码器,电机旋转一圈产生可以2048个脉冲,所以1ms内电机转速为(在1ms时编码器输出的脉冲计数值-32768)*29.3,单位是rpm,其中29.3为转换系数以将计数值转换为转速值。

在具体实施中,所述主控制器芯片dsp301用于:

所述主控制器芯片dsp根据每路对应输出轴的当前旋转角度和每路对应电机的转速,通过控制率计算得到计数码值;

所述主控制器芯片dsp根据所述计数码值输出对应的每路参考pwm波和对应的每路方向信号。

具体的,每路对应输出轴的当前旋转角度和每路对应电机的转速,通过控制率计算得到计数码值,同时将得到的计数码值取绝对值后写入主控制器芯片dsp的事件管理器的比较寄存器中,主控制器芯片dsp会根据比较寄存器的数值产生相应的pwm波。另外,所述每路方向信号具体为:当主控制器芯片dsp得到的计数码值为正数时,方向信号为高电平信号;当主控制器芯片dsp算得的计数码值为负数时,方向信号为低电平信号,其中,高电平信号表示电机顺时针正向旋转,低电平信号表示电机逆时针反向旋转。

在具体实施中,所述主控制器芯片dsp301还用于:

获取到串口通信中断信号;

接收弹载计算机发出的四路舵偏角指令;

对接收到的四路舵偏角指令进行校验和解码;

将每路对应输出轴的当前旋转角度输出至所述弹载计算机。

在具体实施中,本发明一种实施例的电动舵机的控制系统可以同时控制四路舵机即同时控制四路电机的旋转,所述控制系统的工作过程如下:

舵机系统上电;

进行系统初始化、外设初始化和中断初始化;

进行中断等待;

所述主控制器芯片dsp判断是否获取到定时中断信号;

如果是,所述主控制器芯片dsp启动ad转换;

所述主控制器芯片dsp读取电位器的电压值,对应转换成输出轴的当前旋转角度;

所述主控制器芯片dsp读取cpld解算的编码器码值,计算电机的速度;

进入位置环和速度环控制算法,得到计数码值并写入到dsp事件管理器的比较寄存器中;

所述主控制器芯片dsp输出每路参考pwm波和每路方向信号并输出至所述cpld,接着进行中断等待;

当所述主控制器芯片dsp没有获取到定时中断信号,所述主控制器芯片dsp判断是否获取到串口通信中断信号,如果否,则接着进行中断等待;

当所述主控制器芯片dsp获取到串口通信中断信号时,所述主控制器芯片dsp接收弹载计算机发出的四路舵偏角指令;

所述主控制器芯片dsp对接收到的四路舵偏角指令进行校验和解码;

所述主控制器芯片dsp将每路对应输出轴的当前旋转角度输出至所述弹载计算机,则接着进行中断等待。

具体的,中断程序包括1ms定时中断和串口通信中断,另外1ms定时中断的优先级高于串口通信中断,1ms定时中断是整个舵机的控制中断,而串口通信中断用于接收弹载计算机发出的四路舵偏角指令,指令数据帧包括起始位、数据位和校验位。另外,所述主控制器芯片dsp输出单路pwm波信号和方向信号到cpld,由于所述主控制器芯片需要控制四路电机,主控制器芯片输出四路pwm波信号和方向信号到cpld,cpld内部同时采集4路电机的霍尔信号,与主控制器芯片dsp输出的参考pwm波和方向信号根据三相无刷直流电机的控制换相逻辑进行组合,输出24路pwm波信号,从而同时控制4路电机旋转。

具体的,位置环采用pi控制器,输出轴的旋转角度是pi控制器的反馈量。速度环采用pi控制器,电机的转速是速度环的反馈量。

在具体实施中,所述控制系统还包括rs422串口通信电路310,rs422串口通信电路310用于舵机控制器与弹上其他设备之间的通信。编码器接口电路305和霍尔信号接口电路306与cpld302相连,在cpld302内部用verilog语言编程,完成对编码器脉冲的计数,并通过emif接口将计数值发送给主控制器芯片dsp301,接着主控制器芯片dsp301用于计算电机的转速。霍尔信号与dsp通过控制算法生成的单路pwm波和方向信号在cpld302内部做逻辑运算,以产生驱动电机旋转的pwm波信号。三相桥式功率主电路309与cpld302之间通过磁耦进行隔离,即cpld302输出的pwm波信号经过隔离电路307和驱动电路308后来控制三相桥式功率主电路309中mosfet管的开关,从而控制四路电机的旋转。

在具体实施中,由于数据线为16位,计数范围为0-65536,由于要进行双向计数,所以为了防止计数值溢出,每个控制周期会对初始计数值进行复位到32768。

在具体实施中,如图4所示,主控制器芯片dsp301和cpld302之间通过emif接口311相连,emif接口311包括16位数据线、12位地址线,片选信号和时钟信号线。地址线上面不同的数据代表主控制器芯片dsp301对cpld302的不同操作,包括对四路编码器计数值的读取和复位。

本发明还提供一种实施例的计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述方法的步骤即图1中的步骤。

本发明的计算机可读存储介质,通过所述主控制器芯片dsp和所述cpld的组合,可以输出与至少两路对应数量的pwm波信号以同时控制至少两路电机旋转,从而能够有效的减少电动舵机的体积和成本,降低了电动舵机系统布线的难度,减少了控制器的电子元器件,提高了系统升级的便捷性的可靠性。

上述实施例和说明书中描述的只是说明本发明的原理和最佳实施例,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1