基于FPGA的电涡流缓速器控制系统

出处:tyw 发布于:2007-12-28 14:53:27

摘 要:本文提出了一种基于FPAG芯片的控制系统设计方案。系统中利用FPGA状态机高效地控制ADC进行信号采集。在FPGA中搭建的模糊控制器通过对励磁电流的连续调节,实现了恒速、恒转矩和恒流等控制策略。

  关键词:电涡流缓速器;FPGA;状态机;模糊控制

  引言

  电涡流缓速器的工作原理基于电磁感应理论。作为一种辅助制动装置,其减少了主制动装置的机械摩擦,既提高了寿命,又提高了车辆行驶的安全性、经济性和舒适性,越来越受到汽车制造厂家的青睐。但是,由于汽车领域对实时性要求较高,且模糊控制算法涉及到频繁的多字节数据的乘除运算,而FPGA在实现算法方面具有巨大的优势,因此本文将基于FPGA进行设计。另外,本文结合基于FPGA的32位精简指令软核Nios编程,能很好地解决实时性与控制灵活性之间的矛盾。

  节能型电涡流缓速器

  目前大部分电涡流缓速器利用蓄电池或自带发电机来产生励磁电流,这两种方法在缓速时都不能化地将车辆所具有的动能转化为刹车能量。

  本系统根据电涡流缓速器制动力矩的大小对自发电机和蓄电池进行调度,电涡流缓速器制动力矩公式如下:

  这里,lg为气隙间距; d为铁心直径;R1为励磁线圈中心点的半径;Np为磁极对数; N为励磁线圈绕组匝数;I为励磁线圈绕组电流;r为转子盘电阻率;mr为转子盘相对磁导率;w为转子角速度。

  当车速较大时,自发电机在一定电压下的输出电流大于I,将一部分电能用于制动,剩下的电能储存到蓄电池;当车速较慢时,自发电机在一定电压下的输出电流小于I,则从蓄电池输出电流到绕组线圈产生励磁电流,从而限度地利用能源。

  基于FPGA的电涡流缓速器控制系统

  为了提升系统可靠性和灵活性,本控制器根据功能需求进行模块化设计,主要包括ADC0809控制、NIOS处理器、模糊控制器、电源控制、PWM、LCD显示等模块,系统结构如图1所示。

