- 23
- 0
- 约9.73千字
- 约 5页
- 2016-10-06 发布于贵州
- 举报
Pt1000热阻温度测量
工作原理
本系统可以分为五大部分:热电阻温度采集、运行状态显示、继电器控制、键盘输入、风向步进电机控制。
热电阻温度采集
热电阻传感器以其温度特性稳定、测量精
图1 Pt1000热电阻温度测量电路
度高的特点,在大型中央空调得到了广泛的应用。
采用Pt1000热电阻作为温度传感器的测量电路原理图如图1 所示。热电阻Rt与三个电阻接成电桥。当温度变化时,使得运算放大器的同相输入端的电位发生变化,经过运算放大器放大之后输入到Atmega16单片机进行AD转换。由于单片机采用5V电压作为ADC的参考电源,而电桥在温度变化为0~100°C时,输出电压范围为0~0.7V,所以确定运算放大电路的放大倍数为7,以获得最佳的测量结果。运算放大电路的电阻按以下公式确定:
取。输出电压变化范围大致是0~5V。
由于ADC的转换精度为10,故当输入电压为5V时,其采样值为1023,根据电桥平衡原理,可得到以下公式:
(1)
其中,N——ADC数据寄存器的值,
U——电桥电源电压,
——Pt1000在0°C时的电阻1000。
Pt1000热电阻的阻值按以下公式计算::
(2)Rt——温度为t时铂热电阻的电阻值,Ω;t——温度,——Pt1000在0°C时的电阻1000。
A——分度常数A=0.0038623139728分度常数B=-0.00000065314932626
Private Sub Pt1000()
Me.Cursor = Cursors.WaitCursor
txtTab.Clear()
Dim U As Integer = 9 电桥电源电压
热电阻0度时的电阻值
Dim Pt1000_R0 As Integer = 1000
Dim n As Integer
Dim sngT As Single
Dim sngRt As Single
txtTab.AppendText(const float Pt1000Tab[]={ Chr(13) Chr(10))
For n = 0 To 1023
sngRt = (10000 * n + 7161000 * U) / (7161 * U - 10 * n)
sngT = (-const_A + Sqrt(const_A ^ 2 - 4 * const_B * (1 - sngRt / Pt1000_R0))) / (2 * const_B)
If n 1023 Then txtTab.AppendText(Format(Abs(sngT), 0.0) , /* n */)
Else txtTab.AppendText(Format(Abs(sngT), 0.0) /* n */ Chr(13) Chr(10) };)
End If
If n Mod 5 = 0 Then
txtTab.AppendText(Chr(13) Chr(10))
End If
Next
txtTab.SelectAll()
txtTab.Copy()
Me.Cursor = Cursors.Default
End Sub
生成的程序常数表格(1024个值)部分如下:
const float Pt1000Tab[]={
0.0, /* 0 */ 0.1, /* 1 */0.2, /* 2 */0.2,
……
63.4, /* 696 */63.5, /* 697 */
……
99.3, /* 1022 */99.4 /* 1023 */
};
2.2 运行状态显示
本系统采用一块16×4的字符型液晶模块,这种类型的LCD应用很广泛,其控制驱动主芯片为HD44780及其扩展驱动芯片HD44100(或兼容芯片),少量阻、容元件,结构件等装配在PCB板上而成。字符型液晶显示模块目前在国际上已经规范化,无论显示屏规格如何变化,其电特性和接口形式都是统一的。因此只要设计出一种型号的接口电路,在指令设置上稍加改动即可使用各种规格的字符型液晶显示模块。odeVisionAVR集成开发环境集成这种类型LCD的函数,可方便实现LCD的读写,其部分函数及功能简单介绍如下,更详细的资料可查阅各种文献。
继电器控制
Atmega16输出缓冲器具有对称的驱动特性,可以输出和吸收大电流,直接驱动LED,但是仍然不能直接驱动更大电流的器件,如继电器,所以必须接入较大功率的驱动器。常用的驱动方法有74系列功率集成电路驱动、MOC系列光耦合过零触发双向晶闸管驱动、固态继电器驱动等。
本系统采用ULN2003芯片来驱动继电器。其内部结
原创力文档

文档评论(0)