当前位置:文档之家› STM8S003F3

STM8S003F3

STM8S003F3
STM8S003F3

家用空调温度控制器的控制程序设计

《微机原理及接口技术》 课程设计说明书 课题:家用空调温度控制器的控制程序设计专业: 班级: 姓名: 学号: 指导老师:王亚林 2015年1月8 日

目录 第1章、设计任务与目标................................................................................ 错误!未定义书签。 设计课题:................................................................................................ 错误!未定义书签。 设计目的:................................................................................................ 错误!未定义书签。 设计任务:................................................................................................ 错误!未定义书签。 基本设计要求:............................................................................................................. 错误!未定义书签。 第2章、总体设计规划与方案论证 (6) 设计环节及进程安排 (6) 方案论证 (5) 第3章、总体软件设计说明及总流程图 (10) 总体软件设计说明 (10) 总流程图 (11) 第4章、系统资源分配说明 (13) 系统资源分配 (13) 系统内部单元分配表 (13) 硬件资源分配 (15) 数据定义说明 (16) 部分数据定义说明 (16) 第5章、局部程序设计说明 (17) 总初始化以及自检 主流程 按键音模块 (17) .2 单按键消抖模块 (17) PB按键功能模块 (18) 基本界面拆字模块 (19) 4*4矩阵键盘模块 (19) 模式显示模块 (20) 显示更新模块 (21) 室内温度AD转换模块 (21) 4*4矩阵键盘扫描子程序 (21) 整点报时模块 (23) 空调进程判断及显示模块 (23) 三分钟压缩机保护模块 (23) 风向摆动模块 (24) 驱动控制模块 (24) 定时开关机模块 (25) 第6章、系统功能与用户操作使用说明 (26)

ISO9001-2015车间温湿度控制程序A0

车间温湿度控制程序 (ISO9001:2015) 1.温湿度管理概述 要做好组装、测试间温湿度管理工作,首先要学习和掌握空气温湿度的基本概念以及有关的基本知识。 (1)空气温度 空气温度是指空气的冷热程度。 一般而言,距地面越近气温越高,距地面越远气温越低。 在日常温度管理中,多用摄氏表示,凡0度以下度数,在度数前加一个“-”,即表示零下多少摄氏度。 (2)空气湿度 空气湿度,是指空气中水汽含量的多少或空气干湿的程度。 表示空气湿度,主要有以下几种方法: ①绝对湿度 绝对湿度,是指单位容积的空气里实际所含的水汽量,一般以克为单位。 温度对绝对湿度有着直接影响。一般情况下,温度越高,水汽蒸发得越多,绝对湿度就越大;相反,绝对湿度就小。 ②饱和湿度 饱和湿度,是表示在一定温度下,单位容积空气中所能容纳的水汽量的最大限度。如果超过这个限度,多余的水蒸气就会凝结,变成水滴。些时的空气湿度便称为饱和湿度。 空气的饱湿度不是固定不变的,它随着温度的变化而变化。温度越高,单

位容积空气中能容纳的水蒸气就越多,饱和湿度也就越大。 ③相对湿度 相对温度是指空气中实际含有的水蒸气量(绝对湿度)距离饱和状态(饱和湿度)程度的百分比。即,在一定温度下,绝对湿度占饱和湿度的百分比数。相对湿度用百分率来表示。公工为: 相对温度=绝对湿度/饱和湿度×100% 绝对温度=饱和温度×相对温度 相对湿度越大,表示空气越潮湿;相对湿度越小,表示空气越干燥。 空气的绝对湿度、饱和温度、相对湿度与温度之间有着相应的关系。温度如发生了变化,则各种湿度也随之发生变化。 ④露点 露点,是指含有一定量水蒸气(绝对湿度)的空气,当温度下降到一定程度时所含的水蒸气就会达到饱和状态(饱和湿度)并开始液化成水,这种现象叫做结露。水蒸气开始液化成水时的温度叫做“露点温度”,简称“露点”。如果温度继续下降到露点以下,空气中超饱和的水蒸气,就会在商品或其他物料的表面上凝结成水滴,此现象称为“水池”,俗称商品“出汗”。此外,风与空气中的温湿度有密切关系,也是影响空气温湿度变化的重要因素之一。 2.内外温湿度的变化 从气温变化的规律分析,一般在夏季降低车间内温度的适宜时间是夜间10点钟以后~次日晨6点钟。当然,降温还要考虑到商品特性、车间条件、气候等因素的影响。

温度的PID控制及程序示例

