课程设计报告题目:啤酒发酵计算机温度控制系统设计课程:专业:班级:姓名:学号:一、课程设计目的和任务《计算机控制技术》是一门实用性和实践性都很强的课程,课程设计环节应占有更加重要的地位。计算机控制技术的课程设计是一个综合运用知识的过程,它需要控制理论、程序设计、硬件电路设计等方面的知识融合。通过本课程设计,学生应学习并掌握:1.掌握总线式工业控制机控制系统硬件方案设计,包括工业控制机、模拟输入、输出通道设计和元器件选型,掌握模拟量输入、输出通道及接口连接线路绘制。2.掌握工业控制机控制系统软件方案(数学模型分析、控制策略、控制算法等)设计,掌握数据采集及处理程序、控制算法程序和模拟量输出程序流程图及软件编程。这次课程设计的任务是:啤酒发酵计算机温度控制系统设计二、课程设计的要求2.1啤酒发酵工艺简介啤酒发酵是一个复杂的生物化学过程,通常在锥型发酵罐中进行。在二十多天的发酵期间,根据酵母的活动能力,生长繁殖快慢,确定发酵给定温度曲线,如下图所示。要使酵母的繁殖和衰减、麦汁中糖度的消耗和双乙酰等杂质含量达到最佳状态,必须严格控制发酵各阶段的温度,使其在给定温度的±0.5℃范围内。2.2系统控制要求(1)现要求控制1个200m3的锥形啤酒发酵罐,罐测量3个参数,即发酵罐的上、中、下三段温度,三段温度的测量范围:-20—+50℃,共有三个温度测量点,因此需检测3个参(2)自动控制各个发酵罐中的上、中、下三段温度使其按上图所示的工艺曲线运行,温度控制误差不大于±0.5℃。共有3个控制点。(3)控制规律被控对象可视为纯滞后的一阶惯性:a、在恒温段采用增量型PI控制算法b、在升温和降温段采用增量型PID控制算式c、考虑被控对象为纯滞后的一阶惯性,还要采用施密斯(Smith)预估计控制算法。(4)系统软件设计要求a、数据采集程序:按顺序采集三个温度信号,每个信号采集5次并储存起来,采样周期为T=2s。b、数字滤波程序c、温度标度变换程序d、给定工艺曲线的实时插补计算e、控制算法①PID算式加特殊处理②施密斯(Smith)预估控制算式三、硬件总体设计方案3.1概述根据设计要求可以得到系统的总体框图如下所示:本系统主要由AT89S52单片机、温度采集电路、8155扩展电路、液晶显示接口、键盘接口、报警电路、DAC0832,电压放大和V/I转换等单元组成。3.1控制系统的硬件结构框图3.2主要器件选择及简介3.2.1单片机AT89S52AT89S52的引脚分布如图3-2所示。测温点1DS18B20测温点2DS18B20测温点3DS18B20液晶显示电路键盘电路8155扩展电路AT89S52单片机DACO832电压放大V/I转换调节阀报警电路图3-2AT89S52引脚图3.2.2温度传感器DS18B20DS18B20的引脚图如l图3-3所示。DS18B20遵循严格的单线串行通信协议,每一个DS18B20在出厂时都用激光进行了调校,并且具有唯一的64位序列号。DS18B20的内部使用了在板(ON-BOARD)专利技术。全部传感元件及转换电路集成在形如一只二极管的集成电路内,三端口分别是地线、数据和电容。其外围电路简单,可广泛应用于温度控制和温度测量系统中。图3-3DS18B20引脚图图3-4DS18B20内部功能框图温度报警触发器和设置寄存器都由非易失性电可擦写存储器(E2PROM组成,设置值可以通过相应命令写入,一旦写入不会由于掉电而丢失。3.2.3LED显示驱动MAX7219MAX7219是一种新型的串行LED数码管驱动器。它集BCD码译码器、多路扫描仪、段驱动和位驱动于一体,内含8X8位双口静态SRAM,每片最多可驱动8个LED数码管。它与微机的接口十分简单,仅用3根线即可实现多位数码管的显示。MAX7219与数码管可以直接相连,不用三极管驱动和大量限流电阻,也不用译码器、锁存器和其它硬件电路。因此MAX7219成为仪表、仪器LED显示的首选接口电路芯片。MAX7219的引脚图和引脚说明分别如图3-8和表3-6所示。图3-8MAX7219引脚图3.3功能电路设计3.3.1测温电路根据本控制系统的实际需要,然后再考虑到DS18B20独特的单总线接口、多点组网功能以及很高的测温精度。本温度检测系统是由AT89S52组成的控制模块和3个温度传感器DS18B20组成的检测电路组成的。具体连接电路如图3-9所示。DS18B20与单片机的接口非常简单,可以采用寄生电源供电方式,P1.0口接数据总线,为了保证在有效的DS18B20时钟周期内提供足够的电流,可以用一个MOSFET管和AT89S52单片机的P1.1口来完成对总线的上拉。由于总线只有1根线,因此发送接收口必须是三态的。图3-9采用外部电源供电方式,P1.0口接数据总线,只要在数据线上加一个4.7KΩ的上拉电阻,另外2个脚分别接电源和地,这种电路连接方式可靠、编程简单3.3.2显示与按键电路设计人和单片机之间的对话是单片机应用系统中的一个必要的组成部分,主要包括键盘和显示这两部分。3.3.2.1显示电路设计显示电路系统是实现人机联系的主要途径。显示系统根据发酵罐内的反应情况,需要实时循环显示出三路冷却液温度、发酵罐温度、罐内压力、液位以及三路阀门的准确位置,并在参数设定时显示更新的数据,同时LED显示器又承担对发酵罐内部温度反应工艺曲线的设定参数的显示任务,以达到更好的人机对话。单片机通过LED驱动电路把显示值到数码管,通过译码选择某一个数码管显示温度值的某一位,可以动态循环扫描,软件实现方式显示设定值,动态显示的扫描频率一般在50Hz以上,每个数码管能有1ms的导通时间,从而肉眼感觉不到闪烁。本课题采用一种基于MAX7219芯片的LED串行显示技术。LED显示是由Maxim公司生产的MAX7219来驱动的。MAX7219与单片机之间的数据传送最快最有效的方法是串行外设接口SPI,对不带SPI接口能力的单片机,需要软件合成SPI操作与MAX7219接口。硬件连接电路如图3-10所示。其中AT89S52单片机的P1.5口作串行数据输出。3.2.3按键电路设计键盘是单片机应用系统中一个至关重要的部分。它能实现输入数据、传送命令等功能,是人工干预计算机的主要手段。图3-11为按键接口电路。独立式按键就是各按键相互独立。八个键分别是日历时钟、温度时钟、启动时刻设定、定时时间设定、恒温设定、确认六个功能键和增、减数字两个控制键。3.3.4报警电路设计图3-12是本系统温度报警器电路原理图。本电路由音乐片及外围原件构成。温度传感器采用测量范围为0~100℃的电接点玻璃温度计。温度计最大额定电压为36V,额定电流为20mA。音乐片采用MX-O1或786153系列音乐片集成块。上限报警电路由IC2,VD5,VT1,VT2构成,下限报警电路由IC3,VD6,VT3,VT4等构成。两只电接点玻璃温度计分别设定在上下限温度给定值,并插在被检测系统的有关部分,将温度计电极分别接在上下限温度控制点SKD1和SKD2上。啤酒发酵罐内部麦汁温度正常时,接在SKD1的电接点温度计开路,VT1基极无偏流而截止,发光二极管VD5不发光,音乐片IC2不被触发;接在SKD2上的控制下限温度的电接点温度计接通,VT3基极和发射极短路,Ib等于零,VT3截至,发光二极管VD6不亮,IC3音乐片不触发。这时,上下限报警电路均不做声。如果被检测系统的温度达到上限给定的值,上限控制接点SDK2接通,由电阻R2提供偏流,使晶体管VT1导通,上限发光二极管VD5发光报警,同时VT1触发音乐片IC2的2脚,使3脚输出音频电流,通过晶体管VT2放大,推动扬声器BY发出音乐报警声。如果被检测系统的温度还没有调节到低于上限给定值,声光报警信号始终不止。如果被检测系统温度低于下限给定值,与上面情况相反。电源采用220V交流电路电容C1降压。VD1-VD2桥式整流,电容C2滤波,三端稳压集成块IC1稳压后,输出5V直流电压,1.5A电流。由于电压绝大部分降到电容C1上,所以,C1取值基本上取决于输出电流值。C1要求耐压大于400V其容量按音乐片最大工作电流计,选择3uF。为了使音乐片声音宏亮,VT2和VT4选用中功率晶体管,如3DG12B等,β≥80左右。IC2和IC3可公用一个扬声器,选4Ω或8Ω电动扬声器。为区别上下限温度报警。VD5和VD6选用两种颜色的发光二极管,一般上限的选红色的,下限的选绿色的较好一些。3.3.5接口电路设计3.3.5.1与上位机通讯接口为了提高整个温度控制系统的管理和控制能力,许多厂家的整个啤酒发酵系统采用了主从分布式集散控制系统。3.3.5.1.1RS-232C总线接口RS232-C是目前最常用的串行接口标准,它的电气接口使用单端的、不平衡的发送器和接收器。RS232-C的传输电平采用负逻辑,规定+5V~+15V为逻辑“0-5V}-15V为逻辑“1,数据传输速率局限在20Kb/s以下。由于单片机和PC机的RS-232接口不能直接“握手”,必须进行电平转换。采用了自升压电平转换集成芯片ICL232。图3-13ICL232芯片管脚封装图Fig.3-13ICL232CMOSchipfeetencapsulationchart3.3.5.1.2RS-422总线接口RS-422标准是美国电子工业防会于1978年公布的,是为了在本质上提高串行通讯电气特性,又在数据格式上与RS-232兼容。RS-422在发送端通过传输线驱动器,把逻辑电平变换成分别为同相和反相的一对差分信号,在接收端通过传输线接收器把差分信号转换成逻辑电平。差分信号的差分电压低于某一闽值或高于某一闽值分别表示两个逻辑电平。图3-14DS3486芯片封装图3-15DS3487芯片封装作为单片机与上位机之间的以RS-422标准的接口,电路采用DS3486,DS3487来对其电平转换器件。DS3487用于把单片机输出的TTL电平转换成RS-422电平,DS3486用于RS-422电平转换成单片机的TTL电平。它们具有三态控制的发送、接受驱动器,具有四个独立的接收器、发送器、遵从平衡/非平衡电压数字接口电路电气特性的EIA标准,输出为与74LS兼容的三态结构,当对应的输出控制引脚达到逻辑零条件时,被强制为高阻抗状态。DS3486的芯片管脚封装如图3-14所示,DS3487的外部封装如图3-15所示,其封装图与DS3486相似。四、系统软件设计4.1系统构成本系统的软件由主程序MAIN、外部中断服务子程序JINT、定时/计数器TO中断服务子程序JTO、定时/计时器T1中断服务子程序JT1、串行中断服务子程序JSR、按键处理模块、显示模块、报警模块和读数据子程序RDBYT,写数据子程序WRBYT等构成。其中外部中断服务子程序JINT中又包括数据采集模块、数据处理模块、PID计算子程序。各模块功能说明如下:主程序模块:完成系统的自检、初始化和协调各功能模块工作。外部中断服务子程序JINT:在这个中断服务程序部分里要完成对被测量的读取、变换、Fuzzy-PID计算和限幅任务。主要由数据采集模块、数据处理模块、Fuzzy-PID计算子程序来完成。定时/计数器TO:完成对系统运行时间的计时。串行口中断服务子程序JSR:其主要是接收来自集散控制系统的主机的信息,向主机发送数据,实现从主机设定或修改每个发酵罐反映参数的功能和向主机提供集散控制管理的数据。数据采集模块:完成定时采集上、中、下三层温度、压力的液位及四个阀门工作状态、数据的数字滤波、数据格式转换及存储;对测量值进行判断是否超过限值,利用发光二极管指示工作状态和超限报警信号。数据处理模块:判断当前的测量值处于发酵工艺曲线的哪一段折线上,然后根据相应的线性化公式计算出此次采样的线性值。根据采集的数据与设定值的误差进行Fuzzy-PID运算,计算出阀门的开度,从而输出相应的控制量。Fuzzy-PID计算子程序:根据测量值与设定值的偏差,利用Fuzzy-PID运算公式,计算出系统应输出的控制量。按键处理模块:在发酵的最初阶段,需要对发