单片机原理及其接口技术课程设计-温度控制器的设计内容摘要:

间信号差异越大,两次连续转换间误差也越大。 这个问题在其它类型的 ADC 中也存 在。 有两种方法可以使AD7715 在恒定的时间后获得正确的输出:一是使用设置寄存器中的 FSYNC(同步)位,二是使用通信寄存器中的 STBY(备用)位,我们采用后面一种方法。 另外一个问题就是串口数据, AD7715 输出数据和接收命令都是高位在先,而 51 系列串口的数据时序是低位在先;所以不论是写 8 位的命令,还是读取 16位的转换结果,数据要经过高低位的颠倒处理。 温度控制器设计 — 课程设计说明书 12 调试程序如下: void initial_7715() { SCON=0x00; /*串口写 */ initialize_ad()。 /*初始化 AD7715 的通信口 */ writereg(0x10)。 /*下面写设置寄存器 */ writereg(0x7c)。 /*自标定, , 500Hz更新率,单极性,非缓冲模式 */ while(!IN_PORT amp。 0x80)); /*等待自标定结束 */ while(IN_PORT amp。 0x80)。 } void writereg(UNCHAR bytepoint){ RUN=0; /*AD7715 CS=0*/ SBUF=exchange(bytepoint)。 /*字节首尾交换 */ while(!TI)。 TI=0; RUN=1。 } float readdata 16(){ UNCHAR temp1。 UNINT temp2。 writereg(0x04)。 /*进入 stby 方式,且下次写通信寄存器 */ writereg(0x38)。 /*退出 standby 方式,设置读操作, 3/rate 时间后出结果 */ while(!(IN_PORT amp。 0x80))。 while(IN_PORT amp。 0x80)。 /*等待读时刻到来 */ RUN=0; /*AD7715 选中 */ SCON=0X10。 /*串口读 */ while(!RI)。 temp1=SBUF。 /*读低 8 位 */ temp2=(UNINT)temp1。 while(!RI)。 SCON=0x00; /*读两字节后停止接收 */ RUN=1。 temp1=SBUF。 /*读高 8 位 */ temp2|=((UNINT)temp1)8。 /*合并成 16 位 */ 温度控制器设计 — 课程设计说明书 13 return((float)(exchange_16(temp2))/*VREF)。 /*首位颠倒后换成电压值 */ } 图 主 程 序 框 图 温度控制算法 通常,电阻炉炉温控制都采用偏差控制法。 偏差控制的原理是先求出实测炉温对所需炉温的偏差值,然后对偏差值处理获得控制信号去调节电阻炉的加热功率,以实现对炉温的控制。 在工业上,偏差控制又称 PID 控制,这是工业控开始 设定堆栈指针 清标志和暂存单 清显示缓冲区 设定参数初值 T0 初始化 CPU 开中断 扫描键盘 温度显示 温度控制器设计 — 课程设计说明书 14 制过程中应用最广泛的一种控制形式,一般都能收到令人满意的效果。 ① 温度控制程序 温度控制程序的设计应考虑如下: 1)键盘扫描、键码识别和温度显示; 2)炉温采样、数字滤波; 3)数据处理; 4)越限报警和处理; 5) PID 计算 、温度标度转换 ② 主程序 主程序包括 8031 本身的初始化、并行接口 8155 初始化等等。 大体说来,本程序包括设置有关标志、暂存单元和显示缓冲区清零、 T0 初始化、 CPU 开中断、温度显示和键盘扫描等程序。 ③ 中断服务程序框图 (如 图 44 所示 ) T0 中断服务程序是温度控制系统的主体程序,用于启动数 /模转换器、读入采样数据、数字滤波、越限温度报警和越限处理、 PID 计算和输出可控硅的触发脉冲等。 引脚上输出的该同步触发脉冲宽度由 T1 计数器的溢出中断控制,8031 利用等待 T1 溢出中断的空闲时间( 形成 输出脉冲顶宽)完成把本次采样值转换成显示值而放入显示单元缓冲区和调用温度显示程序。 8031 从 T1 中断服务程序返回后即可恢复现场和返回主程序。 ④ 主要子服务程序 主要服务子程序包括温度检测采样及数字滤波子程序、带符号双字节乘法子程序和标度转换子程序目的是把实际采样取得的二进制值转换成 BCD 码形式的温度值,然后存放到显示缓冲区中,供显示子程序调用。 对于一般线性仪表来说,标度转换公式为: Tx=A0 + (AmA0) (VxVo) / (VmVo) 其中, A0 为一次测量仪表的下限; Am为一次测量仪表的上限; Vx 为实际测量值(工程量); Vm 为仪表上限对应的数字量; V0 为仪表下限对应的数字量。 温度控制器设计 — 课程设计说明书 15 图 中断服务程序框图 保护现场 采样炉温 数字滤波 =上限。 上限。 清上次越限标志 计算 PID 采补 从 输出 T1 初始化 温度标度转换 温度显示 T1中断完。 恢复现场 返回 =下限。 下限。 下限报警 取最大 PID 值输出 采补 置本次越限标志 上次 越限。 越限计数器 +1 越限 N 次。 T1 初始化 温度标度转换 送本次越限标志 上限处理 恢复现场返回 Y Y Y Y N 温度控制器设计 — 课程设计说明书 16 不同的控制对象,所采用的算法有所不同。 例如对于热惯性大、时间滞后明显、耦合强、难于建立精确数学模型的大型立式淬火炉,可以采用人工智能模糊控制算法,通过对淬火炉电热元件通断比的调节,实现对炉温的自动控制,也可以采用仿 人智能控制( SHIC)算法和 PID 控制算法的联合控制方案,实际应用时应灵活运用。 继电器模块 继电器是一种电子控制器件,它具有控制系统(又称输入回路)和被控制系统(又称输出回路),通常应用于自动控制电路中,它实际上是用较小的电流去控制较大电流的一种 “自动开关 ”。 故在电路中起着自动调节、安全保护、转换电路等作用。 继电器 (relay)也是一种电门,但与一般开关不同,继电器并非以机械方式控制,而是一种以电磁力来控制切换方向的电门。 当线圈通电后,会使中心的软铁核心产生磁性,将横向的摆臂吸下,而 臂的右侧则迫使电门接点相接,使两接点形成通路。 简单的单轴单切式继电器,一颗继电器也可以同时切换多组电门,一个双轴双切的继电器,它有八支接脚,排列方式如图上接脚编号。 另外继电器规格除了电门接点数目不同,还要注意线圈的工作电压是直流或是交流电,使用的电压电流大小,切换电门耐电压程度等,继电器的规格有 6v、 9v、 12v、 24v、 48v、100v、 110v、 200v、 220v… 等,例如一般工业界常用的继电器接点可以耐电压电流 110vac10a,线圈使用电压为 24vdc,共有二。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。