温度的PID 控制 一.温度检测部分首先要OK. 二、PID 调节作用 PID 控制时域的公式 ))()(1)(()(?++ =dt t de Td t e Ti t e Kp t y 分解开来: (1) 比例调节器 y(t) = Kp * e(t) e(k) 为当前的温差(设定值与检测值的插值) y(k) 为当前输出的控制信号(需要转化为PWM 形式) # 输出与输入偏差成正比。只要偏差出现,就能及时地产生与之成比例的调节 作用,使被控量朝着减小偏差的方向变化,具有调节及时的特点。但是, Kp 过大会导致动态品质变坏,甚至使系统不稳定。比例调节器的特性曲线. (2) 积分调节器 y(t) = Ki * ∫(e(t))dt Ki = Kp/Ti Ti 为积分时间 #TI 是积分时间常数,它表示积分速度的大小,Ti 越大,积分速度越慢,积分作用越弱。只要偏差不为零就会产生对应的控制量并依此影响被控量。增大Ti 会减小积分作用,即减慢消除静差的过程,减小超调,提高稳定性。 (3) 微分调节器 y(t) = Kd*d(e(t))/dt Kd = Kp*Td Td 为微分时间 #微分分量对偏差的任何变化都会产生控制作用,以调整系统输出,阻止偏差变化。偏差变化越快,则产生的阻止作用越大。从分析看出,微分作用的特点是:加入微分调节将有助于减小超调量,克服震荡,使系统趋于稳定。他加快了系统的动作速度,减小调整的时间,从而改善了系统的动态性能。 三.PID 算法: 由时域的公式离散化后可得如下公式:

y(k) = y(k-1)+(Kp+Ki+Kd)*e(k)-(Kp +2*Kd)*e(k-1) + Kd*e(k-2) y(k) 为当前输出的控制信号(需要转化为PWM形式) y(k-1)为前一次输出的控制信号 e(k) 为当前的温差(设定值与检测值的插值) e(k-1) 为一次前的温差 e(k-2) 为二次前的温差 Kp 为比例系数 Ki = Kp*T/Ti T为采样周期 Kd = Kp*Td/T 四.PID参数整定(确定Kp,Ts,Ti,Td): 温度控制适合衰减曲线法,需要根据多次采样的数据画出响应曲线。 所以需要通过串口将采样时间t, 输出y(t)记录下来,方便分析。 1)、不加入算法,系统全速加热,从常温加热到较高的温度的时间为Tk, 则采样时间一般设为 T = Tk/10。 2)、置调节器积分时间TI=∞,微分时间TD=0,即只加比例算法: y(k) = y(k-1)+Kp*e(k) 比例带δ置于较大的值。将系统投入运行。(δ = 1/Kp) 3)、待系统工作稳定后,对设定值作阶跃扰动,然后观察系统的响应。若响应振荡衰减太快,就减小比例带;反之,则增大比例带。如此反复,直到出现如图所示的衰减比为4:1的振荡过程时,记录此时的δ值(设为δS),以及TS 的值(如图中所示)。当采用衰减比为10:1振荡过程时,应用上升时间Tr替代 振荡周期TS计算。 系统衰减振荡曲线 图中,TS为衰减振荡周期,Tr为响应上升时间。 据表中所给的经验公式计算δ、TI及TD的参数。

简单温度控制完整程序

简单温度控制完整程序

#include #include #define uchar unsigned char #define uint unsigned int sbit rs = P3^4 ; sbit rw = P3^5 ; sbit ep = P3^7 ; unsigned int set1=30,set2=10; unsigned char flag=0; sbit DQ =P1^7; //定义通信端口 sbit fengmingqi=P1^1; sbit jidianqi=P1^5; code uchar mayuan[]={'0','1','2','3','4','5','6','7','8','9'}; code uchar aa[]={"wendu is:"}; code uchar bb[]={"sheding :"};

