3单片机控制系统的硬件设计
本系统拟采用美国CYGNAL公司的C8051F020单片机(详情可访问absMiddle" border="0" onload="return imgresize(this);" onclick="javascript:window.open(this.src);" style="cursor:pointer;"/>
absMiddle" border="0" onload="return imgresize(this);" onclick="javascript:window.open(this.src);" style="cursor:pointer;"/>
图3 单片机系统结构部分电路图
4系统供电
整个系统采用12V电池组供电,经升压电路得到24V电压给压力传感器供电。经降压得到5V电压给各个驱动芯片供电。单片机采用AS11173.3V/800mA电源供电。压力传感器输出为4-20mA电流,不能直接和单片机相连,须经转换电路后再输入单片机。电磁阀只需提供一个很短时间的脉冲电平即可,由ULN2803驱动芯片控制,采用12V DC供电。[9]
5软件设计
系统程序用C51和汇编编写,采用模块化结构,包括主程序、中断服务程序和子程序。主程序流程图见图5。在系统初始化过程中,首先允许看门狗定时器,以便程序发生“飞逸”时,及时进入复位状态。其次初始化外部时钟振荡器,在本系统中,考虑到要与电脑进行串行通信,外接了PCF8563时钟芯片,时钟源可在外部时钟源和C8051F020内部时钟源之间切换。然后通过设置交叉开关控制寄存器将计时数器/定时器、串行总线、硬件中断、ADC转换启动输入以及微控制器内部的其他数字资源配置到端口I/O引脚,详细配置方法可见参考文献[06] 和[07]。然后C8051F020根据输入的参数打开调压阀,启动步进电机,查询参数表,确定转动步数,开始给气缸加压,在加压过程中,检测压力传感器,查表判断是否达到预定压力。达到后,控制相关电磁阀的开和关,最后重复循环。中断服务程序主要有触摸屏输入中断和压力传感器输入中断等。子程序包括:步进电机控制程序、电磁阀的开关程序、数据的存取程序。系统的主程序流程如图4。
absMiddle" border="0" onload="return imgresize(this);" onclick="javascript:window.open(this.src);" style="cursor:pointer;"/>
图4 主程序流程图
6 结论
在试验过程中表明,该系统可达到以下技术要求a.按压频率:60-100次/min,可调;b.按压压力:35-45kg,可调;c.按压深度:2-6cm,可调。基本可满足实际使用要求。