家酿啤酒机监控系统—总体设计、下位机软件设计_第1页
家酿啤酒机监控系统—总体设计、下位机软件设计_第2页
家酿啤酒机监控系统—总体设计、下位机软件设计_第3页
家酿啤酒机监控系统—总体设计、下位机软件设计_第4页
家酿啤酒机监控系统—总体设计、下位机软件设计_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、200 2 级 本 科 毕 业 设 计 论 文第 0 页 共 43 页目次1 引言11.1 啤酒发酵过程温度控制系统的特点11.2 啤酒发酵过程温度控制系统的特点21.3 啤酒发酵温度控制系统的工艺要求32 啤酒发酵过程控制的现状和需要解决的问题32.1 课题的提出和研究内容42.2 智能控制的发展趋势52.3 家酿啤酒机的设计方案53 家酿啤酒机系统控制方案63.1 系统总体方案设计63.2 家酿啤酒机设计分工情况73.3 控制算法84 下位机软件程序设计124.1系统构成 .124.2主程序 MAIN 模块设计 .134.3显示模块 .134.4温度采集模块 .134.5模糊控制算法模块

2、.154.6定时/计数器 TO 中断服务模块 .165系统调试 .175.1仿真器和调试软件的使用 .175.2模块程序的调式 .175.3系统的联调 .18结论 .19致谢 .20参考 文 献 .21附录:软件代码 .220200 2 级 本 科 毕 业 设 计 论 文第 10 页 共 43 页1 引言随着社会的发展,生化工业在国民生活和国民经济生产中越来越重要。为此,对这一工业领域的操作管理、测量控制、优化生产成为很重要的课题。具有悠久历史的发酵工业己成为生物工程(Biotechnology)和生化工程(Biochemical Engineering)的基础。在近几十年中,发酵工业的发展越

3、来越快并趋于旺盛时期。但由于生化过程的复杂性,它的工业自动化水平远远落后与其它工业生产过程。随着生物工程的迅速发展,生物工程的许多成果,都要经过生化工业转化为工业产品,所以,生化反应器及其系统在生化工业中显得越来越重要,生化反应器的体积从几立方米发展到几十立方米,而今是几百立方米,甚至上千立方米。对于这样大型的生化反应器系统,若控制不当,将会造成极大的经济损失,因此,对于生化生产过程的参数测量、操作监视、自动控制、优化操作与控制,成为生化生产优化管理与自动化的关键问题。另一方面, 计算技术和计算机的飞速发展,为测量、分析、控制生化工程提供了先进的自动化工具。因此为使生化工业过程安全、平稳地运行

4、,以达到优化生产的目的,必须对生化生产进行自动控制。自第一个微处理器问世以来,以微处理器为核心构成的控制系统以各种方式 无孔不入地渗透到人们生产生活科研等各个领域,为人类带来了渗透到各个领域的“智能”。1.1 啤酒发酵过程温度控制系统的特点啤酒发酵是啤酒生产过程中的关键工序,其工艺条件的控制效果,直接决定了啤酒的质量。啤酒生产过程主要包括糖化、发酵以及过滤分装三个环节。一、糖化糖化过程是把生产啤酒的主要原料与温水混合,利用麦芽的水解酶把淀粉、蛋白质等分解成可溶性低分子糖类、氨基酸、膝、肤等物质,形成啤酒发酵原液麦汁。二、发酵啤酒发酵是一个微生物代谢过程,简单的说是把糖化麦汁经酵母发酵分解的过程

5、,同时还会产生种类繁多的中间代谢物:双乙酞、脂肪酸、高级醇、酮等,这些代谢产物的含量虽然极少,但它们对啤酒的质量和口味的影响很大,它们的产生主要取决于发酵温度。一般认为,低温发酵可以降低双乙酞、脂类等代谢物的含量,提高啤酒的色泽和口味;高温发酵可以加快发酵速度,提高生产效率和经济效益。总之,如何掌握好啤酒发酵过程中的发酵温度,控制好温度的升降速率是决定啤酒生产质量的1核心内容。啤酒发酵是个放热过程,如不加以控制,罐内的温度会随着发酵生成热的产生而逐渐上升,目前大多数对象是采用往冷却夹套内同入致冷酒精水混合物或液氨来吸收发酵过程中不断放出的热量,从而维持适宜的发酵温度。整个发酵过程分前酵和后酵两

6、个阶段。(1) 前酵这个阶段又称为主发酵。麦汁接种酵母进入前酵,接种酵母几小时以后开始发酵, 麦汁糖度下降,产生二氧化碳并释放生化反应热,使整个罐内的温度逐渐上升。经过23天后进入发酵最为旺盛的高泡期再经过23天,糖度进一步降低,降糖速度变慢, 酵母开始沉淀,当罐内发酵糖度达标后进行降温转入后酵阶段。普通啤酒在前酵阶段一般要求控制在12左右,降温速率要求控制在0.3/h。(2) 后酵当罐内温度从前酵的12降到5左右时后酵阶段开始,这一阶段最重要的是进行双乙酞还原,此外,后酵阶段还完成了残糖发酵,充分沉淀蛋白质,降低氧含量, 提高啤酒稳定性。一旦双乙酞指标合格,发酵罐进入第二个降温过程,以0.1