typedef bit BOOL ; unsigned char k,dat_wr[8],dat_rd[8]; void putchar(uchar weizhi,uchar da); void delay(uchar); void lcd_wcmd(uchar); BOOL lcd_bz(); void lcd_pos(uchar) ; void lcd_wdat(uchar) ; void display(uchar,uchar *) ; void lcd_init(); void longdelay(uchar s); void keyscan(void); BOOL lcd_bz() { // 测试LCD忙碌状态 BOOL result ; rs = 0 ; rw = 1 ; ep = 1 ;

温度控制系统

目录 第一章设计背景及设计意义 (2) 第二章系统方案设计 (3) 第三章硬件 (5) 3.1 温度检测和变送器 (5) 3.2 温度控制电路 (6) 3.3 A/D转换电路 (7) 3.4 报警电路 (8) 3.5 看门狗电路 (8) 3.6 显示电路 (10) 3.7 电源电路 (12) 第四章软件设计 (14) 4.1软件实现方法 (14) 4.2总体程序流程图 (15) 4.3程序清单 (19) 第五章设计感想 (29) 第六章参考文献 (30) 第七章附录 (31) 7.1硬件清单 (31) 7.2硬件布线图 (31)

第一章设计背景及研究意义 机械制造行业中,用于金属热处理的加热炉,需要消耗大量的电能,而且温度控制是纯滞后的一阶惯性环节。现有企业多采用常规仪表加接触器的断续控制,随着科技进步和生产的发展,这类设备对温度的控制要求越来越高,除控温精度外,对温度上升速度及下降速度也提出了可控要求,显而易见常规控制难于满足这些工艺要求。随着微电子技术及电力电子技术的发展,采用功能强、体积小、价格低的智能化温度控制装置控制加热炉已成为现实。 自动控制系统在各个领域尤其是工业领域中有着及其广泛的应用,温度控制是控制系统中最为常见的控制类型之一。随着单片机技术的飞速发展,通过单片机对被控对象进行控制日益成为今后自动控制领域的一个重要发展方向。在现代化的工业生产中,电流、电压、温度、压力、流量、流速和开关量都是常用的主要被控参数。例如:在冶金工业、化工生产、电力工程、造纸行业、机械制造和食品加工等诸多领域中,人们都需要对各类加热炉、热处理炉、反应炉和锅炉中的温度进行检测和控制。对工件的处理温度要求严格控制,计算机温度控制系统使温度控制指标得到了大幅度提高。采用MCS-51单片机来对温度进行控制,不仅具有控制方便、组态简单和灵活性大等优点,而且可以大幅度提高被控温度的技术指标,从而能够大大提高产品的质量和数量。因此,单片机对温度的控制问题是一个工业生产中经常会遇到的问题。 ,

基于单片机的温度控制器附程序代码

生产实习报告书 报告名称基于单片机的温度控制系统设计姓名 学号0138、0140、0141 院、系、部计算机与通信工程学院 专业信息工程10-01 指导教师 2013年 9 月 1日

目录 1.引言.................................. 错误!未定义书签。 2.设计要求.............................. 错误!未定义书签。 3.设计思路.............................. 错误!未定义书签。 4.方案论证.............................. 错误!未定义书签。方案一................................................. 错误!未定义书签。方案二................................................. 错误!未定义书签。 5.工作原理.............................. 错误!未定义书签。 6.硬件设计.............................. 错误!未定义书签。单片机模块............................................. 错误!未定义书签。 数字温度传感器模块 .................................... 错误!未定义书签。 DS18B20性能......................................... 错误!未定义书签。 DS18B20外形及引脚说明............................... 错误!未定义书签。 DS18B20接线原理图................................... 错误!未定义书签。按键模块............................................... 错误!未定义书签。声光报警模块........................................... 错误!未定义书签。数码管显示模块......................................... 错误!未定义书签。 7.程序设计.............................. 错误!未定义书签。主程序模块............................................. 错误!未定义书签。 读温度值模块.......................................... 错误!未定义书签。 读温度值模块流程图: ................................. 错误!未定义书签。

温度PID控制实验

温度PID 控制实验 一、实验目的 1.加深对PID 控制理论的理解; 2.认识Labview 虚拟仪器在测控电路的应用; 3.掌握时间比例P、积分I、微分D 对测控过程连续测控的影响以及提高测控系统的精度; 4.通过实验,改变P、I、D 参数,观察对整个温度测控系统的影响; 5.认识固态继电器和温度变送器,了解其工作原理。 二、预习要点 1.PID 控制理论与传递函数。请学生在0-100 的范围里,自己选择较好的KP,KI,KD 值,用该控制参数进行后续实验; 2.了解A/D、D/A 转换原理; 3.Labview 虚拟仪器图形软件(本实验指导书附录中对使用环境详细介绍)。 三、实验原理 温度是通过固态继电器的导通关断来实现加热的,控制周期即是一个加热和 冷却周期,PID 调节的实现也是通过这个周期实现的,在远离温度预设值的时固 态继电器在温度控制周期中持续加热(假设导通时间是T),在接近温度预设值 时通过PID 得到的值来控制这一周期内固态继电器的开关时间(假设导通时间是 1/2T)维持温度(假设导通时间是1/4T)。如图1 所示: 图1 加热周期控制示意图 8 四、实验项目 1.用PID 控制水箱温度; 2.用控制效果对比完成数据对比操作,选出最佳值。 五、实验仪器 ZCK-II 型智能化测控系统。 六、实验步骤及操作说明 1.打开仪器面板上的总电源开关,绿色指示灯亮起表示系统正常;

2.打开仪器面板上的液位电源开关,绿色指示灯亮起表示系统正常; 3,确保贮水箱内有足够的水,参照图2 中阀门位置设置阀门开关,将阀门1、3、5、6 打开,阀门2、4 关闭; 图2 水箱及管道系统图 4.参看变频器操作说明书将其设置在手动操作挡; 5.单击控制器RUN 按钮,向加热水箱注水,直到水位接近加热水箱顶部,完 全 淹没加热器后单击STOP 按钮结束注水; 6.关闭仪器面板上的液位电源开关,红色指示灯亮起表示系统关闭; 7.打开仪器面板上的加热电源开关,绿色指示灯亮起表示系统正常; 8.打开计算机,启动ZCK-II 型智能化测控系统主程序; 9.用鼠标单击温度控制动画图形进入温度控制系统主界面,小组实验无须在个 人信息输入框填写身份,直接确定即可; 10.在温度系统控制主界面中,单击采集卡测试图标,进入数据采集卡测试程序。 请在该选项中确定选择设备号为端口1,因为我们接入数据采集卡的端口是1 号 9 端口,其他数据端口留做其他方面使用的,所以切记不能选错,否则程序会报 错 并强制关闭。选择采集通道时请选择0 号通道即温度传感器占用的通道。控制上、 下限选项是为设置报警电路所预设的,在本实验中暂未起用该功能,感兴趣的 同 学可以试着完善它,本实验报警数值是+1V 以下和+5V 以上,这里只做了解即可。 采样点数(单位:个)、采样速率(单位:个/秒)和控制周期(单位:毫秒) 请 参照帮助显示区进行操作,一切设置确认无误后即可单击启动程序图标,观察 温 度和电压的变化,也可以单击冷却中左边的开关按钮进入加热程序,观察温度 上 升曲线及电流表和电压表变化,确认传感器正常工作后点击程序结束,等待返 回 主界面图标出现即可返回温度控制主界面进入下一步实验。 11.在温度系统控制主界面中,单击传感器标定图标,进入传感器标定程序。 本 程序界面和数据采集卡测试程序界面基本相同,操作请参照步骤10 进行,一切 设置确认无误后即可单击启动程序图标,观察温度和电压的变化,同时用温度

可设定上下限温控程序

/*---------------------------------------------------------------- 段P0,位P2。接线从低端开始,段a--h对应P0.0--P0.7.位1,2...对应 P2.0--P2.7 ------------------------------------------------------------------*/ //单片机:89CS52 //晶振:12MH #include #include "DS18B20.h" #define schar signed char #define uint unsigned int #define uchar unsigned char //宏定义 sbit SET=P3^1; //定义调整键 sbit DEC=P3^2; //定义减少键 sbit ADD=P3^3; //定义增加键 sbit jiawen=P3^6; //定义加温 bit shanshuo_st; //闪烁间隔标志 bit beep_st; //加温间隔标志 uchar x=0; //计数器 schar m,PD; //温度值全局变量 uchar n; //温度值全局变量 uchar set_st=0; //状态标志 schar shangxian=50; //上限报警温度,默认值为50 schar xiaxian=25; //下限报警温度,默认值为25 uchar code LEDData[]={ 0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0XD8,0x80,0x90}; //共阳码code LEDData1[]={0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10}; //共阳码/*****延时子程序*****/ void Delay(uint num) { while( --num ); } /*****初始化定时器0*****/ void InitTimer() { TMOD=0x1; TH0=0x3c; TL0=0xb0; //50ms(晶振12M) } /*****定时器0 中断服务程序*****/ void timer0(void) interrupt 1 {

PID温度控制的PLC程序设计

PID温度控制的PLC程序设计 温度控制是许多机器的重要的构成部分。它的功能是将温度控制在所需要的温度范围内,然后进行工件的加工与处理。PID控制系统是得到广泛应用的控制方法之一。在本文中,将详细讲叙本套系统。 l 系统组成 本套系统采用Omron的PLC与其温控单元以及Pro-face的触摸屏所组成。系统包括CQM1H-51、扩展单元TC-101、GP577R以及探温器、加热/制冷单元。 l 触摸屏画面部分(见图1-a) 1-a 如图所见,数据监控栏内所显示的002代表现在的温度,而102表示输出的温度。如按下开始设置就可设置参数。需要设置的参数有六个,分别是比例带、积分时间、微分时间、滞后值、控制周期、偏移量。它们在PLC的地址与一些开关的地址如下所列。 比例带: DM51 积分时间: DM52 微分时间: DM53 滞后值: DM54 控制周期: DM55 偏移量: DM56 数据刷新: 22905 l PLC程序部分 002:PID的输入字 102:PID的输出字 [NETWORK] Name="Action Check" //常规检查 [STA TEMENTLIST] LD 253.13 //常ON OUT TR0 CMP 002 #FFFF //确定温控单元是否完成初始化 AND NOT 255.06 //等于 OUT 041.15 //初始化完成 LD TR0 AND 041.15 OUT TR1 AND NOT 040.10 //不在参数设置状态 MOV DM0050 102 //将设置温度DM50传送给PID输出字 LD TR1 MOV 002 DM0057 //将002传送到DM57 [NETWORK] Name="Setting Start"//设置开始 [STA TEMENTLIST] LD 253.13 OUT TR0 AND 229.05 //触摸屏上的开始设置开关

pid温控c程序算法

#include #include #include #include struct PID { unsigned int SetPoint; // 设定目标Desired Value unsigned int Proportion; // 比例常数Proportional Const unsigned int Integral; // 积分常数Integral Const unsigned int Derivative; // 微分常数Derivative Const unsigned int LastError; // Error[-1] unsigned int PrevError; // Error[-2] unsigned int SumError; // Sums of Errors }; struct PID spid; // PID Control Structure unsigned int rout; // PID Response (Output) unsigned int rin; // PID Feedback (Input) sbit data1=P1^0; sbit clk=P1^1; sbit plus=P2^0; sbit subs=P2^1; sbit stop=P2^2; sbit output=P3^4; sbit DQ=P3^3; unsigned char flag,flag_1=0; unsigned char high_time,low_time,count=0;//占空比调节参数unsigned char set_temper=35; unsigned char temper; unsigned char i; unsigned char j=0; unsigned int s; /*********************************************************** 延时子程序,延时时间以12M晶振为准,延时时间为30us×time ***********************************************************/ void delay(unsigned char time) { unsigned char m,n; for(n=0;n

智能温度控制器程序

/**************************************************************************/ /*** 名称:智能温度控制器***/ /*** 功能:读取当前DS18B20温度,由五个八段数码管显示出来。***/ /*** 描述:选择DS18B20的最高精度——12位精度转换,增量为0.0625.使测温***/ /*** 温度有较高的精度, 五个数码管能实现00.000--99.999范内较高精度***/ /*** 的数值显示,可应用于对温度控制有较高要求的场合。***/ /*** 连线:DS18B20的2脚与单片机的P1.0口连接***/ /***************************************************************************/ #include #define uchar unsigned char uchar xdata wei _at_ 0x0ff20; //数码管的位选 uchar xdata duan _at_ 0x0ff21; //8255的PB口,数码管的段选 uchar xdata ctrl _at_ 0x0ff23; //写8255控制字 sbit M=P3^0;//接直流电机 sbit Y=P3^1;//接加热电器(黄色LED) sbit R=P3^2;//接红色故障灯(红色LED) sbit G=P3^3;//接温度正常指示灯(绿色LED) sbit DQ =P1^0;//DS18B20数据线引脚通信接口 uchar code scan[5] = {0xdf,0xef,0xf7,0xfb,0xfd,};//位扫描数组 //数码管的显示段码表 uchar code table[20] ={ 0xc0,/*0*/ 0xf9,/*1*/ 0xa4,/*2*/ 0xb0,/*3*/ 0x99,/*4*/ 0x92,/*5*/ 0x82,/*6*/ 0xf8,/*7*/ 0x80,/*8*/ 0x90,/*9*/ 0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10,//带小数点的0-9 }; uchar dispbuf[5];//数据显示缓冲区2位整数+3位小数 uchar temper[2];//存放温度的数组 float c,d; //中间量 /*****************************延时函数**************************/ void delay (unsigned int us) { while(us--) ; } /*****************************读写时序控制函数**************************/ void reset(void) { uchar x=0;

温度的PID控制及程序示例

温度的PID 控制 一.温度检测部分首先要OK. 二、PID 调节作用 PID 控制时域的公式 1 de(t) y(t) Kp(e(t) e(t) Td ) Ti dt 分解开来: (1) 比例调节器 y(t) = Kp * e(t) e(k) 为当前的温差(设定值与检测值的插值) y(k) 为当前输出的控制信号(需要转化为PWM 形式) # 输出与输入偏差成正比。只要偏差出现,就能及时地产生与之成比例的调节 作用,使被控量朝着减小偏差的方向变化,具有调节及时的特点。但是,Kp 过 大会导致动态品质变坏,甚至使系统不稳定。比例调节器的特性曲线. (2) 积分调节器 y(t) = Ki * ∫(e(t))dt Ki = Kp/Ti Ti为积分时间 #TI 是积分时间常数,它表示积分速度的大小,Ti 越大,积分速度越慢,积分作用越弱。只要偏差不为零就会产生对应的控制量并依此影响被控量。增大Ti 会减小积分作用,即减慢消除静差的过程,减小超调,提高稳定性。 (3) 微分调节器 y(t) = Kd*d(e(t))/dt Kd = Kp*Td Td 为微分时间 #微分分量对偏差的任何变化都会产生控制作用,以调整系统输出,阻止偏差变化。偏差变化越快,则产生的阻止作用越大。从分析看出,微分作用的特点是:加入微分调节将有助于减小超调量,克服震荡,使系统趋于稳定。他加快了系统的动作速度,减小调整的时间,从而改善了系统的动态性能。 三.PID 算法:由时域的公式离散化后可得如下公式:

y(k) = y(k-1)+(Kp+Ki+Kd)*e(k)-(Kp +2*Kd)*e(k-1) + Kd*e(k-2) y(k) 为当前输出的控制信号(需要转化为PWM 形式) y(k-1)为前一次输出的控制信号 e(k) 为当前的温差(设定值与检测值的插值) e(k-1) 为一次前的温差 e(k-2) 为二次前的温差 Kp 为比例系数 Ki = Kp*T/Ti T 为采样周期 Kd = Kp*Td/T 四.PID 参数整定(确定Kp,Ts,Ti,Td ):温度控制适合衰减曲线法,需要根据多次采样的数据画出响应曲线。所以需要通过串口将采样时间t, 输出y(t) 记录下来,方便分析。 1) 、不加入算法,系统全速加热,从常温加热到较高的温度的时间为Tk, 则采样时间一般设为T = Tk/10 。 2) 、置调节器积分时间TI= ∞,微分时间TD=0,即只加比例算法: y(k) = y(k-1)+Kp*e(k) 比例带δ置于较大的值。将系统投入运行。 (δ = 1/Kp ) 3) 、待系统工作稳定后,对设定值作阶跃扰动,然后观察系统的响应。若响应振荡衰减太快,就减小比例带;反之,则增大比例带。如此反复,直到出现如图所示的衰减比为4:1的振荡过程时,记录此时的δ值(设为δS),以及TS 的值(如图中所示)。当采用衰减比为10:1振荡过程时,应用上升时间Tr 替代 振荡周期TS 计算。 系统衰减振荡曲线图中,TS为衰减振荡周期,Tr 为响应上升时间。据表中所给的经验公式计算δ、TI 及TD的参数。 表衰减曲线法整定计算公式

