按关键词阅读: 系统 课程设计 综合 基于 监控 温度 实时 总线
1、课 程 设 计 报 告 书 专 用 纸评语:成绩:签名:日期:淮海工学院课程设计报告书课程名称: 综合课程设计 题 目: 基于单总线的温度实时监控系统 系 (院): _电子工程系_学 期: _ 11-12-1 _ 专业班级: _ DZ电子083_ 姓 名: _ _ 学 号: _- 1 引言随着计算机技术的发展和计算机应用的普及, 计算机在各个领域都有着广泛的应用, 特别是在一些需要精确控制的应用中采用实时的、动态的控制显得特别的重要, 通过硬件采集到的数据如何合理的、科学的处理, 是实施控制的关键, 并且方便的、功能强大的软件处理能更好地实施精确控制 。
很多现有的实时控制系统的软件部分是用汇编语 。
2、言编写的, 软件调试、维护起来比较困难, 应用的界面也不是很好, 给用户的使用带来了很多不便,下面是采用功能强大的可视化的高级语言Delph i 和SQL server 2000 做为后台数据库来实现软件部分 。
11 本设计主要任务(1)对单总线设备的结构特点和以单总线技术构建起来的微型局域网的拓朴结构、网络结构优化以及设备与单总线的连接进行阐述和研究 。
(2)设计基于单总线的温度采集电路 , 单总线和PC机串行口的接口电路 。
(3)用自己熟悉的计算机语言编写温度实时监控系统软件 。
12 设计要求(1)温度测量范围50100 。
(2)测温分辨率不低于0.0625 。
(3)数据传输距离不低于60米 。
(4)温度测 。
3、量点不少于3 。
(5)温度采集间隔不底于10分钟 。
(6)能显示一天实时温度变化曲线 。
1.3 注意事项(1)设计时重点考虑单总线的供电问题 , 数据的可靠采集 , 单总线与PC机串口的连接问题 。
(2)设计单总线与PC机接口时 , 要正确掌握PC机串口的电参数、DS2480B的电参数 , 要采取一定的过电压与过电流保护措施 , 防止损坏PC机串行端口 。
(3)软件的界面要友好、简明、直观 。
在编写软件时要重点考虑温度采集数据的存储、单总线设备的CRC循环冗余码的实现方法、从设备的“即时插即用”的算法研究等 。
2 硬件电路及原理2.1方案选择本设计为基于单总线的温度实时监控系统 , 采用Dallas公司生产的一种新型温度传感器DS 。
4、18B20 。
单总线温度采集电路采集测量点的温度并且将其数字化 , 串口至单总线接口转接桥负责单总线芯片DS18B20与主机UART接口通信协议的转换 , 温度实时监控系统软件则将主机获得的数据予以记录并且在显示设备上显示出来 。
2.2 硬件电路总体框图图1 硬件电路图23 DS2480B图2 DS2480B引脚排列2.3.1 DS2480B简介DS2480B是一种串口至1-Wire的接口芯片 , 支持标准和高速两种模式 。
它可以直接连至UART或5V的RS232系统 。
与RS232C (12V电平)相接时 , 还需要一个无源箝位电路和一个5V电平至12V电平的转换电路 。
内部带有定时器 , 因此主机就不再需要产生1-Wi 。
5、re通信所需的要求严格的时序波形 。
而在DS9097(E)中 , 主机必须为每一个1-Wire时隙发送一个完整的字符 。
比较而言 , DS2480B则是将每个字符转换成8个1-Wire时隙 , 因此大大地提高了数据的吞吐量 。
另外 , DS2480B可以采用四种不同的通信速率 , 分别为115.2kbps、57.6kbps、19.2kbps , 其中9.6kbps是系统上电后默认的通信速率 。
来自主机的晶振源UART的命令码充当时钟基准 , 不断地校准时钟发生器 。
DS2480B采用独特的通信协议 , 合并数据和控制信息 , 而无需控制引脚 , 这样就保证了通用串口至无线转换器的兼容性 , 允许更容易实现1-Wire接口转换 。
DS2480B的多种 。
6、控制功能针对1-Wire网络进行了优化 , 支持当前所有1-Wire器件 , 包括:基于EEPROM的只添加存储器以及1-Wire温度计等特殊功能器件 。
2.3.2 DS2480B关键特性(1)通用、共地的串口至1-Wire线驱动器 。
(2)支持所有iButton和1-Wire从器件 。
(3)支持标准速度和高速模式的1-Wire通信 , 且串行接口数据传输速率可在9600bps (默认)、 19200bps、57600bps和115200bps中进行选择 。
(4)支持12V EPROM编程 , 为传感器以及EEPROM提供5V强上拉 。
(5)进行串行和1-Wire通信时的自校准时基误差为5% 。
(6)压摆率可控的1-Wi 。
7、re下拉和有源上拉 , 以适应长距离通信和降低辐射 。
(7)当与5V供电的RS232系统或与UART相连时 , 通过用户可选择RXD/TXD的极性将尽可能减少外围器件的数目 。
(8)可编程的1-Wire时序和驱动特性 , 以适应标准速率下更宽范围的从机器件配置 。
(9)结合数据和控制信息的智能协议 , 无需额外的引脚控制 。
(10)兼容于光耦、IR和RF至RS232的转换器 。
(11)低成本的8引脚SO表贴封装 。
(12)工作电压4.5V至5.5V , 温度范围为-40C至+85C 。
24 DS18B20温度传感器图3 DS18B202.4.1 DS18B20功能特点新一代的 DS18B20 体积更小、更经济、更灵活 。
使您可以 。
8、充分发挥“一线总线”的长处 。
同DS1820 一样 , DS18B20 也支持“一线总线”接口 , 测量温度范围为 -55C+125C , 在-10+85C范围内,精度为0.5C 。
DS1822 的精度较差为 2C。
现场温度直接以“一线总线”的数字方式传输 , 大大提高了系统的抗干扰性 。
适合于恶劣环境的现场温度测量 , 如:环境控制、设备或过程控制、测温类消费电子产品等 。
与前一代产品不同 , 新的产品支持3V5.5V 的电压范围 , 使系统设计更灵活、方便 。
而且新一代产品更便宜 , 体积更小 。
DS18B20 新特点:适用电压为3V5V 与DS1820 软件略有不同 912 位分辨率可调 TO-92、SOIC 及CSP 封装可选 。
9、 , 经济型版本无EEPROM 合自己的经济的测温系统 。
2.4.2 DS18B20内存结构图4 DS18B20存储结构DS18B20的内存包括9个快速暂存器和三个非易失的电可擦可编程只读存储器 , EEPROM存储用于报警的温度上限和下限以及温度采集分辨率的配置数据 。
如果DS18B20的报警功能未启用 , TH、TL可以用作普通功能寄存器 。
暂存器byte0和byte1分别存储采集温度的低位和高位 , byte8是循环冗余校验码寄存器 。
2.4.3 DS18B20温度寄存器图5 DS18B20温度寄存器温度高位字节的高五位是符号位 , 温度为正时取0 , 为负取1 。
低字节的低四位为小数位 , 有效的位数取决于配置寄存器的R1 。
10、和R0值 。
2.4.4 DS18B20 TH、TL寄存器图6 DS18B20 TH、TL温度寄存器温度高位字DS18B20 TH、TL温度寄存器各占一个字节 , 其中最高位是符号位 , 可以设定的温度范围为-128127是(摄氏) 。
TH、TL可以用copy命令复制到EEPROM , 反之可以用Recall命令从EEPROM读取 。
2.4.5 DS18B20 配置寄存器图7 DS18B20温度寄存器快速暂存器的byte4是Configuration寄存器 , 寄存器的五六位R0、R1可以设定采集温度的精度 , 见表一 。
表1 采集温度精度对应R1R0精度转换时长009-bit93.75ms(tCONV/8)0110-bi 。
11、t187.5ms(tCONV/4)1011-bit375ms(tCONV/2)1112-bit750mstCONV3 Delphi温度采集程序31 程序功能简介程序主要包括温度读取显示、采集数据存储和配置寄存器设置三个功能 , 四个选项卡切换不同的功能模块 。
温度显示模块采用了iocomp组件实现温度计和实时曲线两种显示方式 , 并提供两个温度传感器宏观同步显示以及摄氏温标和华氏温标的一键切换功能 。
由于涉及数据量较少 , 数据结构简单 , 程序采用了access数据库对采集温度进行同步存储 。
配置寄存器的模块位于第三个选项卡 , 第四个选项卡显示DS18B20暂存器的原始数据 。
32 温度计显示图8 温度计显示程序如 。
12、下:procedure TForm1.Timer1Timer(Sender: TObject);
/计时器程序 , 此处程序整体来说就是先获得访问权 , 在调用前面的FindFirstFamily和FindSecondFamily然后再改写变量Var PortNum, PortType : smallint;
/定义局部变量RetValue : smallint;
st : longint;
beginif dieer then beginProgressbar1.Step :=1;
while progressbar1.Position 0) Thenbeginif (TMSetup(SHandle) =。
13、1) thenif radiobutton1.Checked =true then /写入第一个温度传感器if (TMFirst(SHandle, stateBuf)= 1) thenbeginif (TMAccess(SHandle,StateBuf)= 1) thenbeginif (TMTouchByte(SHandle,$4E) 0) then beginif (TMTouchByte(SHandle,l) 0) then /传递温度上限且判断是否传递成功halt;
if (TMTouchByte(SHandle,m) =255) then /传递温度下限且判断是否传递成功halt;
if 。
14、 (TMTouchByte(SHandle,n) 0) then /传递精度且判断是否传递成功halt;
end;
TMAccess(SHandle,StateBuf);
TMTouchByte(SHandle,$48);
/这里是写道E2Rom里 所以用上拉电压TMOneWireLevel(SHandle,LEVEL_SET,LEVEL_STRONG_PULL_UP, PRIMED_BYTE);
st := GetTickCount + 1000;
while (GetTickCount st) do;
TMOneWireLevel(SHandle, LEVEL_SET,LEVEL_NORMAL,PRI 。
15、MED_NONE);
/恢复正常电压TMAccess(SHandle,StateBuf);
TMTouchByte(SHandle,$BE);
CRC8 := 0;
for i := 0 to 7 dobeginrbufi:= TMTouchByte(SHandle, $FF);
endelseshowmessage(error TmAccess);
end36 原始数据显示图12 原始数据显示窗口程序如下:procedure TForm1.Button2Click(Sender: TObject);
显示按钮实现/用来显示温度以及精度等varRetValue,i : smallint;
PortNum,。
16、PortType : smallint;
beginif (radiobutton3.Checked) then /温度一beginedit9.Text :=;
edit4.Text :=;
edit5.Text :=;
edit6.Text :=;
edit7.Text :=;
edit8.Text :=;
RetValue := TMReadDefaultPort(PortNum, PortType);
SHandle := TMExtendedStartSession(PortNum,PortType,NIL);
FindFirstFamily($28,SHandle);
edit9.Text :=intt 。
17、ostr(fenbianlv1);
edit4.Text :=floattostr(gaowei1);
edit5.Text :=floattostr(diwei1);
edit6.Text :=floattostr(shangxian1);
edit7.Text :=floattostr(xiaxian1);
edit8.Text :=floattostr(yuanshi1);
end;
if (radiobutton4.Checked) then /温度二beginedit9.Text :=;
edit4.Text :=;
edit5.Text :=;
edit6.Text :=;
edit7.Text :=;
。
18、edit8.Text :=;
RetValue := TMReadDefaultPort(PortNum, PortType);
SHandle := TMExtendedStartSession(PortNum,PortType,NIL);
FindSecondFamily($28,SHandle);
edit4.Text :=floattostr(gaowei2);
edit9.Text :=floattostr(fenbianlv2);
edit5.Text :=floattostr(diwei2);
edit6.Text :=floattostr(shangxian2);
edit7.Text :=f 。
19、loattostr(xiaxian2);
edit8.Text :=floattostr(yuanshi2);
end;
end;
4 元器件清单表2 器件列表元件名称元件规格元件数量电路板XF071UART/1二极管D1,D2M72稳压二极管D3,D4/2DS18B20/1DS2480B/15 心得体会三周的课程设计结束了 , 在这次的设计课程中收获知识的同时 , 还收获了阅历 , 收获了成熟 。
在此过程中 , 我们查找了大量的知识 , 请教了老师 。
以不懈的努力 , 不仅培养了独立的思考能力 , 动手操作能力 , 在其它各方面的能力上都有提高 。
在设计过程中 , 与同学分工合作 , 相互讨论 , 相互学习 。
促进了友谊与信任 。
通过这次温度实时监控系 。
20、统设计 , 我在很多方面提高了知识 。
刚开始焊接时 , 由于粗心 , 老是失败 , 在一次一次的仔细下 , 在一次又一次的老师帮助下 , 终于成功的完成了焊接 。
通过焊接实践 , 告诉我 , 同学之间的配合 , 老师的指导 , 自己的细心都离开大家 。
整个过程是一个分工的团结的实践 。
让我明白了团结两个字 。
开始做软件部分时 , 之前认为Delphi很简单 , 可是当做起来时 , 我知道自己想的太简单了 。
做任何事时都不能轻易的高估 , 要用认真的心态去面对 。
后来不断的研究Delphi的资料 , 请教其他的同学 , 反复的修改程序 , 最终调试成功 。
在编写程序时 , 不仅让我了解了Delphi的程序编写 , 还了解了软件设计部分包括初始化程序 , 存储 , 转换 , 发送处理 , 显示温度 , 认识 。
【综合|综合课程设计基于单总线的温度实时监控系统】21、了单总线温度实时监控系统的内容 。
让我的知识提高了很多 , 实践才是检验真理的唯一标准 , 从而有助于我对知识的巩固了解 。
对我而言 , 知识上的收获重要 , 精神上的丰收更加可喜 。
挫折是一份财富 , 经历是一份拥有 。
这次实习必将成为我人生旅途上一个非常美好的回忆.在此谢谢各位老师 。
6 参考文献1.DS18B20 Programmable Resolution 1-Wire Digital Thermometer 2.DS2480B Serial 1-Wire Line Driver with Load Sensor 3.实现单总线搜索ROM命令的一种算法 , 左冬红,谢瑞和 著 。
20014.电子技术实践教学指导书 , 孙淑艳 , 张青 著 。
中国电力出版社 , 2005.95.数字电子基础 , 康华光 主编 。
高等教育出版社 , 19996.电子电路实验及仿真 , 路勇主编 。
清华大学出版社 , 2004第 17 页 共 16页 。

稿源:(未知)
【傻大方】网址:/a/2021/0902/0024075182.html
标题:综合|综合课程设计基于单总线的温度实时监控系统