已阅读5页,还剩59页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
AbstractSJ005-1CHANGZHOU INSTITUTE OF TECHNOLOGY毕 业 设 计 说 明 书题目:基于Modbus总线的测控系统设计二级学院: 电子信息与电气工程学院 专 业: 自动化 班级: 10自2 学生姓名: 郭义荣 学号: 10020611 指导教师: 廉春原 职称: 讲师 评阅教师: 职称: 2014 年 6 月Abstract摘要在当今快速发展的社会,随着工业生产规模的不断扩大,以及对生产过程集中监控的迫切要求,现场总线技术应运而生,并且它已经成为了当今测控技术方向研究的的重点之一。modbus协议作为现场总线大家庭的一员,由于结构简单,价格便宜等优点,已经被广泛用于工业生产。本课题利用温湿度传感器对温度、湿度等环境参数进行测量,并设计了基于modbus协议的多节点测量控制系统。本设计主要是基于modbus协议,利用单片机,结合传感器技术,实现了对温度,湿度的实时采集与上位机显示。主机利用LCD1602来显示环境参数,以及利用按键开关来控制继电器、直流电机等等,来模拟工业现场控制。本系统实现的功能是基于modbus协议利用RS-485总线实现串行通信,发送实时数据给主机,并且用主机来控制从机,最后实现了多个节点通信。本文分别从硬件和软件等方面来阐述该测量控制技术的实现。关键词: Modbus协议 RS-485 传感器 继电器 串行通信AbstractIn todays fast-developing society, with the urgent requirements continue to expand the scale of industrial production, as well as centralized monitoring of the production process, fieldbus technology came into being, and today it has become one of the key research directions of measurement and control technology. The modbus protocol ,as a big family of fieldbus , because of its simple, cheap, etc. are widely used in industrial production.This topic using temperature and humidity sensor to measure environmental parameters such as temperature, humidity, and designed a multi-node measuring control system based on modbus protocol.This design is mainly through modbus protocol design using microcontroller, combined with sensor technology, temperature, humidity real-time acquisition and PC display. Host use LCD1602 to display the environment parameters, and the use of button switch to control relay, dc motor, etc., to simulate the industrial field control. The function of this system is based on modbus protocol using RS - 485 bus to realize serial communication, real-time data to the host, and to control the machine with the host, finally realized the multiple nodes communication. This paper respectively from the hardware and software aspects to illustrate the implementation of the measurement control technology.Key words: modbus protocol RS-485 sensor relay Serial communication目录目录第1章 绪论11.1 课题来源11.2 设计内容21.3 章节概述21.4 本章小结3第2章 设计方案42.1 方案概述42.1.1 主/从机的连接42.1.2 主机的概述52.1.3 从机的概述52.2 方案选择62.2.1 通讯协议的选择62.2.2 通信接口方式的选择72.2.3 电机驱动的选择82.3 本章小结8第3章 Modbus协议概述与应用93.1 Modbus协议概述93.2 传输模式93.3 Modbus消息帧103.4 错误检测方法123.5 Modbus的编程方法133.6 本章小结13第4章 硬件电路的设计144.1 主机上的硬件144.1.1 单片机最小系统144.1.2 通讯电路MAX485154.1.3 LCD液晶显示164.1.4 键盘模块电路174.2 从机上的硬件184.2.1 单片机最小系统184.2.2 MAX485接口电路184.2.3 温湿度传感器184.2.4 直流电机驱动电路194.2.5 继电器模块214.3 本章小结21第5章 软件设计225.1 主机软件设计225.1.1 主机主流程工作225.1.2 主机Modbus设计235.1.3 液晶显示程序设计275.1.4 按键软件设计295.2 从机软件设计315.2.1 从机主流程设计315.2.2 从机Modbus设计325.2.3 温湿度传感器设计345.2.4 电机设计345.2.5 继电器设计355.3 本章小结36第6章 系统的调试376.1 焊接问题376.2 键盘模块的设计376.3 液晶显示设计376.4 电源问题386.5 本章小结38总结39参考文献40致 谢42附录A43附录B45附录C46附录D53第1章绪论第1章 绪论随着科学技术不断进步,计算机技术得到了快速发展,导致了自动化系统的深刻变革。随着微处理器与计算机性能的不断增强,价格急剧下降,计算机与计算机网络系统得到快速发展。而自动化系统由于设备之间采用传统的单对单连线,用电压或者电流的模拟信号进行测量控制,难以实现系统之间信息交流,使得自动化系统成为“信息孤岛”。1.1 课题来源随着工业设备的的发展,其逐渐从单一独立系统向DCS(集散控制系统)过渡,所以我们设计了基于modbus协议实现下位机对数字电压,电流信号的采集。经过modbus协议,我们可以在控制器之间、控制器和其他控制设备之间实现通信。目前,Modbus协议已变成一种通用的国际工业标准。通过Modbus协议,不同的制造商制造的设备可以连接成用于工业生产的网络,来对系统集中测量监控。现场总线技术是当今自动化领域技术发展的热点之一,被人们誉为自动化领域的计算机局域前,现场总线已经由4-20mA电流信号升为数字信号,解决了现场远距离通信的问题,并且提高了抗干扰能力,增加控制系统的灵活性,节约了硬件成本,是未来发展研究的主攻方向。现场总线技术的出现,对该领域技术发展起到巨大作用。而本设计所基于的modbus协议更是现场总线中应用比较广泛的一种总线技术,其他总线技术还包括,CAN,LonWorks等等。相对于其他现场总线来说,modbus总线具有价格便宜,结构简单,安装方便等优点,并且与DCS兼容。随着科学技术的不断进步与发展,信号测量监控模块作为工业生产过程中得到广泛应用,传感器作为其中的一种得到广泛应用。比如温度传感器,湿度传感器控制在电子测温,电子测湿,工业控制、家用电器、医疗仪器等各种温度控制系统中具有广泛应用,并且由过去的单点测量向多点测量发展,可谓发展极快。目前温度传感器有模拟化和数字化两类传感器,为了克服模拟传感器和微处理器接口时需要A/D转换器和信号调理电路的缺点,很多多点测温控制系统均是采用数字传感器,这大大方便了系统的设计。在实际工业生产及日常生活中,为了防止局部的温度和湿度过高或过低的情况,需要对某个空间内多个点进行温度湿度的监测,如在冷库测温系统、粮库测温系统、中央空调系统、智能建筑自控系统等多种系统中均需要多点温度测量和湿度测量。为了改善监测人员的工作条件,监测人员常常需要对对象进行远距离监测,并且进行有效的控制。所以,多点远程监测在实际生产中具有十分重要的应用价值。1.2 设计内容此次专业综合设计采用单片机,MAX485驱动,液晶显示模块,电机驱动模块,继电器模块,温度传感器,湿度传感器,模数转换,上位机监控程序,应用单片机内部集成A/D转换器完成对实时电压模拟量的采集和处理,这里的模拟量可以选择温度,湿度,浓度等,而上位机对下位机进行参数读写、显示、报警等,通过对电机驱动,继电器驱动,温度传感器控制,湿度传感器控制,从而实现了一套完整可靠的信息采集监控系统,达到集中控制,分散管理的效果。上位机和下位机通过Modbus通讯协议来进行数据的采集,监控。该设计电压采集范围在02.2V,误差范围可控制在0.5mV。此设计用比较有代表性的数字式温度传感器。而对于开关控制方面,本设计用电机驱动ULN2003或者L298,外加直流电机连用。此外本设计还加上继电器模块,液晶显示模块,体现设计板块功能多样化。该系统具有使用方便、测量精确、稳定性高、可性强等优点,可以在很多领域应用,如温度、湿度、液位、压力、电压等物理量的采集和监控,并且可以根据采集到的数据进行处理,然后对多个节点的各自的不同效果进行调整。随着我国的国力得到发展,经济的腾飞,我国在科技和生产等领域都取得了飞速的发展和进步,因此发展以modbus协议为载体的测量技术技术和开关控制技术非常有意义,并且很有必要。目前在国内使用的modbus产品大部分来自国外,国内很少有独立的只是产权。这就是modbus产品在国内的现状。因此本次课题我选择基于modbus协议的总线测量控制系统的研究。本设计实现多节点与上位机的modbus协议的通讯,通过单片机的功能模块进行A/D转换,上位机上液晶屏的显示,继电器的控制,直流电机的运转,通过串口实现下位机与上位机的通信。1.3 章节概述本论文的第一章是绪论,概述现场总线的发展现状,发展趋势,分析信号测量模块在工业中应用的重要性,然后介绍了基于modbus协议的产品的优缺点以及本次我选择设计的大概构架。第2章 是设计方案的选择,通过典型方案,器件进行对比,分别论述各自优缺点,然后最后做出最优器件的选择,并且论证涉及的可靠性,功能性,最后确定设计方案。第3章 是对本次设计的核心modbus协议的研究与介绍,主要包括modbus协议的概述,数据传输模式,Modbus通信原理以及错误校正方法等等。第四章是硬件电路的设计与实现,首先对各个硬件模块进行介绍,包括硬件结构,功能说明,硬件的连接以及原理图的绘制等等。第五章是概述软件的主要设计模块,然后分别介绍各个子模块的工作流程,以及如何把这些子程序连接起来,其中重点是流程图的绘制。第六章主要是对软件、硬件进行调试,对调试过程中的一些问题给予说明以及自己在调试过程探索解决问题的方法。第七章是对本次设计的整体总结,包括设计中的优点以及一些没有实现的缺点等,还可以包括自己在设计过程的心得等。1.4 本章小结本章具体介绍当今现场总线的现状及发展趋势,又进一步的论述了Modbus协议的特点。基于这一背景下,开始研究基于Modbus协议的相关测量控制系统的设计。下一章介绍对于本系统的对各种方案的对比,以及详细方案的介绍。3常州工学院电子信息与电气工程学院毕业设计说明书第2章 设计方案2.1 方案概述本方案是基于Modbus协议的测量控制系统的设计,通过Modbus协议,经RS485总线,连接上位机和下位机(或者称为“主/从机”),实现系统的通信功能。主机、从机分别连接各自测量监控所需要的器件或电路,相互配合,从而实现远距离对工业生产现场的实时监控,确保工业生产的安全进行。2.1.1 主/从机的连接主机、从机各自均可以独立工作,但是在本系统中,要想实时对数据进行采集、监控,必须主机、从机相互配合,通过RS485总线将二者连接起来,并且软件方面通过modbus协议进行控制,这点后面会详细介绍。在主/从机配合下,工业生产才能够正常进行,RS485总线起到关键作用。主机、从机的连接如图所示2-1。主 机从机4从机1RS485总线从机2从机3图2-1 主/机连接框图2.1.2 主机的概述主机在控制系统中,对来自从机的数据进行接收、分析,实现对众多从机的整体控制与监测,是整个系统能够正常工作的核心,具有不可替代的作用。主机选用单片机,分别与LCD液晶显示电路,按键电路,RS485总线连接,通过485总线接收来自从机的数据信息,经过分析在液晶屏上显示,并且通过485总线把控制信息作用于各自从机。主机的结构框图如下图2-2。单片机液晶显示RS485通信按键控制图2-2 主机的结构框图2.1.3 从机的概述从机在控制系统中,发挥的作用同样很重要。一般来说,从机直接连接检测电路,随时监控现场的情况,例如,温度、湿度、烟雾浓度、液位等等,并且从机要把监测到的情况,实时地通过RS-485总线传输到主机,然后,主机将情况分析后,通过从机来间接地实现对工业现场的控制。同样,此处从机也选用单片机,从机要同温度传感器、湿度传感器、继电器、直流电机、RS485总线等连接,通过这些测量元件对现场的实时测量,可以把各种环境参数和控制参数尽数地返还主机,同样这里,RS-485总线起到了传输的关键性作用。本次课题要求多节点测量监控,可能要同时检测不同地点的控制参数,显然一个从机是远远不够的,所以,需要多台从机,相互配合,共同来完成工业生产和生活的要求。从机的结构框图如下图2-3(此处仅对一个节点进行叙述,其它节点类似)。RS485通信单片机 继电器温度传感器直流电机湿度传感器 图2-3 从机的结构框图2.2 方案选择2.2.1 通讯协议的选择现场总线是一种应用于生产现场,在设备之间、设备与控制装置之间实行双向、串行、多节点数字通信的技术。由于技术以及利益原因,目前国际上存在几十种现场总线标准。此处,本设计只比较Modbus、CAN、RS-232、RS-485的特点,最终结合实际情况,选择合适的通信协议。1、 Modbus协议是应用于控制器上的一种通用语言。通过此协议,控制器之间、控制器与其它控制设备之间可以实现串行通信。该协议现在已经成为通用工业标准。不同生产商生产的设备可以相互连成网络,来对工业生产情况进行集中监控。此协议还对控制设备所应用消息的结构进行了定义,而不论它们网络通信的种类。它对控制器访问其它控制设备的整个过程和响应来自不同设备的请求方式进行了介绍。当Modbus网络通信时,此协议要求每个控制器必须知道它们的设备的地址,识别按地址发来的信息,决定要产生何种动作。如果需要响应,控制器将生成反馈信息并用Modbus协议发出。标准的Modbus接口使用RS-232兼容串行接口,控制器通信使用主-从技术,Modbus协议提供主从原则。Mosbus网络通信提供了两种传输模式,分别为ASCII和RTU。协议包括奇偶校验、LRC校验、CRC校验。目前,实现Modbus通信的方式包括:(1)、TCP/IP,(2)、各种介质如RS232、RS422、RS485、光钎等串行通信,(3)、一种高速令牌传递网络52、CAN是控制器局域网的简称,其最早提出主要是汽车的内部数据的测量和执行部件之间数据的通信。CAN协议是建立在ISO的开放系统互连模式基础上的,不过其模型结构只有OSI的应用层、数据链路层和物理层。双绞线作为其进行信息传输的介质,通信的速率很高,可达到1Mbit/40m。CAN协议传输时间短,受干扰的频率低。CAN协议支持多主方式工作,网络上任何节点均可在任意时刻主动向其它节点发送信息,支持点对点、一对多、全局广播方式接收发送数据。采用总线仲裁技术。CAN总线协议已被国际标准化组织认可,技术比较成熟,控制的芯片已经商业化,性价比高,特别适用于分布式测控系统之间的数据通信。3、对于RS232,RS485来说,已经不能称为现场总线,但是作为现场总线的鼻祖,还有许多设备沿用这些通信协议。RS232主要用于APPLE机,以接外设终端为主,收发共地通信,而RS485是为了实现高速率、远距离而设计点对多的通信方式。由于RS-232的种种缺点,新的串行接口RS-485是美国电气工业联合会(EIA)制定的利用平衡双绞线来进行通信的标准。RS-485协议主要适用于远距离、多点通讯、高灵敏度等通讯系统。采用RS系列通信,具有设备简单、低成本等优点,仍具有一定生命力。以RS485为基础的OPTO-22命令集等在许多系统中得到广泛的应用。结合实现的功能,考虑现有总线,以及具体的要求,最终决定选用Modbus协议作为本次信息传输的标准。2.2.2 通信接口方式的选择从通信方式来看,有两种通信总线方式可以选择,分别是RS-232总线和RS-485总线。方案一:运用RS-232总线方式,RS-232连接插头用25针,或者9针的EIA连接插头座,包括一个主通道和一个辅助通道,在大多数情况下,只需要使用主通道,对于一般的双工通信,只要几条信号线就可以实现,实际情况只用到TXD,RXD,GND三根线,共模抑制能力差,再加上双绞线上的分布电容,其传输距离最大为15m,最高速率为20Kbit/s,通信距离较近,不适合远距离传输。当然,若减小电缆的电容量,可以适当延长通信的距离。并且由于RS-232属于单端信号的传输,存在共地噪声,一般用于20M以内的通信,并且由于RS-232用于一对收发设备通讯,所以只适合本地设备之间的通讯。方案二:RS-485总线方式,它是外部串行总线,RS-485接口采用二线差分平衡传输,平衡发送和差分接收的特点使其可以抑制共模干扰,差分电路的最大优点是抑制噪声。差分电路另一个优点就是不受节点间接地电平差异的影响。最大传输距离为1200m,最大传输速率为10Mbit/s,在远距离传输时可以免受其他输入信号的影响,还具有总线收发器灵敏度很高,能检测到低于200mv的电压信号。RS-485价格比较便宜,能够很方便的添加到任何一个系统中去,还支持比RS-232更长的距离,更快的速度以及更多的节点。并且可以看出RS-485更适合用于多台计算机或者带微控制器的设备之间的远距离数据通信。RS-485采用半双工工作方式,任何时刻只能有一点处于发送状态,所以 发送信号必须使能信号加以控制。由于RS-485的种种优点,它已经成为众多工程师的首选串行接口。所以基于RS-485的优点,本次设计我也选择方案二作为通信方式。而MAX485是用于RS-485通信的低功耗收发器,MAX485驱动器摆率不受限制,可以实现较高的传输速率,并且接收器输入具有失效保护特性。性价比高,优质,供货稳定,是的其应用非常广泛。2.2.3 电机驱动的选择我们所用到的电机 一般为直流电机,直流电机控制简单,性能出众,直流电源易实现。常用电机驱动芯片主要有ULN2003,L298等。1、ULN2003是高耐压,大电流复合晶体管阵列,由7个NPN复合晶体管组成。ULN2003灌电流可达500mA,并且能够在关态时承受50V 的电压,输出还可以在高负载电流并行运行。ULN2003还集成了一个消线圈反电动势的二极管,可用来驱动直流电机或者继电器等。具有温度范围宽,电流增益高,带负载能力强等特点,适用于各类要求高速大功率的驱动的系统。 2、L298内部包含4通道逻辑驱动电路,是一种二相和四相电机的专用驱动电路。可驱动46V,2A以下的电机,电流相对来说比较小。而且还必须外接大量二极管,比较麻烦。所以经过综合考虑,加上结合现有器件,最终决定选用ULN2003作为电机驱动。 2.3 本章小结本章对主机、从机以及主/从机的连接进行了简单的论述,确定了本系统的整体结构框图。其次对本系统涉及到的方案进行了论述,介绍了通讯协议、通信接口以及电机模块的方案选择。下一章将会对Modbus协议进行详细的介绍第3章Modbus协议概述与应用第3章 Modbus协议概述与应用本设计中除了RS485对电气特征作了规定,还需要用到Modbus协议,它约定了一种通信规程,包括对数据传输模式、传送速度、传送步骤、错误校正以及Modbus的编程方法等内容的统一规定。3.1 Modbus协议概述Modbus协议是应用于控制器上的一种通用语言,在工业制造等领域中得到广泛应用。它主要基于RS485总线进行通信,可以实现控制器之间、控制器与其它设备之间的通信。目前,该协议已经成为一种通用的工业标准,通过该协议,不同生产商生产的设备可以连接成工业网络,实现集中检测与控制。该协议制定了消息域格式和内容的公共格式。在Modbus网络通信时,必须知道每个控制器的设备地址,识别地址,并且决定执行什么动作。如果需要响应动作,控制器会生成反馈信息并且用Modbus协议发送出去。 而在其它类型网络上实现通信时,控制器使用对等技术实现通信,即任何设备都能初始化和实现对其它控制器的通信。在消息级上,尽管网络通信是对等的,但是Modbus协议提供了主从原则,即在总线上只能有一个主机控制整个网络,其余 均为从机,主机发送命令,从机只能接收命令并回应,从机之间不能通信,必须通过主机进行数据的交换。3.2 传输模式Modbus协议传输模式主要包括:ASCII模式和RTU模式。控制器能够在Modbus协议下选择传输模式来实现通信。在通讯时,用户必须选用适合的模式。在设置每个控制器的参数时,在同一个Modbus通讯网络上,使用的设备一定要选择相同的传输模式以及串口参数。ASCII模式如表3-1所示。表3-1 ASCII模式:地址功能代码数据长度数据1.数据nLRC高字节LRC低字节回车换行RTU模式如表3-2所示表3-2 RTU模式地址功能代码数据长度数据1.数据nCRC高字节CRC低字节在Modbus通讯网络上,传输模式对传输消息的位信息、消息域、解码方式等等进行了说明。在其他网络上,Modbus消息将变成帧数据,这些数据与串行传输基本没关系。这两种不同的传输方式与从机上PC机的通信能力是对等的。值得注意是,选择传输模式时根据Modbus主机决定,当然,每个Modbus协议通信的系统只能选择一种传输模式,不允许两种模式同时选用。3.3 Modbus消息帧 Modbus通信通常以消息帧作为一个单位进行传输,ASCII和RTU的信息帧是不一样的。两种传输模式中(ASCII和RTU),传输设备可以将Modbus消息转换为有起点和终点的消息帧,这就允许接收的帧在消息起点处开始工作,读地址分配信息,进行判断哪一个设备被选中以及判断何时消息已完成。有时部分的消息也能侦测到并且能将错误设定为返回结果。ASCII帧:当使用ASCII模式时,消息以冒号“:”开始,以回车换行符结束。其它域可以使用的传输字符一般为:0-9,A-F(十六进制)。设备不断来回侦测“:”字符,若接收到一个“:”时,每个设备将解码下个地址域,用于判断发送的最终设备。发送消息时,字符间发送的时间间隔在1s以内,否则接收设备当作在传输过程中出现了错误。典型的消息帧如表3-3所示。表3-3 ASCII帧起始位设备地址功能代码数据LRC结束符1个字符2个字符2个字符N个字符2个字符2个字符RTU帧: 典型的消息帧如表3-4所示。表3-4 RTU帧起始位设备地址功能代码数据CRC校验结束符T1-T2-T3-T48bit8bitN个8bit16bitT1-T2-T3-T4表3-3与表3-4分别给出了两种通信模式的帧格式,表3-5给出了两种通信模式的比较。 11表3-5 通信模式ASCII和RTU的对比项目ASCII模式RTU模式字符0-9,A-F二进制0x00-0xFF差错校验LRCCRC帧起始标志“:”3.5个字符间距帧结束标志CR/LF3.5字符间距数据间隔1s单字符时间的1.5倍起始位1b1b数据位7位8位奇偶校验奇/偶校验或没有校验奇/偶校验或没有校验停止位1/2位1/2位 在本次设计中,源程序选择RTU通信模式,所以下面进一步说明一下该模式。RTU消息帧的前后至少需要3.5个字符时间的停顿,设备地址即从机地址,是RTU模式传输的第一个字段,首先主机发送的从机的地址将会被所有从机接收到,然后将进行解码判断是否与本从机相匹配,匹配的从机将接收后续数据,不匹配的将等待新的消息。RTU消息帧以连续的字节流进行传输的。当使用RTU字符帧时,位的序列是:有奇偶校验位:起始位 1 2 3 4 5 6 7 8 奇偶位 停止位没有奇偶校验位起始位 1 2 3 4 5 6 7 8 停止位 停止位在本程序中,将用TIMER0定时器来控制1.5个字符时间和3.5个字符时间间隔。所选用的波特率为9600b/s,每比特时间为1/9600us,在串口模式1下,发送的字符时,输出1个起始位、8个数据位、1个停止位,所以每一个字符时间为1/9600(1+8+1)=1041.66us,当然因为中断程序是在接收一个字符后在判断时间间隔,所以下面对帧间隔时间(3.5字符)和帧内字节间隔时间(1.5字符)分别定义:/波特率为9600b/s,每个字符时间为:1/9600(1+8+1)=1041.66us/帧 间:3.5字符时间为;1041.66(3.5+1)=4687.5us/字节之间:1.5个字符时间:1041.66(1.5+1)=2604.2us相应的宏定义为:#define FRAME_SPAN 4688 /相邻帧之间的间隔时间#define BYTE_SPAN 2604 /帧内字节之间的间隔时间3.4 错误检测方法 在标准的Modbus串行网络中,有两种错误检测方法:奇偶校验和帧检测。奇偶校验对每个字符都有用,帧检测包括LRC、CRC,应用于整个消息。在消息发送前由主设备产生的,从设备在接收过程中需要检测每个字符和整个消息帧。1、 奇偶校验用户可以配置控制器是奇校验、偶校验,或者没有校验,这取决于奇偶校验位的设置。若规定了偶校验或者奇校验,“1”的位数在字符中的位数基本就决定了,其中ASCII模式:7个数据位,RTU模式:8个数据位。例如:在RTU字符帧中,有数据位:11000011。帧的“1”的总个数为4,若采用偶校验方式,奇偶校验位为0,保证“1”的总数为偶数;若采用奇校验,奇偶校验位为1,保证“1”的总数为奇数。注意,若没有指定奇偶校验,则传输时没有奇偶校验位,此时也不进行奇偶检测,附加的停止位放在要传输的字符帧中。2、 LRC检测在ASCII模式中,消息采用LRC方法。当然,LRC域包含一个8位二进制的字节数据。用传输设备来得出LRC的值并放到对应的帧去,接收设备得出LRC,并将它和接收到的消息中的LRC域的值进行比较,如果比较不相等,说明检测过程有错误。LRC检测方法:把消息中的8位的字节进行累加,此处不必考虑进位情况。3、 CRC校验在RTU模式中,用CRC方法进行检测。CRC域包含两个字节,接收设备得到接收数据的CRC,并将它与以前得到的CRC值比较,如果比较不相等,则说明有错误。在CRC校验产生过程中,每8位字符都单独和寄存器内容相或,结果向最低有效位移动,最高有效位以“0”补齐,LSB进行检测,如果LSB为1,寄存器单独和预置值相或;若干LSB为0,则不进行。整个过程要重复8次,在最后一位(第8位)完成后,下个8位字节数据又将单独和寄存器的当前值相或。最终寄存器的值,是消息中所有的字节都执行后的CRC值。CRC添加到消息中时,低字节先加入,高字节后加入。11在本设计中,RTU通信模式中,每个数据帧最后2字节是CRC16校验字节,此处对如何设计MODBUS RTU通信模式所使用的CRC-16校验程序不详细介绍,具体程序见附录。3.5 Modbus的编程方法在RTU模式中,由帧的格式可以看出,在完整的一帧消息开始传输时,必须和上一帧消息之间有3.5个字符时间的间隔,而且在传输过程中,两个字符之间不能大于1.5个时间。所以,在编程时首先应该注意考虑1.5和3.5字符时间。1、 设置字符时间例如,当波特率为2400bit/s时,可得1.5和3.5个字符时间为:111.5/2400=6875us 113.5/2400=16041us经过考虑可知,将两个时间段使用相同的定时器,可以节约定时器,定时时间可以取1.5和3.5的最大公约数,就是0.5个字符时间,与此同时,把计数器变量设置为x、y,在判断开始启动时间时,将x和y清零。在其中断的服务程序中,只需要对x、y进行加一运算,并同时判断是否加到3和7。若x=3时,表示1.5字符的时间已到,此时将1.5字符的时间到的标志置成1,并将x清零;当y=7时,说明3.5字符的时间已到,此时将3.5字符的时间到的标志置成1,并将y清零。波特率从1200bit/s至19200bit/s,定时器定时时间均用此方法计算。2、 接收数据帧的编程方法Modbus通信时,设定每个字节为11位,包括起始位(1)、数据位(8)、停止位(2)、没有奇偶校验位。如果接收数据时,用串行口的中断,那么中断的服务程序每一次只接收并且处理1个字节数据,定时器判断时序。在接收新数据时,接收第一个字节后,把FLAG置位成0AAH,表明当前正在接收有效帧,在接收帧时,一旦出现时序问题,则将FLAG置位为55H,表示此帧无效。此后,接收到的剩余字节还放入接收缓冲区,FLAG不变,直到接收到3.5字符时间间隔后的新数据的第一个字节,主程序根据FLAG标志判断是否有有效数据帧需要处理。3.6 本章小结本章主要对Modbus协议进行概述,详细介绍了协议的主要内容、两种传输模式、消息帧、错误校正方法以及Modbus的编程方法。因为该协议是本设计能够实现通信的依据,所以具体介绍是必要的。下一章将会对硬件设计进行说明。常州工学院电子信息与电气工程学院毕业设计说明书第4章 硬件电路的设计4.1 主机上的硬件 主机上的硬件主要包括:单片机、RS-485总线、LCD液晶显示电路、键盘模块。4.1.1 单片机最小系统STC89C52是STC公司生产的一种高性能,低功耗的CMOS 8位微控制器。具有 8K 可编程Flash存储器。在单芯片上,拥有灵巧的8位CPU 和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。 STC89C52使用经典的MCS-51内核,改进后使得芯片具有传统51单片机不具备的功能。具有以下标准功能: 8KB ROM,512B RAM, 32 位I/O 口线,内置4KB EEPROM,MAX810复位电路,3个16 位T/C,4个外部中断,全双工串口。另外 STC89C52 工作频率范围为0-40MHZ,属于增强型8051单片机,完全兼容传统的51单片机, 静态的逻辑操作,支持2种软件并且可以选择节电的模式。在空闲模式中,CPU的工作将停止,定时器/计数器、RAM、中断、串口可以继续开展工作。当保护方式为掉电方式时,将保存RAM中的内容,并且将冻结工作的振荡器,以及将使单片机所有的工作暂停,一直等到下一个硬件复位或者中断为止。最高运作频率35MHz,6T/12T可选。选用STC89C52单片机完全能满足本设计的需求。其最小系统内部结构图如图4-1所示。图4-1 单片机最小系统4.1.2 通讯电路MAX485为了方便上位机完成现场数据的采集和各种控制任务,设计中一般有两种通信接口:RS232接口和RS485接口。在本次设计中,我选择RS485通信接口,它在modbus协议下,能够使得上位机与下位机正常通信,实现数据的有效传输。在使用RS485总线时可莪能会遇到两个问题,一是通信数据可靠性问题;二是多机通信下,一个节点的故障往往会导致整个系统的崩溃。为了解决这些问题,必须保证,系统上电复位时每个分节点的485芯片的DE端电位为“0”,节点处于接收状态。除了上述总线问题需解决,还需对输出电路的参数进行精心设置。通常,通信数据的波特率在4800波特以上,另外通过优化光耦电路参数的设计,可以使之工作于最佳状态。MAX485接口芯片是Maxim公司的一种RS485的芯片。MAX485是用于RS485与RS422通信的低功耗收发器,采用电源为+5V,其额定电流是300uA,半双工的通信方式,它完成将TTL电平变成RS485的电平功能。其引脚结构如图1,从图中可看出MAX485的芯片结构引脚相当的简单,其包括一个接收器与驱动器。RO和DI用于驱动器数据的输入端口和接收器数据的输出端口,在同单片机相连接时,仅仅需要同RXD、TXD端相连;/RE和DE端作为使能端,主要用于接收和发送数据。当/RE为0时,使能端为接收数据的状态,当DE端为1时,使能端处于发送数据的状态,由于MAX485工作时处于半双工的工作状态,所以只需用单片机的一个管脚控制这两个引脚即可;A端和B端分别为接收和发送的差分信号端,当A引脚的电平高于B时,代表发送的数据为1;当A的电平低于B端时,代表发送的数据为0。在与单片机连接时接线非常简单。只需要一个信号控制MAX485的接收和发送即可。同时将A和B端之间加匹配电阻,一般可选100的电阻。MAX485主要应用于工业控制局域网、电平转换器、低功耗RS-485收发器、用于EMI敏感应用的收发器等等。其原理图如图4-2所示。图4-2 MAX485原理图4.1.3 LCD液晶显示显示部分的任务是显示采集现场的信号测量以及对现场控制量的监控,在本次设计中,由于要显示温湿度传感器的实时测量结果,而且必须对继电器,直流电机的通断、运转,实时监控,所以综合考虑,外加现有器件的因素,最终决定运用一块液晶显示屏,其与上位机直接连接,直接显示处理过的数据和开关的通断状态,使操作者能够轻松完成工作任务。此处选择LCD1602液晶显示电路,此液晶显示为工业字符型液晶,能够同时显示16*02即32个字符,字符型LCD1602通常有14条引脚线或者16条引脚线的LCD,多出的两条线是背光电源线VCC(15),地线(16),其控制原理与14引脚的LCD完全一样,引脚定义如下表4-1:引脚定义如下:表4-1 LCD1602引脚图引脚号引脚名电平输入/输出作用1Vss电源地2Vcc电源(+5v)3Vee对比调整电压4RS0/1输入0:输入命令 1:输出命令5R/W0/1输入0:向LCD发送数据或指令 1:从LCD读取信息6E1,1-0输入使能信号:1时,信息的读取,1-0时执行指令7DB00/1输入、输出数据总线L0(最低位)8DB10/1输入、输出数据总线L19DB20/1输入、输出数据总线L210DB30/1输入、输出数据总线L311DB40/1输入、输出数据总线L412DB50/1输入、输出数据总线L513DB60/1输入、输出数据总线L614DB70/1输入、输出数据总线L7(最高位)15A+VccLCD背光的电源+极16K接地LCD背光的电源-极1602液晶模块内部的字符发生存储器已经存储了160个不同的点阵字符图形(无汉字),每个字符都有一个固定的代码,比如大写字母A,代码为01000001B(41H)。显示模块把地址41H的点阵字符图显示出来,我们就能够看到字母A。1602液晶可以有蓝底白字,或者绿底黑字,它们唯一的区别就是颜色的问题。15常州工学院电子信息与电气工程学院毕业设计说明书LCD液晶显示的电路原理图,如图4-3所示:图4-3 1602原理图4.1.4 键盘模块电路在本设计中,由于用到在上位机上,通过按键来控制与下位机连接的继电器,直流电机等,所以我选择操作简单,价格便宜,实用性比较强的带有按键开关的键盘模块。通过键盘模块,我们可以向系统发送各种指令或置入必要的数据信息,键盘模块的好坏,直接关系到系统的可靠性和稳定性。常用的键盘接口可分为独立式按键接口、行列式按键接口、专用芯片式等。具体用哪种,可根据实际情况来定。在对键盘的扫描中可采取程序控制方式,一旦进入键盘扫描状态,则可以反复扫描键盘,等待用户从键盘上输入命令或数据。实现的硬件构成4*4行列式的键盘矩阵,用1个电阻将行线拉到VCC,即5V电压,按键中的一个引脚和行线相连,另外1个引脚和列线相连,一般情况下,列线为低电平,没有按键按下时,保持行线为高电平,而有按键按下时,将会把行线变为低电平,此时,控制器只知道哪一行,所以,需要键盘扫描,以确定哪个按键已经按下。键盘扫描的过程就是将列线变为低电平,然后读取行状态,直至行出现低电平,这时可知哪一列是低电平,然后得到相应的编码,这样就完成了键盘的扫描。另外,本设计中需要一个独立按键来控制液晶显示的切换,显示不同从机的参数。键盘模块的原理图如图4-4 所示(另加一个独立按键)。图4-4 键盘模块原理图4.2 从机上的硬件从机上的硬件主要包括:单片机、RS-485接口电路、温湿度传感器、直流电机、继电器等。4.2.1 单片机最小系统此部分与主机中的单片机相同,此处不再重述,见主机详细介绍。4.2.2 MAX485接口电路此部分上面已介绍,此处不再重述,见上面主机介绍。4.2.3 温湿度传感器温度是表征物体冷热程度的物理量,是工业生产和控制中的重要参数之一,生产过程中需要对温度进行检测和监控。和温度一样,湿度也是工业生产过程中重要参数之一,在一些环节需要时刻对湿度进行实时监控,然后根据检测的结果进行调整,确保工业生产的正常进行。同样,选择温度传感器、湿度传感器首先要根据测量范围与测量精度,外加价格,实用性等等,选择合适的传感器。进入21世纪后,智能温度传感器、智能湿度传感器正朝着总线标准化,多功能,高精度性以及安全性等高科技的方向迅速发展。本次设计选择数字式温湿度传感器DHT11,DHT11是一种含有输出数字信号的温湿度复合的传感器。DHT11含有1个电阻式的感湿元件和1个NTC测温的元件,并且和一个高性能8位单片机相连接。所以DHT11具有极快的响应、超强的抗干扰能力、超高19的性价比等特点,为电气爱好者所青睐。DHT11的测量范围为20-90%RH 0-50,测湿精度为5%RH,测温精度为2,分辨率为1。DHT11智能温湿度传感器,可广泛用于工业,民用,军事等领域。采用单总线的接口方式,与微处理器连接时,仅需要一条线即可实现微处理器与该传感器的双向通讯。测量范围广,测量精度高,在使用中不需要任何外围元件。具有多点组网功能,多个DHT11可以并联在唯一的三线上,实现多点测量温度。供电方式灵活,DHT11可以通过内部寄生电路从数据线上获取电源。它具有体积小,接口方便,传输距离远等特点,适用电压更宽,更经济,可选更小的封装方式
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年河北科技工程职业技术大学单招职业倾向性考试题库及答案解析(名师系列)
- 2026年江苏卫生健康职业学院单招职业适应性测试题库附答案解析
- 2026年安徽省黄山市单招职业倾向性考试必刷测试卷及答案解析(夺冠系列)
- 2026年宁夏职业技术学院单招职业技能测试必刷测试卷带答案解析
- 基于深度学习的属性识别
- 房屋所权占合同范本
- 房屋拆迁要求协议书
- 房屋推倒重建协议书
- 房屋整修合同协议书
- 房屋欠款代收协议书
- 计算机组装与维护立体化教程(微课版)(第4版)-课件 项目二选配计算机硬件
- 防感冒主题班会课件
- 华为集团培训管理办法
- 农业育种机密管理办法
- 规程:高职组新材料智能生产与检测赛项规程(学生赛)
- 化疗相关认知障碍及护理
- 碳足迹培训课件
- 公司合并后部门管理制度
- 物理组介绍课件
- 清华大学(沈沉):2025年电力系统数字孪生与人工智能技术报告
- 药品线上禁销协议书范本
评论
0/150
提交评论