7、5 /h 的降温速率把罐内发酵温度从5降到01左右进行贮酒,以提高啤酒的风味和质量。经过一段时间的贮酒,整个发酵环节基本结束。通常发酵液温度在不同的发酵阶段,对罐内发酵液的温度场要有相应的要求:在前酵阶段希望发酵罐内从罐顶到罐底有一正的温度梯度,以利于发酵液对流和酵母在罐内的均匀混合;在后酵阶段,则要求发酵液由上到下有一定的负温度梯度,便于酵母的沉淀和排除。三、啤酒的过滤和分装至此,一个啤酒生产周期结束。1.2 啤酒发酵过程温度控制系统的特点发酵罐是啤酒生产的主要设备,酵母在罐内发生反应而产生热量,使麦汁温度升高,机理分析和实验表明啤酒发酵罐的温控对象不同于一般的工业对象,主要有以下两方面的特

8、点:(1) 时滞性很大 在整个发酵过程中,由于生化反作用产生的生化反应热导致罐内发酵温度的升高,为了维持适宜的发酵温度,通常是往发酵罐冷却夹套内通入酒精水或液态氨,来带走多余的反应热。由于罐内没有搅拌装置和加热装置,冷媒与发酵液间主要依靠热传导进行热量交换,发酵液内部存在一定的对流,影响到测温点,2这就使得控制量的变化后,要经过一段时间,被控量才发生变化,因此这类系统会表现出很大的时滞效应。(2) 时变性发酵罐的温控特性主要取决于发酵液内生化反应的剧烈程度。而啤酒发酵是从起酵,旺盛、衰减到停止不断变化的间歇生产过程,在不同的发酵阶段, 酵母活力不同,造成酒体温度特性变化,因此对象特性具有明显的

9、时变性。1.3 啤酒发酵温度控制系统的工艺要求啤酒发酵生产工艺对控制的要求是:控制罐温在特定阶段与标准的工艺生产曲线相符;控制罐内气体的有效排放,使罐内压力符合不同阶段的需要;控制结果不应与工艺要求相抵触,如局部过冷、破坏酵母沉降条件等。2 啤酒发酵过程控制的现状和需要解决的问题啤酒发酵是整个啤酒生产过程最重要的环节,它是一个复杂的微生物代谢过程。由于发酵过程的内部机理非常复杂,影响发酵的因素也很多,对于整个过程目前还缺乏精确的定量的数学描述,但是啤酒发酵罐内的发酵温度始终是决定啤酒质量的关键所在。从啤酒生产原料(麦汁)进入发酵罐开始发酵到啤酒出罐,前后必须经过20-30 天不等的时间,如何掌

10、握好啤酒发酵过程中的发酵温度,控制好温度的升降速度,使发酵过程满足啤酒生产的工艺设定曲线,是决定啤酒生产质量和生产效率的关键。因此,如何有效地提高生产的自动化水平,提高啤酒质量和长期稳定性,对增强企业的市场竞争力,具有十分重要的意义。目前我国许多啤酒生产厂家在啤酒发酵过程中采用温度集中或就地显示,再根据显示结果与工艺要求的偏差情况,人工调节冷媒流量达到控制温度目的,这种操作会因操作人员的技术水平、责任心、熟练程度等外部因素影响温控的质量,难以达到理想的温度控制效果。有些啤酒厂采用模拟仪表来实现啤酒生产的自动控制,由于模拟仪表的灵活性较低、功能较少,要实现啤酒生产的自动控制具有一定的困难。而且许

11、多的发酵温控系统的执行机构采用的是手动阀门来操作,工人的劳动强度大,温控精度低,啤酒的质量也不稳定。近年来,各啤酒企业随着对生产控制过程的重视,控制水平愈来愈高。有些啤酒生产厂家以利用单片机控制系统实现对啤酒发酵过程中参数的检测和控制,由于单片机控制灵活性大,功能强,现今已被各级啤酒生产厂家所青睐。从目前国内情况来看,有些科研单位对此做了一些研究工作,如北京自动化研究3所系统工程设计院研制的一种啤酒发酵过程的自动检测控制系统,该系统采用集散控制方式,下位机选用STD总线模块式工业控制机,上位机选用IBMPC/XT主机。方案中测点选择在发酵罐上中带之间,来表示罐内平均温度,通过调节阀门按比例动作

