水温控制系统.doc

电气信息工程学院水温控制系统设计

收藏

压缩包内文档预览:(预览前20页/共39页)
预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图
编号:516576    类型:共享资源    大小:395.89KB    格式:RAR    上传时间:2015-11-12 上传人:QQ28****1120 IP属地:辽宁
6
积分
关 键 词:
机械毕业设计
资源描述:
电气信息工程学院水温控制系统设计,机械毕业设计
内容简介:
电气信息工程学院毕业设计 (论文 ) 水温控制系统 1 水 温 控 制 系 统 文 摘 为了实现高精度的水温控制,本文介绍了一种以 SPCE061A 单片机为控制核心、以 PID 算法控制以及 PID 参数整定相结合的控制方法来实现的水温控制系统。文章着重介绍核心器件的选择、控制算法的确定、各部份电路及软件的设计。 SPCE061A 单片机完善的内部结构、优良的性能和强大的中断处理能力,决定了该控制系统的特点:电路结构简单、程序简短、系统可靠性高等。本次设计还充分利用了 SPCE061A 单片机成熟的语音处理技术和 PC 机的图形处理功能,来实现了语音播报温度和打印温度变化曲线的要求。 关键词 SPCE061A 单片机; Pt1000; PID 自 70年代以来,由于工业过程控制的需要,特别是在电子技术的迅猛发展 , 以及自动控制理论和设计方法发展的推动下,国外温度控制系统发展迅速,并在智能化自适应参数自整定等方面取得成果。在这方面以日本、美国、德国、瑞典等国技术领先,并且都生产出了一批商品化的性能优异的温度控制器及仪器仪表,在各行业广泛应用 。 目前,国外温度控制系统及仪表正朝着高精度智能化、小型化等方面快速发展。 温度控制系统在国内各行各业的应用虽然已经十分广泛,但从国内生产的温度控制器来讲,总 体发展水平仍然不高,同国外的日本、美国、德国等先进国家相比,仍然有着较大的差距。目前,我国在这方面总体技术水平处于 20 世纪 80年代中后期水平。成熟产品主要以 “ 点位 ” 控制及常规的 PID控制器为主,它只能适应一般温度系统控制,难于控制滞后复杂时变温度系统控制,而且适应于较高控制场合的智能化、自适应控制仪表国内技术还不十分成熟,形成商品化并广泛应用的控制仪表较少。 现在,我国在温度等控制仪表业与国外 还有着一定 的差距。 温度、压力,流量和液位是四种最常见的过程变量,其中 温度是一个非常重要的过程变量,因为它直接影响燃烧 、化学反应、发酵、烘烤、煅烧、蒸馏、浓度、挤压成形,结晶以及空气流动等物理和化学过程。温度控制在工业领域应用非常广泛,由于其具有工况复杂、参数多变、运行惯性大、控制滞后等特点 ,它对控制调节器要求较高。 温度控制不好就可能引起生产安全,产品质量和产量等一系列问题。尽管温度控制很重要,但是要控制好温度常常会遇到意想不到的困难。 随着嵌入式系统开发技术的快速发展及其在各个领域的广泛应用,人们对电子产品的小型化和智能化要求越来越高,作为高新技术之一的单片机以其体积小、价格低、可靠性高、适用范围大以及本身的指令系统等诸 多优势,在各个领域、各个行业都得到了广泛应用。 nts电气信息工程学院毕业设计 (论文 ) 水温控制系统 2 本文主要介绍单片机温度控制系统的软件设计过程,其中涉及系统结构设计、元器件的选取和控制算法的选择、程序的调试和系统参数的整定。在系统构建时选取了凌阳科技公司提供的一款新产品 SPCE061A 芯片作为该控制系统的核心。 温度信号由 PT1000 和电压放大电路提供。通过 PID 算法实现对电炉功率和水温控制。 使用 SSR 固态继电器作执行部件。同时,具有温度数字语音播报和显示 啊功能 。 系统控制对象为 1 升净水,容器为搪瓷器皿。水温可以在一定范围内由人工设定,并能在环境温度降低时实 现自动控制,以保持设定的温度基本不变 ,具有较好的快速性与较小的超调 。 该系统为一实验系统,要求系统有 控制能力 ,实现对主要可变参数的实时监控。因此系统控制部分 程序设计在 nSPTM 集成开发环境中编辑、编译、链接、调试以及仿真的。 使用软件 编程 既减少了系统设计的工作量,又提高了系统开发的速度,使用软件还可以提高所设计系统的稳定性,避免了因个人设计经验不足而产生过多的系统缺陷。 1 系统 方案 1.1 水温控制系统设计任务和要求 该系统为一实验系统, 系统设计 任务 : 设计一个水温自动控制系统,控制对象为 1升净水,容器为搪瓷器皿。 水温可以在一定范围内由人工设定,并能在环境温度降低时实现自动调整,以保持设定的温度基本不变。 系统设计 具体 要求 : 温度设定范围为 40 90。 环境温度降低时(例如用电风扇降温)温度控制的静态误差 1。 采用适当的控制方法,当设定温度突变(由 40提高到 60)时,减小系统的调节时间和超调量。 用十进制数码管显示水的实际温度。 在设定温度发生突变(由 40提高到 60)时,自动打印水温随时间变化的曲线。 1.2 水 温控制系统关键部分确定 水温控制系统是一个 过程控制系统,在设计的过程中,必须明 确它的组成部分。过程控制系统的组成部分有:控制器、执行器、被控对象和测量变送单元, 其框图如图 1所示。 图 1 过程控制组成框图 nts电气信息工程学院毕业设计 (论文 ) 水温控制系统 3 由图可知,在这个系统的设计中,主要设计如图几个部分。除此之外,根据题目要求,还要选取合适的控制算法来达到系统参数的要求。对于 执行器件、测量变送元件将在部分电路设计中 有说明。在这个部分我主要是对控制器的确定和控制算法的选择作一个详细的介绍。因为这两部分是实现本系统控制目的的关键。它们选取的好坏将直接影响着整个系统实现效果的优劣,所以这是一项不容怱视的工作。 1.2.1 CPU( Computer processing Unit)中央处理器 方案一:此方案采用 SPCE061A单片机实现。 SPCE061A单片机除具有体积小,集成度高、易扩展、可靠性高、功耗低、结构简单、中断处理能力强等特点外,内置 8路 ADC, 2路 DAC。在实现控制系统中,采用 SPCE061A为前端采集单元,具有较好的同步性和实时性。且内嵌 32K字闪存 FLASH,处理速度高,集成开发环境中,配有很多语音播报函数,实现语音播报极为方便。另外,比较方便的是该芯片内置在线仿真、编程接口,可以方便实现在线调试,这大大加快了系统的开发与调试 。 方案二:此方案采用 89C51单片机实现,此单片机软件编程自由度大,可用编程实现各种控制算法和逻辑控制。但在数据采集时必须使用 A/D(数 /模转换),且在选择 A/D 时需考虑 3 个方面的内容:一是如何针对系统的需求,选择合适的 A/D 器件;二是如何根据所选的 A/D 器件设计外围电路与单片机的接口电路;三是编写控制 A/D 器件进行数据采集的单片机程序,这些大大加大了工作量。若要增加语音播报功能,还需要外接语音芯片及接口,加繁了外围电路设备,大大增加了软件实现难度。此外 51单片机内部无在线仿真、编程接口,就需要用仿 真 器来实现软硬件调试,较为繁琐。 将两个方案一比较便可得出一个结论,采用凌阳单片机来实现本题目,不管是从结构上,还是从工作量上都占有很大的优势,所以最后决定用 SPCE061A作为该控制系统的核心。 1.2.2 常用温度控制系统分析 温度是一个普通而又重要的物理量,在许多领域里人们需对温度进行测量和控制。长期以来国内外科技工作者对温度控制器进行了广泛深入的研究,产生了大批温度控制器,如性能成熟应用广泛的 PID 调节器、智能控制 PID 调节器、自适应控制等 。此处 主要对一些控制器特性进行分析以便选择适合的控制 方法 应用于改造。 常规 PID PID 在温度控制中已使用数十年,是一种成熟的技术,它具有结构简单、易于理解和实现,且一些高级控制都是以 PID为基础改进的。在工业过程控制中 90%以上的控制系统回路具有 PID结构,在目前的温度控制领域应用十分广泛,即使在科技发达的日本, PID在其温度控制应用中仍然占 80%的比例 。 其主要构成如 图 2所。 由图可知 PID 调节器是一种线性调节器,这种调节器是将设定值 w 与实际输出值 y 进行比较构成偏差 nts电气信息工程学院毕业设计 (论文 ) 水温控制系统 4 图 2 模拟 PID控制 ywe 并将其比例、积分、微分通过线性组 合构成控制量。 其动态方程为: dt tdeKdtteKteKtu dip )()()()( ( 1) 其中pK-为调节器的比例放大系数 iK -为积分时间常数 dK -为微分时间常数 PID调节器的离散化表达式为 )1()()()()( kekeTKkTeKkeKku dip 其增量表达形式为: )1()()( kukuku )2()1(2)()()1()( kekekeTKkTeKkekeK dip其中 T为采样周期。 可见温度 PID调节器有三个可设定参数,即比例放大系数pK、积分时间常数iK、微分时间常数dK。 比例调节的作用是使调节过程趋于稳定,但会产生稳态误差 ; 积分作用可消除被调量的稳态误差,但可能会使系统振荡甚至使系统不稳定; 微分作用能有效的减小动态偏差。 在实际 使用中 ,在满足生产过程需要的前提下 ,应尽量选择简单的调节器 ,这样 ,既节省投资 ,又便于维护 . 常规 PID 控制调节器是一 种应用广泛技术成熟的控制方法,它能满足一般工业控制的要nts电气信息工程学院毕业设计 (论文 ) 水温控制系统 5 求,其 优点 是 原理简单、使用方便、适应性广 。采用 PID 控制,控制效果的好坏很大程度上取决于PID三个控制参数的确定。 对一个控制系统而言, 只要参数选择适当 ,都能取得较好的控制效果 。 自动控制方式 为了实现温度的自动控制,必须要组成一定的系统结构。如图 3,该控制系统是把输出量检测出来,经过物理量的转换,再反馈到输入端去与给定量进行比较(综合 ),并利用控制器形成的控制信号通过执行机构 SSR 对控制对象进行控制,抑制内部或外部扰动对输出量的影响,减小输出量的误差,达到控制目的。在此控制系统中单片机就相当于常规控制系统中的运算器控制器,它对过程变量的实测值和设定位之间的误差信号进行运算然后给出控制信息。单片机的运算规则称为控制法则或控制算法。 图 3 自动控制框图 常用的控制算法有以下几种 经典的比例积分微分控制算法 。 根据动态系统的优化理论得到的自适应控制和最优控制方法。 根据模糊集合理论得到模糊控制算法。 自适应控制、最优控 制方法以及模糊控制算法是建立在精确的数学模型基础上的,在实时过程控制中,由于控制对象的精确数学模型难于建立,系统参数经常发生变化,运用控制理论进行综合分析要花很大代价,主要是时间。同时由于所得到的数学模型过于复杂难于实现。在实时控制系统中要求信号的控制信号的给出要及时,所以在目前的过程控制系统中较少采用自适应控制、最优控制方法和模糊控制算法。目前在过程控制中应用较多的还是 PI 控制算法 、 PD 控制算法 和 PID 控制算法 。 2 系统硬件设计 2.1 总体设计框图及说明 本系统是一个简单的单回路控制系统。为了实现温度的自动测量 和控制,本系统采用了 SPCE061A单片机作为系统的控制中心,由数据采集模块检测到的温度信号传入单片机,并根据接收到的数据进行处理和控制运算,同时将数据保存,以便与下一次采样值进行比较,通过软件对所测电压进行数字非线性校正,同时由显示器进行实时显示。根据系统程序控制,进行 PID 运算以及输出控制,nts电气信息工程学院毕业设计 (论文 ) 水温控制系统 6 最终由 CPU控制加热回路 SSR 的通断,达到调功的目的。系统还提供了键盘设定模块及打印机接口,便于用户与系统之间的对话。系统的硬件结构较简单,由若干个功能模块组成。具体结构图及说明如下, 图 4 系统结构框图 键盘 设定:用于温度设定, 共三个按键。 数据采样:将 由传感器及相关电路采集到的温度转为 电压信号 ,送入 SPCE061A 相应接口中, 经AD转换后,换算成温度值,用于播报和显示。 数据显示:采用 了共阴极数码管 LED5641A 进行显示 设置温度与测量温度。 串 行口传输:将采样温度值,上传至 PC机, 以利用 PC的图形处理功能来 描绘曲线并打印。 继电器 /热电炉:通过三极管控制继电器的开关来完成对热电炉的功率控制。 语音播放:语音播放水温设置温度,并播报整数温度变化。 2.2 部分外部电路设计 由总体框图可以看到 ,整个系统的设计都离不开 SPCE061A的 输入 /输出接口。在单片机中, I/O口就 是单片机与外设交换信息的主要通道。输入端口从外界接收检测的输入信号、键盘信号等各种开关量信号;输出端口向外部输出处理结果、显示信息、控制命令、驱动信号等。 SPCE061A内部有并行和串行两种方式的 I/O 口。两个 16 位通用的并行 I/O端口即 A口和 B 口,这两个口的每一位都可通过编程单独定义为输入或输出口,通常对某一位的设定包括三个基本项:数据 向 量 Data、属性向量 Attribution和方向控制向量 Direction,三个向量的每个 对应位组合在一起形成一个控制字,用来定义相应 I/O口位的输入、输出状态和工作方式。 A口的 IOA0 IOA7 用作输入口时具有唤醒功nts电气信息工程学院毕业设计 (论文 ) 水温控制系统 7 能,常用于键盘输入。 B 口除常规的输入输出功能外,还具有特殊功能。比如后面串行通信用到的IOB7口和 IOB10口,它们在此电路中就充当的是串行数据的接收和发送端口。具体的用法将在后面的电路设计中用到。 2.2.1 键盘设置电路 IOA0接 KEY1,IOA1接 KEY2,IOA2接 KEY3。 KEY1: 设置温度的十位数; 0 9 KEY2: 设置温度的个位数; 0 9 KEY3: 工作模式选择键,共 有三种工作模式:正常工作状态、温度重新设置、语音播报设置 。 图 5 键盘电路 系统上电后,数码管全部显示为零,根据按 KEY1 次数 ,十位的数码管顺序增加。同样 KEY2,也如此。按 KEY3后,系统开始测温, 并与采集的温度进行比较,通过软件来控制电炉的开关 。 同时 语音播报变化的整数值温度。 2.2.2 测温部分电路 如图 6所示, 运放采用 HT9274集成芯片,温度传感器使用 Pt电阻。 HT9274是 微功率运算放大器 , 利用标准 CMOS 制 成 ,提供与 LM324 、 TL274 及 WT274 等相似产品完全兼容的接脚 。 其低操作 电压及稳定的品质特性,提供了完美的输出驱动能力 。 HT9274 适用于低功率操作的应用,如电话局线界面、传感器放大器及一些电池操作的携带式电子产品。 采用温度传感器铂电阻 Pt1000,是因为铂电阻的物理和化学性能在高温和氧化介质中很稳定 、价格又便宜,常用作工业测量元件,以铂电阻温度计作基准器。 此元件线性较好,在 0 100摄氏度时,最大非线性偏差小于 0.5 摄氏度。铂热电阻与温度关系式 )1(20 BtAtRR t ,其中: tR 温度为 t摄氏度时的电阻; 0R 温度为 0摄氏度时的电阻; A、 B 温度系数 A=3.94*102/ B=-5.84*10-7/ T 任意温度 nts电气信息工程学院毕业设计 (论文 ) 水温控制系统 8 因为 Pt 电阻在 0 摄氏度时,阻值为 1 千欧姆,在 100 摄氏度时,阻值为 1380 欧姆,则表示阻值变换从 0 380欧姆,电压从 0V-3.3V。 采用差动运放,通过可调分压电阻可以满足零点调节。因为 Pt 电阻中电流基本为 1 2mA,则 Pt 电阻电压就在 0 380mV 波动。因此采用 10 倍电压放大。基本满足 SPCE061A数模转换。 图 6 测温电路 2.2.3 控制电路 此部份用于在闭环控制系统中对被控对象实施控制,此处被控对象为电炉丝,采用对加在电炉丝两端的电压进行通断的方法进行控制,以实现对水加热功率的调整,从而达到对水温控制的目的。 对电炉丝通断的控制采用 SSR 固态继电器 , SSR 是半导体继电器,所以较小的驱动功率即可使SSR 工作。它的使用非常简单,只要在控制台端加上一 TTL、 CMOS 电平或一晶体管,即可实现对继电器的开关。 图 7 热电炉控制电路 nts电气信息工程学院毕业设计 (论文 ) 水温控制系统 9 图 8 过零控制方式 SSR工作波形 图 7 为 通过三极管 NPN8050 来 控制继电器的开关 的,继电器采用的是带光电隔离的过零型双向可控硅 AC-SSR常开式(常闭式)固态继电器,为使其实现过零控制,就是要实现工频电压的过零检测,并给出脉冲信号,由单片机控制双向可控硅过零脉冲数目。当在其输入端加入(撤离)控制信号时,输出端接通(断开),从而控制电炉与电源的通断,来达到加热或冷却炉丝的目的,最终实现使碗中水温度稳定在设定值上。 2.2.4 音频输出电路 SPCE061A提供了双通道音频输出方式。数字量分别写入 P_DAC1和 P_DAC2 单元。 DAC1、 DAC2转换输出的模拟量为电流信号,分别通过 DAC1和 DAC2管 脚输出。 图 9 音频输出电路 SPCE061A 内置两路 10 位 DAC,只需要外接功放电路即可完成语音的播放 .音频部分的原理图 9所示,在图中可以看到两个跳线,其作用在于可以测量 DAC 的输出波形;另外拔掉跳线,可以断开DAC 到喇叭放大的通路,使得 DAC 通道处于开路状态。这样便于用 DAC 做其他用途,用户可以用过这个跳线来加入自己的外围电路。 nts电气信息工程学院毕业设计 (论文 ) 水温控制系统 10 SPY0030是凌阳的芯片,相当于 LM386,但是比 386音质好,它可以工作在 2.4 6.0V范围内,最大输出功率可达 700mW( 386必须工作在 4V 以上,而且功率只有 100mW)。 用凌阳 Compress Tool 事先把所需要的语音信号录制好,本系统共包括十多个语音资源,整个语音信号经凌阳 SACM_S480 压缩算法压缩只占有 13.2K存储空间, SPCE061A单片机具有 32k闪存,使用内部 flash即可满足要求。凌阳 SPCE061A单片机自带双通道 DAC音频输出, DAC1、 DAC2转换输出的模拟量电流信号分别通过 AUD1和 AUD2管脚输出, DAC输出为电流型输出,所以 DAC输出经过 SPY0030 音频放大,以驱动喇叭放音,放大电路如图所示,可以接喇叭,也可以接耳机,这 为单片机的音频设计提供了极大方便。音频的具体功能主要通过程序来实现。 2.2.5 数码显示电路 图 10 显示电路 本图采用了共阴极数码管 LED5641A 进行显示, LED5641A 具有四位数码管,这四个数码管的段选 a、 b、 c、 d、 e、 f、 g分别接在一起,每一个都拥有一个共阴的位选端。 IOB0 IOB2口分别接三极管的 p端,通过三极管来 控制 LED的 片选。 IOA8 IOA15口传输要显示的数据,利用其串 /并转换功能,送入数码管显示。在此外接了两个电阻 R-PACK4来保护 LED。数据线也可直接接凌阳 SPCE061Ants电气信息工程学院毕业设计 (论文 ) 水温控制系统 11 单片机的 I/O 口,因为 I/O 口输出电流很小,一般不会对 LED 造成很大的损坏,而它的电压值却足以驱动 LED,这不像别的单片机还要外接驱动电路和电阻。采用凌阳 SPCE061A 单片机,将大大减化了设计过程和硬件电路 . 2.2.6 串行通讯部分电路 系统设计要求控制系统能同 PC 联机通信, 以 利用 PC 图形处理能力打印显示温度曲线 ,故使用了 SPCE061A的异步串行端口 UART实现与 PC通信 。由于 SPCE061A串行口 电平和 PC不一致,( SPCE061A的 I/O为 TTL电平, PC 串行口为 RS232电平 ) ,使用一片 MAX232为 进行 电平转换驱 动。通信速率为9600波特率。数据 5秒传输一次。 电路图如图 11所示, MAX232的 RXD1和 TXD1分别接 SPXEO61A的IOB10( TX)和 IOB7( RX)。 图 11 串行 通讯 电路 UART 模块提供了一个全双工标准通信口,用于完成 SPCE061A 与外设 之 间的串行通信。根据RS-232 的标准, SPCE061A 单片机也是按照字节传输数据的。利用 IOB 口的特殊功能和 UART IRQ 中断,可以同时完成 UART 接口数据的接收和发送。此外, UART 还可以带缓冲接收数据,即可以在读取缓存器数据之前接收新的数据。 但是,如果新的数据被接收到缓存器之前一直未从中读取,先前的数据会发生数据丢失。 P_UART_Data( 7023H)单元用于接收和发送数据的缓存,向该单元写入数据,将发送的数据送入缓存器;读该单元取数据,可以从缓存器读出接收到的单字节数据。 UART模块的接收管脚 Rx 和发送管脚 Tx分别与 IOB7和 IOB10共用。 nts电气信息工程学院毕业设计 (论文 ) 水温控制系统 12 3 系统软件设计 3.1 程序结构说明 任何一个系统的软件设计都离不开硬件电路的连接,所以本课题硬件设计的高度模块化决定了软件设计的模块化。 硬件接口连接如下 : IOA0-IOA2-KEY1-KEY3 IOA3-ADC IOA4-Relay IOA8-15-LEDa-dp. IOB0-IOB2-LEDcs1-cs3 IOB7 IOB10-UART 由此可知 其 程序 结构 应 包括:主 控 程序 模块 、键盘扫描及处理子程序、采样数据处理子程序、PID算法子程序、语音播报及显示等子程序几个部分。 结构框图如图 12。 图 12 程序结构图 主控程序模块在整个结构中充当管理者,管理所有子程序的调用,就相当于个人计算机的操作系统。它主要负责初始化各个 I/O 口,等待键盘事件的发生,并作出相应的处理 。并在适当的时候调用数据采样程序,并将采样到的数据与键盘设定值比较。再通过 PID 计算后用以控制继电器的开断,从而控制电炉的输出功率,来达到水温的调整,并调用语音播报程序,播放水的温度。 3.2 程序 流程图及部分程序 3.2.1 主程序 程序按照模块化设计,所有功能都可通过调用子程序完成,主程序较简单,流程图如图 13 所示。nts电气信息工程学院毕业设计 (论文 ) 水温控制系统 13 SPCE061A单片机 A口的 IOA0 IOA7用作输入口时具有唤醒功能,即具有输入电平变化中断功能(当输入的电平发生变化,电平由高变低或由低变高时),唤醒处于睡眠状态的 CPU。对于用电池供电的追求低能耗的应用场 合,可以通过软件设置应用 CPU 的睡眠模式以降低功耗,需要时用按键来唤醒CPU使其进入工作状态。 图 13 主程序流程图 在程序编写过程中,首先还有一系列的准备工作。在这个程序中涉及到了许多的库和组成文件,主要有: main.c 、 isr.asm、 key.asm、 hardware.asm、 led.asm、 system.asm 、 sacm_user_a2000.h。 由于篇幅原因,在这篇文章中只给出了部分程序。 /= /函数 : 主程序 /语法: int main(void) /描述:语音播报、键盘扫描、温度控制 /参数:无 nts电气信息工程学院毕业设计 (论文 ) 水温控制系统 14 /返回:无 /= int main(void) int iKeyValue; status = system_temperature_set; guifgSpeechPlay = 0; System_Initial(); PIDinit(); while(1) System_ServiceLoop(); /键盘扫描 、去抖动处理 iKeyValue = SP_GetCh(); /取键值 key_value_process(iKeyValue); /键值处理 if(guifgSpeechPlay) temperature_speech_play( ); /语音播放 if(status = system_temperature_control) display_speech_ADC_temperature(); /测量温度显示、温度播报、 PID计算 Clear_WatchDog(); /清看门狗 System_ServiceLoop(); /键盘扫描 if(fOut0x0255) K = 0.079; /确定温度系数 else K = 0.076; fT = adc_data * K; /换算成温度值 /将温度值转换成十进制用于 LED显示 guiLED_Value0 = (int)fT/10; guiLED_Value1 = (int)fT%10; guiLED_Value2 = (int)(fT*10)%10; if(int)fT != siTlast) /判断温度的整数值是否变化 temperature_speech_index(guiLED_Value); /温度整数值语音播放排序 nts电气信息工程学院毕业设计 (论文 ) 水温控制系统 20 SACM_A2000_Initial(0); /非自动方式播放的初始化 SACM_A2000_InitDecoder(DAC2); /开始对 A2000的语音数据以非自动方式解码 SP_INT_IRQ6(); iAddrSpeech = speech_start_address(iaSpeech_index0);/语音播放始地址 guifgSpeechPlay = 1; /设置语 音为播放状态 siTlast = (int)fT; stPID.Proportion = 1; / 设置 PID比例值 stPID.Integral = 0.5; / 设置 PID积分值 stPID.Derivative = 0.0; / 设置 PID微分值 fOut = 100*PIDCalc ( &stPID,(int)(fT*10) ); / PID计算 active(); 下图是数据采样的中断服务程序,此中断程序采用的是 2Hz中断定时 0.5秒钟采样一次 。图 18 数据采样的中断程序 /= /函数: int adc_data_cmp() /语法: int adc_data_cmp() /描述: ADC采样数 据的均值处理,抗干扰作用 nts电气信息工程学院毕业设计 (论文 ) 水温控制系统 21 /参数: 无 /返回: 无 /= int adc_data_cmp() int max; int min; int Sum; int i; max = giADC_DataSave0; for(i=0;imax) max = giADC_DataSavei; /取出最大值 min = giADC_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 / 微分项 ); 3.2.6 继电器控制 继电器是和 SPCEO61A 单片机的 IOA4口相连的,它的开断完全取决于 IOA4 口的输出,即 PID计算的结果。当输出小于零说明设定值小于实际输出值,这是就要关闭电炉,同时关闭定时器 B 的计时。 否则如果输出值大于设定值 2 摄氏度时就可以开电炉对水开始加热。如果设定值与实际输出值差值在 2摄氏度以内时,我们就 调用中断程序 定时加热。 /= /函数 : void active() /语法: void active() /描述: PID输出值的处理 /参数:无 /返回:无 /= void active() if(fOut30*stPID.Proportion) /温度低于设定值 2摄氏度 turn_on_relay(); /开电炉加热 else turn_on_relay();SP_INT_TIMEB() ;/初始化定时器,开始定时加热 nts电气信息工程学院毕业设计 (论文 ) 水温控制系统 24 图 19 是控制程序的中断服务程序,用来对继电器定时加热。它利用中断定时器 10ms 确定加热时间,当加热时间未到时,继续时间累积,若加热时间到时,就调用关定时器子程序,停止计时。 图 19 控制程序中断程序 3.2.7 语音播放 凌阳音频简介 A 音频信号 我们所说的音频是指频率在 20Hz 20KHz 的声音信号,分为波形声音信号、语音信号和音乐信号三种。其中波形声音就是自然界是的声音,是声音数字化的 基础。语音也可以表示为波形声音,但波形声音表示不出语言语音学的内涵,语音是对讲话声音的一种抽象,是语言的载体,是人类社会特有的一种信息交流系统,是社会交际工具的符号。音乐与语音相比更规范一些,是符号化了的声音。但音乐不能对所 的声音进行符号化,乐谱是符号化声音的符号组,表示比单个符号更复杂的声音信息。 B 音频信号的抽样和量化 要将音频模拟信号进行数字化处理,就必须将模拟信号转换为数字信号。模拟信号数字化有多种方法,目前采用最多的是信号波形的 A/D 变换法(波形编码)。它直接将时域信号 波形变换为数字序列, 接收恢复的信号质量高。此外,还 参量编码等。常用的波形编码方法有脉冲编码调制( PCM调制)和增量调制( DM) .数字音频信号的质量取决于采样频率和量化位数这两个重要参数。此外,nts电气信息工程学院毕业设计 (论文 ) 水温控制系统 25 声道的数目、相应的音频设备质量也会影响音频质量。 C 凌阳音频压缩算法的编码标准 下表是不同音频质量等级的编码技术标准响应频率。凌阳音频压缩算法处理的语音信号的范围是 200Hz 3.4KHz的电话话音。 表 2 编码技术标准频响 信号类型 频率范围( Hz) 采样率( kHz) 量化精度(位) 电话话音 2003400 8 8 宽带音频 ( AM质量) 507000 16 16 调频广播 ( FM质量) 2015k 37.8 16 高质量音频 ( CD质量) 2020k 44.1 16 D 压缩分类 压缩分无损压缩和有损压缩。无损压缩一般指:磁盘文件,压缩比低: 2:1 4:1。而有损压缩则是指:音视频文件,压缩比可高达 100:1。 凌阳音频压缩算法根据不同的压缩比分为以下几种 (具体可参见语音压缩工具一节内容 ): SACM-A2000:压缩比为 8:, 8:1.25, 8:1.5 SACM-S480: 压缩比为 80:3, 80:4.5 SACM-S240: 压缩比为 80:1.5 按音质排序: A2000S480S240 E 常用的应用程序接口 API的功能介绍及应用 表 3 SACM-lib 库中模块及其算法类型 模块名称( Model-Index) 语音压缩编码率类型 资料采样率 SACM_A2000 16Kbit/s, 20 Kbit/s, 24 Kbit/s 16KHz SACM_S480/S720 4.8 Kbit/s, 7.2 Kbit/s 16KHz SACM_S240 2.4 Kbit/s 24KHz SACM_MS01 音乐合成( 16Kbits/s, 20 Kbits/s, 24 Kbits/s) 16KHz SACM_DVR( A2000) 16Kbit/s的资料率, 8 K的采样率,用于 ADC通道录音功能 16KHz nts电气信息工程学院毕业设计 (论文 ) 水温控制系统 26 我们知道对于语音处理大致可以分为 A/D、编码处理、存储、解码处理以及 D/A等见图 20所示。然而,通过前面介绍我们知道麦克风输入所生成的 WAVE文件,其占用的存储空间很大,对于单片机来说想要存储大量的信息显然是不可能的,而凌 阳的 SPCE061A 提出了解决的方法,即 SACM-LIB,该库将 A/D、编码、解码、存储及 D/A作成相应的模块,对于每个模块都有其应用程序接口 API,所以您只需了解每个模块所要实现的功能及其参数的内容,然后调用该 API函数即可实现该功能。 图 20 单片机对语音处理过程 本文主要用到的是 SACM_A2000,下面对此作一简单介绍。 F SACM_A2000 该压缩算法压缩比较小 (8:1)所以具有高质量、高码率的特点适用于高保真音乐和语音。 其相关 API函数如下所示: void SACM_A2000_Initial(int Init_Index) /初始化 void SACM_A2000_ServiceLoop(void) /获取语音资料,填入译码队列 void SACM_A2000_Play(int Speech_Index, int Channel, int Ramp_Set) /播放 void SACM_A2000_Stop(void) /停止播放 void SACM_A2000_Pause (void) /暂停播放 void SACM_A2000_Resume(void) /暂停后恢复 void SACM_A2000_Volume(Volume_Index) /音量控制 unsigned int SACM_A2000_Status(void) /获取模块状态 凌阳音频压缩算法 void SACM_A2000_InitDecode(int Channel) /译码初始化 void SACM_A2000_Decode(void) /译码 void SACM_A2000_FillQueue(unsigned int encoded-data)/填充队列 unsigned int SACM_A2000_TestQueue(void) /测试队列 Call F_FIQ_Service_ SACM_A2000 /中断服务函数 A2000的非自动方式语音播放 nts电气信息工程学院毕业设计 (论文 ) 水温控制系统 27 图 21 A2000 非自动方式程序流程图 图 22 语音播报的中断服务程序流程图 4 SPCE061A 单片机简介 随着单片机功能集成化的发展,其应用领域也逐渐地由传统的控制,扩展为控制处理、数据处理以及数字信号处理( DSP, Digital Signal Processing)等领域。凌阳的 16位单片机就是为适应这种发展而设计的。它的 CPU 内核采用凌阳最新推出的 nSP ( Microcontroller and Signal Processor) 16 位微处理器芯片(以下简称 nSP )。围绕 nSP 所形成的 16 位 nSP 系列单片机(以下简称 nSP 家族)采用的是模块式集成结构,它以 nSP 内核为中心集成不同规模的ROM、 RAM 和功能丰富的各种外设接口部件。 SPCE061A 是继 nSP 系列产品 SPCE500A 等之后凌阳科技推出的又一款 16 位结构的微控制器。与 SPCE500A 不同的是,在存储器资源方面考虑到用户的nts电气信息工程学院毕业设计 (论文 ) 水温控制系统 28 较少资源的需求以及便于程序调试等功能, SPCE061A 里只内嵌 32K字的闪存( FLASH)。较高的处理速度 , 使 nSP 能够非常容易地、快速地处理复杂的数字信号。因此,与 SPCE500A相比,以 nSP为核心的 SPCE061A微控制器是适用于数字语音识别应用领域产品的一种最经济的选择。 其结构 如图23所示: 图 23 SPCE061A 的模块式结构 4.1 nSP 的内核结构 nSP 家族有以下特点 : 体积小、集成度高、可靠性好且易于扩展 。 nSP 家 族把各功能部件模块化地集成在一个 芯片里,内部采用总线结构,因而减少了各功能部件之间的连线,提高了其可靠性和抗干扰能力。另外,模块化的结构易于系统扩展,以适应不同用户的需求。 具有较强的中断处理能力 。 nSP 家族的中断系统支持 10 个中断向量及 10余个中断源,适合实时应用领域。 高性能价格比 。 nSP 家族片内带有高寻址能力的 ROM、静态 RAM和多功能的 I/O口。另外, nSP 的指令系统提供具有较高运算速度的 16位 16 位的乘法运算指令和内积运算指令,为其应用增添了 DSP 功能,使得 n SP家族运用在复杂的数字信号处理方面既很便利,又比专用的DSP芯片廉价。 功能强、效率高的指令系统 。 nSP 指令系统的指令格式紧凑,执行迅速 ,并且其指令结构提供了对高级语言的支持 ,这可以大大缩短产品的开发时间。 低功耗、低电压 。 nSP 家族采用 CMOS 制造工艺,同时增加了软件激发的弱振方式、空nts电气信息工程学院毕业设计 (论文 ) 水温控制系统 29 闲方式和掉电方式,极大地降低了其功耗。另外, nSP 家族的工作电压范围大,能在低电压供电时正常工作,且能用电池供电。这对于其在野外作业等领域中的应用具有特殊的意义。 图 24 nS P的内核结构 4.2 SPCE061A 的结构图 图 25 SPCE061A的结 构 nts电气信息工程学院毕业设计 (论文 ) 水温控制系统 30 SPCE061A 有两种封装片,一种为 84 个引脚, PLCC84 封装形式;另一种为 80 个引脚, LQFP80封装。 在此我们用 PLCC84封装形式 , 它的排列如图 26所示 图 26 SPCE061A 的 PLCC84封装形式 在 PLCC84 封装中,有 15 个空余脚,用户使用时这 15 个空余脚悬浮。在 LQFP80 封装中有 9 个空余
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
提示  人人文库网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
关于本文
本文标题:电气信息工程学院水温控制系统设计
链接地址:https://www.renrendoc.com/p-516576.html

官方联系方式

2:不支持迅雷下载,请使用浏览器下载   
3:不支持QQ浏览器下载,请用其他浏览器   
4:下载后的文档和图纸-无水印   
5:文档经过压缩,下载后原文更清晰   
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

网站客服QQ:2881952447     

copyright@ 2020-2025  renrendoc.com 人人文库版权所有   联系电话:400-852-1180

备案号:蜀ICP备2022000484号-2       经营许可证: 川B2-20220663       公网安备川公网安备: 51019002004831号

本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知人人文库网,我们立即给予删除!