位置:51电子网 » 技术资料 » EDA/PLD

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

发布时间:2008/5/28 0:00:00 访问次数:608

  摘 要:本文提出了一种基于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所示。

  摘 要:本文提出了一种基于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所示。

-->
相关IC型号

热门点击

 

推荐技术资料

声道前级设计特点
    与通常的Hi-Fi前级不同,EP9307-CRZ这台分... [详细]
版权所有:51dzw.COM
深圳服务热线:13692101218  13751165337
粤ICP备09112631号-6(miitbeian.gov.cn)
公网安备44030402000607
深圳市碧威特网络技术有限公司
付款方式


 复制成功!