12、来调节冷却液的流量以达到控制罐内温度的目的。整个下位机系统可以对6个罐进行检测控制,但是由于所测温度不能准确反映罐内因对流而形成的各部分温度的变化,所以限制了控制精度,影响生产效率。还有,黑龙江电子技术研究所所开发的啤酒发酵过程仪表集散型控制系统中,冷却液的控制器件采用由固态继电器驱动的电动调节阀, 通过调节阀门开度来控制冷却液流量,但是每个电动调节阀都要有位置反馈电路,来对应阀门开度,固态继电器和智能仪表都有光隔离器件,这些无疑增加了系统的复性和不稳定性。而且由于发酵罐的罐区底部环境潮湿,容易生锈和损坏,维修量大,使用不方便。另外,山东自动化研究所研制的啤酒发酵罐微机控制系统中温度的测量精度

13、得到提高,并且采用了“等等看看”与常规PID相结合的复合控制算法,这可以说是一种仿人工操作的非连续的控制方式,它对温度偏差的调节不是连续进行的,只有在偏差大到必须改变控制量时,才使其发生相应的变化。但是在系统的等待时间段内, 不对温度进行检测、控制,由此可以看出这种算法的局限性是不能反映啤酒发酵过程的时变性。综上可以看出,目前在国内的啤酒发酵工业中存在的问题主要是:对发酵罐内的反应温度协调控制的问题、控制执行器件的选用以及采用合理的控制算法。因此需要对啤酒发酵的温度控制进行技术上的改进和优化,以满足工艺的要求。2.1 课题的提出和研究内容随着人们生活水平的提高,对物质的享受要求也越来越高,为了

14、能让人们不出家门就能品尝到美味的啤酒,一台家酿啤酒机是家居生活的新的需求,针对目前市场上的空缺,特提出研制家酿啤酒机这一课题。啤酒发酵是整个啤酒生产过程的重要环节,是一个复杂的生物化学反应过程, 发酵温度的控制是影响啤酒发酵好坏的主要因素。在发酵过程中,温度是一个非常重要的参数,在发酵的不同阶段,对温度控制也不一样。在周期为 20 多天的发酵过程中, 根据酵母的活动能力, 生长繁殖的快慢, 对发酵液有不同的温度要求。如果能将发酵温度控制在给定的温度范围内, 就能使酵母的繁殖和衰减, 麦汁中糖度的消耗和双乙酰等杂质的含量都达到最佳状况, 从而取得较好的产品质量。因此对发酵温度进行控制便成了整个发

15、酵过程的关键。对于啤酒发酵过程来说,由于控制作用必须经历较大的滞后才能在被控变量上得到体现,以致当被控变量的反馈反映出控制作用时,往往会4输入过多的控制量,导致系统的超调甚至失稳,而系统的时变性会给常规 PID 控制的鲁棒性提出更高的要求。因此在啤酒发酵过程中采用常规 PID 控制是不适宜的。曾经有人通过微机对被控过程的输入、输出量进行采集,采用离线回归辩识的方法,取得了该过程的模型。那是一个近似带纯滞后的一阶惯性环节,但值得注意的是,由于发酵的前期、中期、后期的热交换有很大的差异,在此过程中被控对象的参数有较大的变化,因此基于被控对象精确模型的经典控制法,难于取得很好的效果。因此目前研究利用

16、模糊控制算法控制发酵的温度,并利用上位机加以监控,实现智能化的控制系统。2.2 智能控制的发展趋势当今时代是信息化时代,各个领域常以信息的获取与利用为中心,一些先进技术, 如信息传感技术、数据处理技术及计算机控制技术正在飞速发展并不断变革。智能化是现代控制系统的主要发展趋势。所谓智能是指随外界条件的变化,具有确定正确行动的能力,也即具有人的思维能力以及推理并作出决策的能力。从温度控制系统的智能化的措施来看,以单片机为核心构成的微型温度控制系统调节装置己被国内外许多公司和单位作为研究对象,客观存在的硬件简单,软件丰富, 能方便地实现现代化控制规律和多种功能,性能优良,运行、调试都非常方便,且生产

17、成本低,可加快生产设备的更新换代,已开始受到重视和欢迎。加之近年来,单片机的性能不断提高,而价格却逐年降低,所以单片机温度控制装置将具有广阔的发展和运用前景。另一个智能化的措施就是控制算法的加入,目前以模糊控制为核心的控制算法被广泛的应用。模糊控制系统是基于知识或基于规则的系统。它的核心就是由所谓的IFTHEN规则所组成的知识库。模糊系统理论的最大贡献就是它为从知识库向非线形映射的转换提供了一套系统的程序。正是由于这一转换,我们才能将基于知识的系统(模糊系统)采用同数学模型及传感器测量一样的方式,应用到工程应用中(控制、信号处理及通信系统等)。这样,最终组合而成的系统的分析和设计就会以数学这种

