基于单片机的电子膨胀阀试验机的软硬件设计

时间:2012-02-11来源:网络

试验机工作原理大致如下:单片机通过154控制灯位、通过8255的B口输出当前的段码值来定时刷新显示,通过8255C口定时扫描键盘。当有键按下时,如“位置1”键按下,CPU通过扫描8255C口状态且延时去键抖动后,确认是“位置1”键按下,于是,系统就进入“控制”模块中的“位置1”子程序。系统根据设置的膨胀阀转到“位置1”所需的脉冲数和当前的脉冲数循环调用单步转动子程序。在单步转动子程序中,软件把电机控制字节写到8255,并通过 8255的A口,经过光耦的隔离,输入步进电机驱动电路,通过控制功率开关三极管的开断,进而控制步进电机的正反转动,实现膨胀阀的开闭,同时系统更改当前的“实时脉冲”值,并通过LED显示出来。这样,通过全程脉冲数和“实时脉冲”值就可知道当前的阀的开度。在电机转动的过程中,通过采样电路把采集到的驱动相电压值送入单片机,并通过LED实时显示。

2软件设计

在本程序设计中,采用置事件标志和分时控制的办法对事件进行处理。如在T0中断子程序中,每隔lms进行LED动态扫描,每隔60ms对键盘进行扫描。当通过EX0外部中断子程序得到某“控制”键键值时,在主程序中则置一相应的标志位。当进入下一T0中断时,T0中断子程序中除了对LED动态扫描事件进行处理外,还对步进电机驱动脉冲宽度进行控制;若此时的时间片为60ms,则还对键盘扫描事件进行处理。此外,为了提高事件的实时响应程度,我们把中断子程序中耗时长的部分交给主程序来做(主程序把处理的结果放到相应的缓冲区)。当中断子程序处理到相应的事件时,只需从缓冲区把数据读入,并把数据放到相应的数据区即可。如在本系统中,经常要通过键盘对LED显示的参数数值进行更改,则系统需要对参数所对应的以二进制形式存储的内部数据进行相应的更改操作,并把它转换为相应的七段码和显示在 LED上,此时可把数据转换这一耗时长的程序交给主程序来做,主程序把得到的相应的七段码放到一个缓冲区中,当进入T0中断子程序对LED内容刷新时,只需把缓冲区中的数据写入到8255的相应口。运用这种处理方法,使系统可以实时有序地处理各种事件。

整个软件采用结构化的程序设计方法设计。程序分为三大模块:主程序模块、EX0中断服务子程序模块、T0中断服务子程序模块。

主程序模块按照功能又分为三大子程序:初始化子程序、设置显示子程序、控制子程序。由于试验机的操作都由键盘中断来控制,所以,在主程序中通过查询键值来进入相应的子程序。其流程图如图2所示。在初始化子程序中,主要对AT89C52的系统资源,如定时器、寄存器等的初始化,把EEPROM存储的参数写入到相应的RAM、8255、参数寄存器等。

在设置显示子程序中,主要根据读入的键值显示设置的参数或进行更改并保存到相应的EEPROM和RAM。

在控制子程序中,根据读入的键值和设置的参数驱动电机作相应的动作,循环转动或复位。同时采集相应的相电压,并把电压值存储到相应的缓存区。

3结束语

目前,该试验机已成功用于某空调制冷企业电子膨胀阀测试系统中。经过几个月的运行,情况良好,达到了客户的要求。

参考文献

[1] 翁文兵,王瑾竹.电子膨胀阀的制冷剂流量特性的实验研究[J].流体机械.1998,26(10):58~61.
[2] 仲华,陈芝久.电子膨胀阀的动态特性的辨识[J].上海交通大学学报,1999,33(8):942~944.
[3] 何立民.MCS51系列单片机应用系统设计[M].北京:北京航空航天大学出版社,

1 2

关键词: 单片机 电子膨胀阀 试验机

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW

或用微信扫描左侧二维码

相关文章

查看电脑版