单片机控制电磁阀电路设计

嵌入式设计应用

132人已加入

描述

  在工程机械和其他施工机械的液压控制系统中 , 广泛应用着电磁阀,它是一种将电磁能转换成机槭能的电磁元件。以往电磁阀的驱动电路普遍由三极管或功率MOSFET等分立元件构成,并需要自行设计故障自诊断 电 路, 可靠性差。 成本高。采用集成驱动芯片L9352B1来驱动电磁阀的方法。

  电磁阀是一种将电磁能转换成机械能的电磁元件,被广泛应用到液压控制系统中。如何很好地控制电磁阀是一个很重要的课题。当前电磁阀的驱动电路设计主要采用三极管或功率MOSFET。为了保证电路的可靠性,外围电路通常需要设计隔离和辅助保护电路。此方法的最大弊端是:如果需要进行电磁阀故障检测,则需要设计专门的自诊断回路,这无疑增加了成本,而MOSFET易坏的特性容易造成电路可靠性降低。基于此,本文采用ST公司基于ARM内核的STM32F103系列控制专用集成驱动芯片L9352B[1]来控制和监测电磁阀,其优点是:具有驱动与监测功能,成本低,可靠性高。

  常见的电磁阀可以分为开关型和比例型,开关型与比例型在控制方式上有所不同。

  目前常见的电磁阀控制方法有如下几种:

  (1)由二极管、三极管集成电路或达林顿三极管控制的电路,其典型的电路有:

  为代表的电路全部由分立元件如:施密特触发器、电阻、电容、三极管、继电器等构成的模拟电路。其优点是电路简单,但由于其无法像数字电路那样进行准确控制,只能控制而无法检测电磁阀故障,这种电路当前使用较少。

  为代表的电路,其泵和马达的电磁阀都是采用数字信号处理器(DSP)作为主控制器再加达林顿三极管进行控制。目前采用DSP、单片机或CPLD/FPGA等作为主控制器,通过PWM或数字输入输出接口控制电磁阀的方法也很常见。这种电路的优点是:能对大功率的电磁阀准确控制;缺点是:如果需要检测电磁阀的故障需要额外增加电路而且需要占用主控制器的AD资源。

  (2)由MOSFET控制的典型电路可见参考文献[4]为代表的电路,控制方法与(1)类似,区别在于MOSFET管是电压器件而三极管是电流器件,在控制方式上有区别。

  (3)在工程机械领域,普遍采用专用控制器,专用控制器可以直接驱动电磁阀,详见参考文献[5]。这种方法虽然性能可靠、控制简单,但价格昂贵。

  可见上述3种方法都不具备成本合理、电路简单、性能可靠并且具有检测功能的要求。本文介绍的电磁阀控制电路框图如图1所示,以ARM为核心,通过磁隔离芯片实现主控芯片与专用驱动芯片L9352B 的隔离, ARM输出的PWM或者数字输出信号经过隔离后控制L9352B,从而控制电磁阀;电磁阀的状态通过L9352B输出再经隔离后输入ARM,从而系统能实时了解电磁阀的状态。

  电磁阀

  电磁阀控制电路设计

  开关型和比例型电磁阀都可采用集成驱动芯片L9352B控制。

  集成驱动芯片L9352B的特性

  L9352B是ST公司专门为感性负载(如电磁铁、电磁阀)控制而设计的芯片,它将分立元件的驱动和监测功能集成在一个芯片中,可以控制2路比例电磁铁和2路开关电磁铁,允许对感性负载进行调节。其主要特征是:输出斜坡控制,短路保护,过温关闭功能可选,开路负载监测,掉电监测,外部时钟可控,再循环控制,调节器漂移监测,调节器误差控制,调节器校正电流5 mA,状态监测,静电监测。每个通道各由一状态输出端口来监测,各通道的推挽状态输出具有故障诊断功能。

  电磁阀控制电路设计

  主控ARM芯片STM32F103ZET6是意法半导体公司生产的ARM 32 bit CortexTM-M3内核带512 KB闪存的增强型微控制器,其工作频率最高可达72 MHz,单周期乘法和硬件除法,具有USB、CAN、11个定时器、3个DAC和13个通信接口,非常合适作控制应用。电磁阀控制电路原理图如图2所示。

  图2中, STM32F103在控制L9352B时不能直接相连,因为STM32F103为3.3 V供电, L9352B为5 V供电,两者间需进行电平转换。四通道数字隔离器ADUM1402工作电压可兼容3.3 V和5 V系统,不仅能实现电平转换,而且还可将输入和输出隔离,以避免驱动电路对主控芯片产生影响。使能端VE1和VE2都接高电平,通道A和B的数据从ARM传给L9352B用于ARM发出控制信号,通道C和D的数据从L9352B传给ARM用于L9352B读取状态。

  电磁阀

  每片L9352B通道1和2驱动开关电磁阀,通道3和4驱动比例电磁阀。所有输入引脚高电平有效,内部由带滞回特性的施密特触发器构成。其供电电压VS通常接5 V或12 V,VCC和VDD都接5 V电源。电磁阀接到功率输出通道Q端和PGND端,状态输出引脚ST状态电压范围为-0.3 V~6 V。IN1和IN2端输入开关量控制信号能控制2路开关电磁阀工作,Q1和Q2最大驱动能力为2.5 A;IN3和IN4端输入PWM控制信号时能方便控制2路比例电磁阀工作,Q3和Q4最大驱动能力为5 A。EN为该芯片的使能端,ARM输出的V_EN信号经隔离后输入到EN端,可控制L9352B是否工作。TEST引脚为漂移检测使能输入。外部时钟U15经过12 bit计数器74HC4040分频后输入到L9352B的CLK时钟输入引脚,J12跳线组可以选择计数器分频系数。ST1~ST4引脚保存电磁阀的故障状态,经过隔离后输入给ARM以处理故障。

  下面是一个用stc89c52单片机对电磁阀进行一些简单控制的程序

  #include

  sbit a=P1^0;//下开关

  sbit b=P1^1;//上升

  sbit c=P1^2;//下降

  sbit d=P1^3;//上线位

  sbit e=P1^4;//下限位

  void main()

  {

  a=1;// 上开关 常开

  b=1;// 上升 常开

  c=1;// 下降 常开

  d=1;// 上限位开关 常开

  e=1;// 下限位开关 常开

  while(1) //循环

  {

  if(a==0) // 判定上开关闭合 执行语句

  {

  a=1; //断开开关信号 依旧执行 下降 直到碰到下限位开关

  c=0; // 2 启动下降

  }

  if(e==0) // 4碰到下限位开关启动

  {

  e=1; // 下限位信号保持 依旧执行 上升

  c=1; // 2断开下降电磁阀

  b=0; // 1一直启动上升电磁阀 直到碰到上限位开关

  } //

  if(d==0) // 3碰到上限位开关

  {

  P1=0xff; // 断开所有

  }

  }

  }

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
评论(0)
发评论
小盐今天早起了吗 2022-05-03
0 回复 举报
可以发一下图二吗?非常感谢! 收起回复

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分