18、严密方式来进行。2.3 家酿啤酒机的设计方案本家酿啤酒机所实现的功能为:加热、恒温、制冷、防溢、报警和温度时间显示。整个系统的工作过程为:首先将物料加热至 3035(保温 30 分钟)用 30 分钟时5间升温至 5055(保温 30 分钟)用 30 分钟时间升温至 6570进行糖化(保温 90 分钟)添加啤酒花煮沸(10 分钟)自来水喷淋冷却至 1012去除麦槽添加酵母保持 1214进行发酵(4872 小时)降温至 24沉淀酵母(12 24 小时)。发酵温度的工艺设定曲线如图 2.1 所示。温度5分钟99665-7050-5530-3530分钟30分钟90分钟12-142-472小时24小时时

19、间图 2.13 家酿啤酒机系统控制方案在本次设计中温度控制系统如图3.1所示,控制对象为发酵罐,检测元件为温度传感器、液位传感器,执行器件为继电器与调节阀门。温度控制部分,它包括单片机电路、过程输入输出通道、键盘、显示器、通讯接口电路和稳压电源。图 3. 13.1 系统总体方案设计本系统共分两大部分,分别是控制与通讯部分和人机界面部分。控制与通讯部分实现的功能是实现对发酵罐的温度控制并实时的发送数据给上位机进行数据监测;人机界面的功能是提供对啤酒机的操作途径并显示啤酒机的当前状况。3.1.1 控制与通讯部分的设计由于啤酒发酵过程最重要的是温度的控制,所以温度升温是通过控制电热丝的导通时间来完成

20、的,啤酒发酵过程的降温是通过绕在啤酒发酵罐外壁上冷带中的冷却液来完成的,冷却液的流量和速度决定了降温的速度。根据以上所述的对本系统的控制要求,为实现发酵罐的温度得到监控,设计中采用的方法是在控制周期开始时对发酵罐内的温度进行采集,并通过模糊控制算法得到控制量,并在一个控制周期内向控制通道输出需要的控制量。温度采集选用 DS18B20 温度传感器,它集成了温度传感器、信号调整电路、A/D 采样和转换电路、存储器等部件。它可以直接以数字量的形式输出被测环境的温度而不需要配加其它外围电路。另外,多个 DS1820 可以共用一条数据总线与 CPU 进行通信,与传统的温度传感器(AD590、LM35)

21、一个器件需要一条数据线相比,具有十分突出的优越性。测温范围- 55 + 125,在- 10 +85时精度为0. 5,可编程的分辨率为 912 位,对应的可编程温度分别为 0.5、0.25、0.125、0.0625, 转换时间为 750ms。在系统的整个运行过程中还对发酵罐内的液位进行检测,防止液体溢出。当检测到液位超出最高位置就发出警报并停止啤酒机的工作。通讯部分是通过 RS232 接口使下位机与上位机进行通信。上位机的工作任务为记录实时工作数据并绘制温度控制曲线,并对下位机实现启动和停止操作。3.1.2 人机界面部分的设计人机界面主要是提供对啤酒机的操作途径并反映啤酒机的状态。在下位机上用数

22、码管显示当前时间和温度,用两个按钮启动和暂停下位机。为了反映啤酒机当前处于的工作阶段,用发光二极管指示当前工作阶段。3.1.3 上位机设计方案上位机采用 VB 开发工具开发界面。上位机要完成的功能是利用 VB 中的 MSCOMM 控件进行通信软件的开发,与下位机进行通信,画出温度控制曲线图,表明下位机的工作状态,并对下位机进行启动和停止功能。3.2 家酿啤酒机设计分工情况本次课题分为硬件设计,软件设计和上位机设计三大模块。本人在此次设计中的7主要任务是完成对啤酒机的总体设计和进行下位机的软件开发。3.3 控制算法啤酒厂发酵罐温度控制过程是一个大时滞,大惯性的过程,采用传统的控制工艺是不能满足温

23、度控制要求的,因此应采用恰当的控制算法,来实现对温度的控制,以达到工艺的要求。在实际的工业控制系统中,常规的PID控制是最容易被考虑和采用的,但是对于大容量、时变、大滞后系统来说,常规的PID控制一般难以取得满意的控制效果,究其原因是PID控制忽略了这样一个事实:控制作用必须经历较大的滞后才能在被控变量上得到体现,致使当被控变量的反馈反映出控制作用时,往往会输入过多的控制量,导致系统严重超调甚至失稳,而系统的时变性会给常规的PID控制的鲁棒性提出过高的要求,因此在啤酒发酵控制中采用常规的PID控制是不适宜的。故在本系统中采用模糊控制算法。3.3.1模糊控制算法模糊控制器包括:模糊化、模糊推理和

