论文部分内容阅读
摘要:文章首先介绍了锅炉温度控制器系统模块设计的思想,然后从硬件开发和软件开发两方面分别分析了各功能模块,最后进行实验分析,验证该锅炉温度控制器的设计达到了预期的要求。
关键词:ATMEGAl6;锅炉温度控制器;增量式PID
中图分类号:TM571 文献标识码:A 文章编号:1009-2374(2011)28-0018-03
与传统的化石产品和煤为燃料的锅炉相比,电热锅炉具有很多优点。例如结构比较简单,且能把电能转换为热能而减少了污染和噪声,并且采用单片机控制,使其具有较好的自动化性能,从而保证电热锅炉安全可靠的使用。可以说这已经成为取暖设备的一种发展趋势,因此必须研制出一种高效可靠的控制方法来提高系统的稳定性和可靠性。
一、控制系统的开发
对锅炉温度控制器的设计可以采用模块化设计的思想,分别对各功能模块进行设计,然后对各模块进行连接。
(一)模块化设计
根据开发系统的功能要求,可以从软件和硬件两方面来考虑模块化功能的划分。采用模块化设计的目的是可以保持各个模块的独立,然后分别从硬件和软件两方面着手对系统进行研究,这种设计思想不仅可以简化系统的设计,同时可提高研制效率。
硬件模块:可以把硬件部分划分为5个模块,分别是主控制电路、接口电路、过程输入/输出通道、键盘输入模块、数码显示电路、数据采集模块。其中第3个模块包括开关量输入/输出通道和模拟量输入/输出通道。
软件模块:可分为四部分,分别为主程序、A/D转换程序、按键处理程序、增量式PID处理程序。
(二)模块的连接
对各功能模块设计完成后,经调试运行,然后按照某种方式把各模块连接起来,实现系统的数据采集、处理、传输以及输出等功能。硬件模块的连接可以围绕主电路模块为中心,然后分别用控制总线、数据总线和地址总线与其他模块连接。软件模块的连接可以采用中断的方式去调用其他模块或者通过主程序去调用。
二、硬件开发
图1为控制器硬件系统的总体结构图,下面分别分析硬件系统中的各功能模块。
图1控制器硬件系统总体结构图
(一)主控制电路
主控制电路采用的是低功耗、高性能的8位ATMEGAl6单片机,支持JTAG端口编程和仿真,并且含有8通道10位A/D转换器,支持双端和单端差分信号输入,含有512字节的EEPROM存储器。该单片机完成以下功能:(1)信号的初始化、A/D转换、向人机接口传输数据;(2)利用LED显示屏显示采集数据;(3)接收串口传来的数据,并计算PID增量,利用脉冲方波控制锅炉温度。
(二)接口电路
接口电路采用的是标准的Rs-232串行数据通信方式来与上位机进行通信,按照规定的通信协议采用中断方式接收上位机发送过来的数据,经过处理后在显示屏上显示数据。发送数据采用查询方式,进行数据传输。
(三)过程输入/输出通道
过程输入/输出通道包括了模拟量输入/输出通道和开关量输入/输出通道。其中模拟量输入通道采用的是ATMEGAl6芯片上的5~8路10位A/D转换,并且采用8通道的模拟多路复用器与10位逐次逼近型ADC相连,对端口A的输入电压进行采样。由于模拟量输出通道会受模拟器件信号漂移的影响,而无法达到控制所需精确度,所以往往采用开关量输出控制,它的优势在于控制精度高,且对于不同的控制场合无需更改硬件,修改相关程序即可达到控制要求。
(四)键盘输入模块
该系统设计了5个按钮,分别是确认按钮、增加按钮、取消按钮、减少按钮、模式选择。模式选择可以选择设定指定时间或指定温度,并且都可以在LED显示屏上进行显示,增加和减少按钮用于对输入数字进行增加和减少。同时为了避免在操作过程中出现误操作而引起不便,增设了确认和取消按钮。
(五)数码显示电路
数码显示电路的功能就是实现数字信号在LED显示屏上显示,如果发光二极管采用的是共阳极,如要点亮发光二极管,需要给发光二极管的阴极赋低电平,即赋O值。该系统显示电路的设计采用的是双4位LED显示,分别用来显示目标值和测量值。
(六)数据采集模块
数据采集模块由差分运算放大器AD524和温度传感器ADS90组成。其中温度传感器ADS90是一种两端式恒流器件,测温范围为55℃~+150℃,激励电压为4~30V,当电流流经5千欧的电阻时,温度升高1K,电阻电压增加5mY,所以当温度在O~100℃之间变化时,电阻电压在1.365~1.865V问变化。
三、软件开发
该系统中上位机采用工控机作为监控系统,编程语言为Visual c++,下位机采用的是ATMEGAl6单片机为开发核心,编程语言为c,两者之间的通信采用Rs232协议。软件部分包括了主程序、A/D转换程序、按键处理程序、增量式PID处理程序等。
(一)主程序
主程序主要实现系统的初始化功能。程序开始时初始化各参数,等待按键处理,如果有按键工作,判断是否出现中断,如出现中断接着判断是否为串口中断。如果存在中断但不属于串口中断,那么就接收数据,并对数据进行处理;如果存在中断且属于串口中断,则进行计时器到A/D转换、数据处理、PID调节以及数据的显示和发送;如果未出现中断,则一直循环等待中断事件的发生。
(二)A/D转换程序
A/D转换程序需要先设置ADCSRA寄存器的ADEN才能启动A/D转换器,把ADEN置位,输入通道选择和参考电压有效。向A/D转换器启动转换位ADSC位写“1”可启动单次转换。一旦赋值为高电平,如果不发生结束触发中断,ADSC位始终为高电平,中断发生后不需要软件来清零,而是由硬件来负责。
(三)按键处理程序
键盘处理程序是利用查询方式来获取当前所按键,CPU闲暇时会调用该程序,然后扫描键盘并计算出键值,从而可根据键值去调用相应的子程序,实现相关功能。
(四)增量式PID处理程序
由于锅炉温度控制系统具有时变性、滞后性以及非线性,然而常规的线性控制理论很难达到控制所需要求,也很难建立该系统的精确数学模型,所以该系统的设计采用了增量式数字PID控制器。增量式PID把控制量的增量作为数字控制器的输出,其好处在于当出现误动作时对增量输出结果产生的影响不大,从而增加了控制的精确度。增量式PID只与K、k-1、k-2次的采样相关,所以能够较容易地通过加权处理而获得较好的控制效果。而且对于数字控制系统而言,因为A/D转换器的位数有限,从而决定了控制量的范围,所以系统中考虑加入抗积分饱和法来对控制系统进行优化,图2为增量式PID控制算法的程序流程图:
四、实验分析
经过实验验证和分析,基于ATMEGAl6的锅炉温度控制器系统实现了如下功能:
1.系统能够根据输入键盘设定温度和时问,并且可在LED显示屏上显示出给定温度、实际锅炉的温度以及系统当前时间。
2.对当前的温度可随时进行调节,利用增量按钮和减少按钮来控制温度,并且在键盘按钮上的模式选择功能键中随时退出系统。
3.系统具有报警功能,当出现温度超过限定温度或者锅炉水烧干等现象时,会自动发出报警信号,并同时进行计时。若在一分钟内未及时处理,系统会自动切断电源,退出正常工作状态;若在一分钟内进行处理并进行相应设置后仍可以继续正常工作。
4.系统能够与上位机进行通信,能正常接收到上位机发送过来的数据并进行相应反馈和调节。
5.该系统设计具有较强的抗干扰能力,并且采用的是增量式的PID算法,具有较好的准确性,在实际测试中,虽然还存在一定误差,但是在系统允许的范围内不影响系统的正常工作。
总之,该系统经实验验证后基本按要求实现了所需功能,并且具有较好的精确度和稳定性,同时抗干扰能力也比较强,己达到了预期的效果。
五、结语
通过运行和实验验证,基于ATMEGAl6单片机的锅炉温度控制器系统能够安全可靠地完成自动和手动切换、超温、缺水、超压报警等功能,同时该系统以增量式PID算法为核心,与传统的PID算法相比能更好地满足系统所需的精度要求,所以该系统具有较高的应用价值。
关键词:ATMEGAl6;锅炉温度控制器;增量式PID
中图分类号:TM571 文献标识码:A 文章编号:1009-2374(2011)28-0018-03
与传统的化石产品和煤为燃料的锅炉相比,电热锅炉具有很多优点。例如结构比较简单,且能把电能转换为热能而减少了污染和噪声,并且采用单片机控制,使其具有较好的自动化性能,从而保证电热锅炉安全可靠的使用。可以说这已经成为取暖设备的一种发展趋势,因此必须研制出一种高效可靠的控制方法来提高系统的稳定性和可靠性。
一、控制系统的开发
对锅炉温度控制器的设计可以采用模块化设计的思想,分别对各功能模块进行设计,然后对各模块进行连接。
(一)模块化设计
根据开发系统的功能要求,可以从软件和硬件两方面来考虑模块化功能的划分。采用模块化设计的目的是可以保持各个模块的独立,然后分别从硬件和软件两方面着手对系统进行研究,这种设计思想不仅可以简化系统的设计,同时可提高研制效率。
硬件模块:可以把硬件部分划分为5个模块,分别是主控制电路、接口电路、过程输入/输出通道、键盘输入模块、数码显示电路、数据采集模块。其中第3个模块包括开关量输入/输出通道和模拟量输入/输出通道。
软件模块:可分为四部分,分别为主程序、A/D转换程序、按键处理程序、增量式PID处理程序。
(二)模块的连接
对各功能模块设计完成后,经调试运行,然后按照某种方式把各模块连接起来,实现系统的数据采集、处理、传输以及输出等功能。硬件模块的连接可以围绕主电路模块为中心,然后分别用控制总线、数据总线和地址总线与其他模块连接。软件模块的连接可以采用中断的方式去调用其他模块或者通过主程序去调用。
二、硬件开发
图1为控制器硬件系统的总体结构图,下面分别分析硬件系统中的各功能模块。
图1控制器硬件系统总体结构图
(一)主控制电路
主控制电路采用的是低功耗、高性能的8位ATMEGAl6单片机,支持JTAG端口编程和仿真,并且含有8通道10位A/D转换器,支持双端和单端差分信号输入,含有512字节的EEPROM存储器。该单片机完成以下功能:(1)信号的初始化、A/D转换、向人机接口传输数据;(2)利用LED显示屏显示采集数据;(3)接收串口传来的数据,并计算PID增量,利用脉冲方波控制锅炉温度。
(二)接口电路
接口电路采用的是标准的Rs-232串行数据通信方式来与上位机进行通信,按照规定的通信协议采用中断方式接收上位机发送过来的数据,经过处理后在显示屏上显示数据。发送数据采用查询方式,进行数据传输。
(三)过程输入/输出通道
过程输入/输出通道包括了模拟量输入/输出通道和开关量输入/输出通道。其中模拟量输入通道采用的是ATMEGAl6芯片上的5~8路10位A/D转换,并且采用8通道的模拟多路复用器与10位逐次逼近型ADC相连,对端口A的输入电压进行采样。由于模拟量输出通道会受模拟器件信号漂移的影响,而无法达到控制所需精确度,所以往往采用开关量输出控制,它的优势在于控制精度高,且对于不同的控制场合无需更改硬件,修改相关程序即可达到控制要求。
(四)键盘输入模块
该系统设计了5个按钮,分别是确认按钮、增加按钮、取消按钮、减少按钮、模式选择。模式选择可以选择设定指定时间或指定温度,并且都可以在LED显示屏上进行显示,增加和减少按钮用于对输入数字进行增加和减少。同时为了避免在操作过程中出现误操作而引起不便,增设了确认和取消按钮。
(五)数码显示电路
数码显示电路的功能就是实现数字信号在LED显示屏上显示,如果发光二极管采用的是共阳极,如要点亮发光二极管,需要给发光二极管的阴极赋低电平,即赋O值。该系统显示电路的设计采用的是双4位LED显示,分别用来显示目标值和测量值。
(六)数据采集模块
数据采集模块由差分运算放大器AD524和温度传感器ADS90组成。其中温度传感器ADS90是一种两端式恒流器件,测温范围为55℃~+150℃,激励电压为4~30V,当电流流经5千欧的电阻时,温度升高1K,电阻电压增加5mY,所以当温度在O~100℃之间变化时,电阻电压在1.365~1.865V问变化。
三、软件开发
该系统中上位机采用工控机作为监控系统,编程语言为Visual c++,下位机采用的是ATMEGAl6单片机为开发核心,编程语言为c,两者之间的通信采用Rs232协议。软件部分包括了主程序、A/D转换程序、按键处理程序、增量式PID处理程序等。
(一)主程序
主程序主要实现系统的初始化功能。程序开始时初始化各参数,等待按键处理,如果有按键工作,判断是否出现中断,如出现中断接着判断是否为串口中断。如果存在中断但不属于串口中断,那么就接收数据,并对数据进行处理;如果存在中断且属于串口中断,则进行计时器到A/D转换、数据处理、PID调节以及数据的显示和发送;如果未出现中断,则一直循环等待中断事件的发生。
(二)A/D转换程序
A/D转换程序需要先设置ADCSRA寄存器的ADEN才能启动A/D转换器,把ADEN置位,输入通道选择和参考电压有效。向A/D转换器启动转换位ADSC位写“1”可启动单次转换。一旦赋值为高电平,如果不发生结束触发中断,ADSC位始终为高电平,中断发生后不需要软件来清零,而是由硬件来负责。
(三)按键处理程序
键盘处理程序是利用查询方式来获取当前所按键,CPU闲暇时会调用该程序,然后扫描键盘并计算出键值,从而可根据键值去调用相应的子程序,实现相关功能。
(四)增量式PID处理程序
由于锅炉温度控制系统具有时变性、滞后性以及非线性,然而常规的线性控制理论很难达到控制所需要求,也很难建立该系统的精确数学模型,所以该系统的设计采用了增量式数字PID控制器。增量式PID把控制量的增量作为数字控制器的输出,其好处在于当出现误动作时对增量输出结果产生的影响不大,从而增加了控制的精确度。增量式PID只与K、k-1、k-2次的采样相关,所以能够较容易地通过加权处理而获得较好的控制效果。而且对于数字控制系统而言,因为A/D转换器的位数有限,从而决定了控制量的范围,所以系统中考虑加入抗积分饱和法来对控制系统进行优化,图2为增量式PID控制算法的程序流程图:
四、实验分析
经过实验验证和分析,基于ATMEGAl6的锅炉温度控制器系统实现了如下功能:
1.系统能够根据输入键盘设定温度和时问,并且可在LED显示屏上显示出给定温度、实际锅炉的温度以及系统当前时间。
2.对当前的温度可随时进行调节,利用增量按钮和减少按钮来控制温度,并且在键盘按钮上的模式选择功能键中随时退出系统。
3.系统具有报警功能,当出现温度超过限定温度或者锅炉水烧干等现象时,会自动发出报警信号,并同时进行计时。若在一分钟内未及时处理,系统会自动切断电源,退出正常工作状态;若在一分钟内进行处理并进行相应设置后仍可以继续正常工作。
4.系统能够与上位机进行通信,能正常接收到上位机发送过来的数据并进行相应反馈和调节。
5.该系统设计具有较强的抗干扰能力,并且采用的是增量式的PID算法,具有较好的准确性,在实际测试中,虽然还存在一定误差,但是在系统允许的范围内不影响系统的正常工作。
总之,该系统经实验验证后基本按要求实现了所需功能,并且具有较好的精确度和稳定性,同时抗干扰能力也比较强,己达到了预期的效果。
五、结语
通过运行和实验验证,基于ATMEGAl6单片机的锅炉温度控制器系统能够安全可靠地完成自动和手动切换、超温、缺水、超压报警等功能,同时该系统以增量式PID算法为核心,与传统的PID算法相比能更好地满足系统所需的精度要求,所以该系统具有较高的应用价值。