新闻中心

EEPW首页>EDA/PCB>设计应用> 基于FPGA的汽车油改气电控系统的研究与设计

基于FPGA的汽车油改气电控系统的研究与设计

作者: 时间:2010-08-18 来源:网络 收藏

2.2.2 AD1674转换控制模块
AD1674是带有内部采样保持的完全12位逐次逼近(SAR)型模/数转换器,支持单极性和双极性输入两种工作方式,转换时间为10 μs。根据实际工作需要,使用了双极性输入方式。AD1674在的时钟信号clk、复位信号rst、状态信号status及控制信号cs、k12x8、rc、a0的控制下采集数据。AD1674转换器模块是根据摩尔状态机实现的,完成对实际转速信号的采样,计算出误差和误差变化率,然后查模糊控制表,最后将控制量变换到实际控制量上。根据实际工作需要,采用两片AD1674,一片采集发动机实际转速信号,另一片采集设定转速信号。AD1674转换模块程序流程图如图4所示。

本文引用地址://m.amcfsurvey.com/article/191615.htm

2.3 模糊控制模块设计
在怠速状况下,尽量使稳定在最低转速以节省资源并减少排放。设计了一种基于的汽车ECU的模糊控制器,只需在线修改模糊控制规则表就可以做成不同精度和不同控制规则的模糊控制器,具有通用性,控制规则实现简单。模糊控制模块由Verilog HDL语言实现,可以随时对系统进行升级和移植,非常灵活和方便。模糊控制模块包含运算模块和模糊控制规则表模块。
运算模块主要是将采集到的汽车设定转速信号g与采集到的汽车发动机转速传感器反馈信号f进行处理,计算出汽车转速误差e和转速误差变化率de。图5所示为运算模块流程图。

模糊控制规则表模块的功能是把输入的精确量进行尺度变换,变换到相应的论域范围;将已变换到论域范围的输入量进行模糊化处理,主要是计算各个输入量的隶属度,为了简化处理,将输入值进行均匀量化。确定模糊控制的原则是必须保证模糊控制器的输出能够使系统输出响应的动静态特性达到最佳,既要迅速消除误差,保证响应的的快速性,又要防止产生超调和振荡,保证系统的稳定性。例如,汽车转速误差为负大(NB)时,若误差变化率为负中(NM),这时汽车转速还有进一步增大的趋势。为了尽快消除已有的负大误差,并抑制误差进一步变大,控制量的变化应取负大(NB),以尽快减小汽车的转速。模糊控制规则表如表1所示。


根据表1,模糊控制规则表用Verilog HDL描述如下:
if ((e==NB)(de==NB)) u=NB;
else if((e==Z)(de==Z)) u=ZE;
……
总共49条控制规则,其中NB、NM、NS、Z、PS、PM、PB分别对应一段输入的误差、误差变化率的范围。还可以对汽车转速误差和转速误差变化率论域进一步细分,得到更精确的结果,仿真结果如图6所示。其中,out为输出的控制量,可以看出变化规律与理论上模糊控制规则表一致。

out对应的是步进电机的步数,用于后面生成脉冲信号。步进电机的正反转是基于前端的模糊控制模块输出信号控制的,控制单元实时检测汽车发动机的转速并与设定的目标转速进行比较。当转速低于设定值时,控制步进电机正转,开大旁通气道截面,增加进气量,缸内的可燃混合气增多,转速上升;反之,转速高于设定转速时,控制步进电机反转,旁通气阀关小,缸内混合气减少,转速下降,最终使汽车发动机的转速稳定在目标转速附近。步进电机的控制程序是基于状态机设计的,程序流程图如图7所示。正转st0->st1->st2->st3->st0,反转st0->st3->st2->st1->st0。发动机转速传感器采集到实际转速反馈信号,与设定转速信号进行运算,得到误差和误差变化率,再去查模糊控制规则表,从而形成了一个闭环控制系统,可见该系统具有实时跟踪的性能和自我校正的功能。

为了验证系统的效果,在MATLAB中搭建数学模型,进行模拟,结果如图8所示。



评论


相关推荐

技术专区

关闭