24、解模糊三部分,其控制系统框图3.2所示。图3.2本系统采用查表法模糊控制,它的作法是:首先通过事先的离线计算,取得一个模糊控制表,然后将其控制表存放到单片机的程序存储器中。于是在过程控制中,只需直接根据采样和论域变换得来的以论域元素形式表现的e(x)和ec(y),通过查控制表得到对应的同样以论域元素形式表现的控制量u(z),把其乘以比例因子,即可用于控制被控过程,以达到预期的控制目的。本系统的模糊控制器采用双输入单输出型, 以误差及误差变化作为输入量, 经模糊化,按模糊控制规则定出输出量。模糊控制器选用实际温度Y与温度给定值R的偏差e=Y-R及其偏差变化率ec作为输入语言变量,把控制继电器道通

25、的占空比变化量U选作为输出语言变量。温度误差的范围设定为+ e , 将区间 - e , +e 范围的精确级分为9个等级:E = - 4 , - 3 , - 2 , - 1 , 0 , + 1 ,+ 2 , + 3 , + 4 ,则温度误差e的量化因子应为:8k = 41eE 的语言变量集即模糊状态分为5个:E = NB , NS , ZE , PS , PB 根据操作者的经验得模糊变量e 的赋值如表3.1所示。表3.1uEe-4-3-2-101234NB10.330000000NS00.410.400000ZE0000.210.2000PS000000.410.40PB00000000.351

26、设温度误差变化率的论域为+ ec , 将区间 - ec , +ec 范围的精确级分为9个等级:EC = - 4 , - 3 , - 2 , - 1 , 0, + 1 ,+ 2 , + 3 , + 4 ,则温度误差变化率ec的量化因子应4为: k2 = ec9表3.2EC 的语言变量集即模糊状态分为5个:EC = NB , NS ,ZE , PS , PB 根据操作者的经验得模糊变量ec 的赋值如表3.2所示。ECuec-4-3-2-101234NB10.330000000NS00.410.400000ZE0000.210.2000PS000000.410.40PB00000000.351设输出

27、的论域为+ u , 将区间 - u , +u 范围的精确级分为9个等级:U= - - 4 , - 3 , - 2 , - 1 , 0 , + 1 ,+ 2 , + 3 , + 4 ,则u的量化因子应为: k = u34U 的语言变量集即模糊状态分为5个:U = NB , NS , ZE , PS , PB 模糊控制规则,实质上是将操作者在控制过程中的实践经验加以总结而得到的一条条模糊条件语句的集合,通常简写为一个表,称为模糊控制状态表。考虑温度偏差e为负的情况。当e为负大时,无论ec的变化如何,为尽快消除偏差, 应使控制量增加较快,所以控制量u的变化取正大,即有控制规则组如下:(1) IF E

28、=NB and EC=PB then U=PB(2) IF E=NB and EC=PS then U=PB(3) IF E=NB and EC=ZE then U=PB(4) IF E=NB and EC=NS then U=PB当偏差e为负小或0时,为了防止超调并使系统尽快稳定,就要根据偏差的变化来确定控制量的变化。若ec为正,表明偏差有减小的趋势,所以可取较小的控制量,即有控制规则如下:(5) IF E=NS and EC=ZE then U=PS(6) IF E=NS and EC=PS then U=ZE(7) IF E=NS and EC=PB then U=NS(8) IF E=

29、ZE and EC=ZE then U=ZE(9) IF E=ZE and EC=PS then U=NS(10) IF E=ZE and EC=PB then U=NB当偏差e为负小或0时,而ec为负时,偏差有增大的趋势,所以这时应使控制量增加,去控制规则如下:(11) IF E=ZE and EC=NS then U=PS(12) IF E=ZE and EC=NB then U=PB(13) IF E=NS and EC=NS then U=PS(12) IF E=NS and EC=NB then U=PB取得了以上对应于偏差e为负或为0的控制规则后,根据系统的工作特点,当偏差和偏差变

30、化率同时变号时,控制量的变化也应变号。这样当偏差为正时,可对称地得到控制量变化的值。最终形成一个模糊控制状态表如表3.3所示。10200 2 级 本 科 毕 业 设 计 论 文第 12 页 共 43 页表3.3UECENBNSZEPSPBNBXPBPBPSNBNSPBPSPSZENBZEPBPSZENSNBPSPBZENSNSNBPBPBNSNBNBX最后是模糊控制表的求法。把温度偏差e和偏差变化率ec对应的论域值中的全部元素的所有组合采用重心法计算出相应的控制量的对应值,构成模糊控制器的控制表,如表3.4所示。重心法也称力矩法。它是对模糊推理的结果的所有元素求取重心元素的方法。重心法把模糊量

31、的重心元素作为反模糊化之后得到的精确值u,求取公 m (ui ) ui式为: u = im(ui )i表3.4uece-4-3-2-101234-4433223000-3333222000-23322110-1-2-1322110-1-1-2022110-1-1-2-212110-1-1-2-2-32210-1-1-2-2-3-33000-2-2-2-3-3-34000-3-2-2-3-3-4114 下位机软件程序设计本次课题软件的主要部分是下位机软件的设计,利用单片机内部的特点,来实现对温度控制系统的数据采集,数据处理,数据显示以及辅助的功能,如时间的显示, 温度的调节控制、控制过程的开始与