基于PLC 的温度控制系统

基于PLC 的温度控制系统 时间:2009-03-10 16:11:56 来源:控制工程网作者: 朋友强在电话里有气无力地告诉我:砸了!笔试、面试总成绩排在第八名;慧同公司还按照《招聘简章》,通知他明天带50元钱参加体检。他已经不想再花冤枉钱,去当映衬红花的绿叶了。 1 引言 染色工序在纺织品生产中占有重要地位,染色质量直接决定了纺织品的色泽、外观,甚至还影响纺织品的生产成本。在染色工序中,影响染色的因素主要有染液浓度、温度、液位等,其中温度控制是很重要而又复杂的控制过程。染色过程实际上是执行由工艺人员针对不同织物的一条温度曲线,每个工艺对染色的温度、升降温过程都有严格的要求,否则,容易使织物产生色差、缸差、条痕等疵点,造成复染率上升,生产成本的增加。针对染色过程温度控制的复杂性,设计了基于PLC 的染色机温度控制系统,实现对染色过程温度的控制,从而减少织物疵点,提高生产效率,降低生产成本。 2 系统控制要求 1)温度曲线存储要求对于不同的染色品种,其对温度的要求是不同的,因此对应的温度工艺曲线也是不同的,若将所有染色品种的温度工艺曲线都存入现场温度控制器中,则对该控制器的内存要求非常高,导致系统臃肿,因此本系统设计通过一台中控机,将工艺人员设定的不同的温度工艺曲线,全部由工作人员在中控机上输入后经PROFIBUS—DP 现场总线下传给现场控制器,现场控制器根据接收的温度工艺曲线进行温度控制,同时现场控制器可以随时向中控机申请修改温度工 艺曲线的参数。在网络中断时,现场控制器可以保存当前的温度工艺曲线,并且具有断电长期保存当前温度曲线的功能。 2)温度控制要求 在染色工艺过程中,典型的工艺曲线如图1 下所示: 图1 典型的工艺曲线 由图1 可知,染色工艺可以分为多个曲线段,不同的曲线段对应不同的温度。对染色过程的温度控制主要是对染槽升温、保温、降温,结合生产的实际要求又将升温分为直

