版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、水温自动控制系统设计2012.04.16 摘要水温自动控制系统在工业及日常生活中应用广泛,在生产和生活中都发挥着重要作用,如一些现代化车间里,生产特殊产品加工需要在一定的温度才能进行,水产养殖中也要对水的温度进行严格的控制,才能确保达到最好的效果。在居家生活中,我们同样也离不开水温的控制,如电热水器,自动饮水机等,都要用到水温控制。 实现水温控制的方法很多, 如单片机控制、 plc 控制等等。而其中用单片机实现的水温控制系统,具有可靠性高、价格低、简单易实现等众多优点。单片机用于工业控制是近年来发展非常迅速的领域,现在许多自动化的生产车间里,都是靠单片机来实现的。温度是工业控制对象主要被控参数
2、之一,在温度控制中,由于受到温度被控对象特性(如惯性大、滞后大、非线性等)的影响,使得控制性能难以提高,有些工艺过程其温度控制的好坏直接影响着产品的质量,因而设计一种较为理想的温度控制系统是非常有价值的。为了实现高精度的水温测量和控制,本文介绍了一种以atmel 公司的低功耗高性能 cmos 8 位单片机为核心, 以 pid 算法控制以及 pid 参数整定相结合的控制方法来实现的水温控制系统,其硬件电路还包括温度采集、温度控制、温度显示、键盘输入以及rs232接口等电路。该系统可实现对温度的测量,并能根据设定值对温度进行调节,实现控温的目的。关键词: at89s52;温度控制; pt1000;
3、pid design of temperature automatic control system abstract:the temperature is one of the mainly charged parameters which are industrial control targets. it is difficult to enhance the control performance due to the characteristics of the temperature charged object. such as inertia, hysteresis and n
4、on-linear, etcits temperature control process will have a direct impact on the quality of the product in some technological process. therefore it is absolute valuable to design a ideal temperature control system. in order to realize the high accuracy survey and control of water temperature. systemat
5、ic core is at89s52, which is a low-power loss, high-performance 8-bit mcu of atmel company. the system unifies pid control algorithm and pid parameter tuning to control the water temperature. its hardware circuit also includes temperature gathering, temperature control and temperature display, keybo
6、ard input and rs232 interfaces. the system can realize to survey the water temperature, and it can adjust the temperature according to the setting value. keywords:at89s52; temperature control; pt1000; pid 目录论文总页数: 33 1 引 言. 11.1 课题背景 . 11.2 国内外研究现状 . 11.3 研究方法 . 12 系统方案 . 22.1 水温控制系统设计任务和要求. 22.2 水温
7、控制系统部分 . 22.2.1 cpu(computer processing unit )中央处理器 . 22.2.2 温度控制系统算法分析. 33 系统硬件设计 . 83.1 总体设计框图及说明 . 83.2 外部电路设计 . 103.2.1 温度采集电路.103.2.2 温度控制电路. 113.3 单片机系统电路设计 . 132.3.1 系统框图 .133.3.2 a/d 转换电路 .143.3.3 串口通讯部分电路.183.3.4 键盘设置电路.204.系统软件设计 . 204.1 程序框架结构 . 204.2 程序流程图及部分程序 . 214.2.1 主程序模块.214.2.2 系统
8、初始化.234.2.3 按键程序 .234.2.4 a/d 采样数据处理 .264.2.5 pid 计算 .294.2.6 继电器控制.315. at89s52 单片机简介 . 336.系统安装调试与测试 . 346.1 串口调试 . 346.2 继电器测试 . 35结论. 35致谢. 38第 1 页 共 43 页第 1 章 引 言1.1 课题背景一些价格比较昂贵的观赏鱼,如蝴蝶鱼,银龙鱼等对于温度的要求比较苛刻。随着人们生活水平的提高,这些鱼类在我国的饲养开始兴盛,因此,对饲养环境温度进行恒温控制十分必要。现有的一些温度控制设备,如hal68 型的温度控制棒,结构比较简单,一般采取的是开关式
9、的控制,即当测量温度低于设定温度时进行加热,其结果是饲养水域内温度不均,控温效果不理想。1.2 国内外研究现状目前,国外温度控制系统及仪表正朝着高精度智能化、小型化等方面快速发展。 温度控制系统在国内各行各业的应用虽然已经十分广泛,但从国内生产的温度控制器来讲,总体发展水平仍然不高,同国外的日本、美国、德国等先进国家相比,仍然有着较大的差距。目前,我国在这方面总体技术水平处于20世纪 80 年代中后期水平。成熟产品主要以“点位”控制及常规的pid 控制器为主,它只能适应一般温度系统控制,难于控制滞后复杂时变温度系统控制,而且适应于较高控制场合的智能化、自适应控制仪表国内技术还不十分成熟,形成商
10、品化并广泛应用的控制仪表较少。现在,我国在温度等控制仪表业与国外还有着一定的差距。随着嵌入式系统开发技术的快速发展及其在各个领域的广泛应用,人们对电子产品的小型化和智能化要求越来越高,作为高新技术之一的单片机以其体积小、价格低、可靠性高、适用范围大以及本身的指令系统等诸多优势,在各个领域、各个行业都得到了广泛应用。1.3 研究方法本文主要介绍单片机温度控制系统的设计过程,其中涉及系统结构设计、元器件的选取和控制算法的选择、程序的调试和系统参数的整定。以at89s52为 cpu,温度信号由 pt1000和电压放大电路提供。电压放大电路用超低温漂移高精度运算放大器op07将温度 -电压信号进行放大
11、, 用单片机控制 ssr固态继电器的通断时间以控制水温,系统控制对象为1 升净水,容器为搪瓷器皿。水温可以在环境温度降低时实现自动控制,以保持设定的温度基本不变,具有第 2 页 共 43 页较好的快速性与较小的超调。第 2 章 系统方案2.1 水温控制系统设计任务和要求该系统为一实验系统,系统设计任务:设计一个水温自动控制系统,控制对象为1 升净水,容器为搪瓷器皿。水温可以在一定范围内由人工设定,并能在环境温度降低时实现自动调整,以保持设定的温度基本不变。系统设计具体要求:温度设定范围为 4090;环境温度降低时(例如用电风扇降温)温度控制的静态误差1;采用适当的控制方法, 当设定温度突变(由
12、40提高到 60)时,减小系统的调节时间和超调量;用十进制数码管显示水的实际温度。2.2 水温控制系统部分水温控制系统是一个过程控制系统,组成框图如图1 所示,由控制器、执行器、被控对象其反馈作用的测量变送组成。控制系统框图除了以上的组成元件以外, 还要选择合适的算法以实现所要求的控制精度,以下我会对关键的元件以及电路的确定进行详细的分析。因为它们选取的好坏将直接影响着整个系统实现效果的优劣。2.2.1 cpu(computer processing unit )中央处理器方案一:采用 8031作为控制核心,以使用最为普遍的器件adc0804 作模数转换,控制上使用对电阻丝加电使其升温和开动风
13、扇使其降温。此方案简易可行,第 3 页 共 43 页器件的价格便宜, 但 8031 内部没有程序存储器, 需要扩展,增加了电路的复杂性。方案二:此方案采用89s52单片机实现,此单片机软件编程自由度大,可用编程实现各种控制算法和逻辑控制。进行数据转换,控制电路部分采用ssr固态继电器控制电炉丝的通断此方案电路简单并且可以满足题目中的各项要求的精度。将两个方案一比较便可得出一个结论,采用atmel 单片机来实现本题目,不管是从结构上,还是从工作量上都占有很大的优势,所以最后决定使用at89s52 作为该控制系统的核心。根据温度变化慢,并且控制精度不易掌握的特点,我们设计了以at89s52单片机为
14、检测控制中心的水箱温度自动控制系统,总体框图如图2 所示。控制器设计总体框图温度控制采用改进的pid 数字控制算法,显示采用3 位 led 静态显示。该设计结构简单,控制算法新颖,控制精度高,有较强的通用性。2.2.2 温度控制系统算法分析系统算法控制采用工业上常用的位置型pid 数字控制,并且结合特定的系统加以算法的改进,形成了变速积分pid积分分离 pid 控制相结合的自动识别的控制算法。该方法不仅大大减小了超调量,而且有效地克服了积分饱和的影响,使控制精度大大提高。长期以来国内外科技工作者对温度控制器进行了第 4 页 共 43 页广泛深入的研究, 产生了大批温度控制器, 如性能成熟应用广
15、泛的pid 调节器、智能控制 pid 调节器、自适应控制等。此处主要对一些控制器特性进行分析以便选择适合的控制方法应用于改造。常用的控制算法有以下几种:经典的比例积分微分控制算法;根据动态系统的优化理论得到的自适应控制和最优控制方法;根据模糊集合理论得到模糊控制算法。自适应控制、最优控制方法以及模糊控制算法是建立在精确的数学模型基础上的,在实时过程控制中,由于控制对象的精确数学模型难于建立,系统参数经常发生变化,运用控制理论进行综合分析要花很大代价,主要是时间。同时由于所得到的数学模型过于复杂难于实现。在实时控制系统中要求信号的控制信号的给出要及时,所以在目前的过程控制系统中较少采用自适应控制
16、、最优控制方法和模糊控制算法。目前在过程控制中应用较多的还是pi 控制算法、pd 控制算法和 pid 控制算法。水温控制系统的控制对象具有热储存能力大,惯性也较大的特点,水在容器内的流动或热量传递都存在一定的阻力,因而可以归于具有纯滞后的一阶大惯性环节。对于大惯性系统的过渡过程控制,一般可采用以下几种控制方案:开关量控制这种方法通过比较给定值与被控参数的偏差来控制输出的状态,开通或关断,因此控制过程十分简单,也容易实现;但由于输出控制量只有两种状态,使被控参数在两个方向上变化的速率均为最大,因此容易引起反馈回路振荡,控制精度不高;这种控制方案一般在大惯性系统对控制精度和动态特性要求不高的情况下
17、采用。如图3 所示。第 5 页 共 43 页开关量控制图 4 比例控制比例控制 (p 控制) 比例控制的输出与偏差成比例关系,当负荷变化时,抗干扰能力强,过渡过程时间短, 但过程终了存在余差; 适用于控制通道滞后较小、 负荷变化不大、允许被控量在一定范围内变化的系统。如图4所示。比例积分控制 (pi 控制) 控制器的输出与偏差的积分成比例, 积分的作用使过渡过程结束时无余差,但降低了系统的稳定性; pi 控制适用于滞后较小,负荷变化不大,被控量不允许有余差的控制系统。如图5 所示。比例积分加微分控制 (pid 控制) 微分的作用使控制器的输出与偏差变化的速度成比例,它对克服对象的容量滞后有显著
18、的效果;在比例基础上加入微分作用,使稳定性提高,再加上积分作用,可以消除余差;pid 控制适用于负荷变化大、容量滞后较大、控制品质要求又很高的控制系统。如图6 所示。t y t y 第 6 页 共 43 页比例积分控制图 6 比例积分微分控制方案选择:结合本设计任务与要求,由于水温系统的传递函数事先难以精确获得,因而很难判断哪一种控制方法能够满足系统对控制品质的要求;但从以上对控制方法的分析来看, pid 控制方法最适合本例采用:一方面,由于可以采用单片机实现控制过程,无论哪一种控制方法都不会增加系统硬件成本,而只需对软件作相应改变即可实现不同的控制方案;另一方面,采用pid 的控制方式可以最
19、大限度地满足系统对诸如控制精度、调节时间和超调量等控制品质的要求。由图 7 可知 pid 调节器是一种线性调节器, 这种调节器是将设定值w 与实际输出值 y 进行比较构成偏差ywe并将其比例、积分、微分通过线性组合构成控制量。其动态方程为:dttdekdttektektudip)()()()(其中pk-为调节器的比例放大系数ik-为积分时间常数dk-为微分时间常数pid 调节器的离散化表达式为;)1()()()()(keketkktekkekkudip其增量表达形式为:)1()()(kukukut y t y 第 7 页 共 43 页)2()1(2)(/)()1()(kekeketkktekk
20、ekekdip其中 t 为采样周期。模拟 pid 控制可见温度 pid 调节器有三个可设定参数,即比例放大系数pk、积分时间常数ik、微分时间常数dk。比例调节的作用是使调节过程趋于稳定,但会产生稳态误差;积分作用可消除被调量的稳态误差,但可能会使系统振荡甚至使系统不稳定;微分作用能有效的减小动态偏差。图 8中,初始水温为26。实现思想: ui(k) 为第 k 次采样温度值, ur 为设定值。e(k) 使用 pd 算法;e(k) 使用变速积分 pid 算法。第 8 页 共 43 页温度控制曲线图控制方式:该控制系统是把输出量检测出来,经过物理量的转换,再反馈到输入端去与给定量进行比较 (综合)
21、 , 并利用控制器形成的控制信号通过执行机构 ssr对控制对象进行控制, 抑制内部或外部扰动对输出量的影响,减小输出量的误差,达到控制目的。自动控制框图如图9 所示,在此控制系统中单片机就相当于常规控制系统中的运算器控制器,它对过程变量的实测值和设定位之间的误差信号进行运算然后给出控制信息。单片机的运算规则称为控制法则或控制算法。自动控制框图第 3 章 系统硬件设计3.1 总体设计框图及说明本系统是一个简单的单回路控制系统。为了实现温度的自动测量和控制,根据系统总体方案,系统由单片机基本系统、前向通道、后向通道和人机对话通道等 4个主要的功能模块组成,总体框图如上面图2 所示。单片机系统是整个
22、控制系统的核心, at89s52可以提供系统控制所需的i/o口、中断、定时及存放中间结果的ram 电路;前向通道是信息采集的通道,主要包括传感器、信号放大、a/d 转换等电路;由于水温变化是一个相对缓慢的过程,因此前向通道中没有使用采样保持电路;信号的滤波可由软件实现,以简化硬件、降低硬件成本。键盘设定:用于温度设定,共三个按键。数据采样:将由传感器及相关电路采集到的温度转为电压信号,经a/d 转换后,送入 at89s52相应接口中,换算成温度值,用于控制和显示。数据显示:采用了共阴极数码管led 进行显示设置温度与测量温度。第 9 页 共 43 页串行口传输:将采样温度值,上传至pc 机,可
23、利用 pc 的端口下载程序。继电器 /热电管:通过三极管控制继电器的开关来完成对热电炉的功率控制。第 10 页 共 43 页3.2 外部电路设计3.2.1 温度采集电路本系统运放采用 op07,op07是一种高精度单片运算放大器,具有很低的输入失调电压和漂移。 op07 的优良特性使它特别适合作前级放大器,放大微弱信号。 使用 op07一般不用考虑调零和频率问题就能满足要求。主要特点:低输入失调电压: 75uv(最大) 低失调电压温漂: 1.3uv/(最大) 低失调电压时漂: 1.5uv/月(最大) 低噪声: 0.6uv p-p(最大) 宽输入电压范围: 14v 宽电源电压范围: 3v18v
24、图 10所示的是本人用multimeter-8 软件模拟 op07典型放大电路, 1、8 脚用来调零的,中间接两个固定电阻和一个电位器滑动端接电源正极就行了,固定电阻用于把电压衰减便于细调;其实不用调零端也可以调零,在输入端加入可调的偏置即可。op07 典型应用图 multimeter 8 模拟图采用温度传感器铂电阻pt1000,对于温度的精密测量而言 ,温度测量部分是整个系统设计的第一步。温度传感器的选择是这块电路的关键,它是直接影响第 11 页 共 43 页整个系统的性能与效果的关键因素之一。这里采用的是精密级铂电阻温度传感器 pt1000,它的金属铂含量达99. 9999%,因为铂电阻的
25、物理和化学性能在高温和氧化介质中很稳定、价格又便宜,常用作工业测量元件,以铂电阻温度计作基准器线性好, 温度系数分散性小, 在 0100 摄氏度时,最大非线性偏差小于 0.5 摄氏度,性能稳定,广泛用于精密温度测量和标定。铂热电阻与温度关系式)1(20btatrrt,其中:tr-温度为 t 摄氏度时的电阻;0r-温度为 0 摄氏度时的电阻;a、b-温度系数a=3.94*102/;其中 b=-)(710*84.5/;t-任意温度。3.2.2 温度控制电路此部分通过控制继电器的通断从而控制电热管(俗称“热得快” ) ,采用对加在电热管两端的电压进行通断的方法进行控制,以实现对水加热功率的调整,从而
26、达到对水温控制的目的,即在闭环控制系统中对被控对象实施控制。此部分的继电器采用的是ssr (solid state relays ,缩写 ssr)继电器,即固态继电器。工作原理:固态继电器是一种无触点电子开关,由分立元器件、膜固定电阻网络和芯片,主要由输入(控制)电路,驱动电路和输出(负载)电路三部分组成。固态继电器的输入电路是为输入控制信号提供一个回路,使之成为固态继电器的触发信号源。固态继电器的输入电路多为直流输入,个别的为交流输入。固态继电器的输出电路是在触发信号的控制下,实现固态继电器的通断切换。输出电路主要由输出器件(芯片)和起瞬态抑制作用的吸收回路组成,固态继电器( ssr)是一种
27、全电子电路组合的元件,它依靠半导体器件和电子元件的电、磁和光特性来完成其隔离和继电切换功能。固态继电器与传统的电磁继电器 (emr)相比,是一种没有机械、 不含运动零部件的继电器,但具有与电磁继电器本质上相同功能。工作原理:图 11是它的工作原理框图, 图 11中的部件 - 构成交流 ssr的主体,从整体上看, ssr只有两个输入端( a 和 b)及两个输出端 (c 和 d),是一种四端器件。工作时只要在a、b 上加上一定的控制信号,就可以控制c、d 两端之间的“通”和“断”,实现“开关”的功能,其中耦合电路的功能是为第 12 页 共 43 页a、b 端输入的控制信号提供一个输入/输出端之间的
28、通道,但又在电气上断开ssr中输入端和输出端之间的(电)联系,以防止输出端对输入端的影响,耦合电路用的元件是“光耦合器” ,它动作灵敏、响应速度高、输入/输出端间的绝缘(耐压)等级高;由于输入端的负载是发光二极管,这使ssr的输入端很容易做到与输入信号电平相匹配, 在使用可直接与计算机输出接口相接,即受 “1”与“0”的逻辑电平控制。ssr 工作原理图固态继电器按其工作性质分直流输入-交流输出型、 直流输入 -直流输出型、交流输入 -交流输出型、交流输入 -直流输出型。而本系统采用的是直流输入-交流输出型,常开式,型号是ssr/1p-15a,允许电流为 15a。由于较小的驱动功率即可使 ssr
29、工作,触发电路的功能是产生合乎要求的触发信号,驱动开关电路工作所以我采用三极管控制其通断,三极管采用的是npn8050,在 ioa4 口加一个驱动电压即可使三极管导通,触发电路的功能是产生合乎要求的触发信号,驱动开关电路工作。ssr 实际图热电管控制电路由于开关电路在不加特殊控制电路时,将产生射频干扰并以高次谐波或尖第 13 页 共 43 页峰等污染电网,为此特设“过零控制电路”。所谓“过零”是指,当加入控制信号,交流电压过零时,ssr即为通态;而当断开控制信号后,ssr要等待交流电的正半周与负半周的交界点(零电位)时,ssr才为断态 -如图 13所示。这种设计能防止高次谐波的干扰和对电网的污
30、染。为使其实现过零控制,就是要实现工频电压的过零检测,并给出脉冲信号,由单片机控制可控硅过零脉冲数目。当在其输入端加入控制信号时,输出端接通,从而使得热电管加热以致温度上升;当此时撤离控制信号时,输出端断开,而使热电管停止加热从而温度下降。过零控制工作下ssr 的波形3.3 单片机系统电路设计3.3.1 系统框图第 14 页 共 43 页系统框图3.3.2 a/d 转换电路adc0804 引脚及使用说明:adc0804 是 cmos 集成工艺制成的逐次比较型a/d 转换器芯片。分辨率为 8 位,转换时间为 100s,输出电压范围为05v,增加某些外部电路后,输入模拟电压可为 5v。该芯片内有输
31、出数据锁存器,当与计算机连接时,转换电路的输出可以直接连接到cpu 的数据总线上,无需附加逻辑接口电路。1234567891011121314151617181920c sr dw rcl k inin t ra g n dd g n dvc l k rddddddddi n +i n -r e f/2vvvcc01234567a d c080 41 00 s输 出高 阻c srdw rin tr读 数数 据adc0804 引脚图图 16 adc0804 控制信号的时序图adc0804 引脚名称及意义如下:vin+ 、vin :adc0804 的两模拟信号输入端,用以接收单极性、双极性和差模输
32、入信号。d7d0:a/d 转换器数据输出端, 该输出端具有三态特性, 能与微机总线相连接。agnd :模拟信号地。dgnd:数字信号地。clkin :外电路提供时钟脉冲输入端。clkr:内部时钟发生器外接电阻端,与clkin 端配合,可由芯片自身产生时钟脉冲,其频率为1/1.1rc。cs:片选信号输入端,低电平有效,一旦cs有效,表明 a/d 转换器被选中,可启动工作。wr:写信号输入,接受微机系统或其他数字系统控制芯片的启动输入端,低电平有效,当cs、wr 同时为低电平时,启动转换。第 15 页 共 43 页rd:读信号输入,低电平有效,当cs、rd 同时为低电平时,可读取转换输出数据。in
33、tr:转换结束输出信号,低电平有效。输出低电平表示本次转换已经完成。该信号常作为向微机系统发出的中断请求信号。在使用时应注意以下几点:(1)转换时序adc0804 控制信号的时序图如图16 所示,由图可见,各控制信号时序关系为:当 cs 与 wr 同为低电平时,a/d 转换器被启动, 且在 wr 上升沿后 100s 模数转换完成,转换结果存入数据锁存器,同时intr 自动变为低电平,表示本次转换已结束。如cs、rd 同时为低电平,则数据锁存器三态门打开,数据信号送出,而在rd 高电平到来后三态门处于高阻状态。(2)零点和满刻度调节adc0804 的零点无需调整。满刻度调整时,先给输入端加入电压
34、inv,使满刻度所对应的电压值是:其中 vmax 是输入电压的最大值, vmin 是输入电压的最小值。 当输入电压inv值相当时,调整 vref/2 端电压值使输出码为feh 或 ffh。(3)参考电压的调节在使用 a/d 转换器时,为保证其转换精度,要求输入电压满量程使用。如输入电压动态范围较小,则可调节参考电压vref,以保证小信号输入时adc0804 芯片 8 位的转换精度。(4)接地模数、数模转换电路中要特别注意到地线的正确连接,否则干扰很严重,以致影响转换结果的准确性。a/d 、d/a 及取样保持芯片上都提供了独立的模拟地( agnd )和数字地( dgnd) 。在线路设计中,必须将
35、所有器件的模拟地和数字地分别相连,然后将模拟地与数字地仅在一点上相连接。地线的正确连接方法如图 17 所示。2565.1minmaxmaxvvvvin第 16 页 共 43 页正确的地线连接adc0804 的典型应用在现代过程控制及各种智能仪器和仪表中,为采集被控(被测)对象数据以达到由计算机进行实时检测、控制的目的,常用微处理器和a/d 转换器组成数据采集系统。单通道微机化数据采集系统的示意图如图18 所示。a d c 08 04c sr dw rin trcs111r d2w r2ra md.d07d.d07控 制 总 线微 处 理 器控 制 器接口8位数据总线模 拟 信 号输 入至 其
36、他 装 置至 其 他 装 置vi单通道微机化数据采集系统示意图系统由微处理器、存储器和a/d 转换器组成,它们之间通过数据总线(dbus)和控制总线( cbus)连接,系统信号采用总线传送方式。现以程序查询方式为例,说明adc0804 在数据采集系统中的应用。采集数据时,首先微处理器执行一条传送指令,在指令执行过程中,微处理器在控制总线的同时产生cs1、wr1 低电平信号,启动a/d 转换器工作, adc0804经 100s后将输入模拟信号转换为数字信号存于输出锁存器,并在 intr 端产生低电平表示转换结束,并通知微处理器可来取数。当微处理器通过总线查询到 intr 为低电平时,立即执行输入
37、指令,以产生cs、rd2 低电平信号到第 17 页 共 43 页adc0804 相应引脚,将数据取出并存入存储器中。整个数据采集过程中,由微处理器有序地执行若干指令完成。下图是本系统 ad0804 的连接图:ad0804 连接图第 18 页 共 43 页3.3.3 串口通讯部分电路系统设计要求控制系统能同pc 联机通信,以利用 pc 图形处理能力打印显示温度曲线以及下载程序。由于at89s52串行口电平和 pc 不一致, at89s52的 i/o 为 ttl 电平, pc 串行口为 rs232电平利用单片机片内串行口外加逻辑电平转换电路组成rs-232c标准接口以实现系统相互通道的扩展,逻辑电
38、平转换电路采用了一片专用芯片max232 ,外加少量电容即可完成ttl 到 rs-232或 rs-232到 ttl 的逻辑电平转换。rs-232c是美国电子工业协会eia(electronic industry association) 制定的一种串行物理接口标准。rs是英文“推荐标准”的缩写,232为标识号, c 表示修改次数。 rs-232-c 总线标准设有 25 条信号线,包括一个主通道和一个辅助通道。电平标准: 3-15v“0” ,3-15v“1” 。连接标准: db9 或者 db25 插座(针型),现今基本上淘汰了25 针插座。插座每个引脚都有唯一的信号定义,家用pc的 com1、c
39、om2 就是标准rs-232c接口。sgsgt dt dt dr drt s rt s r dc t s c t s r dsgd t rd t rsgd srd srd c dd c dr i r i ( a )( b)r dt dp c机(1 ) pc机(2 ) 数据终端设备d t e数据终端设备d t e串行通信接口的典型连接第 19 页 共 43 页rs-232c引脚型号定义 : 名称信号方功能25 芯脚9 芯脚frd 保护地1 txd 输出发送数据2 3 rxd 输入接收数据3 2 rts 输出请求对方发送数据4 7 cts 输入可向对方发送数据5 8 dsr 输入对方已经准备好接收
40、数据6 6 gnd 信号地7 5 dcd 输入对方已收到载波8 1 dtr 输出通知对方,本方可以接受数据20 4 rj 输出对方送来的振铃指示信号22 9 图 21为本系统的串口通讯电路。串口通讯电路uart 模块提供了一个全双工标准通信口,用于完成 at89s52与外设之间的串行通信。根据rs-232的标准, at89s52单片机也是按照字节传输数据的。第 20 页 共 43 页3.3.4 键盘设置电路单片机上的 p25口接 s1,p26口接 s2,p27口接 s3。s1:设置温度的十位数: 09 s2:设置温度的个位数: 09 s3:工作模式选择键,共有两种工作模式:正常工作状态、温度重
41、新设置。系统上电后,数码管全部显示为零,根据按s1 次数,十位的数码管顺序增加。同样s2,也如此。按 s3后,系统开始测温,并与采集的温度进行比较,通过软件来控制电炉的开关。同时语音播报变化的整数值温度。键盘电路3.3.5 数码显示电路数码管作为单片机系统最为常用的输出器件,在显示时可以由数字和少量字母组合完成输出功能的系统中应用十分方便。图 23为 at89s52最小系统以及一个四位共阴数码管,dig0、dig1、dig2、dig3 分别与单片机的 p21、p22、p23、p24相连,每一个都拥有一个共阴的位选端。从而可以通过单片机选通所需显示的数码管。sega-segdp口传输要显示的数据
42、,利用其串/并转换功能,送入数码管显示。在此外接了一个 10k 的排阻来保护 led。数码管显示电路第 4 章 系统软件设计4.1 程序框架结构一个整体的系统软件设计是由各个在系统里起着不同作用的模块整合在一起,从而实现系统的所要实现的功能。本系统硬件接口如下:第 21 页 共 43 页p1-ad;p00p07-ledaleddp.;p25p27-s1s3;p20p23-com1com3;此系统包括主控制程序, a/d 采样数据处理程序, pid 算法程序, led 显示及按键处理程序。结构框架图如图24所示。程序结构图主程序模块相当于调度室,对子程序模块的调用进行管理,它主要负责初始化 io
43、 口;等待键盘的被按下,并调用相应的模块进行处理;在适当的时候接受 a/d 采样的数据, 并与所设定的值进行比较, 然后通过调用 pid 算法处理数据,处理后来控制继电器的通断,从而控制热电管达到控制水温的目的。4.2 程序流程图及部分程序4.2.1 主程序模块由于模块化程序的设计,通过调用程序即可实现所用功能,主程序流程图如图25 所示。第 22 页 共 43 页主程序流程图主程序如下:/= /函数: 主程序/语法: int main(void) /描述:键盘扫描、温度控制/参数:无/返回:无/= int main(void) 第 23 页 共 43 页 int keyvalue; stat
44、us = temperature_set; system_initial(); pid_initial(); /pid 初始化while(1) keyvalue = getch(); /键盘扫描、去抖动处理、取键值key_value_process(keyvalue); /键值处理if(status = temperature_control) display_ad_temperature(); /测量温度显示、 pid 计算if(out0 x0255) k = 0.079; /确定温度系数else k = 0.076; ft = adc_data * k; /换算成温度值/将温度值转换成十进
45、制用于led 显示guiled_value0 = (int)ft/10; guiled_value1 = (int)ft%10; guiled_value2 = (int)(ft*10)%10; stpid.proportion = 1; / 设置 pid 比例值stpid.integral = 0.5; / 设置 pid 积分值stpid.derivative = 0.0; / 设置 pid 微分值out = 100*pidcalc ( &stpid,(int)(ft*10) ); / pid 计算 第 28 页 共 43 页图 29是数据采样中断服务程序的流程图,此中断程序采用的是
46、2hz 中断定时 0.5 秒钟采样一次。数据采样的中断程序流程图/= /函数: int adc_data_cmp() /语法: int adc_data_cmp() /描述: adc 采样数据的均值处理,抗干扰作用/参数: 无/返回: 无/= int adc_data_cmp() int max; int min; int sum; int i; max = adc_datasave0; for(i=0;imax) max = adc_datasavei; /取出最大值 min = adc_datasavei; for(i=0;i10;i+) if(adc_datasaveimin) min
47、= adc_datasavei; /取出最小值 for(i=0;isetpoint*10 - nextpoint; / 偏差pp-sumerror += error; / 积分derror = pp-lasterror - pp-preverror; / 当前微分pp-preverror = pp-lasterror; pp-lasterror = error; return (pp-proportion * error / 比例项+ pp-integral * pp-sumerror / 积分项+ pp-derivative * derror / 微分项); 4.2.6 继电器控制继电器是和
48、 at89s52单片机的 p25口相连的,它的开断完全取决于p25口的输出,即 pid 计算的结果。当输出小于零说明设定值小于实际输出值,这是就要关闭电炉,同时关闭定时器的计时。如果输出值大于设定值2 摄氏度时就可以开电炉对水开始加热。 如果设定值与实际输出值差值在2 摄氏度以内时,我们就调用中断程序定时加热。图 30是控制程序的中断服务程序, 用来对继电器定时加热。 它利用中断定时器 10ms确定加热时间,当加热时间未到时,继续时间累积,若加热时间到时,就调用关定时器子程序,停止计时。第 32 页 共 43 页控制程序中断程序流程图/= /函数: void active() /语法: voi
49、d active() /描述: pid 输出值的处理/参数:无/返回:无/= void active() if(out30*stpid.proportion) /温度低于设定值2 摄氏度第 33 页 共 43 页turn_on_relay(); /开电炉加热else turn_on_relay(); sp_int_timeb () ; /初始化定时器,开始定时加热 第 5 章 at89s52单片机简介at89s52是一个低功耗,高性能cmos 8 位单片机,片内含 8k bytes isp(in-system programmable )的可反复擦写 1000次的 flash只读程序存储器,器
50、件采用 atmel 公司的高密度、非易失性存储技术制造,兼容标准mcs-51 指令系统及 80c51引脚结构,芯片内集成了通用 8 位中央处理器和 isp flash存储单元,功能强大的微型计算机的at89s52可为许多嵌入式控制应用系统提供高性价比的解决方案。at89s52具有如下特点: 40 个引脚, 8k bytes flash片内程序存储器,256bytes的随机存取数据存储器(ram ) ,32个外部双向输入 /输出( i/o)口,5 个中断优先级 2 层中断嵌套中断, 2 个 16位可编程定时计数器, 2 个全双工串行通信口,看门狗( wdt)电路,片内时钟振荡器。此外,at89s
51、52设计和配置了振荡频率可为0hz 并可通过软件设置省电模式。 空闲模式下, cpu 暂停工作,而 ram 定时计数器,串行口,外中断系统可继续工作,掉电模式冻结振荡器而保存 ram 的数据,停止芯片其它功能直至外中断激活或硬件复位。同时该芯片还具有pdip、tqfp 和 plcc 等三种封装形式,以适应不同产品的需求。主要功能特性:兼容 mcs-51 指令系统8k 可反复擦写 (1000 次)isp flash rom 32 个双向 i/o 口4.5-5.5v 工作电压3 个 16 位可编程定时 /计数器时钟频率 0-33mhz 第 34 页 共 43 页全双工 uart 串行中断口线256
52、x8bit 内部 ram 2 个外部中断源低功耗空闲和省电模式中断唤醒省电模式单片机最小系统就是一块单片机芯片晶振电路复位电路,就是一块at89s52 单片机外接一块 12mhz 晶振所构成的,机器周期为1 s 的单片机最小系统。在以单片机为控制核心的控制系统中,单片机担负着接受外部信号,发出控制指令等重要作用,是构建控制系统的前提,所以在开始直流电机控制系统的设计之前必须首先搭建起一套能正常工作的单片机最小系统。最小系统是实现实验的一个最基本的关键环节,它的好坏决定了一个系统的好坏,所以说最小系统是单片机里最基本的系统,也是重要的系统。单片机最小系统第 6 章 系统安装调试与测试6.1 串口调试通过 rs232和 pc 进行连接,利用 pc 调试助手进行调试。调试过程中把单片机和 pc机的波特率设置为相同值(如9600bit/s) 。验证上位机和下位机接第 35 页 共 43 页收正常。6.2 继电器测试(1)测触点电阻用万能表的电
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 交通工程项目档案管理标准
- 昭通市昭阳区市场监督管理局编外辅助人员招聘真题
- 临沧市临翔区公安局临翔分局招聘警务辅助人员真题
- 黄冈罗田国有资本投资运营集团有限公司招聘真题
- 关于安全主题班会主持人演讲稿模板5篇
- 美术教师读书心得(12篇)
- 教育培训班项目可行性研究报告
- 教案拼音a教案8篇
- 环保工程招投标代理合同模板
- 学校运动场地坪漆施工协议
- 设计变更控制程序
- 三年级硬笔书法课件
- 2024全球量子产业发展报告
- 场地移交安全管理协议书
- 医院卒中中心建设各种制度、流程汇编
- 重庆市江北区2023-2024学年六年级下学期期末考试数学试题
- 军队文职聘用合同管理规定
- 2024年贵州省安顺市西秀区小升初语文试卷
- 2024-2029年中国儿童牙冠行业市场现状分析及竞争格局与投资发展研究报告
- 新时代铁路发展面对面全文内容
- 人工智能与语文阅读理解教学
评论
0/150
提交评论