摘 要:分析了脉冲宽度调制(PWM)控制电液比例阀的基本原理,采用C8051F340单片机设计控制电路,通过可编程计数器阵列(PCA)模块编程实现了变周期PWM信号的产生,通过达林顿晶体管阵列芯片实现功率放大。实验表明,该电路具有配置灵活、响应快、精度高等优点,满足电液比例阀控制要求。
关键词:电液比例阀;单片机;变周期;脉冲宽度调制;功率放大
电液比例阀具有可靠、节能、廉价、抗污染能力强等优点,是理想的电液控制元件。电液比例控制的核心是控制电液比例阀的电流。模拟式控制方法控制功率输出极到比例阀线圈的电流是连续电流,电子功率器件功耗大,需加装散热装置;同时,由于液压系统受温度、负载等参数变化的影响较大,在对控制性能要求较高的场合往往不能满足要求。脉冲宽度调制(PWM)控制功率输出极为开关型结构,功耗小;且PWM信号包含同频率的脉动量,无需另加颤振信号,抗干扰、抗污染能力强,滞后时间短,重复精度高。由于采用数控形式,与计算机或微处理器连接方便,因此,可实现程序控制[1]。
1 电液比例阀PWM控制原理
电液比例阀PWM控制中,PWM信号加到比例阀线圈上时,由于脉冲频率远大于阀芯的响应频率,所以阀芯的运动只响应PWM信号的电流平均值。PWM原理电路如图1所示,PWM信号控制开关管的导通与截止。占空比定义为:
D=TH+TL (1)
式中:T=TH+TL,为PWM的周期;TH为PWM信号高电平时间;TL为PWM信号低电平时间[2]。
2.1 PWM波发生电路
本电路MCU采用C8051F340单片机,片内可编程计数器/定时器阵列(PCA)包含1个专用16 bit计数器/定时器时间基准和5个捕捉/比较模块,具有8 bit和16 bit两种PWM输出模式,可以利用编程实现PWM信号输出。
2.2 光电隔离
PWM信号经单片机I/O口输出。为提高系统抗干扰能力,应在功率放大前对信号进行隔离。这里采用6N137高速光耦芯片,其延迟时间最大仅为75 ns[4]。
2.3 功率放大
单片机引脚输出电流只有几十毫安,而比例电磁铁工作电流一般达几百毫安,因此需要对PWM信号进行功率放大才能驱动电液比例阀。采用达林顿管阵列芯片SN75423进行功率放大,其最大输出电流达500 mA,输出端最大电压为100 V,延迟时间小于0.2 ?滋s,完全可以满足使用要求。
2.4 电源
采用5 V电源向单片机供电;DC24V电源加载到功放芯片输出端;WS78L05将24 V转为5 V为6N137供电,保证两端电源独立。
3 软件设计
本电路的软件设计在Keil Vision3环境下,利用C51语言编程予以实现。
3.1 PWM波的产生
配置PCA模块为8 bit PWM工作方式,使用模块的捕捉/比较寄存器PCA0CPLn改变PWM信号占空比。当PCA计数器/定时器低字节(PCA0L)与PCA0CPLn值相等时,CEXn引脚输出被置1,PWM为高电平;当PCA0L计数溢出时,CEXn输出被复位置0,PWM信号为低电平。CEXn输出信号经优先权交叉开关译码器配置后与I/O口相连。当计数器/定时器的低字节PCA0L溢出时(从0xFF~0x00),保存在PCA0CPHn中的值被自动装入PCA0CPLn,不需软件干预。因此,要改变PWM占空比,只需通过编程对PCA0CPHn赋相应值即可[5]。
8 bit PWM工作方式下的占空比D计算式为:
D=(256-PCA0CPHn)/256 (6)
PCA0CPHn在0x00~0xFF之间变化,对应PWM占空比为100%~0.39%。可通过将ECOMn位置“0”来产生0%的占空比。对于给定占空比D的PCA0CPHn计算式为:
PCA0CPHn=256(1-D) (7)
3.2变周期PWM的实现
由以上分析可知,PWM周期T和占空比D同时影响阀控电流I和电流波动值dI,因此在考虑系统固有频率及控制精度基础上,要求PWM信号在不同占空比下具有不同周期。
单片机产生的PWM信号周期由PCA计数器/定时器时钟周期决定。设PCA时钟周期为t,则PWM周期T=256×t。
PCA计数器/定时器由一个可编程的时基信号驱动,时基信号有系统时钟、系统时钟/4、系统时钟/12、外部振荡器时钟/8、定时器0溢出或外部时钟输入(ECI)等6种时钟源。
定时器0在自动重装载的8 bit计数器/定时器工作方式(方式2)下,TL0保持计数值,而TH0保持重载值。当TL0计数值溢出(从0xFF到0x00)时,定时器溢出标志TF0被置位,TH0重载值被重新装入TL0。如开中断,TF0置位时将产生中断,TH0重载值保持不变。在允许定时器计时之前应正确初始化TL0。该工作方式下,可通过编程设定不同TH0值使定时器0产生不同的溢出时间间隔,即产生可编程的溢出频率,以提供可编程PCA时钟源。
定时器0可选时钟频率源包括:系统时钟、系统时钟/4、系统时钟/12、系统时钟/48、外部时钟/8。若定时器0时钟源频率为F,则定时器0溢出频率f为:
首先对单片机进行初始化配置。当单片机接收到PWM控制指令后,从控制指令中获取此周期内信号的指令占空比和频率值,利用相应的公式计算PCA寄存器值及定时器0溢出频率值,并根据计算的数值配置PCA及定时器0,最终向硬件电路输出一个完整周期的PWM信号。同时,单片机继续接收控制指令并进入下一周期的计算,以此循环往复。
4 实验验证
用100 Ω/25 W电阻及0.3 H电感模拟电液比例阀线圈负载来验证PWM控制电路。用示波器测量单片机输出PWM信号和加在负载上的PWM信号,如图5、图6所示,其中波形1为单片机I/O口输出的PWM波,波形2为加到负载上的PWM波。
4.1 占空比误差分析
图5中,占空比为25%,频率为3.9 kHz。计算可知,该电路输出PWM信号占空比误差为5 ?滋s。
4.2 时间延迟分析
图6中,占空比为75%,频率为3.9 kHz。计算可知,PWM波形最大延迟时间为2 ?滋s。
实验表明,基于C8051F340单片机的变周期PWM电液比例阀控制电路切实可行,且具有价格低廉、抗干扰能力强、控制精度高、延迟时间短等优点;采用C8051F340单片机的PCA实现变周期PWM输出,其软件编程简单,可灵活使用,具有较好的实际应用价值。
参考文献
[1] 李光彬,张吉林,张雪梅,等.C8051F320单片机在电液比例流量阀中的应用[J].液压气动与密封,2007,27(1):34-36.
[2] 李光彬,张雪梅,赵光,等.基于PWM控制技术的电液比例阀的研究[J].煤矿机械,2006,27(11):114-116.
[3] 刘强.基于PLC的通用型电液比例阀数字控制器[J].仪表技术与传感器,2009(3):75-77.
[4] 纵慧慧,郝继飞,刘会娟,等. 基于PWM控制的电液比例阀控制系统的设计[J].工矿自动化,2009(12):111-113.
[5] 童长飞. C8051F系列单片机开发与C语言编程[M]. 北京:北京航空航天大学出版社,2005.