温室温度控制系统

温室温度控制系统

ID:30173627

大小:83.39 KB

页数:5页

时间:2018-12-27

温室温度控制系统_第1页
温室温度控制系统_第2页
温室温度控制系统_第3页
温室温度控制系统_第4页
温室温度控制系统_第5页
资源描述:

《温室温度控制系统》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、温室温度控制系统一、题目要求:在某小型育种温室中,需要用计算机对温室的温度进行监控。温室温度可在0~40℃范围设定,当温度高于40℃时必须关断加热装置。加热装置是利用一般城市集中供暖的暖气片,用一个电动调节阀控制热水流量。查阅文献,使用本课程所用的工控机等设备,给出温度控制系统初步设计。要求画出系统的结构框图并注明各个环节的输入和输出信号的名称。(25分)简要说明系统的工作过程。(15分)设计温度测量系统。(20分)画出输入通道程序、输出通道程序及控制程序的核心流程图。(20分)按以上流程图编写三个程序的代码。(20分)二、系统结构框

2、图实际温度T工控机控制器D/AA/D流量控制电动调节阀温度温度传感器信号调理电路AD590流压转换数据通道数据通道三、系统的工作过程通过工控机,设定系统温度T’。系统通过温度传感器AD590采集温室中的温度(0~40℃),经信号调理电路利用OP07完成流压转换(0~10V),信号经端子板输入工控机。通过编制的程序,将电压值转换为数字T表示外界温度,与T’比较,利用PID控制,将系统温度快速的调节为给定值,并通过不断的调整,保持温室中的温度。四、温度测量系统据电路的输出电压表达式,由于温室中温度范围为:0~40℃则:u0=iT-VccR

3、1R2可求得:R1=36.6KΩR2=150KΩR3=20KΩ五、流程图1、输入通道程序开始设置开始触发先读入低位,再读入高位转换为数字量返回主程序2、输出通道程序开始输入电压值先输出低位,再输出高位返回主程序3、控制程序是开始给定温度T’采集温度T用PID方法计算出所需的控制量A/D子程序D/A子程序测量外界温度比较T与T’,是否需要调节是否结束结束否是否六、主要元件和设备AD590一个,OP07一个,电动调节阀ML7420A,工业控制计算机,IPC610,采集控制卡PCL-812PG,端子板ACLD-9188ML7420A:产品名

4、称:ML7420A电动阀门执行器产品型号:ML7420A适用于Honeywell的HVAC阀门电源:24VAC,功耗7VA最大输入信号:0-10VDC或2-10VDC带位置反馈信号输出正反作用可选防腐设计免维护保护等级:IP54轴杆推力:600牛顿环境温度:-10~50°C最大介质温度:150°C七、程序代码intAD(intport){inthigh,low,temp;outdata,lbyte,hbyte;outportb(Base+10,port);outportb(Base+9,0);outportb(Base+11,1);o

5、utportb(Base+12,1);temp=inportb(Base+5);temp=temp&0x10;while(temp==0x10){temp=inportb(Base+5);temp=temp&0x10;}high=inportb(Base+5);low=inportb(Base+4);outdata=high&0x0f;hbyte=outdata<<8;outdata=hbyte+low;return(outdata);}IntDA(intport,intdata)inthigh,low;low=data&0xff;h

6、igh=(data>>8)&0x0f;outportb(Base+4+2*port,low);outportb(Base+5+2*port,high);}main(){floatt,v;floatki,kp,kd,sum,deltau,v_out;doublee[200]={0},r[200]={0},u[200]={0},y;printf("PleaseinputtheT:");sacnf("%d",&t);v=s/5;y=v;r[0]=AD(0)/4095.0*20.0-10.0;for(i=0;i<200;i++){r[i]=A

7、D(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];}elseif(i==1)deltau=kp*(e[i]-e[i-1])+ki*e[i]+kd*(e[i]-2*e[i-1]);elsedeltau=kp*(e[i]-e[i-1])+ki*e[i]+kd*(e[i]-2*e[i-1]+e[i-2]);u[i]=u[i-1]+deltauif(u[i]<0)u[i]=0;if(u[i]>10)u[i]=10;v_out=(int)

8、(u[i]/10.0*4095.0);DA(0,v_out);delay(500);}……}

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。