温控及pwm的程序

ORG 00H LJMP START ORG 100H START: ;;-----初始化 MOV SP,#60H ;;初始化堆栈指针 Set18B20:;;-----DS18B20初始化 ;;DS18B20复位 ACALL Reset JB RFail,LOOP ;;复位失败则直接跳至显示部分 ;;对DS18B20发出Skip ROM命令 MOV A,#0CCH ACALL Write ;;对DS18B20发出温度转换命令 MOV A,#44H ACALL Write SetDisT:MOV DisTime,#3 ;;设置下一个循环体的循环8次 LOOP: ACALL Display ;;显示 JB RFail,Set18B20 ;;DS18B20复位失败时,在显示完一次后重新复位DJNZ DisTime,LOOP JNB DS18B20,$ ;;判断DS18B20是否已完成温度转换 ACALL GetTemp ;;从DS18B20读出温度值 ACALL DealTemp ;;温度值处理 ACALL SendDisDT ;;根据当前系统状态设置显示内容 SJMP SetDisT ;;;;;;; ;;根据当前状态给显示模块设置显示参数 SendDisDT: MOV Dian,#7FH ;;最高位为0代表显示小数点 ;;传送温度值 MOV A,TempH ;;送高位数据 MOV VAR,TempL ;;送低位数据 ACALL TransData RET ;;A中保存高位值,Var中保存低位值 TransData: ;;取个位值 MOV B,#10 DIV AB MOV DisData2,B ;;取十位值 JZ HavNot1 ;;判断商是否为0

