当前位置:首页 > 基于单片机的温度测控系统
第 !\卷 !第 #期 !$$%年 &!月
兰 州 交 通 大 学 学 报 ! 自 然 科 学 版 \
’()*+,-(./,+01()’2,(3(+45+267*8239 !:,3)*,-;<27+<78\=(->\! # ?7<>$$% !
!!文章编号 #$$&\& ! ! !$
基于单片机的温度测控系统
刘!攀&!!俞!杰!!!张海明&
\
! &>兰州交通大学 机电工程学院 $甘肃 兰州 !A@$$A$%!>北京航空航天大学 自动化科学与电气工程学院 $北京 !&$$$J@\
摘 !要 !介绍了一种基于 DBJMF%&单片机的温度测控系统 !针对被测对象的温度在不同变化范围需要不同的 U\\? 参数的特点 !提出了一种可以预设多组 U\\? 参数 !根据检测温度自动选择合适的一组 U\\? 参数进行控制的方案 >该 方案可以通过键盘和显示器实现测控功能的选择 \参数的在线修改和实时显示 !具有调试方便 \精度高和可靠 U 性好等优点 !适合于现场及实验室应用 > 关键词 !单片机 #\\?#U 温度测控
中图分类号 !BU@M&> !!!!!J 文献标识码 ! D
$!引言
温度测控在工业领域具有广泛的应用 $随着传 感器技术 &微电子技术 &单片机技术的不断发展 $为 智能温度测控系统测控功能的完善 &测控精度的提 高和抗干扰能力的增强等提供了条件 >由于单片机 具有集成度高 &功能强 &体积小 &价格低 &抗干扰能力 等优于一般 FU5 的优点 $因此 $在要求较高控制精 度和较低成本的工业测控系统中 $往往采用单片机 作为数字控制器取代模拟控制器
’ ( &
同 >为此 $本文介绍了一种基于单片机的温度控制装 置 $在其 机 内 预 设 多 组 U\\? 参 数 $根 据 受 控 对 象 的 不同自动选择合适的 U\\? 参数对温度进行控制 %另 外 $工作人员还可以根据特定要求对给定温度进行 控制 $并对各组 U\\? 参数进行在线修改 >
&!系统的硬件组成
温度测控系统是一个闭环控制系统 $用温度传 感器将检测到的温度经 D)? 转换后送入计算机中 $ 与设定值进行比较得出偏差 $对此偏差按 U\\? 算法 进行修正 $求出对应的控制量控制驱动器 $调节被控 对象 $从而实现对温度的控制 ’!(>
本系统的硬件结构如图 &所示 >
>
由于 U\\? 控 制 技 术 成 熟 $控 制 结 构 简 单 $参 数 易调整 $不必求出被控对象的数字模型便可以调节 $ 所以在 温 度 测 控 系 统 中 通 常 采 用 U\\? 算 法 >但 是 $
由于控制对象的特征不同 $U\\? 算法 的 参 数 往 往 不
!!在系统的工作过程中$经过温度检测及变换电路 把被测对象的温度转换成电压信号$该电压信号经 D)?变换器转换为数字信号后送入单片机中$与给
图 &!系统硬件结构图
!\#& \ \
度初值对应的受控对象!如电机\的转速初值经 ?)D 转换器转换为模拟电压控制连续可调控制器$驱动电 磁调速器带动被控对象$并且把被控对象的转速经变 换电路和 D)? 转换器反馈到单片机中$与输出的转 速初值进行比较$其偏差被 U\\?程序计算出后重新输
定的对应所要控制的多组温度值进行比较$找出现温
度值所在范围$预载 U\\?参数$输出相应温度初值$温
\ 收稿日期 #$$%$#!\! ! !
作者 万方数据 !MJ$ \男 $山东巨野人 $硕士生 > 简介 #刘 !攀 & !
&$\
兰 州 交 通 大 学 学 报 !自 然 科 学 版 \
第 !\卷
出#在规定的时间内循环#直到达到在误差允许的范 围内输出的转速值与转速初值相等> &> !温度检测及变换电路
因此 B/F!%\模拟转换必须用软件来模拟完成;U\\ 的时序操作 &
本系统的温度检测及变换电路如图 !所示 >
图 !!温度 !!!电压变换电路
!\#! +)(J*’/#( ! - -/&9*)87)7+\ ) 0 \
电路图中各 aUD 的功能为 $aUD&%%%阻抗匹 配 & aUD!%%% 减去 $T 的基准电压 A !>@= 并反相 & aUD@%%%放大R 倍并反相 >
温度信号通常采用热电偶 ’热电阻或集成温度 传感器等来进行检测 >本系统选用集成温度传感器 D?%M$作为温度传感器 #D?%M$产生的电流与绝对 温度成正比 #它可接收的工作电压 为 \检 测的温度范围为 ‘%%T \有极好的线性输 出性 能 #温 度 每 增 加 &T #其 电 流 增 加 & .D(@)>在 $T时输出电流为 !A@> .D#因此 D?%M$输出的电
流为
L % !A@.D?)$T C&.D*T
! \&
式中 $
$%%% 室温 #T & 负载上的输出电压为
,^ %L! ! \
&& !=\!
转换电路 D*? 转换电路作为 B/F!%\与单片机的接口 电路采用 B2公司的串行 D*? 芯片 B/F!%\它是 一种利用 &!位开关电容逐次逼近模拟信号的模数 转换器 #片内有&\位通道 #具有&!位分辨率 D*?转 换口 #在标定转换温度范围内转换时间为 &$.8#输 出数据长度可编程 (\>B/F!%\自带采样 %%% 保持 电路 #所以输出引 脚 可 以 直 接 与 单 片 机 的 并 行 \\*a 口连接 >如图@所示 #B/F!%\的输入 F/C’数据输 入 ?DBD\\:’数据输出 ?DBDa5B’片选F;分别与 DBJMF%& 的 并 行 \\ a * 口 引 脚 $ U U&> #&> #&> # U ! U&> @ 相连 >但由于 B/F!%\的模拟输入阻抗较低 # 因此本系统在 B/F!%\的模拟输入端加上缓冲器 & 同时 #由于 DBJMF%&万方数据
单片机不具有 ;U\\接口能力 #
图 @!B/F!%\与 DBJMF%&的接口电路 !\#@ -
&& !U\@
转换电路 ?*D 转换电路作为 B/F%#&%与单片机的接口 电路采用带有缓冲基准输入的 &$ 位电压输出数据 的模拟转换器
B/F%#&%#它具有基准电压两倍的输 出电压范围 #通过 @线 B1*77!Q27\! * 串行总线和工 业标准的微处理器和微控制器接口 #接收 位数据 字以产生模拟输出 (\>如图\所示 >B/F%#&%的模拟 时钟 ;F/C’片 选F;’数 据 输 入 端 ?\\: 分 别 连 接 DBJMF%&的 并 行 \\ a * 口 的 引 脚# U % U U&> #@> #&>%> 同样 B/F%#&%模拟转换也必须用软件模拟完成;U\\ 的时序操作 >
图 \与 DBJMF%&的接口电路 !\#\ -
为了更好地使用 B/F%#&%#在设计中把器件的 DH:? 端连接到系统模拟地 #使用分离的模拟地和 数据地 #实现了最佳的接地连接 #提高了系统性能 & && ! \键盘和显示电路
键盘和显示电路采用\\+37-公司生产的 可 编 程 键盘和显示器专用接口芯片 J!AM#它能对显示器自 动扫描 #并 能 识 别 键 盘 上 按 下 键 的 键 号 #因 此 使 用J!AM可以替代 单 片 机 完 成 键 盘 和 显 示 器 的 许 多 接 口操作 #减轻了单片机的负担 #提高了 FU5 的工作 效率 &
&& ! % 输出控制电路
在设计输出控制通道时 #过去往往采用继电器 # 但是由于其噪声大和机械性能差等原因 #现已很少 采用 &本系统采用无级调速 #即用经过 ?*D 转换输 出的模拟电压控制连续可调控制器 #驱动电磁调速 器带动 被 控 对 象 >这 样 同 时 解 决 了 弱 电 !单 片 机 系 统\与强电!?F&&$=\的隔离和对强电的控制 ! 个
第 #期
刘 ! 攀等 !基于单片机的温度测控系统
只需要保持现在时刻以前 @ 个时刻的偏差 $因此不 会产生太大的积累误差 &
根据以上分析 $本系统采用具有积分分离的增 量式 U\\?算法 $但本系统需要的控制变量是+3$可由 公式+3 %+3:&?$+3 计算出 $即控制变量+3 为单片机 内随时更新寄存的 +3:& 数值与 $+3 的和 $这样将大
&$%
问题 \&
!! 系统的 U\\? 控制算法
控制算法是控制系统的核心部分 $是控制系统 能否稳定和调节品质是否优良的关键 &本系统是一 个闭环控制的计算机直接控制系统 %??F&$它的工 作原理是按照一定的采样周期/去对被控量%温度& 进行采样 $并经过控制算法算出控制量 $以此控制量 作为输出控制执行器 $实现对被控对象的控制 &采用 大减小误差 &同时为了克服积分饱和 $控制偏差的算 式可改为
\3 %
) . :73 ,\运算 (
% &
单片机作为控制器核心所构成的自动控制系统简化
框图如图 %所示 &
图 %! 单片机控制系统
!\#% 7 ’ ()7*&-* ’9?9(8 -
它是由单片机系统通过 D’? 电 路 检 测 过 程 变 量7$并计算误差\和控制变量+$通过 ?’D 变换后 输出到可调控制器 $使过程变量 7 最后稳定在设定 的初值上 &可见计算机控制是一种采样控制 $它只能 根据采样时刻的误差计算控制变量+$因此模拟U\\? 控制算法公式中的积分项和微分项不能直接准确计 算 $只能 用 数 值 计 算 的 方 法 逼 近 &在 采 样 时 刻) % 3/% 为采样周期
$ 为正整数 &$\\? 的调节规律可
以通过离散化后的位置式 U\\? 算法近似计算 \!
3
\ \
S%$
% & @
式中 !
为设定值 (3 为第3次实际输出值 ( 为采样
周期 (
< 为比例 系 数 ( 3 为 积 分 时 间 ( ( 为 微 分 时
间 (
$ 为偏差为零时的控制作用 (3%3 % . :7 &为 设定值与实际输出值构成的控制偏差 &如果采样周 期取得足够小 $这种离散化逼近可相当准确 &
当执行机构需要的不是控制量的绝对数值 $而 是其增量时 $可以用位置式算法推出的增量式 U\\? 算法计算实际输出值的增量 $+3\! $+3 %2 \3 :\
3:& ? % ’/3&3 ?/(’/%3 :!3:& ?
\3:! % &
\
可见增量式 U\\?算法与位置式 U\\?算法相比有 下列优点 !位置式 U\\? 算法每项输出与整个过去状
态有关 $计算 式 中 要 用 到 过 去 误 差 的 累 加 值 容易产生较大的累积计算误差 万方数据
?\ (而增量式 U\\? 算法
. :7 5\
U\\? 运算 &
@!系统的软件组成
软件主要完成对温度信号的采集 *处 理 示 * 键盘 U\\?
*显参数调整 UGW * 输出等功能 $主要由监控 程序 * UGW 控制程序 * 闭环温度控制程序 * B$中断 处理程序及\\:B$ 中 断 处 理 程 序 等 组 成 >主 程 序 框 图如图 #所示 $主程序完成系统的初始化 *参数的设 置 *温度的显示 *转速采样及输出量的控制等功能 > 整个程序采用模块化结构设计 >
图 #!系统主程序框图
!\## ’*7D,\
@> !&
监控程序 监控程序由系统自检程序 *温度显示程序 *转速 显示程序组成 >主要用于对系统程序的自我修复与
调整 *实时 显 示 所 测 对 象 的 温 度 和 被 控 对 象 %如 电机&的转速 > @> !! 闭环温度控制程序
闭环 温 度 控 制 程 序 由 求 偏 差 Z 和 偏 差 变 化 率 Z<*数据量化算 法 *增 量 U\\? 控 制 算 法 等 程 序 模 块 组成 >单片机首先读取数字化的实际转速 $并与设定 的转速相比较 $得出差值 $单片机再根据差值 $调用
3 U\\? 公式% &$\计 算 并 输 出 模 拟 电 压 控 制 可 调 控 制 器 $调节被控对象%如电机 &转速的大小 $同时 $寻找
&$#
兰 州 交 通 大 学 学 报 !自 然 科 学 版 \
第 !\卷
最优条件 #改变 U\\? 参数 > @> !温度采样中断处理程序
温度采样中断处理程序由温度采样程序 $数字 滤波程序 $温度显示程序组 成 >传 感 器 D?%M$ 检 测 的温度信号经运算放大器和数字滤波后 #再通过 D% ? 转换送入单片机 #然后通过 /Z? 显示具体的温度 数值 >
@> !\\:B$中断处理程序 \
\\:B$中断处理程序由键盘控制程序 $\\? 参数U 显示程序 $传送程序组成 >通过键盘可以直接输入每 个回路的 U\\? 参数 #并经过现场调试得到符合该系 统的各参数值 >
法 #能在工作过程中对控制温度进行连续自动调整 # 控制精度可达到 p$>&T #且准确性和稳定性都大为 提高 &同时 #还可以根据需要对各组参数进行调整 # 使其满足大范围的温度控制要求 >\\? 算法的应用 # U 使系统可以克服长期使用和环境温度变化引起的控 制误差 >系统采用无触点控制 #有效地提高了系统的 控制精度 #具有很高的可靠性 >
参考文献 !
’ (!& 李光弟 #朱秀月 #王 秀 山 >单 片 机 基 础 ’W(>!修 订 本 \北京 )北京航空航天大学出版社 #$$&> !
’ (!! 陶永华 #葛芦生 >新型 U\\? 控制及应用 ’W(>北京 )机械
工业出版社 #$$$> !
’ (!吴金戍@ # 沈庆阳 # 郭庭吉 >$%& J 单片机实践与应用 ’W(>
北京 )清华大学出版社 #$$!> !
’ (!\杨振江 #杜铁 军 #李 ! 群 >流 行 单 片 机 实 用 子 程 序 及 应 用实例 ’W(>西安 )西安电子科技大学出版社 #$$!> ! ’ (!杜亚江 #董海棠 >车载数据采集系统的设计 ’(>兰州交 %
通大学学报 #$$\! !! # &
\结束语
传统的温控方式为常规的继电器带动接触器控 制 #它只能在一定范围内实现温度控制 #而且属于有 触点控制 #因此 #存在控制精度低 $工作可靠性差 $能 耗大 $使用成本高等缺点 >
本系统采用单片机作为控制核心 #运用 U\\? 算
- ’ E/9(,*& S\ ’7 %?9(8*0@(8:()/-+)(S(/9+)(/&,6*&-*()
/2)U,+ #!_)& ’ 7 #!]1,+4 R,K2+4 2! &2
&>;<1((-(.W7<1,3*(+2
>.9)/7- D37KL7*,3)*7 K7,8)*7,+P<(+3*(-89837K N,87P(+ K2*(<(+3*(-7*DBJMF%&282+3*(P)<7P2+ - < 312 L,L7*>+62Q(.317<1,*,<37*83<8(.317P2.7*7+3U\\?L,*,K737*8Q21317P2.7*7+337KL7*,3)*7#+7 8 \\ 7 2 2 . ( S2+P(.8<17K72 L*(62P7PQ1218738K)-2L,
,+P(+837> 2 C(?1*),9 K2*(<(+3*(-7*&U\\?&37KL7*,3)*7K7,8)*7,+P<(+3*(- ) <
万方数据
共分享92篇相关文档