1. C8051F020单片机功能简介
C8051F020器件是完全集成的混合信号系统级MCU芯片,具有64个数字I/O引脚。其主要特性:1)高速、流水线结构的8051兼容的CIP-51内核(可达25MIPS);2)全速、非侵入式的在系统调试接口(片内);3)真正12位、100ks/s的8通道ADC,带PGA和模拟多路开关;4)真正8位500ks/s的ADC,带PGA和8通道模拟多路开关;5)两个12位DAC,具有可编程数据更新方式;6)64KB可在系统编程的FLASH存储器;7)4352(4096+256)B的片内RAM;8)可寻址64KB地址空间的外部数据存储器接口;9)硬件实现的SPI、SMBus/I2C和两个UART串行接口;10)5个通用的16位定时器;11)具有5个捕捉/比较模块的可编程计数器/定时器阵列;12)片内看门狗定时器、VDD监视器和温度传感器。
具有片内VDD监视器、看门狗定时器和时钟振荡器的C8051F020是真正能独立工作的片上系统。所有模拟和数字外设均可由用户固件使能/禁止和配置。FLASH存储器还具有在系统重新编程能力,可用于非易失性数据存储,并允许现场更新8051固件。片内JTAG调试电路允许使用安装在最终应用系统上的产品MCU进行非侵入式(不占用片内资源)、全速、在系统调试。在使用JTAG调试时,所有的模拟和数字外设都可全功能运行。每个MCU都可在工业温度范围(-45~+85℃)内用2.7~3.6V的电压工作。端口I/O、/RST和JTAG引脚都容许5V的输入信号电压。
2.系统工作原理及结构设计
气动泵控制系统要实现对气体流量进行有效控制,包括采集气体流量信息和实时控制气体流量。控制系统是以单片机为核心的监测与调控,可以独立地完成气体流量信息的采集、处理和显示,还可通过标准的RS-485接口与上位机实现通信。系统原理结构框图如图1所示,它是一个小型的分布式数据采集与控制系统,主要由微控制器、气体流量传感器及其补偿电桥、键盘和液晶显示模块、动作执行机构和上位机组成。
图1 系统工作原理图
系统选用C8051F020作为系统的微控制器。它的主要作用是:1)通过设置其内部的差分电路对气体流量进行采样;2)根据给定的两个流量限值(上限和下限)进行判断,给出动作执行机构相应指令;3)将处理后的采样流量通过I/O口输送给液晶显示器,同时经485总线输送给上位机。
上位机将接收到的采样气体流量、两个流量限值实时显示,实现对流量的实时监测。系统还允许从上位机修改流量上下限值。
键盘和液晶显示模块主要完成的功能为:通过键盘可以修改两个流量限值;液晶显示器将采样流量、上下限流量显示,显示气体流量调节过程。
采用气体流量传感器测得的流量模拟信号,经平衡电桥对其进行线性补偿,再经多路开关分时送入A/D转换器变成数字量传给C8051F020单片机。
执行机构主要通过接受单片机发出的命令,对系统的负载提供信号,控制调节阀开启的大小,使实际流量逐渐接近,到达到给定流量,完成自动调节过程。例如,当采样流量比上限值低时,输出一个信号给执行机构1;当高于上限值时,输出一个控制信号给执行机构2。
3.系统的硬件设计
系统的硬件设计采用模块式结构,结构紧凑,有利于调试和维护。系统硬件电路设计包括四大部分:单片机核心控制模块、气体流量检测模块、液晶显示模块、控制执行模块和通信模块。
3.1单片机核心控制模块
单片机核心控制模块的设计主要包括C8051F020单片机的最小系统、键盘及液晶显示电路的设计。其中,AIN0.0和AIN0.1作为气体流量采样的输入端;P0.0和P0.1为通信提供输入/输出信号;P1口作为键盘引出端;P6口和P5口的部分引脚作为液晶的数据口和控制口;P2.4和P2.5分别作为可执行机构1和2的控制信号输出端。CGM12864B点阵液晶显示屏是由2片带控制器的列驱动电路KS0108和1片行驱动电路KS0107组成主要的硬件电路。显示方面由1片128×64像素的液晶片组成。KS0108将显示区分为左右半屏,整个屏从上到下64行分为8页,每页8行。其液晶显示电路如图2所示。
图2 液晶显示电路图
3.2气体流量检测模块
该模块主要由气体流量传感器、整形放大电路、多路开关和A/D转换器转换电路等组成。主要完成将传感器检测到的与气体流量相对应的模拟量作整形放大,变成C8051F020单片机能接收的数字量。
被测气体在规定的流量、压力范围内通过流量计时,其瞬时容积流量Qi为
Qi=N/ξi (1)
式中,N为1s内输出的脉冲数;ξi为流量计系数。
检测气体流量时,CPU内部定时器/计数器CTC1不断采样流量计输出的脉冲数,并通过硬件中断每秒对测得的流量运算一次,求得被测气体的瞬时容积流量Qi和累计容积流量Qv。
3.3 控制执行模块
控制执行模块主要作用是对外部辅助设备进行控制,如空气压缩机。本系统的外部电路接口,通过一个三极管电路,可以方便的与外部电路连接,单片机控制外部继电器电路图如图3所示。
图3 继电器电路图
3.4通信模块
为实现单片机与上位机之间长距离有效数据通信,通信模块采用MAX485芯片,利用RS485标准设计,配置P0口的P0.0和P0.1为TX0和RX0引脚,与MAX485的RO和DI相连,由于微机串口利用RS232标准,单片机串口输出为TTL标准,必须实现标准信号间的转换。电路设计如图4所示。
图4 RS485通信电路图
3.5.气体流量控制
在气体流量测量的基础上,给定值和实际测得的瞬时流量进行比较后算出偏差,然后对气体流量进行调节。由于气体流量系统的精确数学模型很难获得,而模糊控制算法具有人的智能思维、适应性好、鲁棒性强等特点,正适用于这类系统。因此,采用模糊控制算法对气体流量进行自动控制,可取得良好的控制特性,其模糊控制器框图如图5所示。
图5 模糊控制器框图
模糊控制器采用双输入、单输出的二维结构。输入变量为瞬时流量偏差e和偏差变化c,输出变量为控制量u。其模糊子集分别为
E={NL, NM, NS, NO, PO, PS, PM, PL}
C={NL, NM, NS, O, PS, PM, PL}
U={NL, NM, NS, O, PS, PM, PL}
它们的论域分别为
E={-6,-5,-4,-3,-2,-1,-0, +0, 1, 2, 3, 4, 5, 6}
C={-6,-5,-4,-3,-2,-1, 0, 1, 2, 3, 4, 5, 6}
U={-7,-6,-5,-4,-3,-2,-1, 0, 1, 2, 3, 4, 5, 6, 7}
当瞬时流量变化时,通过驱动调节阀,控制其开启的大小及变化规律,使偏差趋近于零。根据气体流量的参数特点和现场实际操作经验及专家的知识理论,总结出模糊控制规则表,如表1所示。
表1 模糊控制规则表
选择模糊控制规则是模糊控制器的关键问题。为了更好地提高控制精度,本系统采用带有4个调整因子的控制规则:
其中,0<α1<α2<α3<α4<1,本系统选择:α1=0.26,α2=0.58,α3=0.76,α4=0.86。代入上式运算后经反复修改和实际调试,得到了实用的模糊控制查询表,如表2所示。
表2 查询表
4.系统的软件设计及抗干扰措施
软件的设计包括系统下位机和上位机的设计。
4.1 下位机程序设计
下位机程序主要进行C8051F020单片机系统的初始化、端口配置、A/D初始化、液晶以及键盘扫描初始化。为防止误动作,无意中改变系统的有关参数,造成人为计量误差,系统可设置“密码”,保证测量的可靠性和准确性,具体流程如图6所示。
图6 流程图
模糊控制中的控制算法由程序实现。包括两部分,一是离线计算模糊控制查询表,二是在实时控制过程中在线输入变量,并将它们作模糊量化处理,然后查找模糊控制查询表后进行输出,去控制调节阀的开启角度,来实现对气体流量的控制。
3.2 上位机部分
上位机程序采用Lab Windows/CVI设计,主要实现对采样气体流量、两个流量限值的接收和显示,还可对流量限值进行修改和发送给下位机。
3.3 抗干扰措施
为提高控制系统的稳定性,加强抗干扰能力,可采用隔离电源变压器,信号通道采用光电隔离和滤波技术;可使用Watchdog技术和软件陷阱防止程序跑飞,实现任务的恢复;采取电源抗干扰措施。