温度控制系统C程序

#include #define uint unsigned int #define uchar unsigned char #define LCD1602 P0 sbit SET=P3^1; //设置上下限 sbit DEC=P3^2; //减 sbit ADD=P3^3; //加 sbit DQ=P3^7; //传感器DS18B20 sbit ALAM=P1^2; //报警显示灯 sbit ALAM1=P1^4; sbit BUZZ=P3^6; //蜂鸣器 sbit rs=P2^7 sbit en=P2^6 bit shansuo_st; bit beep_st; uchar x=0; uchar code tab1{"Now Tem: . C"} ; uchar code tab2{"TH: C TL: C"} ; uint c; uchar Mode=0; //状态标志 signed char TH=40; // signed char TL=10; // //////////////////////////////DS18B20//////////////////////////////////////////////// ////////////////////////////////DS18B20/////////////////////////////////////////////// //延时 //************************************************************************/ // 函数: // 描述: 延时t ms函数 // 参数: t // 返回: 无 // 备注: 12MHZ t=1延时时间约1ms // 版本: 2011/01/01 First version //************************************************************************/ void Delay_DS18B20(int num) { while(num--) ; } void Delay(uint x ms) { uint x,y; for(x=xms;x>0;x--) for(y=110;y>0;y--) ; }

温度控制器程序