图1 电涡流缓速器控制系统结构

  系统首先由ADC0809控制模块控制ADC进行各种信号,如温度、电压等信号的采集,然后通过Avalon总线把数据传输到模糊控制器、电源控制等模块。电源控制模块根据车速会对蓄电池和自发电机进行能量调度,实现限度的节能;模糊控制器模块根据恒速、恒流等控制策略,计算出用于控制 PWM占空比的参数,实现励磁电流的调节。

  ADC0809控制模块

  信号采集是系统实现闭环控制的重要环节,它的好坏关系到整个系统的性能。采用FPGA控制ADC的方式能有效降低外界干扰对采样造成的影响,提高可靠性。另外,利用FPGA状态机产生的时序控制ADC时,控制周期短、速度快,能提高整个系统的实时性。

  使用状态机控制ADC0809芯片采样,包括时序控制和数据的读取。首先,状态机输出两路信号先后控制引脚ale和start,一旦start 有效,状态信号EOC即变为低电平,表示进入转换状态,状态机通过不断检测ADC0809引脚EOC的电平来判断转换是否结束。若EOC为高电平表示转换结束,状态机输出信号使引脚OE由低电平变为高电平,读取转换好的数据,主要Verilog代码如下。

  always @ ( EOC ,state )

  begin case ( state )

  st0 :begin ale <= #1 1'b0; start <= #1 1'b0; OE <= #1 1'b0; state <=#1 st1; end

  st1 :begin ale <= #1 1'b1; start <= #1 1'b0; OE <= #1 1'b0; state <=#1 st2; end

  st2 :begin ale <= #1 1'b0; start <= #1 1'b1; OE <= #1 1'b0; state <=#1 st3; end

  st3 :begin ale <= #1 1'b0; start <= #1 1'b0; OE <= #1 1'b0;

  state<=(EOC==1'b1)? #1 st3:st4; end

  st4 :begin ale <= #1 1'b0; start <= #1 1'b0; OE <= #1 1'b0;

  state<=(EOC==1'b0)? #1 st4:st5; end

  st5 :begin ale <= #1 1'b0; start <= #1 1'b0; OE <= #1 1'b1; state <=#1 st6; end

  st6 :begin ale <= #1 1'b0; start <= #1 1'b0; OE <= #1 1'b1; state <=#1 st0; end

  default : begin ale <= #1 1'b0; start <= #1 1'b0; OE <= #1 1'b0; state <=#1 st0; end

  endcase end

  模糊控制器模块

  电涡流缓速器是一个非线性系统、强耦合、模型较复杂的对象。由于常规PID控制不具备在线调整参数的功能,所以不适于励磁电流与车速呈非线性关系的系统控制。而模糊理论具有很强的非线性建模能力,能完成复杂系统的非线性映射功能,将模糊推理机制引入到测控系统中,实现对电涡流缓速器的控制,以满足实际的行车情况,控制器原理图如图2所示。

图2 模糊控制器原理图

  从原理图可以看出,本模糊控制器采用了二维模糊调节的方式,以改善系统的动态性能,即模糊控制器的输入为给定值与测量值偏差e和偏差变化率芿= ek-ek-1所对应的两个模糊控制集,经量化因子量化后,得到对应的量化等级,其量化等级分别表示为{-7、-6、-5、-4、 -3、-2、-1、0、1、2、3、4、5、6、7}。控制决策表是经离线模糊控制推理运算,并结合系统的实际运行进行调整、修改得到的,但它仅反映常规模糊控制的控制规则,不能保证系统的动、静态特性在大范围内。因此,为改善模糊控制器的性能,根据系统的误差和误差变化等信息,对控制器实行在线调整,实际输出的控制量为决策表值与比例因子的乘积。比例因子的选取规则如下:当e和芿较大时,系统主要是减少误差,加快动态过程,应取较大值;当e和芿较小时,系统接近稳定值,应取较小值。,按此原则并结合实际经验得到比例因子表。

  根据上面的分析,利用Verilog HDL语言设计出aul运算模块和rom存储模块,另外由Quartus II软件的LPM设计乘法器lpm_mult0模块,如图3所示。aul模块首先根据输入值in_a[7..0]和in_b[7..0]进行求差、除法等运算得到e和芿的值,并乘上各自的量化因子得到量化等级E和艵,然后根据E和艵与控制策略表和比例因子表的对应关系得到查表地址;rom模块存储了控制策略表U和比例因子表GU,根据aul模块传递过来的地址查找U和GU表,然后将结果输出到乘法器模块,并计算出PWM的调节增量,从而改变PWM的占空比,实现对励磁电流的调节。

图3 模糊控制器顶层模块电路原理图

  基于Nios的主控程序

  Nios处理器是整个系统的中枢,是各控制模块通讯的桥梁。Nios处理器通过Avalon总线将采集进来的各种参数,如车速、ABS、电压等,按需要传递到各控制模块,控制模块再把相关的运算结果返回给主控程序,以实现相关的控制策略,如图4所示。

图4 主控程序流程图

  结语

  本课题选用Cyclone II系列中的EP2C5Q208C8芯片,它具有4608个逻辑单元,内部RAM达119808位,内部乘法器可达26单元,用户I/O达143个,这些丰富的资源能够满足电涡流缓速器控制器各模块的设计需求,逻辑单元的使用率为65%,RAM使用率为45%。本设计方法提高了系统的集成度和可靠性并且降低了功耗,FPGA的可重构性大大方便了系统将来的升级,而不需要改变原来的电路布线。


  

参考文献:

[1]. ADC0809 datasheet https://www.dzsc.com/datasheet/ADC0809_123186.html.
[2]. rom datasheet https://www.dzsc.com/datasheet/rom_1188413.html.


关键词:FPGA

版权与免责声明

凡本网注明“出处:维库电子市场网”的所有作品,版权均属于维库电子市场网,转载请必须注明维库电子市场网,https://www.dzsc.com,违反者本网将追究相关法律责任。

本网转载并注明自其它出处的作品,目的在于传递更多信息,并不代表本网赞同其观点或证实其内容的真实性,不承担此类作品侵权行为的直接责任及连带责任。其他媒体、网站或个人从本网转载时,必须保留本网注明的作品出处,并自负版权等法律责任。

如涉及作品内容、版权等问题,请在作品发表之日起一周内与本网联系,否则视为放弃相关权利。

上传BOM文件: BOM文件
*公司名:
*联系人:
*手机号码:
QQ:
应用领域:

有效期:
OEM清单文件: OEM清单文件
*公司名:
*联系人:
*手机号码:
QQ:
有效期:

扫码下载APP,
一键连接广大的电子世界。

在线人工客服

买家服务:
卖家服务:

0571-85317607

客服在线时间周一至周五
9:00-17:30

关注官方微信号,
第一时间获取资讯。

建议反馈

联系人:

联系方式:

按住滑块,拖拽到最右边
>>
感谢您向阿库提出的宝贵意见,您的参与是维库提升服务的动力!意见一经采纳,将有感恩红包奉上哦!