1 引言
电子膨胀阀是用电子电路控制的膨胀阀,它是变频空调制冷设备中的关键部件。由于电子膨胀阀能够根据CPU的指令迅速调节阀的开启度,快速控制制冷剂的流量,减小房间内的温差,因而既能增强空调房间的舒适程度,又可最大限度地节能。电子膨胀阀的驱动部件是一个4相8拍步进电机。本文给出了一种电子膨胀阀的驱动电路。
2 系统硬件设计
整个系统采用模块化设计。系统硬件电路主要由单片机、温度传感器、电池供电的RAM、步进电机驱动部件、RS485等组成,其单片机硬件电路如图1所示。
由于程序比较大和中间变量比较多,这里采用了Atmel公司的AT89C55型单片机。它具有20 KB的Flash程序存储空间和256字节的RAM。图1中:
P0.1和P0.2口模拟I2C总线SDA、SCL;
P0.3口实现计数脉冲清零;
P0.4口实现步进电机正转10个脉冲;
P0.5口实现步进电机反转lO个脉冲;
PO.6口实现温差增加l℃;
P0.7口实现温差减少l℃;
P1.O口控制是否上拉T_IN;
P1.1口上单总线挂接4个DSl8B20;
P1.2口接收工作模式(“1”是制冷、“0”是制热);
P1.7口输出底电平是使能接收,输出高电平是使能发送;
P2.0、P2.1、P2.2、P2.3口连接D、C、B、A控制步进电机。
其中PCF8583与单片机通过I2C总线通信,其硬件电路连接如图2所示。
与上位机的通信方式是RS485,其硬件电路连接如图3所示。
步进电机采用的是4相8拍制,通过AT89C55的I/O口驱动,其硬件电路连接如图4所示。
3 软件设计
在本程序设计中,采用置事件标志和分时控制办法对事件进行处理。如在T0中断子程序中,每隔2.5 ms驱动步进电机1个脉冲,同时在中断服务程序中将计数脉冲保存在PCF8583中的RAM。P0.3口、P0.4口、P0.5口、P0.6口、P0.7口5个I/O对应的5个按键与74LS08相连,执行相与的关系触发外部中断方式0进入中断服务程序,执行相应的功能。因为温度传感器部分用单总线通信方式,且PCF8583与单片机通过I2C总线通信,二者对时序要求很严格,在此期间不可被中断程序打断,故在此期间关中断。主程序流程如图5所示。
整个软件采用结构化的程序设计方法设计。程序分为三大模块:主程序模块、EXO中断服务子程序模块、T0中断服务子程序模块。
主程序模块按照功能又分为:初始化子程序、I2C总线通信程序、温度传感器测温程序、RS485通信程序和PID控制程序。在初始化子程序中,主要包括RS485通信和DSl8B20传感器初始化。I2C总线通信部分则是读出上次掉电保存的脉冲数。温度传感器测温程序模块测得二点温度。将每个传感器的序列号测出,以数组的形式和程序存放在一起,并且给每个测温点编号,做成标签粘贴在对应的传感器上。当系统中的传感器出故障时,必须测出备用传感器序列号,贴上相应的标签,并在程序中修改数组,再将程序固化到程序存储器中。
执行机构需要控制量的增量(例如驱动步进电动机)时,需要用PID的“增量算法”,这种算法在有关文献中已有具体说明。
4 结束语
目前,该步进电机驱动电路已成功用于某空调制冷电子膨胀阀测试系统中。经过1个月的运行,情况良好,达到了客户的要求。