1、工业控制网络课程设计论文基于CAN总线的大棚温湿度检测节点设计190191921 工业控制网络 课程设计(论文)题目: 基于CAN总线的大棚温湿度检测节点设计 课程设计(论文)任务及评语院(系):电气工程学院 教研室:自动化学 号学生姓名专业班级课程设计题目基于CAN总线的大棚温湿度检测节点设计课程设计(论文)任务课题完成的功能、设计任务及要求、技术参数实现功能检测大棚内某点的温湿度信号,传递给单片机,完成单片机最小系统设计,并把此系统作为CAN的节点,节点的硬件包括主单片机、总线驱动器、控制器、接口电路,以一路信号为例的模拟量信号连接在CAN总线上,可实现远程通信。设计任务及要求1、选择单片
2、机、总线控制器型号,确定设计方案;2、设计单片机最小系统(晶振、电源、复位等);3、设计实现系统功能的单片机外围电路,包括驱动电路、键盘、显示;4、设计CAN总线电路(包括控制器、驱动器、接口电路);5、软件设计(编写主程序、接收、发送程序及相应的流程图)6、要求认真独立完成所规定的全部内容;所设计的内容要求正确、合理。7、撰写、打印设计说明书一份;设计说明书应在4000字以上。技术参数1、符合CAN2.0B规范;2、总线范围在3000米内,速率最高可达20bit/s;3、温湿度信号变化范围05 V;4、单滤波接收数据。进度计划1、布置任务,熟悉课设题目,查找及收集相关书籍、资料。(1天)2、
3、确定控制方案、选型。(2天)3、CAN节点框图、硬件电路设计。(3天)4、编写程序流程图、主程序、发送、接收程序。(2天)5、撰写设计说明书。(1天)6、验收及答辩。(1天)指导教师评语及成绩平时: 论文质量: 答辩: 总成绩: 指导教师签字: 年 月 日注:成绩:平时20% 论文质量60% 答辩20% 以百分制计算摘 要针对以往温室内变量检测劳动强度大、精度低、范围小的现象,本文应用温度和湿度传感器,提出了基于CAN总线的温湿度检测节点设计方案。本设计详细分析了基于CAN总线的温湿度检测和节点通信原理,设计了单片机最小系统、CAN通信接口电路、温度传感器电路、湿度传感器电路、键盘电路和显示电
4、路等模块。基于CAN总线的温湿度检测节点实现了温湿度的检测和实时显示,并可以与其它节点通信以便于温室内大范围的温湿度监测和控制,节点结构简单,便于拓展,降低了劳动强度,提高系统的实时性和可靠性。关键词:CAN总线;单片机;温湿度检测;通信接口第1章 绪论20世纪80年代末、90年代初兴起的现场总线技术引发了工业自动化领域的重大变革,它代表着工业控制网络技术的发展方向。现场总线控制系统(FCS)将集散式控制系统中集中与分散相结合的模式变成了新型的全分布式控制模式,控制功能彻底下放到现场,现场控制设备通过总线与管理层交换信息。在企业信息系统的层次上,整个企业信息网络可以分为现场控制层、过程监控层、
5、生产管理层、市场经营层等多个层次。工业控制网络是控制技术、通信技术、计算机技术在企业现场控制层、过程监控层的综合体现,被称为工厂底层网络。目前,工业控制网络技术的应用已经推广到过程控制自动化、制造自动化、楼宇自动化以及交通运输等多个领域。目前一般把现场总线系统称为第五代控制系统,也称作现场总线控制系统(FCS)。人们一般把50年代前的气动信号控制系统PCS称作第一代,把420mA等电动模拟信号控制系统称为第二代,把数字计算机集中式控制系统称为第三代,而把70年代中期以来的集散式分布控制系统DCS称为第四代。现场总线控制系统FCS作为新一代控制系统,一方面,它突破了DCS系统采用通信专用网络的局
6、限,采用了基于公开化、标准化的解决方案,克服了封闭系统所造成的缺陷;另一方面把DCS的集中与分散相结合的集散系统结构,变成了新型全分布式结构,把控制功能彻底下放到现场。可以说,开放性、分散性与数字通讯是现场总线系统的最显著的特征。目前的现场总线技术有较强实力和影响的有:基金会现场总线FF(Foudation Fieldbus)、局部操作网络LonWorks(Local Operating Network)、过程现场总线Profibus(Process Field Bus)、HART协议、控制局域网络CAN(Controller AreaNetwork)和Dupline等。它们各具特色,在不同的
7、应用领域形成了自己独特的优势。CAN总线是德国Bosch公司在20世纪80年代初为解决汽车中大量的控制与测试仪器之间的数据交换而开发的一种串行数据通信协议。CAN能灵活有效地支持具有较高安全等级的分布式控制其数据传输速度可达1Mbps,在汽车、煤矿安全检测、自动化仪表、智能楼宇、机械制造等领域应用广泛。本文介绍了一种基于CAN总线的智能温、湿度检测系统,可应用于不同的工业自动化领域。近年来,温室大棚种植为提高人们的生活水平带来极大的便利,得到了迅速的推广和应用国家科技部提出的工厂化高效农业示范工程,推动了温室监控技术的发展。但总体来讲,我国温室产业环境控制能力弱,自动化程度低,抵御自然条件能力
8、差。这在很大程度上限制了温室总体效益的进一步提高。种植环境中的温度、湿度、光照度等环境因子,对作物的生产有很大的影响传统的人工控制方式难以达到科学合理种植的要求,国内实现上述环境因子自动监控的系统还不多见,而引进国外具有多功能的大型连栋温室控制系统价格昂贵,不适合国情。对温湿度的精确检测和远距离传输越来越受到人们的重视,针对这一情况,研制一种高精度、高稳定性、低成本且实用的分布式环境温湿度检测控制系统显得非常重要。而利用CAN总线实现远距离节点间和PC机的实时通信,具有结构简单、可靠性高、成本低、实时性好、安装维护方便且便于功能扩展等优点,提高了管理水平和工作效率,所以将CAN总线应用于温室控
9、制具有较好的前景。第2章 课程设计的方案 概述本设计是一个基于CAN总线的大棚温湿度检测节点,节点采集温湿度模拟量信号送入主控制器,并将节点的主控制器连接在CAN总线上,可实现远程通信和监控。 应用场合:系统可应用于温室、粮食仓储、纺纱车间、图书馆等环境监测调节和报警监控等。 系统功能介绍:基于CAN总线的大棚温湿度检测节点可以实时检测温室内温度和湿度值,并可以进行键盘控制和实时显示温湿度值,主控制器可以与总线其他节点通信,温室总线检测范围可达到3000米,通信速率最高可达20bit/s。 方案选择 单片机选型由要求可知,节点设计的主控制器为单片机,而单片机分为很多种,选择有以下两种方案。方案
10、一:主控制器选择16位凌阳单片机,该单片机具有语音处理功能、集成A/D和D/A模块,时钟频率比较高,具有较强的信息处理功能。方案二:主控制器选择51系列单片机AT89S52,该单片机有8K字节Flash ROM,256字节RAM,32位I/O口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。凌阳单片机集成度高,价格较贵,而AT89S52单片机应用普遍、技术相对成熟、价格低廉,完全可以满足本节点设计的要求,故选择方案二。 温湿度传感器选型方案一:选用DHT11作为温湿度检测模块。DHT11是一款数字输出的复合传感器,包含一个电阻
11、式感湿元件和NTC式温度检测元件,可测2090%RH湿度,误差5%RH,050摄氏度,误差2摄氏度。方案二:选用LM35温度传感器和HS1101湿度传感器。LM35输出电压与摄氏温标呈线性关系,不需要额外的校准处理即可达到 1/4的准确率,输出可为电压或者电流信号。测量范围在0 到 100。HS1101是电容式湿度传感器,可测相对湿度范围在0%100%RH,误差为-+2%RH,可以与555定时器构振荡电路输出与湿度对应的脉冲信号。由上述数据可知,方案一的集成温湿度传感器输出数字信号,且传感器的误差较大,而方案二的分立温度传感器输出模拟信号,适宜温室内的远距离传输,精度较高,并且湿度传感器的输出
12、脉冲信号抗干扰能力强。 总线控制器选型CAN总线控制器分为两类,一类是集成于微处理器中的CAN控制器,另一类是独立CAN控制器。集成于微处理器中的CAN控制器自带MCU,在系统设计中可以减少制版面积、降低系统功耗。独立的CAN控制器的优点是可以与多种微处理器连接,使用灵活方便,便于基层开发,并且成本较低。综上可知,本节点设计有独立的单片机,故选择独立的CAN总线控制器,可以降低成本、灵活地扩展节点功能。CAN控制器是以一块可编程芯片上的逻辑电路的组合来实现网络层次结构中数据链路层和物理层功能的器件,对外它提供了与微处理器的物理线路的接口。目前生产CAN器件的知名厂商有:Intel、PHILIP
13、S、Motorola、TI以及SIEMENS等。节点选取PHILIPS公司生产的SJAl000作为CAN总线控制器。系统组成总体结构本设计由单片机最小系统、湿度检测电路、温度检测电路、A/D转换电路、键盘电路、显示电路、CAN控制器、光电耦合电路、CAN收发器和电源电路构成。本节点以单片机AT89S52为主控制器,键盘设定温湿度的上下限,由温度传感器检测温室内的温度并经A/D转换后送往单片机,湿度传感器检测湿度值转换为脉冲信号送往单片机,LCD实时显示室内的温湿度值及报警信息,单片机通过CAN总线控制器、光电耦合电路和CAN驱动器连接至CAN总线,与总线的其他节点通信,实现温湿度值的检测、处理
14、及监控。系统组成结构图如下图2.1所示。图2.1 系统组成结构图第3章 硬件设计 单片机最小系统单片机最小系统由单片机AT89S52、时钟电路和复位电路构成。单片机的P0口与A/D转换器、LCD1602显示器和SJA1000控制器的地址/数据口相连,P2口作为转换器和CAN控制器的片选控制端口,P1口作为键盘输入和显示控制端口,计数器T0口记录来自湿度传感器的脉冲信号,外部中断INT0接收CAN控制器的中断信号。单片机最小系统电路如图3.1所示。图3.1 单片机最小系统电路 温度检测电路本设计选用LM35为温度传感器,LM35温度传感器输出电压与摄氏温标的线性度好,而且输出模拟量信号适合远距离
15、传输,LM35输出与温度值对应的电压信号经放大10倍后变为标准信号送往A/D转换电路,温度检测电路如图3.2所示。图3.2 温度检测电路 A/D转换电路LM35输出的电压信号要转换为对应的数字信号才可被单片机接收,本设计选取ADC0809作为A/D转换器即可满足要求,由于ADC0809的时钟信号为500KHZ,故将单片机的ALE端接四分频器后给转换器作为时钟。A/D转换电路如图3.3所示。图3.3 A/D转换电路 湿度传感器电路本设计的湿度检测电路由555多谐振荡器来实现,HS1101作为电容变量接在555芯片的2、5脚之间,引脚7用作电阻R2的短路,等量电容HS1101通过R3、R4充电到门
16、限电压(约0.67V),通过R5放电到触发电平,然后R4通过7短路到地,传感器由不同的电阻R3、R4充放电,进行工作循环,形成方波。其周期计算如下: T充电=C*(R3+R4)*ln2; T放电=C*R4*In2;由此可知输出方波频率为f =1/(T充电+ T放电)=1/C*(R3+2R4)*ln2;HS1101传感器的电容值与温室湿度成线性关系,可见空气湿度通过555测量振荡电路后,就转变为与之呈反比例的频率信号,后将频率信号送单片机的计数器即可计算出湿度值。湿度检测电路如图3.4所示。 图3.4 湿度检测电路 键盘电路本设计的键盘功能较少,可以选用32矩阵键盘,键盘用来设定温湿度的上下限值
17、和控制通信,键盘电路如下图3.5所示。图3.5 键盘电路 显示电路由于智能节点的需要实时显示室内的温湿度值和报警信息,数据较为复杂,故选择LCD1602液晶显示器,可以显示162 个字符,具有显示质量高、数字式接口 、体积小、重量轻 、功耗低等优点,可以满足设计的要求。显示电路如下图3.6所示。图3.6 显示电路 CAN接口电路CAN接口电路主要由CAN控制器SJA1000、光电耦合器6N137和CAN驱动器PCA82C250构成。CAN总线控制器的地址/数据复用总线与单片机的P0口相连,并将中断输出到单片机中端口,总线控制器串行数据输出线(TX)和串行数据输入线(RX)分别经光电耦合电路连接
18、至总线驱动器82C250,总线驱动器通过有差分发送和接收功能的两个总线端CANH和CANL连接至CAN总线电缆。CAN总线链路层的规定主要由CAN总线控制器实现,物理层的规范主要由CAN总线驱动起来实现,光电耦合电路主要实现网络和信息采集电路的电气隔离,保障总线网络的正常运行。节点通过单片机编程控制CAN总线控制器来实现CAN总线节点间的通信CAN控制器。 总线控制器CAN总线控制器提供了与单片机控制器的数据线路接口,单片机通过对控制器编程设置其工作模式,控制其工作状态,启动CAN报文的发送并对反馈报文接收予以相应,即CAN总线控制器实现了CAN协议中最复杂的数据链路功能。本设计的总线控制器选
19、用SJA1000,SJA1000的引脚图如下图3.7所示。图3.7 SJA1000的引脚图SJAl000是适用于汽车和一般工业环境的独立CAN控制器。它是PCA82C200CAN控制器的替代品,而且增加了新的工作模式(PeliCAN),这种模式支持具有新特点的CAN2.0B协议。SJA1000CAN总线控制器的性能如下:标准结构和扩展结构信息的接收和发送;有标准的接收缓冲器64字节,先进先出(FIFO);支持CAN20A和CAN20B协议;通信位速率可达1Mbps;支持11位和29位标识码;在PeliCAN模式下,SJAl000具有以下新增特性:接收和发送标准和扩展格式报文;达64字节的接收F
20、IFO;对于标准和扩展帧都有单双接收过滤器,接收过滤器包括屏蔽码和接收码寄存器;可读/访问的错误计数器;可编程的错误报警限;最近一次错误代码寄存器;对于每种CAN总线错误都能产生不同的出错中断;仲裁丢失中断;并带有详细丢失仲裁时不重发;只听模式(监视CAN总线,无应答,无出错标志);支持热拔插(对总线无干扰的传输速率检测);自身发送报文接收(自接收请求);硬件禁止CLKOUT输出。 光电耦合器由于总线传输距离远,现场环境干扰大,为了增强抗干扰能力,在SJA1000与PCA82C250间采用高速光耦6N137实现总线电气隔离。为了有效隔离,6N137两端的电源使用B0505S-1W隔离,而且可以
21、减少CAN总线有效回路信号的传输延迟时间,传输延迟时间短。6N137引脚图如下图3.8所示。图3.8 6N137引脚图 CAN收发器 CAN总线收发器实现了物理层的功能,一方面将控制器发送信号转化为符合CAN物理层标准的信号,进行放大、传输;另一方面将总线上收到的信号转变为控制器所能接收的电平信号。其本质是提供了CAN控制器与物理总线之间的接口:即为总线提供差分信号的发送功能,为控制器提供差分信号的接收功能。本设计的CAN收发器选择PCA82C250, PCA82C250引脚图如下图3.9所示。 图3.9 PCA82C250引脚图CAN接口电路如图3.10所示。图3.10 CAN接口电路 电源
22、电路由于单片机最小系统、温湿度传感器、A/D转换器和CAN驱动发送模块都需要供电,而且电压不同,故将220V交流电经变压、滤波后,经稳压器LM7812输出12V电压给放大器供电,后经LM7805输出VCC电压给单片机、温湿度传感器和总线控制器供电,而光电耦合电路要实现与CAN总线电气隔离,故将LM7805后接B0505S-1W进行电源隔离VCC1给耦合器和收发器供电。电源电路如图3.11所示。图3.11 电源电路第4章 软件设计节点程序主要包括主程序、CAN控制器初始化程序、湿度检测中断程序、接收程序和发送程序。其中主程序主要完成中断初始化、键盘扫描、温度检测和温湿度显示及报警等功能;CAN控
23、制器初始化程序主要完成SJA1000的初始化设置;湿度检测中断程序完成湿度传感器的脉冲计数及对应适度的计算;接收程序由单片机的外部中断完成,主要实现节点接收报文的处理;发送程序主要实现节点报文的发送。 主程序流程图主程序要完成中断初始化,并调用SJA1000初始化程序,对矩阵键盘的扫描并存储设定的温湿度上下限及相应的控制信息,对温度信号进行采样,同时将节点采集的温湿度数据帧发送到总线上,并将温湿度值和报警信息送往LCD1602液晶显示器。主程序流程图如下图4.1所示。图4.1 主程序流程图 SJA1000初始化程序流程图SJA1000控制器初始化主要完成工作方式设置、接收滤波方式设置、接收屏蔽
24、寄存器和接收代码寄存器的设置、波特率参数设置和中断允许寄存器设置等。SJA1000初始化程序流程图如下图4.2所示。图4.2 SJA1000初始化程序流程图 发送程序流程图发送温湿度数据时,将待发送的数据按特定格式组合为一帧报文,送入SJA1000发送缓冲区,然后启动SJA1000发送。发送程序流程图如下图4.3所示。图4.3 发送程序流程图 接收程序流程图数据帧的接收在外部中断服务程序里面完成,其中当SJA1000将总线驱动器收到的数据转换存入接收缓冲区后即给单片机产生中断,提示单片机对通信数据进行接收。接收程序流程图如下图4.4所示。 图4.4 接收程序流程图第5章 课程设计总结基于CAN
25、总线的温湿度节点设计主要由单片机最小系统、湿度检测电路、温度检测电路、A/D转换电路、键盘电路、显示电路、CAN控制器、光电耦合电路、CAN收发器和电源电路构成。本节点以单片机AT89S52为主控制器,键盘设定温湿度的上下限,由温度传感器检测温室内的温度并经A/D转换后送往单片机,湿度传感器检测湿度值转换为脉冲信号送往单片机,LCD实时显示室内的温湿度值及报警信息,单片机通过CAN总线控制器、光电耦合电路和CAN驱动器连接至CAN总线,与总线的其他节点通信,实现温湿度值的检测、处理及监控。基于CAN总线的温湿度检测系统可以有较大的检测范围,且传输速率较高,便于远程监控和信息汇总及控制,提高了温
26、室变量检测的精度,降低了人工劳动强度,具有较高的效率。参考文献1 张凤登现场总线技术与应用J北京:科学出版社,2008.4 2 李金刚,永鸿基于AT89C51型单片机的CAN总线智能节点设计J闰外电子元器件,2006(8 ):26-29 3 邹琳军,运涛基于SJAl000的CAN总线系统智能符点设计J单片机与嵌入式系统应用,2001(7):147-1514 邬宽明等CAN总线原理和应用系统设计北京航空航天人学出版社,1998.85 李德良基于寄生传输的检测报警系统大连理工大学硕士学位论文,2000.3 6 刘军 张侃谕CAN总线技术在温室计算机控制系统中的应用J自动化仪表,2002,23(11
27、):53-56 7 宋纪恩CAN总线在白动化系统中的应用J农村电气化,2006年第l期,36-378 夏继强,邢春香现场总线工业控制网络技术M北京:北京航空航天大学出版社,2005.59 何黎明,饶家明,田作华基于现场总线的温室分布式控制系统M计算机工程,2002,28(4):222-22310 部宽明CAN总线原理和应用系统设计M北京:北京航空航天大学出版社,199611 李真花,崔健CAN总线轻松入门与实践北京:北京航空航天大学出版社,2011.1附录主程序:SJA_RST = 1; SJA_CS = 0;EX1 = 1; IT1 = 0; IT0 = 1; EX0 = 1; EA = 1
28、; SJA_CS = 1; _nop_();_nop_(); while(1)key();ad();_nop_();_nop_();Rxd_deal(); Txd_deal(); lcd(0,Txd_data); SJA1000初始化子程序:BCANADR=BTR0; *BCANADR=0X00;BCANADR=BTR1;*BCANADR=0X1C; *BCANADR=0X48; BCANADR=ACR; *BCANADR=0XAA; BCANADR=AMR; *BCANADR=0XFF; BCANADR=OCR; *BCANADR=0X1A; CAN收发程序:BCANADR=CMR;*BCANADR=0X04; BCANADR=TXB0;*BCANADR=0X40; BCANADR=TXB1;*BCANADR=0X48; BCANADR=TXB2;*BCANADR=0X11;BCANADR=TXB3;*BCANADR=0X22;BCANADR=TXB4;*BCANADR=0X33;BCANADR=TXB5;*BCANADR=0X44;BCANADR=TXB6;*BCANADR=0X66;BCANADR=TXB7;*BCANADR=0X77;BCANADR=CMR;*BCANADR=0X01;
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1