//PT100自身温度范围 #define M_temper_MIN -200 //最低温度 #define M_temper_MAX 500 //最高温度 //CPU引脚定义 #define P_LED P0 sbit LED_S1 = P2 ^ 0; //LED1位选 sbit LED_S2 = P2 ^ 1; //LED2位选 sbit LED_S3 = P2 ^ 2; //LED3位选 sbit LED_S4 = P2 ^ 3; //LED4位选 sbit KEY_S1 = P1 ^ 0; //上下限温度设置 sbit KEY_S2 = P1 ^ 1; //温度加 sbit KEY_S3 = P1 ^ 2; //温度减 //全局变量寄存器 uchar M_LED1, M_LED2, M_LED3, M_LED4; //4位LED显示寄存器 uchar LED_DISP_TAB[] = //LED编码表 { 0X3f, 0X06, 0X5b, 0X4f, 0X66, 0X6d, 0X7d, 0X07, 0X7f, 0X6f, //0-9 0X40, 0X23, 0X1c, 0X58 //字符: - n u c };

uchar Set_count; //温度设置按钮计数uchar T0_count; //T0定时中断计数uint T1_count; //T1定时中断计数char M_temper_up; //温度上限 char M_temper_down; //温度下限 char M_temper_AI; //设置中温度char M_temper_conver; //当前温度 bit B_set,B_set_AI; //温度设置标志 bit B_set_T0,B_set_T1; //定时器中断标志 //函数声明 void T1int_init(); /* 定时器T1初始化: 设置工作方式 赋初值 开启中断*/ void T0int_init(); /* 定时器T0初始化: 设置工作方式 赋初值 开启中断*/

