编辑: 252276522 2014-10-06

另一部分送往控制模 块,将实时数据与目标数据对比,继而进行控制.图中 采用8253接口电路是为系统升级为具有多路温度检测 控制功能而设置的.

95 万方数据 1.3输出控制 输出控制电路主要包括驱动和执行两部分.可用 达林顿阵列ULN2003来作驱动,进而控制交流固态继 电器(AC―SSR)中的双向可控硅的关断和导通,以便 切断或接通加热电源.原理是采用双向可控硅交流 调功 方式控制加热电热丝发热量,即在每一个控制周期 时间内,改变加在电热负载上交流电压半波的个数来调 节电热丝的发热量. 1.4 显示与报警 显示模块由LED数码管和驱动电路组成.报警系 统采用声光报警由发光二极管,扬声器及驱动电路组 成,当单片机发出超限报警信号,将驱动发光二极管和 扬声器实现报警. 1.5 看门狗电路 为了防止系统受干扰而使程序丢失,或走进死循环 而使系统死机,应加人看门狗电路,以保证系统的可靠 性和稳定性.本系统采用常用的集成看门狗电路 X5045,X5045是一种集看门狗、电压监控和串行 E2PROM三种功能于一体的可编程电路. 2系统软件设计 系统程序的控制思想如下:设置目标温度后,系统 对炉温采样,并通过预设温度、当前温度、历史偏差等进 行PID运算产生输出参数,通过该参数控制加热时间, 从而调节加热器的平均功率,实现系统的PID控制. 整体功能通过主程序、串行通信中断服务程序、PID控 制子程序等配合实现.这里主要介绍主程序流程和 PID控制子程序流程.系统首先初始化I/O、

8253、定 时器、UART等部件,然后进入主循环,进行温度采样 和相关处理.本系统软件设计的核心思想就在于实现 PID控制,在系统运行过程中通过按相应键重新设置目 标温度.主程序流程如图2所示. 本方案利用位置式PID算法,将温度传感器采样 输入作为当前输入,接着与设定值进行相减得偏差,再 进行PID运算产生输出结果,然后控制定时器的时间 进而控制加热器.由中断定时器提供溢出频率为

64 Hz的中断信号,配合主程序的PID运算结果来确定 加热时间,实现加热器功率调节,该部分子程序流程图 如图3所示. 上位机软件使用Delp 9'

10],由于Delphi不提供 串口通信的ActiveX控件,仅有API函数可以使用,但API函数编程较为复杂,因此可将微软公司提供的Ac― tiveX控件Microsoft Communication Control 6.O(简称MSComm控件)引入到Delphi开发环境中,这样用 户便可以像使用Delphi控件一样方便地利用

96 MSComm控件进行计算机串口的通信编程.下面给出 上位机命令的发送与数据接收的部分源程序: procedure TMainForm.btnSRClick(Sender:T0bject);

…… //变量初始化 i{not MsComm.Portopen then //判断是否打开串口 else begin //二进制数发送,需要使用Variant变量矩阵,矩阵大小 自动调节 0utput:=mmSend.Text;

//在文本框取上位机下传数据 MSComm.0utput:一tmpVaT;

//向发送缓冲区写入数据 sleep(500);

//延时接收数据 Se alInput:一MainForm.MSComm.Input;

//读取接收缓冲区中的数据 SerialDataLength:=MainF0m MSCom InBuffe疋ount;

//读串口数据长度 for i:=O to SerialDataLength一1 do begin tmpInt:一serialInput[i];

end end //对上传的数据进行处理 图2 主程序流程图 图3 PID控制子程序流程图

3 系统调试 本系统的关键之处在于PID控制.对于PID系统 来说,系统性能的好坏主要取决于PID控制参数的设 定.由PID控制原理知[1]:比例(P)控制能迅速反应误 差,减小稳态误差;

下载(注:源文件不在本站服务器,都将跳转到源网站下载)
备用下载
发帖评论
相关话题
发布一个新话题