一种空间微牛级电推进控制系统的制作方法

文档序号:21776306发布日期:2020-08-07 19:38阅读:331来源:国知局
一种空间微牛级电推进控制系统的制作方法

本发明涉及航空航天以及soc设计领域,特别涉及一种空间微牛级电推进控制系统。



背景技术:

随着全球引力波探测计划的开展以及高精度对地观测和卫星导航等空间任务在精度、噪声等方面的需求提高,具有高精度、高分辨率和宽范围的微牛级推力推进技术成为迫切需要。空间微牛级推进技术的应用需求主要包括两个方面:一类是无拖曳控制卫星平台,用于空间引力波探测等;另一类是超高精度控制卫星平台,用于高精度空间导航、观测等任务。

目前国内外的推进技术主要有冷气推进技术、电喷雾推进技术、射频离子推进技术、霍尔电推进技术等。电推进技术相较于冷气推进技术,具有比冲高、推力小且精确可调、寿命长等优点。随着电推进技术的不断发展,基于流量或电流反馈、实时调节技术是未来高精度航天器控制的主流技术之一,因此需要发展基于闭环控制的电推进技术。

国内对于电推进的闭环控制方法均是通过simulink等仿真工具进行实现,但无法应用于航空航天设备中;通过软件实现,则具有控制效率低、出现程序跑飞误控等缺点。



技术实现要素:

本发明的目的在于克服现有技术的不足,提供一种空间微牛级电推进控制系统,通过fpga实现快速高精度的电压电流采集,通过采集到的电压电流实现推力闭环控制,提高推进器的推力范围和精度,降低推力噪声,并且增加分段式线性开环控制提供推力控制的可靠性。该系统已成功用于2019年发射的“太极一号”的射频离子微推进系统中,在国际上首次实现微牛级射频离子微推进技术的在轨验证。此外,本发明提供了一个通用化的闭环控制方案,能够适用于大部分电推进器,实现通用化设计。

为实现上述目的,本发明提出了一种空间微牛级电推进控制系统,分别与卫星平台、推力器的外围ad采集芯片及da芯片连接,所述系统包括:指令解析模块,遥测采集模块,推力转换模块,推力控制模块和da控制模块;

所述指令解析模块,用于解析卫星平台发送的指令,将解析得到的参数通过apb总线输出到推力控制模块;

所述遥测采集模块,用于控制ad采集芯片,采集推力器反馈的电压和电流,并将采集的电压和电流进行均值处理,将处理后的电压和电流发送至推力转换模块;

所述推力转换模块,用于将接收到的均值处理后的电压和电流转换为对应的推力值,发送至推力控制模块;

所述推力控制模块,用于选择使用开环控制或者闭环控制实现推力控制,基于接收的数据计算电压值,将电压值输出至da芯片控制模块;

所述da芯片控制模块,用于将接收的电压值转换为n值,输出到da芯片,从而实现微牛级推力输出到推力器。

作为上述系统的一种改进,所述系统还包括遥测打包模块,用于接收所述指令解析模块发送的遥测数据,以及所述遥测采集模块发送的均值处理后的电压和电流,打包后发送至卫星平台进行实时观测和数据分析。

作为上述系统的一种改进,所述指令解析模块解析得到的参数包括:配置的推力值、电压最大输出值vmax、开环控制的所有系数、闭环控制使能信号和pid控制参数。

作为上述系统的一种改进,所述推力控制模块包括开/闭环选通单元、推力闭环控制单元和推力开环控制单元;

所述开/闭环选通单元,用于判断闭环控制的使能信号是否为1,若为是,则启动推力闭环控制单元;否则,启动推力开环控制单元;

所述推力闭环控制单元,用于采用闭环控制,基于闭环控制的pid控制参数、所述推力转换模块发送的推力值以及配置的推力值,通过pid控制计算电压值,输出到da芯片控制模块;

所述推力开环控制单元,用于采用开环控制,基于开环控制所有系数以及配置的推力值直接计算电压值,输出到da芯片控制模块。

作为上述系统的一种改进,所述推力闭环控制单元通过pid控制算法计算推力对应的电压值,计算公式如下:

v(n)=v(n-1)+δv(n)

其中,v(n-1)为前一个采样周期的推力闭环控制单元输出的电压值;δv(n)为pid控制中的过程变量,t(n)为配置的当前采样周期的推力值,t(n-1)为前一个采样周期配置的推力值,为所述推力转换模块发送的前一个采样周期的推力器反馈的推力值,为所述推力转换模块发送的前两个采样周期的推力器反馈的推力值,δt为采样周期,kp为pid控制的p参数,ki为pid控制的i参数,kd为pid控制的d参数;

作为上述系统的一种改进,所述推力闭环控制单元的闭环控制过程为:

步骤t1)接收到推力转换模块发送的前一个采样周期的推力器反馈的推力值在推力转换模块中已左移8位,将t(n)左移4位,计算减法通过32位有符号加法器实现;

步骤t2)计算并左移4位,为实际值左移20位,乘法通过32位有符号乘法器实现;

步骤t3)将δt左移8位,计算ki×δt,为实际值左移16位;

步骤t4)计算ki×δt×t(n),为实际值左移20位;

步骤t5)计算为实际值左移8位;并计算为实际值左移20位;

步骤t6)从寄存器中取出计算为实际值左移8位;

步骤t7)计算并左移4位,为实际值左移20位;

步骤t8)计算

为实际值左移20位;

步骤t9)从寄存器中取出前一次闭环控制计算所得的电压值v(n-1),计算v(n)=v(n-1)+δv(n),v(n-1)为实际值左移20位;

步骤t10)判断v(n)的最高位是否为1,若为是,表示v(n)为负,则v(n)输出置为0;否则,判断v(n)的值是否大于电压输出最大值vmax,若为是,将vmax到输出到da芯片控制模块;否则,将v(n)输出到da芯片控制模块。

作为上述系统的一种改进,所述推力开环控制单元通过分段线性计算电压值,计算公式如下:

其中,a1,b1,a2,b2,a3,b3,a4,b4为配置的开环控制的系数,t(n)为配置的当前采样周期的推力值,v(n)为推力对应输出到da芯片控制模块的电压值。

作为上述系统的一种改进,所述推力开环控制单元的开环控制过程为:

步骤s1)检测t(n)是否小于等于240un,若为是,令v(n)=a1×t(n)+b1,这里的a1×t(n)通过32位有符号乘法器实现,由于a1×t(n)为实际值左移12位,因此b1需再左移4位后计算a1×t(n)+b1,加法通过32位有符号加法器实现;否则,进入步骤s2);

步骤s2)检测t(n)是否小于等于480un,若为是,令v(n)=a2×t(n)+b2,否则,进入步骤s3);

步骤s3)检测t(n)是否小于等于720un,若为是,令v(n)=a3×t(n)+b3,否则,令v(n)=a4×t(n)+b4;

步骤s4)将v(n)左移8位,

步骤s5)比较v(n)与电压最大输出值vmax,若大于vmax,将vmax到输出到da芯片控制模块;否则,将v(n)输出到da芯片控制模块。

与现有技术相比,本发明具有如下优点:

1、本发明能够实时调节pid参数,实现在轨更新参数的功能,针对不同的控制系统可灵活选择是否需要积分控制;

2、本发明将电推进控制方法通过fpga实现,将pid控制离散化,极大地提高了控制频率,并能够实现快速响应;

3、本发明将各个功能模块通用化,能够适用于大部分航天系统中需要闭环控制的设备,如冷气微推的闭环控制,温度的闭环控制等,并且代码的移植性高;

4、本发明的系统具有快速响应、灵活配置、通用性强和可靠性高的特点;其实现的推力连续可调,调节分辨率达到0.1un。

附图说明

图1为本发明的空间微牛级电推进控制系统的框图;

图2为本发明的ad采集控制时序图;

图3为本发明的推力控制流程图;

图4为本发明的da控制时序图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图和实施例对本发明做进一步详细说明。

本发明提供的空间微牛级电推进控制系统如图1所示,除卫星平台和推力器外,其他模块均在fpga内部实现,fpga选用actel的a3pe3000芯片,通过verilog语言实现推力开环和闭环控制,此外fpga需要将浮点数运算转换为定点数运算,通过左移/右移实现运算。空间微牛级电推进控制系统主要划分为以下几个功能模块:

指令解析模块:该模块接收到来自卫星平台的遥控指令,对指令进行解析。指令包含配置的推力值、配置的闭环控制的pid控制参数、配置开环控制的所有系数、电压最大输出值vmax和闭环控制的使能信号等。接收到的推力值为实际推力值左移4位四舍五入取整,从而接收到的推力值分辨率达到0.1un。配置的pid控制参数有效位数为小数点后两位,因此接收到的pid参数为实际参数值左移8位四舍五入取整。配置的开环控制系数有效位数为小数点后两位,因此接收到的开环控制系数为实际参数值左移8位四舍五入取整。配置电压输出最大值vmax,为实际值左移20位四舍五入取整。

遥测采集模块:该模块主要功能为接收来自fpga外部ad采集芯片采集的遥测数据,将ad采集芯片采集到的推力器相关电压、电流对应的n值每4次进行一次均值处理,ad采集芯片型号为tlv2548,ad写、读和采集时序如图2所示。另外,将平均后的n值输出到遥测打包模块和推力转换模块,分别用于打包遥测数据和进行推力计算和控制。

