1、MCS-51单片机温度控制系统的设计0引言在现代化的工业生产中,电流、电压、温度、压力、流量、流速和开关量都是常用的主要被控参数。例如:在冶金工业、化工生产、电力工程、造纸行业、机械制造和食品加工等诸多领域中,人们都需要对各类加热炉、热处理炉、反应炉和锅炉中的温度进行检测和控制。采用MCS-51单片机来对温度进行控制,不仅具有控制方便、组态简单和灵活性大等优点,而且可以大幅度提高被控温度的技术指标,从而能够大大提高产品的质量和数量。因此,单片机对温度的控制问题是一个工业生产中经常会遇到的问题。本文以它为例进行介绍,希望能收到举一反三和触类旁通的效果。1硬件电路设计以热电偶为检测元件的单片机温度
2、控制系统电路原理图如图1所示。1.1温度检测和变送器温度检测元件和变送器的类型选择与被控温度的范围和精度等级有关。镍铬/镍铝热电偶适用于0-1000的温度检测范围,相应输出电压为0mV-41.32mV。变送器由毫伏变送器和电流/电压变送器组成:毫伏变送器用于把热电偶输出的0mV-41.32mV变换成4mA-20mA的电流;电流/电压变送器用于把毫伏变送器输出的4mA-20mA电流变换成0-5V的电压。为了提高测量精度,变送器可以进行零点迁移。例如:若温度测量范围为500-1000,则热电偶输出为20.6mV-41.32mV,毫伏变送器零点迁移后输出4mA-20mA范围电流。这样,采用8位A/D
3、转换器就可使量化温度达到1.96以内。1.2接口电路接口电路采用MCS-51系列单片机8031,外围扩展并行接口8155,程序存储器EPROM2764,模数转换器ADC0809等芯片。由图1可见,在P2.0=0和P2.1=0时,8155选中它内部的RAM工作;在P2.0=1和P2.1=0时,8155选中它内部的三个I/O端口工作。相应的地址分配为:0000H-00FFH8155内部RAM0100H命令/状态口0101HA口0102HB口0103HC口0104H定时器低8位口0105H定时器高8位口8155用作键盘/LED显示器接口电路。图2中键盘有30个按键,分成六行(L0-L5)五列(R0-
4、R4),只要某键被按下,相应的行线和列线才会接通。图中30个按键分三类:一是数字键0-9,共10个;二是功能键18个;三是剩余两个键,可定义或设置成复位键等。为了减少硬件开销,提高系统可靠性和降低成本,采用动态扫描显示。A口和所有LED的八段引线相连,各LED的控制端G和8155C口相连,故A口为字形口,C口为字位口,8031可以通过C口控制LED是否点亮,通过A口显示字符。图1单片机温度控制系统电路原理图图28155用作键盘/LED显示器接口电路2764是8KEPROM型器件。8031的PSEN和2764的OE相连,P2.5和CE相连,所以2764的地址空间为:0000H-1FFFH,ADC
5、0809的0通道(IN0其他输入端可作备用)和变送器的输出端相连,所以从通道0(IN0)上输入的0V-+5V范围的模拟电压经A/D转换后可由8031通过程序从P0口输入到它的内部RAM单元,在P2.2=0和WR=0时,8031可使ALE和START变为高电平而启动ADC0809工作;在P2.2=0和RD=0时,8031可以从ADC0809接收A/D转换后的数字量。也就是说ADC0809可以视为8031的一个外部RAM单元,地址为03F8H(地址重复范围很大),因此,8031执行如下程序可以启动ADC0809工作。MOVDPTR,#03F8HMOVXDPTR,A若8031执行下列程序:MOVDP
6、TR,#03F8HMOVXA,DPTR则可以从ADC0809输入A/D转换后的数字量。1.3温度控制电路8031对温度的控制是通过双向可控硅实现的。如图一所示,双向可控硅管和加热丝串接在交流220V、50Hz市电回路。在给定周期T内,8031只要改变可控硅管的接通时间即可改变加热丝的功率,以达到调节温度的目的。可控硅接通时间可以通过可控硅控制极上触发脉冲控制。该触发脉冲由8031用软件在P1.3引脚上产生,在过零同步脉冲同步后经光电耦合管和驱动器输出送到可控硅的控制极上。3.温度控制的算法和程序框图MCS-51单片机温度控制系统的设计图3主程序框图 3.1温度控制算法通常,电阻炉炉温控制都采用
7、偏差控制法。偏差控制的原理是先求出实测炉温对所需炉温的偏差值,然后对偏差值处理获得控制信号去调节电阻炉的加热功率,以实现对炉温的控制。在工业上,偏差控制又称PID控制,这是工业控制过程中应用最广泛的一种控制形式,一般都能收到令人满意的效果。3.2温度控制程序框图温度控制程序的设计应考虑如下:1)键盘扫描、键码识别和温度显示;2)炉温采样、数字滤波;3)数据处理;4)越限报警和处理;5)PID计算、温度标度转换3.2.1主程序框图主程序包括8031本身的初始化、并行接口8155初始化等等。大体说来,本程序包括设置有关标志、暂存单元和显示缓冲区清零、T0初始化、CPU开中断、温度显示和键盘扫描等程
8、序。3.2.2中断服务程序框图T0中断服务程序是温度控制系统的主体程序,用于启动数/模转换器、读入采样数据、数字滤波、越限温度报警和越限处理、PID计算和输出可控硅的触发脉冲等。P1.3引脚上输出的该同步触发脉冲宽度由T1计数器的溢出中断控制,8031利用等待T1溢出中断的空闲时间(形成P1.3输出脉冲顶宽)完成把本次采样值转换成显示值而放入显示单元缓冲区和调用温度显示程序。8031从T1中断服务程序返回后即可恢复现场和返回主程序。3.2.3主要子服务程序框图主要服务子程序包括温度检测采样及数字滤波子程序、带符号双字节乘法子程序和标度转换子程序目的是把实际采样取得的二进制值转换成BCD码形式的
9、温度值,然后存放到显示缓冲区中,供显示子程序调用。图4中断服务程序框图对于一般线性仪表来说,标度转换公式为:Tx=A0+(Am-A0)其中,A0为一次测量仪表的下限;Am为一次测量仪表的上限;Vx为实际测量值(工程量);Vm为仪表上限对应的数字量;V0为仪表下限对应的数字量。4其它控制算法不同的控制对象,所采用的算法有所不同。例如对于热惯性大、时间滞后明显、耦合强、难于建立精确数学模型的大型立式淬火炉,可以采用人工智能模糊控制算法,通过对淬火炉电热元件通断比的调节,实现对炉温的自动控制,也可以采用仿人智能控制(SHIC)算法和PID控制算法的联合控制方案,实际应用时应灵活运用。5结束语MCS-51单片机,体积小,重量轻,抗干扰能力强,对环境要求不高,价格低廉,可靠性高,灵活性好,即使是非电子计算机专业人员,通过学习一些专业基础知识以后也能依靠自己的技术力量,来开发所希望的单片机应用系统。本文的温度控制系统,只是单片机广泛应用于各行各业中的一例,相信读者会依靠自己的聪明才智,使单片机的应用更加广泛化。参考文献1陈明荧.8051单片机课程设计实训教材北京:清华大学出版社20042胡汉才.单片机原理及其接口技术北京:清华大学出版社19953徐淑华程退安姚万生.单片机微型机原理及应用哈尔滨工业大学出版社1994