温度控制的PID算法与C程序实现

温度控制与PID算法 温度控制与PID算法j较为复杂,下面结合实际浅显易懂的阐述一下PID控制理论,将温度控制及PID算法作一个简单的描述。 1.温度控制的框图 这是一个典型的闭环控制系统,用于控制加热温区的温度(PV)保持在恒定的温度设定值(SV)。系统通过温度采集单元反馈回来的实时温度信号(PV)获取偏差值(EV),偏差值经过PID调节器运算输出,控制发热管的发热功率,以克服偏差,促使偏差趋近于零。例如,当某一时刻炉过PCB板较多,带走的热量较多时,即导致温区温度下降,这时,通过反馈的调节作用,将使温度迅速回升。其调节过程如下: 温度控制的功率输出采用脉宽调制的方法。固态继电器SSR的输出端为脉宽可调的电压U OUT 。当SSR的触发角触发时,电源电压U AN通过SSR的输出端加到发热管的两端;当SSR的触发角没有触发信号时,SSR关断。因此,发热管两端的平均电压为 U d=(t/T)* U AN=K* U AN 其中K=t/T,为一个周期T中,SSR触发导通的比率,称为负载电压系数或是占空比,K 的变化率在0-1之间。一般是周期T固定不便,调节t, 当t在0-T的围变化时,发热管的电压即在0-U AN之间变化,这种调节方法称为定频调宽法。下面将要描述的PID调节器的算式在这里的实质即是运算求出一个实时变化的,能够保证加热温区在外界干扰的情

况下仍能保持温度在一个较小的围变化的合理的负载电压系数K。 2.温度控制的两个阶段 温度控制系统是一个惯性较大的系统,也就是说,当给温区开始加热之后,并不能立即观察得到温区温度的明显上升;同样的,当关闭加热之后,温区的温度仍然有一定程度的上升。另外,热电偶对温度的检测,与实际的温区温度相比较,也存在一定的滞后效应。这给温度的控制带来了困难。因此,如果在温度检测值(PV)到达设定值时才关断输出,可能因温度的滞后效应而长时间超出设定值,需要较长时间才能回到设定值;如果在温度检测值(PV)未到设定值时即关断输出,则可能因关断较早而导致温度难以达到设定值。为了合理地处理系统响应速度(即加热速度)与系统稳定性之间地矛盾,我们把温度控制分为两个阶段。

温度测量控制系统课程设计(张仁红)

任务书 一.课程设计内容 设计题目:温度测量控制系统 设计内容: 1.设计一个独立的两路温度测量控制系统。 2.温度控制在38℃--40℃之间,测温精度±0。1℃。 3.要求显示测量的温度信号。 二.课程设计应完成的工作 1.设计文本不少于5000字; 2.图纸:A3电路原理图一张。 3.文本格式: (1)封面;(2)任务书;(3)摘要;(4)目录;(5)引言(绪论或前言); (6)设计正文(选题背景、方案论证、设计过程,结果分析与仿真、总结);(7)参考文献。 三.课程设计进程安排 四、设计资料及参考文献 [1]孙梅生电子技术基础课程设计[M].高等教育出版社.1990年 [2]江晓安模拟电子技术[M].西安:电子科技大学出版社.2007年 [3]江晓安数字电子技术[M].西安:电子科技大学出版社.2008年 [4]王毓银数字电路逻辑设计[M].北京:高等教育出版社1999年 [5]李建忠单片机原理及应用[M].西安电子科技大学出版社 2005

摘要 本文采用了AD590作为温度传感器把热信号转变成电信号,电信号再经过放大,经过模数转换再输入到CPU。控制器采用PID控制算法,温度控制的原理是通过调整晶闸管的导通时间来调节加热主回路的有效电压,从而达到温度控制的目的。系统由AT89C51单片微机、温度传感器、A/D转换器、键盘及显示电路、晶闸管触发电路等组成的控制器和被控对象电阻炉构成一个闭环控制系统。系统控制程序采用模块化设计结构,主要包括主程序、中断服务子程序、控制算法子程序等。系统采用过零触发等技术,省去了传统的D/A转换元件,简化了电路,并且提高了系统的可靠性。 关键字:AT80C51、AD590、A/D0809、光耦合器件

相关主题
文本预览
相关文档 最新文档