32、结束等。在软件系统的设计中,考虑到程序的可读性,系统的可扩展性,以及升级的需要, 程序设计过程采用模块化的设计方法,每个模块实现一定的功能,模块与模块间功能相对独立,这样就使得程序结构清晰。另外,模块的功能相对独立,同一模块可以应用在不同的地方,这增加了代码的使用效率。本系统的软件采用C语言和汇编语言编写,C语言作为一种编程语言,移植性好, 便于调试,它是一种较好的语言工具。4.1 系统构成本系统的软件由主程序MAIN模块、定时/计数器TO中断服务模块、串行口中断服务模块、按键处理模块、通信模块、显示模块、温度采集模块、模糊控制算法模块等构成。其中定时/计数器TO中断服务模块中又包括时钟计算、

33、输出控制子程序。各模块功能说明如下:主程序模块:完成系统自检、初始化、协调各模块工作。定时/计数器 TO 中断服务模块:在这个子程序中要完成对系统时钟的计算,对发酵罐控制周期的计算和通过模糊控制算法得到的输出量进行输出控制。串行口中断服务模块:读取上位机发送过来的数据,并对串行中断进行复位。按键处理模块:完成对下位机启动运行和停止运行的功能。显示模块:完成系统时间和当前温度的数据显示。温度采集模块:通过DS18B20完成对发酵罐的温度数据的采集。模糊控制算法模块:根据温度偏差和温度偏差率,利用模糊控制算法,计算出系统应输出的控制量。整个系统的设计思路是:程序开始时,对定时器进行初始化,由10m

34、s产生一次中断,初始化定时器T0,计数初值为TH0=0xDB;TL0=0xFF;设置定时器工作的模式为TMOD=0x01。等待系统开始标志f置1后启动整个系统工作,进入系统的功能函数, 判别系统的工作状态,并用发光二极管指示。本系统采用2秒的控制周期,在每个控制周期开始前进行温度采集和模糊控制计算,得到的输出控制量在时钟T0中断服务13200 2 级 本 科 毕 业 设 计 论 文第 14 页 共 43 页模块中对输出进行控制。4.2 主程序MAIN模块设计开 始分配显 示寄存 器内容 开 始主程序首先对系统进行初始化,检测液位,如果超出标准液位,则发出警报,并扫描键盘等待启动命令,即启动标志

35、 f=1。若得到启动命令则进入系统功能函数,否则进行温度检测并显示当前温度。在主程序里每执行完一次系统功能函数,则进行一次键盘扫描。主程序的流程图如图 4.1 所示。 N F=1?Y温度采集调用功能函数键盘扫描液位检测显 示初始化 N6位 数 据是 否送完 Y8 个数码 管同 时显示 返 回把段 码 串入7 4H C 59 5查此 显 示数字 的 段码 选中下一 位选中第 一位 图 4.1图 4.24.3 显示模块在本系统的设计中作为人机对话的一个重要部分就是显示器,硬件电路中使用6 位LED作为系统的显示器,在软件中dis6是显示寄存器。在显示模块中还有一个重要的状态显示,就是用发光二极管指

36、示目前系统的工作阶段,每当前一个阶段的完成后,阶段号就加1,系统就进入下一阶段。数码管显示流程图如图4.2所示。4.4 温度采集模块本系统的温度采集选用 DS18B20 温度传感器。在程序设计中一般有四个步骤:初始化命令;传送 ROM 命令;传送 RAM 命令;数据交换命令。由于 DS18B20 有着严格的时序控制,因此在进行温度采集时必须关闭所有的中断,保证 DS18B20 安全的工作。初始化的时序是单片机先发出480960us的复位脉冲,在1560us后,DS18B20 发出60240us的应答脉冲,完成对DS18B20的初始化。DS18B20 的传送命令有:读 ROM 命令(33H),匹

37、配 ROM 命令(55H),跳过 ROM 命令(CCH),搜索 ROM 命令(F0H),报警搜索命令(ECH)。传送 RAM 命令有:温度转换命令(44H),读存储器命令(EBH),写存储器命令(4EH),复制存储器命令(48H),读 EEPROM 命令(B8H),读供电方式命令(B4H)。数据交换命令是用具体的读/写时序脉冲读出或写入数据。对于 DS18B20 的读时序分为读 0 时序和读 1 时序两个过程。DS18B20 的读时隙是从主机把单总线拉低之后,在 15 秒之内就得释放单总线,以让 DS18B20 把数据传输到单总线上。DS18B20 在完成一个读时序过程,至少需要 60us 才