遥测打包模块:该模块主要功能为将遥测采集模块的遥测数据和有用的参数信息打包,将打包好的数据通过rs422接口输出到卫星平台。

推力转换模块:根据推力与电压、电流的关系t=f(i,v)以及电压、电流与对应n值之间的关系,将遥测采集模块输出的电压、电流对应的n值转换为推力,输出到推力控制模块。为保证推力的精度,推力转换模块输出的推力为实际推力左移8位的值。

推力控制模块:包括所述开/闭环选通单元,推力开环控制单元和推力闭环控制单元;开/闭环选通单元用于判断闭环控制的使能信号是否为1,若为是,则启动推力闭环控制单元;否则,启动推力开环控制单元。在开始推力控制之前,通过指令解析模块得到开环控制的所有系数、闭环控制中的pid控制参数、推力值、电压最大输出值等。

推力开环控制单元的控制流程如图3,该单元通过分段线性计算推力对应的电压值。计算公式如下:

a1,b1,a2,b2,a3,b3,a4,b4为配置的推力开环控制系数,t(n)为接收到来自卫星平台的配置的推力值,v(n)为推力对应输出到da芯片控制模块的电压值。计算公式通过闭环控制的数据拟合得出,可动态调节,系数在进入该模块之前已左移8位。开环控制流程如图3的开环控制部分所示。

当闭环控制使能信号为0时,进入开环控制流程:

(1)检测t(n)是否小于等于240un(实际为15un),若是,执行v(n)=a1×t(n)+b1,这里的a1×t(n)通过32位有符号乘法器实现,由于a1×t(n)为实际值左移12位,因此b1需再左移4位后计算a1×t(n)+b1,加法通过32位有符号加法器实现;否则,

(2)检测t(n)是否小于等于480un(实际为30un),若是,执行v(n)=a2×t(n)+b2,否则;

(3)检测t(n)是否小于等于720un(实际为45un),若是,执行v(n)=a3×t(n)+b3,否则执行v(n)=a4×t(n)+b4;

(4)v(n)左移8位;

(5)v(n)与vmax进行比较,若大于vmax,则输出vmax到da芯片控制模块;否则,将v(n)输出到da芯片控制模块。

推力闭环控制单元:该单元基于pid控制算法实现;控制算法公式如下:

其中,δv(n)为pid控制中的过程变量,t(n)为这一采样周期配置的推力值,t(n-1)为上一采样周期配置的推力值,为上一采样周期推力器反馈回来的推力值,为上上采样周期推力器反馈回来的推力值,δt为采样周期,kp为pid控制中的p参数,ki为pid控制中的i参数,kd为pid控制中的d参数。这里我们设定采样周期δt为60ms,控制流程图如图3的闭环控制部分所示。

当闭环控制使能信号为1时,进入闭环控制流程:

(1)接收到来自推力转换模块处理的在推力转换模块中已左移8位,需要将t(n)左移4位,计算减法通过32位有符号加法器实现,并将上一采样周期计算得到的的值寄存到寄存器中(t(n),初始值为0);

(2)计算并左移4位,为实际值左移20位,乘法通过32位有符号乘法器实现;

(3)将δt左移8位,计算ki×δt,为实际值左移16位;

(4)计算ki×δt×t(n),为实际值左移20位;

(5)计算为实际值左移8位;并计算为实际值左移20位;

(6)计算为实际值左移8位;

(7)计算并左移4位,为实际值左移20位;

(8)计算为实际值左移20位;

(9)计算v(n)=v(n-1)+δv(n),v(n-1)为前一次闭环控制计算所得的电压值,为实际值左移20位,计算得到的v(n)寄存到v(n-1)寄存器中,用于下一次闭环控制;

(10)判断v(n)的最高位是否为1,若是,表示v(n)为负,则v(n)输出置为0;否则判断v(n)的值是否大于电压输出最大值vmax,若是,则将vmax输出到da芯片控制模块;否则,将计算所得的v(n)直接输出到da芯片控制模块。

da芯片控制模块:该模块主要用来将推力控制模块计算得到的v(n),通过输出到推力器的电压和da芯片输出电压的关系,以及da芯片输出电压与da芯片输出n值的关系,从而得到v(n)对应的da芯片输出n值。另外,通过da芯片手册时序将n值串行输出到da芯片。这里用的da芯片为ad5328,控制时序如图4所示。

综上所述,该空间微牛级电推进控制系统实现了推力快速稳定控制,并且集成了指令解析、遥测采集打包等功能,可灵活应用于其它闭环控制系统,基于apb总线能灵活增加或减少推力器的数量,为后续空间引力波探测中电推进控制实现灵活扩展。

最后所应说明的是,以上实施例仅用以说明本发明的技术方案而非限制。尽管参照实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,对本发明的技术方案进行修改或者等同替换,都不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的权利要求范围当中。

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