温室温度控制系统
温室温度控制系统温室温度控制系统 一、题目要求:一、题目要求: 在某小型育种温室中,需要用计算机对温室的温度进行监控。温室温度可在0~40℃范围设定,当温度 高于 40℃时必须关断加热装置。加热装置是利用一般城市集中供暖的暖气片,用一个电动调节阀控制热水 流量。查阅文献,使用本课程所用的工控机等设备,给出温度控制系统初步设计。 要求要求 画出系统的结构框图并注明各个环节的输入和输出信号的名称。 (25 分) 简要说明系统的工作过程。 (15 分) 设计温度测量系统。 (20 分) 画出输入通道程序、输出通道程序及控制程序的核心流程图。 (20 分) 按以上流程图编写三个程序的代码。 (20 分) 二、系统结构框图二、系统结构框图 工控机 控制器 三、系统的工作过程三、系统的工作过程 流量控制 实际温度 T D/A 电动调节阀温度 数数 据据 通通 道道 A/D 通过工控机,设定系统温度 T’。系统通过温度传感器 AD590 采集温室中的温度(0~40℃) ,经信号调 理电路利用 OP07 完成流压转换(0~10V) ,信号经端子板输入工控机。通过编制的程序,将电压值转换为数 字 T 表示外界温度,与 T’比较,利用 PID 控制,将系统温度快速的调节为给定值,并通过不断的调整, 保持温室中的温度。 信号调理电路 流压转换 温度传感器 AD590 四、温度测量系统四、温度测量系统 据电路的输出电压表达式,由于温室中温度范围为:0~40℃ 则:u0 = [i(T) − 可求得: Vcc R1 ]R2 R1=36.6KΩ R2=150 KΩ R3=20 KΩ 五、流程图五、流程图 1 1、输入通道程序、输入通道程序 开始 设置 开始触发 先读入低位,再读入高位 转换为数字量 返回主程序 2 2、输出通道程序、输出通道程序 3 3、控制程序、控制程序 开始 输入电压值 先输出低位, 再输出高位 返回主程序 开始 否 给定温度 T’ 测量外界温度 A/D 子程序 采集温度 T 比较 T 与 T’,是否 需要调节 是 用 PID方法计算出所需的控制量 否 D/A 子程序 是否结束 结束 是 六、主要元件和设备六、主要元件和设备 AD590 一个,OP07 一个,电动调节阀ML7420A,工业控制计算机,IPC610,采集控制卡PCL-812PG,端 子板 ACLD-9188 ML7420A: 产品名称: ML7420A 电动阀门执行器 产品型号:ML7420A 适用于 Honeywell 的 HVAC 阀门电源:24VAC,功耗 7VA 最大输入信号:0-10VDC 或 2-10VDC 带位置反馈信号输出正反作用可选防腐设计免维护保护等级:IP54 轴杆推力:600 牛顿环境温度:-10~50°C 最大介质温度:150°C 七、程序代码七、程序代码 int AD (int port) { int high,low,temp; outdata,lbyte,hbyte; outportb(Base+10,port); outportb(Base+9,0); outportb(Base+11,1); outportb(Base+12,1); temp=inportb(Base+5); temp=temp while(temp==0 x10) { temp=inportb(Base+5); temp=temp } high= inportb(Base+5); low= inportb(Base+4); outdata=high hbyte=outdata8) outportb(Base+4+2* port,low); outportb(Base+5+2* port,high); } main() { float t,v; float ki,kp,kd,sum,deltau,v_out; double e[200]={0},r[200]={0}, u[200]={0},y; printf(“Please the T:“); sacnf(“%d“, v=s/5; y=v; r[0]= AD(0)/4095.0*20.0-10.0; for (i=0;i200;i++) { r[i]= AD(0)/4095.0*20.0-10.0; e[i]=abs(r[i]-y); if(i==0) { deltau=kp*e[i]+ki*e[i]+kd*e[i];} else if(i==1) deltau= kp*(e[i]-e[i-1])+ki*e[i]+kd*(e[i]-2*e[i-1]); else deltau= kp*(e[i]-e[i-1])+ki*e[i]+kd*(e[i]-2*e[i-1]+e[i-2]); u[i]=u[i-1]+ deltau if(u[i]10) u[i]=10; v_out=(int)(u[i]/10.0*4095.0); DA(0,v_out); delay(500); } …… } (注:本资料素材和资料部分来自网络,仅供参考。请预览后才下载,期待您 的好评与关注!)