38、能完成。对于 DS18B20 的写时序仍然分为写 0 时序和写 1 时序两个过程。DS18B20 写 0 时序和写 1 时序的要求不同,当要写 0 时序时,单总线要被拉低至少 60us,保证 DS18B20 能够在 15us 到 45us 之间能够正确地采样 IO 总线上的“0”电平,当要写 1 时序时, 单总线被拉低之后,在 15us 之内就得释放单总线。温度采集模块的流程图如图 4.3 所示。当DS18B20 接收到温度转换命令后,开始启动转换。转换完成后的温度值就以16 位带符号扩展的二进制补码形式存储在高速暂存存储器的第1、2字节。单片机可通过单线接口读到该数据,读取时低位在前,高位在

39、后,数据格式以0.0625/LSB形式表示。温度值格式如下。低字节格式:232221202-12-22-32-4高字节格式:SSSSS262524当符号位S=0时,直接将二进制位转换为十进制;当S=1时,先将补码变换为原码, 再计算十进制值。在本系统中对温度的精度只需要到1,因此在转换时去掉寄存器中的小数部分,得到整数部分的十六进值后再通过查表将16进制的温度数据转换成压缩BCD码。14200 2 级 本 科 毕 业 设 计 论 文第 17 页 共 43 页图 4.34.5 模糊控制算法模块由于本系统使用的是查表法模糊控制算法,在实际使用中只需进行查控制表就可得到控制量。因此模糊控制器按以下步

40、骤工作:第一步在每个控制周期中采样系统的输出 Y(k),并求取实际的即时偏差 e(k) 和偏差变化率 ec(k)如下:e(k)=Y(k)Rec(k)=e(k)e(k1)(k=0,1,2)第二步将实际的 e(k)和 ec(k)分别乘以量化因子k1 和k2 ,取得以相应论域元素表征的查找控制表所需的x和y 值。第三步以x和y 查找控制表,得到输出控制量的论域值,再将此论域值乘以量化因子k3 ,便得到实际控制量,输出去控制被控对象。模糊控制算法的流程图如图 4.4 所示。15图 4. 44.6 定时/计数器TO中断服务模块开 始是 否 m 100 定时/计数器 T0 中断服务模块完成的功能是进行系统

41、时钟的计算,系统控制周期的计算,对系统控制量进行输出。本系统中 T0 每 10ms 产生一个中断,因此当每产生100 次中断时,系统时钟的秒寄存器就加 1。控制量是否大于 0Y控制周 期计算 时钟计算 此外系统控制周期为 2 秒,也就是 200 个 T0 中断为一个控制周期,每产生一个 T0 中断, 控制周期寄存器减 1,当控制周期寄存器为 0 时,对系统输出量重新赋值,并对一些系统系统标 志修正 Y控制周期 是否等于 0N返回 加热控制量减 1不加热 标志进行修正。系统控制量也是在 T0 中断中 N 进行处理,每来一个 T0 中断,首先判断控制量寄存器的值是否大于 0,当其值大于 0 时,

42、系统控制量寄存器减 1,输出高电平;当其值不大于 0 时,系统输出低电平。故 T0 中断服务模块的流程图如图 4.5 所示。图 4. 5165 系统调试5.1 仿真器和调试软件的使用本系统的调试是利用的 TKS 系列的仿真器,调试软件是 Keil 编译软件。TKS系列仿真器可以实时在线仿真PHILIPS半导体公司的80C51系列单片机的同时,还能够实时在线仿真ATMEL、HY、Winbond等公司兼容MCS-51内核的标准80C51单片机, 彻底解决80C51开发中的仿真工具的瓶颈问题。TKS仿真器可以选用外部晶振作为系统时钟,同时还提供6MHz、12MHz、24MHz三个内部晶振。利用微机把

43、源程序汇编为目标程序并通过串行口把目标程序送入仿真机。Keil是基于80C51内核的微处理器软件开发平台,内嵌多种符合当前工业标准的开发工具,可以完成工程建立和管理,编译,连接,目标代码的生成,软件仿真,硬件仿真等完整的开发流程。尤其C编译工具在产生代码的准确性和效率方面达到了较高的水平。整个调式软件的使用流程为:建立工程为工程选择目标器件设置工程的配置参数打开/建立程序文件编译和连接工程使用TKS仿真器对应用程序进行仿真将生成的Hex文件烧写到ROM中运行测试。5.2 模块程序的调式在系统联调前必须保证各个模块调试正确,在每个模块单独通过调试后才能把它们串联起来,进行整个系统的联调。5.2.

