基于单片机的恒温箱智能控制系统的设计方案_第1页
基于单片机的恒温箱智能控制系统的设计方案_第2页
基于单片机的恒温箱智能控制系统的设计方案_第3页
基于单片机的恒温箱智能控制系统的设计方案_第4页
基于单片机的恒温箱智能控制系统的设计方案_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

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

文档简介

1 基于单片机的恒温箱智能控制系统的设计方案 1 引言 近年来为了保证产品的质量,各个行业行为规范就越来越高,众多机械类、医药类、化工类、建筑类等工业和企业都离不开恒温箱的使用;为了确保恒温箱许多主要技术的指标可以达到国家技术所要求的规定,必须对其进行检测,保证产品的质量 1。本系统所设计、研发的数字恒温箱能非常好地解决这些问题。 温度的控制系统是自动控制系统较为复杂的控制,其控制的滞后性是整个系统中最难克服的难题,因为温度的变化是纯滞后环节,而温度的控制也是一个惯性大,应变慢的控制对象 2。在温度的控制系 统中一般用到的是较为先进的控制系统理论和控制算法。本系统中采用了 算法应用到了系统软件的设计中,对整个加热过程使用模糊 于加热过程中所产生的各种干扰和恒温箱的惯性问题都进行了分析 3。 恒温箱的智能控制系统 采用 半导体 集成温度传感器满足温度测量 要求 , 温度传感器将采集的 温度信号转换成电流 信号 , 然后再由 转换 电路将电流信号转换为电压信号,通过放大电路 和 模 /数转换芯片 将电压信号 转换成数字信号 ,由 单片机处理 后,将测量得到的温度值 显示于 液晶显示器上 。 系统的全部输入输出控制集中由单片机统一管理 ,各有关运行参数的设定,可通过键盘输入,设定温度、箱温实时值在液晶显示模块上显示,操作方便。 该系统具有实时温度显示和温度设定功能, 还具有 温度上、下限 报警和自动控制功能 。 当温度 高于或低于 设定值 一定程度 时, 发出生光报警,消除由于单片机系统意外失控所造成的危险,提高了恒温箱工作的可靠性和使用安全性。 设计任务为:用单片机设计一个 控制温度 范围在 30 80 的 智能温度控制系统 。设计要求:完成该系统的软硬件设计,学习掌握单片机采集测控系统的设计方法,提高学习新知识、新技能的能力,培养独立设计的能力。 2 2 系统设计分 析 统功能分析 恒温箱的智能控制系统由核心处理模块、温度采集模块、键盘输入模块、液晶显示模块、及控制执行模块等组成。 本控制系统有以下功能及指标: 温度控制设定波动范围小于 1%,测量精度小于 1%,控制精度小于2%; 实现功能:可以升温、控温; 温度实时显示; 按键输入,设定可控制范围内任意温度值; 温度上、下限越限报警。 根据以上控制系统要求,可得出恒温箱的智能控制系统的结构框图,如图2 温 度 传 感 器电 阻 丝 加 热 器信 号 处 理控 制 电 路单 片 机 系 统显 示 模 块报 警 电 路键 盘 输 入电 源 电 路图 2温箱 的智能控制系统工作框图 统结构方案确定 恒温箱的智能控制系统 采用 半导体 集成温度传感器 对 温度 进行检测 ,并将温度信号转换成电流 信号 , 然后通过电流 电压转换电路 转换为电压信号,通过放大电路最终 通过 模 /数转换芯片转换成数字信号 , 经单片机处理 后, 各个检测信号、控制信号、显示信号 通过 单片机的 I/ 传输,并 显示于 液晶显示器上 。 3 度传感器的选择 采用集成半导体温度传感器 一种 2 端集成电路式半导体传感器,输出电流与它所受的温度成线性关系。温度传感器具有重复性好、精度高等特点, 其测量温度范围为: +150,线性度 ,电压范围: +4V +30V,低功耗。 有标准化的输出,固有的线性关系 6。 对于本系统要求对恒温箱的温度实现实时和快速控制, 以温度传感器采用 。 1个 模拟 输入端的 12位开关电容逐次逼近模 /数转换器,具有转换快、稳定性好、与微处理器接口简单等优点 。 66大转换时间为 10 S; 性度误差最大为 1低供电电流 (1;掉电模式电流为 4A 。 本系统要求控制精度较高,且占用单片机的接口较多。而 度高,且与单片机接口简单,所以 A/ 制元件的选择 恒温箱控制系统的执行元件是电热丝,电热丝的供电电源为市电交流 220V,其功率对于单片机来说非常大,单片机不能直接控制的,所以,我们还要解决电热丝的供电的控制方案。采用晶闸管对电热丝的供电进行控制。 晶闸管的优缺点: 1、优点: ( 1)功率放大倍数可达几十 万倍; ( 2)控制灵敏,反应快; ( 3)损耗小,效率高; ( 4)体积小,重量轻; ( 5)改善了工作条件,维护方便。 2、缺点: 4 ( 1)过载能力弱; ( 2)抗干扰能力差; ( 3)导致电网电压波形畸变; ( 4)控制电路比较复杂 8。 综上所述,选用晶闸管作为电热丝供电的控制元件。 片机的选择 基于系统要求,系统所用的单片机选择了 美国 司生产的低电压,高性能 位单片机,片内含 8k 256器件采用 易失性存储技术生产,与标准 51指令系统及 8052 产品引脚兼容,片内置通用 8位中央处理器( 能强大 为许多嵌入式控制应用系统提供高性价比的解决方案 . 3 系统硬件的分析与设计 单片机系统的硬件和软件的结合是一个非常严格的过程,对于一个系统,硬件的设计不是一成不变的,不一定只有一种方案才能实现,但是每个模块都有一个最佳的设计方案,我们要综合考虑如何搭配 各个方案,选择哪一种方案更好,不仅要考虑一个系统的精度,还要从成本上考虑等很多方面的问题。 恒温箱以 责输入信号的处理和输出信号的控制。用温度传感器检测箱内温度,由于温度传感器的输出信号很微弱,需经过放大电路放大,再由模 /数转换电路将模拟信号转换成数字信号,经单片机处理,将温度值显示在液晶显示器上。为了确保恒温箱工作可靠和使用安全,在输出中设置报警接口。 流稳压电源的设计 1、直流稳压电源电路原理 电子设备一般都需要直流电源供电。这些直流电大多数都采用把交流电 ( 5 转变成直流电( 的稳压电源的方法。直流的稳压电源有电源变换的电路、整流的电路、滤波的电路、稳压的电路和负载的电路五部分组成,其原理框图如图3网提供的交流电压 220V, 50变压器的降压后,得到电路所需的电压 后用整流电路转换成大小随时间变化、方向不变脉动电压 着用滤波器过滤去交流分量,就得到了比较平直直流电压 这样的直流输出电压,还会随交流电网电压的波动或负载的变动而变化。在对直流供电要求较高的场合,还需要使用稳压电路,以保证输出直流电压更加稳定,这样就 得到了比较稳定直流电压 电 源 变换 电 路整 流电 路滤 波电 路稳 压电 路负载2 2 0 V 5 0 H 输 出流稳压电源电路原理框图 电源变换电路一般由变压器或阻容分压电路来完成;整流电路主要是利用二极管的单向导电性的原理,将交流电压变化为单向脉动电压;滤波电路是利用电容的充放电储能原理,将波动变化大的脉动电压滤波成较平滑的电压;稳压电路是直流稳压电源的核心,因为整流滤波之后的电压虽然已是直流电压,但它还是随输入电网的波动而变化,是一种电压值不稳定的直流电压,而且纹波系数也比较大,所以须加入稳压电路才能输出稳定的直 流电压。 2、稳压电源电路原理图 由于 大倍数太小,所以采用 12闸管作为电热丝供电的控制元件,所以触发电压采用 9V 电源供电;而单片机则采用 5此,电源变压器采用双 15V 变压器,输入 220V, 50流电,经过单相桥式整流电路进行整流,滤波,在分别经过 行稳压后得到 12V、 9V 和 5闸管和单片机进行供电,电路原理图如图 3 6 流稳压电源电路原理图 度采集电路的设计 输入电路部分主要是温度的采集,通过半导体集成温度传感器 测温度,并将温度传感器输出的电流信号转换成电压信号,经放大电路放大后,再经模 /数转换芯片,将 模拟信号转换成数字信号。 度传感器 概述 端恒流集成电路式半导体传感器,输出电流与它所受的温度成线性关系。 度传感器具有重复性好、精度高等特点,其测量温度范围为: +150 ,线性度 ,电压范围: +4V +30V,低功耗。 有标准化的输出,固有的线性关系,因而便于使用。 于生产厂家生产时采用激光微调来校正集成电路内的薄膜电阻,使其在摄氏零度(对应绝对温度为 输出电流为 敏度为 1 。当其感受的温度升高或者降低时,则其电流就以 1 的速率增大或减小,因而在应用中将电流转换为电压,即可以用电压来表示温度大小。 出电流是以 摄氏 零度( 对应绝对温度为 273K)为基准,每增加 1 ,它会增加 1A 输出电流,因此在室温 25 时,其输出电流 273+25) 7 =298 A。 图 3 V oV 1 0 注意事项 : 1、 o 乘上 10K,以室温 25 而言,输出值为 10K298A=2、测量 可分出任何电流,否则测量值会不准 6。 大电路的设计 由于 A 级,所以需要把信号放大,再输入到模/数转换芯片,完成模拟信号到数字信号的转换。 本设计的放大电路采用高精度集成运放 放大元件 , 电 源电压范围 为: 3 18V,输入电压范围为 : 0 14V。根据系统工作特性及精度要求,设计的放大电路如图 3示。 8 电路分析: 1、 输出电流 I=( 273+T) A ( T 为摄氏温度),因此测量的电压 273+T) A10K= ( ) V。 为了测量 电压需要 使输出电流 I 不分流出来,使用电压跟随器 , 其输出电压 。 2、 然后 使用差动 的 放大器 , 其输出 100K/10K) ( =T/10,假设温度 为摄氏 28 , 则 输出电压 是 出 的 电压接 A/么 A/ 输出的数字 值 就 与 摄氏温度成比例线 性 关系。 D 的选择及接口电路 A/D、 D/A 转换器是过程 控制 及仪器仪表、 工控 设备等检测与控制装置中应用 非常 广泛的器件。 由于 大规模集成 的 电路技术发展,各种高精度 的 、低功耗 的 、可编程 的 、低成本的 A/ 推出, 这促使 微机控制 的 系统电路更加 的 简洁,更高可靠性。 介绍 11 个输入端的 12 位开关电容逐次逼近模 /数转换器,具有转换速度 快、稳定性好、 分辨率高、 与微处理器接口简单等优 点 。 单片机接口电路 9 小系统设计 片机系统概述 一种高性能低功耗的采用 艺制造的 8 位微控制器,它提供下列标准特征: 片内含 8k 的可反复擦写的 2568部 32 条I/O 线, 3 个 16 位可编程定时 /计数器中断 , 2 个外部中断源,共 8 个中断源 ,片上震荡器和时钟电路。 :双向 8 位三态 I/O 口,可驱动 8 个 载。当 访问外部程序存储器或数据存储器时,它还可设定成地址数据总线复用的形式。在这种模式下, 具有内部上拉电阻。在 程时, 接收指令字节,同时输出指令字节在程序校验时需要外接上拉电阻。 部带有上拉电阻的 8位准双向 I/驱动 4个 对 写 1 时,它们被内部的上拉电阻拉升为高电平,此时可以作为输入端使用。当作为输入端使用时, 因为内部存在上拉电阻,所以当外部被拉低时会输出一个低电流( :内部带有上拉电阻的 8 位双准向 I/O 口 ,与地址总线(高 8 位)复用,能驱动 4 个 载。 在访问外部程序存储器或 16 位地址的外部数据存储器时, 送出高 8 位地址数据。在这种情况下, 使用强大的内部上拉电阻功能。当利用 8 位地址线访问外部数据存储器时, 输出特殊功能寄存器的内容。 部带有上拉电阻的 8位准双向 I/功能复用口,能驱动 4个 向 时,通过内部上拉电阻把端口拉到高电平,此时可以用作输入口。作为输入口,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出电流( 位输入, 在此引脚上出现两个机器周期的高电平(由低到高跳变),将使单片机复位。 : 地址锁存允许信号,当访问外部存储器时, 出信号的负跳沿用于单片机发出的低 8位地址经外部锁存器的锁存控制信号; 位 10 本脚第二功能,在对内 引脚作为编程脉冲输入端。 :程序存储允许时外部程序存储器的读选通信号。当 行外部程序存储器的指令时,每个机器周期两次有效,除了当访问外部数据存储器时,将跳过两个信号。 : 功能为内外程序存储 器选择控制端,当 =0时,则只使用片外 =1 时,则允许使用片内 本脚的第二功能,当执行内部编程指令时, 应该接到 件接口电路的设计 复位是单片机的初始化操作。单片机应用系统在上电启动运行是,都需要先复位。其作用是使 并从这个状态开始工作。因而,复位是很重要的操作方式。但由于本身是不能自动进行复位的必 须配合相应的外部复位电路才能实现。 晶显示电路 大多数的数字系统都有人机接口模块,本系统也不例外,本系统的显示部分使用的是 696340 128点阵图形液晶显示模块,在 8制电路和时序电路等,通过对 以实现点阵式 1、电源: 5V 10%;模块内可自带 于 2、显示内容: 240(列) 128(行)点; 3、全屏幕点阵; 4、带 8地址由软件设定); 5、其接口适配 8080系列和 控制时序; 6、驱动方式: 1/128 1/9 7、工作温度: 10 60;存储温度: 20 70; 8、模块可带 光电流 100 11 9、 60 8单片机接口电路 其内部没有中文字库,所以在显示中文时,对其进行图形方式写屏,其取模方式如图 3模所示。 图 3模 其取模的方式为:左上左下右上右下。共十六个字符串型代码,因此这样程序的代码会很长,所以在本系统的设计中,由于 可以用过多的汉字显示。还因为单片机的处理速度不是很高,所以汉字要尽量使用静态显示,在程序运行时只对动态的数据进行刷新。 盘接口电路 对于数字系统,其输入部分 大多为键盘,键盘的形式有很多种,一般分为两类,独立式和矩阵式。 矩阵 键盘由一组排列成矩阵形式的按键开关组成,通常有编码键盘和非编码 12 键盘两种类型。 在键盘数目较多的系统中,还要使用键盘专用芯片。 ( 1) 编码键盘 编码键盘中某个键按下后,能够提供与该键相对应的编码信息。它的缺点是硬件设备随着键数的增加而增加。 ( 2) 非编码键盘 它是用较为简单的硬件和一套专用程序来识别按下键的位置,并提供与按下键相对应的中间代码,然后再把中间代码转换成要对应的编码。 由于键盘通常排列成矩阵格式,因此可以用硬件或软件的方法对行、列分 别进行扫描去查找按动的键。常用的方法有: (1)行反转法 (2)行扫描法 (3)行列扫描法 本文所设计的智能控制系统还要有数据的选择,设定值的增加、减少,本系统信息输入量小,所以采用三键式的输入,其电路图如图 3键电路图所示。 12统按键电路 本系统使用 ,不使用上拉电阻,其工作原理是:按键在没有按下时,I/0口出现的是高电平,当按下时 I/了减少硬件资源,在硬件中没有使用消抖电路,在程序中,可以使用软件编程的方法进行消抖。其中,“ 为系统的选择按钮,“ 设定值加键,“ 设定值减键。当按下“ 时,系统对设定温度、上限报警温度、下限报警温度进行选择。 13 当按下“ 键时,系统设定值加一,当按下“ 时,系统设定值减一。 警电路设计 报警电路采用一个小功率三极管 动蜂鸣器,当单片机接收到超过上限温度信号或下限温度信号时,单片机输出高电平, 蜂鸣器通电工作,发出报警声。同时,液晶显示出此时的实时温度。报警电路如图 3 统报警电路 电控制及过零检测电路 热丝的控制电路 在本系统中,因为被控制电路为市电 220V 强电,所以在微电控制强电的电路中,要用到隔离电路对开关信号进行隔离,较为常用的是光电耦合器。 光电耦合器是以光为媒介传输电信号的一种电 光 电转换 的 器件。光电耦合器的测试 可 用万用表判断好坏,断开输入端电源,用 R1k 档测 1、 2 脚电阻,正向电阻为几百欧,反向电阻几十千欧, 3、 4 脚间电阻应为无限大。 1、 2 脚与3、 4 脚间任意一组,阻值为无限大,输入端接通电源后, 3、 4 脚的电阻很小。调节 3、 4间脚电阻发生变化,说明该器件是好的。注:不能用 R10k 档,否则导致发射管击穿。 在本系统中用到的是 控制电路如图 3 14 V)耦控制电路 由于 光电耦合器 的受控端的驱动电流不是很大,而晶闸管的导通电流比较大,所以在 光电耦合器 的输出端接入一个三极管,来增加晶闸管的驱动电流。 零检测电路 工频电压是一个交流电压,所以每个 也就是半个周期后都有一个 0我们要控制晶闸管的方法也就是以此处为切入点,来控制晶闸管的导通角,达到控制加在电热丝两端的电压的有效值的目的。 由于 220V 的强电压对单片机系统来 说是一个非常大的电压,所以在采集220V 50本系统中,我用到的是过零检测电路,其电路如图 3零检测电路所示。 0零检测电路 我们先假设,当变压器 正端加高电压,使 通,这时 样,当 得三极管 同样出现的是低电平;只有在 个二极管的正端都没有电压,这样三极管的基极电压为 0,使得 15 三极管截止,这时 现高电平, 将此信号接入单片机的中断引脚,当 始计时,就可以控制晶闸管什么时候导通 这样我们就完成了一个晶闸管的导通角的控制过程。我们根据过零检测信号可以得到正弦波的零点位置,然后用 样,系统就可以根据温度的需要控制电热丝所加电压的有效值的大小,来控制温度。 系统原理图: 67 4167 412013V)201 10K+16 4 软件的仿真与调试 件控制方案 本文主要分析单片机应用系统出错 以及不可靠不稳定 的 原 因,并结合 他 人的研发 经验,探讨一些解决的办法。 软件的设计对于单片机系统来说也占在一个非常有影响的地位的,系统软件的运行的抗干扰性、可操作性、人机界面的友好性,都是判别单片机系统好与不好的出发点。 统的干扰及软件处理措施 片机应用系统出错的外部原因 从设计和制造的角度来看,造成应用系统容易受干扰的主要原因是: (1)系统 提供的 电源抗干扰 不好 或 者 功率不足; (2)控制 程序没有抗干扰措施或措施不 足 ; (3)器件间 的 驱动功率不足,处在 比 较临界 的 状态; (4)长 远距离传输数据的电源、电压 较 低; (5)没 有 使用 屏蔽保护 措施 ; (6)元件质量 差 。 针对以上出现的 各种 问题,我们从软件方面来探讨一些提高单片机 的 应用系统抗干扰的方法。 片机应用系统的软件抗干扰设计 单片机应用系统的抗干扰 能力 不可能 全部 依靠硬件 来 解决,软件 的 抗干扰设计 同样 是防止 与 消除整个系统 的 故障 的 重要途径。 1、在 控制状态失常 下 的软件对策 (1)软件冗余 技术 。对于 有 条件控制 的 系统,对控制条件的 每 一次采样、 每一次 处理控制 的 输出改为循环地采样、 循环地 处理 的 控制输出。 像 这种方法 在处理 惯性较大控制系统 拥 有 超棒 的抗干扰 能力 。 (2)设置当前输出 状态寄存单元,当干扰 影响 输出通道 引起 输出状态 被 破坏 17 时,系统能 够 及时查询 所在 寄存单元输出状态 的 信息,及时 地 纠正输出 的 状态。 (3)设 置 自检程序 技术 。在单片机 的 特定内部或某些 其它 内存单元设 置 状态标志,在开机后,运行中不断 地 循环测试, 来 保证系统中 的 信息存储、运算 、传输 的高可靠性。 2、 采集数据误差的软件 处理 用 程序 滤波算法,可 以 滤掉 一 部分由 于 输入信号干扰 所带来的 输出控制 类 错误。最常用的方法有算术平均值 滤波 、比较舍取 滤波 、中值 滤波 、 惯性 滤波。具体选取 某种滤波 ,必须 依据 信号变化 的 规律选择。 件控制方案 在本 系统中,用到了很多关于控制的变量,对应此变量要控制一些执行器的动作,所以在单片机系统中,要控制这些执行器的动作就要用到软件的一些控制算法,比如本系统的执行器是晶闸管,它的导通和截止就不可以用简单的送开 /关信号来控制,我们不单要控制晶闸管的通断,还要知道我们什么时候应该让晶闸管导通,前面也提到了过零检测电路,通过过零检测得到的信号,系统怎么样来控制晶闸管,时间是多长,这都是系统经过软件算法得到的。下面我们就来分析一下本系统的控制方案。 键程序的设计 恒温箱智能控制系统的按键电路采用三个独立式按键 ,在程序的设计中,由于系统的温度必须可以人为设定,所以在程序设计中,我们用两个按键用作设定值的加和设定值的减,另外一个按键用来数据的选择。这样按键较少,不必使用行列式键盘,在程序的设计中,用查询的方式对这三个键子的状态进行判断,硬件电路中没有加入消抖电路,所以在程序中,使用延时的方法消除按键的抖动和误动作。这样作可以节省硬件电路,减少开支,针对本系统可以满足系统的实时性要求。 晶显示程序的设计 恒温箱控制系统的显示选用液晶 为显示器,其内部没有字库,所有的汉字都要自行编写。而 这些字的字模都要写到程序的代码中。 在程序的运行中,如果显示汉字多,液晶的数据传输量就很大,所以在程序 18 设计中,固定不变的字要使用初始化的方法写入,这种方法在程序的执行中只在程序的初始化中才执行,而在初始化过后这些汉字不变,没有必要循环写入。我们只对变化的数据进行动态写入,仅当显示数据变化时进行数据传输,这样设计可以提高总程序的扫描速度。 ,经过电流电压转换电路和放大电路后,进入 A/系统采用 是 串行接口芯片,且精度比较高,温度的变比较慢,所以其转换速度也可以满足要求,根据如图 4 图 4 I/O 接口内部有上拉电阻,所以在程序中只对 I/O 口写“ 1”或写“ 0”即可完成如图 4 常的工作。 制框图 在编程的过程序中,对于系统的控制,如果要把程序作的严谨、稳定、漏洞少就要对整体的软件程序做好模块化的分割,因为在 是从主程序进入,然后在主程序中调用各个模块程序,如果一 个复杂的系统的所有语句都在主程序中编写的话,会使程序的可读性非常差,而且更重要的一点就是,在会将一个模块的程序都调到内存中执行,这样,如果模块的代码很长的话容易使程序指针出错导致进行死循环或死机,这样的系统是不可用的,是不稳定的,所以程序应该做成小的模块,尤其是像延时一类在程序执行中常被调用的程序。 19 一个成功的编程人员所编的程序是十分容易理解的,这不光要写的有条理,还要适当的加一些注释,因为一个大的程序一个程序员是不能完成的,需要一个团队共同完成,这样如果自己编的程序只有自己才能看懂的话 就不能与别人的程序很好的接口。 编写程序之前一定要先分析一下本系统的整体的程序框图和中断的框图,程序的模块化会使程序的编写不至于枯燥,每完成一步,都调试到完全正确,全部程序都一下子的写进去然后再一起调试会使编程的人感到不知道是哪里出了错误,找原因无从下手。 程序框图 恒温箱控制系统主程序的顺序应该先初始化系统,如把晶闸管关闭、初始化液晶、初始化定时器等等,这些都是为系统下一步做好运行的准备;然后是程序的正式运行, 理、输出。 如图 4其中初始化包括定时器、液晶的初始化和变量的初始化;通过数据选择按键来控制设定温度、上限报警温度和下限报警温度的选择,然后用设定值加和设定值减按键来调节设定值,这种方法不会影响系统,还省去了系统资源。在程序执行中,系统读取设定值和实际测量值,通过算法进行比较并运算,然后单片机输出信号来控制晶闸管进行处理,最终显示在液晶显示器上。 在这里,只对主程序的框图进行初步的分析,其中的具体模块程序会在以后的几节中进行介绍。 20 初 始 化开 始是 否 有按 键 按 下 设 定 值设 定 值 调 整数 据 选 择读 取 实 际 值控 制 晶 闸 管处 理 并 显 示图 4制系统主框图 度检测与控制程序 温度的检测是通过对 A/度与数字量不是一一对应的,甚至还有可能不是呈线性变化的,所以在本系统中,用查表并求插值的方法算出温度的真实值,数据表是在实际的温度中测量的数字信号,但是表格不能完全将所有温度的数字信号都记录下来,用插值的方法就可以将表中没有的温度值算出来,这样可以做到分段的线性,使温度测量值更接真实值。用 检测速度较快,本系统用到的 A/以在检测的过程中,温度的测量是前一时刻的瞬时 值,但因为温 21 度的变相比之下非常缓慢,所以这种系统可以满足对温度的测量速度要求。 温度的控制是工业过程控制中最难控制的变量之一,它的惯性大,调节效果不是很明显,所以在大多数的控制系统中,温度的控制大多采用 是针对不同的系统,又有不同的 纯的 般用的较多的有位置式 量式 些都是因为单纯的 而衍生出来了一些好的控制方法。 在温度的控制中,还要考虑到过零检测信号的输入,所以本系统中温度的控制是一个难点,再有就是 的输出量的处理,在数学公式中这些都是十分好算的,但是在编程的实现中,这些没有实际所想象的那样容易。这就要我们来分析一下温度控制的软件过程:假设我们要求温度上升 1 ,当前的晶闸管的导通角是 30。导通角每增加 1 定时器时间延长 100 S。这时的控制流程是:我们首先计算定时的时间长度,如果要温度上升,导通角要减小 1,延时减少100 S。先将定时器的初值增加 100 S,当单片机接到一个过零检测信号,启动定时器,当定时器溢出时,发送一个晶闸管的导通控制信号。此时系统完成一个周期的温度控制过程。控制框图如图 4示。 计 算 偏 差P I D 调 节 式 调 节报 警是 否超 限图 4度控制框图 示程序介绍 恒温箱智能控制系统用 液晶内部有数字和英文字母以及符号的字库,在刷新数据时,要用到数字的字库,但是在显 22 示数据时,不可以直接传送一个几位的整数,更不能写入带浮点的小数,因为其内部只有单个的数字的字模,系统只能将一个整数拆开,比如: 1234,系统要拆成“ 1”、“ 2”、“ 3”、“ 4”然后分别送入液晶显示器才能显示出来,浮点数还要把浮点传送进去才行。这 是一个时间相对很长的过程,汉字的传送时间更长,所以本系统将汉字在初始化时就写入,这样处理不影响后续温度控制时的扫描速度。在这里,介绍一下数据处理的过程,系统取到一个待显示的数据后,第一步将这个数除以 1000取整( /1000),得到的值就是千位的值,第二步将这个数除以 100( /100)模 10( 10),得到的值就是百位的值,第三步将这个数除 10( /10)模( 10) ,得到的值就是十位的值,第四步将这个数模 10,得到的数就是个位的值。但是如果要显示的数据不是四位的数的话,如果只做以上处理的话在最高位就会出现 0千的 效果,怎样避免这种结果呢?我们做如下处理,可以判断一下待显示的数据多大的数,如果小于 1000,那第一位就不能显示了依此类推。这样,我们的数据就可以十分准确的显示在显示器上面了。 盘输入及其程序设计 上面介绍了单片机的输出设计,接下来就应该是输入部分了,在单片机的控制系统中,如果没有人为的输入接口,再称之为智能控制系统难免有点说不过去,智能控制的优点在于对输入的信号判断,并作出相应的反应,如果没有了输入,系统没有了反应的依据,控制也就没有了效果,也没有了工作的信号,使整个系统不受人的控制,也就没 有了智能的成分。 23 启 动 系 统是 否 有按 键 按 下 选 择设定值加设定值减设 定 值 调 整图 4键读取程序框图 本系统键盘数量少,所以在软件的设计中,我们选用查询的方式设计键盘的程序,可以减少 资源的使用,且能满足流程的安排,根据系统需要,设计键盘的作用分别为数据的选择、设定值加和设定值减,在程序的设计中,系统的设定值不是说加多少就能加多少的,本系统温度的最高值在 80 ,因此设定值加键只能加到 80就不能再加了,同理设定值减也只能到 30。数据的选择键是对设定温度、上限报警温度和下限报警温度之间相互转换的 选择,然后通过设定值加和设定值减来调节温度值。此三个按键的程序构图如图 4示。 统数据运算的设计 程序的设计没有固定的思路,一个数据的处理过程可能有很多的方法,但是一定会有一个方法是最简单得方法,这就要程序员的思路开阔,逻辑思考能为强,比如一个十六进制数的乘 2运算,在 们可以用乘法的运算,但是,专业的程序就不会用这样的算法,而是把这个数向左移一位完成乘 2的运算,因为这样的运算 少,所以我们学习编程就要学习 24 怎么样用最简单的方法去处理一个复杂的事件,这 样才能编出较为严谨的程序。 本系统程序的设计有许多需要考虑的模块,比如数据的显示处理程序,在液晶的显示中,没有对数据整体的显示功能,它只能对一个几位的数据进行分位显示,这就要编程中将数据的各个位的数提出来,然后再把它分别送入液晶中显示出来,在现实的处理中可以很简单,但是 以一个大数的乘除对于单片机是一个非常复杂的过程,如果一个系统要进行很多的乘除运算,那么 大大的降低 在单片机系统中,还有很多需要处理的信号,相对应的也都有 软件的设计技巧,这就要多学习一些别人作的程序,看看他们作的哪个地方值得我们去学习,那些地方我们可以做的更好,用这种方法使自己的编程思路更开阔。 5 整体系统调试 在完成了系统的硬件后,根据系统将要完成的功能,设计好整体系统的软件流程后,就要对每个模块的程序进行调试,调试的过程是个反复实验的过程,调试的过程中会出现这样那样的问题,可能是硬件电路的问题,也可能是编程中出现的差错,所以调试中要注意思路,不要只是认为是某方面的问题,这样会扰乱思路,使自己处理问题片面到某点上。 件电路的调试 在硬件电路的调 试中,最值得注意的是电源的部分,因为电路的设计时不可能都做成 般为了调试的速度,都是只做个草草的电路只是用来测试一下电路的效果是不是令人满意,如果达到了我们想要的效果,这个电路就是对的了,然后再用各种方法测试它的稳定性,如完全成功,再焊接好电路,或是制作成 路板,电路的调试不是把所有的电路都做到一起再调试效果,一般都是把一个复杂的电路分成几个小的模块,分别对每个模块做调试,从最基本的模块做起,测试成功后就做与其相联系的模块,另一个模块做好调试成功后再将两个模块连接到一起,连起来才 能较好的完成一个复杂的系统。如果把所有的电路都做完就连到一起,不去测试这些模块的可行性,出现问题后会无从 25 下手,不知道是哪里出了问题,使电路检查起来非常麻烦。 件程序调试 软件程序的调试对于硬件来说就比

温馨提示

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

评论

0/150

提交评论