44、1 显示模块的调试显示模块主要是显示时间和温度的数据,用 74HC595 驱动数码管。先调试数码管能被正确点亮,接着对数码管的每个段逐个单独点亮,列出每个数字的正确段码。最后能做到正确显示 09 每个数字,至此本模块调试才算通过。5.2.2 温度采集模块的调试温度采集是选用的 DS18B20 温度传感器,该传感器有着严格的时序要求。在调试时必须严格按照它的时序要求。先调试初始化程序,在保证初始化程序正确后,才能进行写操作和读操作的调试。由于在 DS18B20 工作时不能有中断,因此,在调试时不能使用断点操作,调试结果主要看温度寄存器里的温度数据是否正确。由于此模块是用汇编语言编写的,所以必须注

45、意调用该模块时 C 语言与汇编语言之间的参数传递情况。在 Keil 编译器中参数的出口和入口都是 R6,R7,高字节是存在 R6,底字节是存在 R7。18200 2 级 本 科 毕 业 设 计 论 文第 18 页 共 43 页5.2.3 定时器/计数器 T0 中断服务模块的调试定时/计数器 T0 中断服务模块完成的功能是进行系统时钟的计算,系统控制周期的计算,对系统控制量进行输出。调试此子程序时在每个功能程序前设置断点,在程序运行到每处时,都必须查看每个相关参数是否正确,完成的功能是否与程序设计的目的相一致。5.2.4 模糊控制算法模块的调试模糊控制算法模块的调试是人为设置算法里的参数,根据这

46、些参数得到运行程序后的结果,然后与手工计算得到的结果相比较。在调试时尽量把模糊控制表里的每一个可能出现的情况都实现一次。5.3 系统的联调系统联调是把每个模块按照系统功能组合在一起,主要是完成各个模块间的连接。在整个系统的开始阶段,完成一些寄存器和重要参数的设置,然后打开通信端口, 整个系统的启动命令通过键盘或上位机送出,启动之后进入系统主要功能工作阶段。在系统联调中出现的一个重要问题是 DS18B20 的使用,由于 DS18B20 在工作时必需关闭所有中断,但系统的时钟是在 T0 中断中计算的,因此每进行一次温度转换就必需对时间做出修正,以保证系统时钟的正确。在本系统中,许多模块的工作都是通

47、过判断一些标志位来决定本模块是否可以运行的。加入这样的手段有利于协调各个模块的工作,使系统稳定的工作。200 2 级 本 科 毕 业 设 计 论 文第 22 页 共 43 页结论本课题是基于单片机的家酿啤酒机控制系统的研发,是以温度测控智能化为宗旨。本课题采用了模糊控制算法的基本原理和应用方法,完成了一个基本的控制系统和通信功能。在课题中重点研究了模糊控制算法的实践应用,尝试智能化的控制的方案。本家酿啤酒机控制系统采用了模块化的设计方法,便于设计、运行安全可靠,经过在实验室的调试,表明系统工作正常、稳定,能完成对温度曲线的控制,但由于时间和条件的限制,系统中的降温手段无法实现。由于系统软件主要

48、采用C语言编写, 软件调试、维护方便,可移植性强。可以作为一种先进的啤酒发酵温度控制系统来取代常用的人工操作。当然,由于时间比较短暂,条件不够成熟,本课题完成的还不够完善,其中还有一些不尽如人意的地方,例如系统的降温手段无法实现,本系统还具有很大的完善空间。在本次课题的研究工作过程中,我深深地体会到理论研究与实际应用之间的巨大差距,开展理论研究是实际应用的前提和基础,而要将理论成果应用于实际工程中, 还需要多接触现场,积累经验。另外,我在研究工作的过程中真正体会到许多老师说的“不要小看每一步琐碎的工作”的意义,很多工作当时看起来也许很琐碎而且没有什么意义,但却有可能对将来的工作产生或多或少的影

49、响,而且这种办事态度所培养出来的治学严谨的作风.更是能让人终生受益的。19致谢回顾历时几个月左右的从理论准备,到实践准备,到系统设计实施,到最后撰写论文、定稿,此时,我思绪万千心里充满了对曾经帮助过我的老师、同学们,以及曾经实习过的公司的感激。首先感谢王泰教授,他严谨细致、一丝不苟的作风一直是我工作、学习的榜样; 他循循善诱的教导和不拘一格的思路给予我无尽的启迪。在我做毕业设计的过程中, 王老师从方问性的指引到具体问题的分析,一次又一次的不厌其烦的给予我指导,使我摆脱了最初的迷茫,明确了方向,最后完成了我的毕业设计。我还要感谢的是无锡信捷电子的李新总经理和邹骏宇工程师。很有幸能得到李经理给与的机会,让我做单片机的开发工作。李经理对于事业的执著和处事的魄力都让我敬佩不已,这也使我每天对所从事的事业而充满热情。邹骏宇工程师是这段时间里对我帮助最大的人,让我学到的东西很多,而且不仅仅是技术上。和邹工一起调程序的时光,也成了我享受工作的时光。邹工处事严谨、追求完美、对事业的热情以及高超的技术能力,使我在赞叹的同时,也将成为邹工一样的工程师作为了努力学习的方向。最后,借此

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论