ImageVerifierCode 换一换
格式:DOCX , 页数:21 ,大小:251.99KB ,
资源ID:5570169      下载积分:12 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/5570169.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(工业控制网络课程设计.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

工业控制网络课程设计.docx

1、工业控制网络课程设计辽 宁 工 业 大 学 工业控制网络 课程设计(论文)题目:基于CAN总线的舵机加载系统油源温度监控仪的设计 院(系): 电气工程学院 专业班级: 自动化093 学 号: 学生姓名: 指导教师: (签字)起止时间: 2013.1.2-2013.1.11 课程设计(论文)报告的内容及其文本格式1、课程设计(论文)报告要求用A4纸排版,单面打印,并装订成册,内容包括:封面(包括题目、院系、专业班级、学生学号、学生姓名、指导教师姓名、起止时间等)设计(论文)任务及评语中文摘要 (黑体小二,居中,不少于200字)目录正文(设计计算说明书、研究报告、研究论文等)参考文献2、课程设计(

2、论文)正文参考字数:2000字周数。3、封面格式4、设计(论文)任务及评语格式5、目录格式标题“目录”( 小二号、黑体、居中)章标题(四号字、黑体、居左)节标题(小四号字、宋体)页码(小四号字、宋体、居右)6、正文格式页边距:上2.5cm,下2.5cm,左3cm,右2.5cm,页眉1.5cm,页脚1.75cm,左侧装订;字体:一级标题,小二号字、黑体、居中;二级标题,黑体小三、居左;三级标题,黑体四号;正文文字,小四号字、宋体;行距:20磅行距;页码:底部居中,五号、黑体;7、参考文献格式标题:“参考文献”,小二,黑体,居中。示例:(五号宋体)期刊类:序号作者1,作者2,作者n.文章名.期刊名

3、(版本).出版年,卷次(期次):页次.图书类:序号作者1,作者2,作者n.书名.版本.出版地:出版社,出版年:页次.课程设计(论文)任务及评语院(系):电气工程学院 教研室: 学 号学生姓名专业班级课程设计(论文)题目课程设计(论文)任务课题完成的功能、设计任务及要求、技术参数进度计划指导教师评语及成绩平时: 论文质量: 答辩: 总成绩: 指导教师签字: 年 月 日注:成绩:平时20% 论文质量60% 答辩20% 以百分制计算摘 要本文针对目前舵机加载系统油源温度监控的功能,设计了一种基于CAN总线的舵机加载系统油源温度监控系统,实现了利用CAN总线对检测数据的传输功能。该系统主要由现场数据采

4、集模块和总线发送模块构成。现场数据的采集是以STC89C52RC单片机为核心控制单元,外接数字温度传感器DS18B20获得现场加载系统油源温度信号。通过CAN总线控制器SJA1000和CAN总线驱动器PCA82C250将数据发送到CAN总线上,并进行处理,决策是否启动风机和电磁溢流阀为舵机加载系统油源温度进行降温。另外,本文还具有报警电路,对CAN总线也进行光电隔离设计,确保通信的安全性。关键词:CAN总线;单片机;PCA82C250;SJA1000第1章 绪论舵机加载系统用于模拟舵面气动负载或水动负载,电液加载系统能够实现多种加载方式,其中舵机加载系统油源温度监控在一定范围内是保障系统稳定运

5、行的必要条件。因此,舵机加载系统油源温度监控是一项很重要过程。国内生产的温度控制器,总体发展水平仍然不高,同日本、美国、德国等先进国家相比仍然有着较大的差距。目前,我国在这方面总体水平处于20实际80年代中后期水平,为了满足舵机加载系统油源温度监控的需求,在传感器智能控制方案和具体应用中做了大量的研究和可行性分析,开发了一种具有智能化功能的温度监测系统。该系统由数据采集模块和总线信号发送模块组成。其中数据采集模块采用了以单片机STC89C52RC为核心外接传感器的结构框架,保证了系统对加载系统油源温度信号采集的实时性和准确性。发送模块利用总线发送器和驱动器,将数字信号变换成CAN总线上的模拟信

6、号进行传输,从而有效的增加了传输距离。现场总线是当今自动化领域技术发展的热点之一,被誉为自动化领域的计算机局域网。CAN总线的全称为 局域网,属于现场总线的一种,是一种有效支持分布式控制和实时控制的串行通信网络。CAN总线的主要特点有:多主方式工作,各节点不分主从;采用非破坏总线仲裁,不会出现网络瘫痪(以太网则可能);最远通信距离可达10KM,最高通信速率可达1Mbps;采用短帧结构,硬件CRC校验,出错率极低。CAN总线是目前唯一形成了国际标准的现场总线,被公认为最有前途的现场总线之一。第2章 课程设计的方案 概述本次设计主要是综合应用所学知识,设计出基于CAN总线的舵机加载系统油源温度监控

7、仪实现油源温度监控的功能。CAN总线属于总线式串行通信网络,由于其采用了许多新技术及独特的设计,与一般通信总线相比,CAN总线的数据通信具有突出的可靠性、实时性和灵活性。本次设计采用总线式传输形式,而CAN总线具有较为先进的传输协议,且稳定性高,能够实现远距离通信的要求。本系统要求实现的技术参数为:1、CAN总线符合CAN2.0B规范;2、CAN总线通讯速率500kbit/s;3、CAN总线进行光电隔离设计;4、油温检测范围0100,精度0.5;5、继电器负载工作电流为500mA。 系统组成总体结构该系统主要由现场数据采集模块和总线发送模块构成。现场数据的采集是以STC89C52RC单片机为核

8、心控制单元,外接数字温度传感器DS18B20,从而获得现场舵机加载系统油源的温度信号。通过CAN总线控制器SJA1000和CAN总线驱动器PCA82C250将数据发送到CAN总线上。在CAN总线两端需要有120欧的终端电阻,用来抑制回路的反射信号。CAN节点由微处理器、CAN控制器SJA1000、光电耦合器6N137、CAN驱动器PCA82C250构成。CAN控制器SJA1000执行在CAN规范中规定的完整的CAN协议,用于报文的缓冲和验收过滤,负责与微控制器进行状态、控制和命令等信息交换;在SJA1000下层是CAN收发器PCA82C250,是CAN控制器和总线接口,用于控制从CAN控制器到

9、总线物理层或相反的逻辑电平信号,提供对总线的差动发送和对CAN控制器差动接收功能。系统总体框图如图2.1所示图2.1系统总体框图第3章 硬件设计单片机最小系统设计本系统采用STC89C52RC作为控制器,其最小系统一般应该包括单片机芯片、时钟电路、复位电路等几部分。STC89C52RC具有8KB的FlashROM,32个双向I/O口,完全能够满足本设计要求。晶振电路选择12MHZ的外部晶振源,其具有稳定,精确地时钟发生功能。最小系统原理图如图3.1下所示。图3.1 单片机最小系统原理图CAN通信模块 CAN 总线控制器SJA1000 SJA1000是Philips生产的独立CAN总线控制器,它

10、实现CAN总线物理层和数据链路层的所有功能。它是早期的PCA82C200的替代产品。它与PCA82C200在管脚、电气特性上完全兼容,不仅有和PCA82C200一样的基本CAN(BasicCAN)工作模式,而且新增加了增强CAN(PeliCAN)工作模式,这种模式支持具有很多新特性的CAN2.0B协议。对于单片机来说,只要把它看成一个基本的I/O设备即可,使用非常简单、方便。其功能框图如图3.2 。图 3.2 SJA1000功能框图SJA1000的主要特性如下:(1)扩展的接受缓冲器(64字节,先进先出FIFO)。(2)和CAN2.0B协议兼容。(3)同时支持11位和29位识别码。(4)位速率

11、最高可达1Mbits/s。(5)支持多种微处理器接口。(6)增强的温度适应性。光电耦合器6N1376N137光电耦合器是一款用于单通道的高速光耦合器,其内部有一个850 nm波长AlGaAs LED和一个集成检测器组成,其检测器由一个光敏二极管、高增益线性运放及一个肖特基钳位的集电极开路的三极管组成。具有温度、电流和电压补偿功能,高的输入输出隔离,LSTTL/TTL兼容,高速(典型为10MBd),5mA的极小输入电流。其工作原理是: 6N137的结构原理如图3.3所示,信号从脚2和脚3输入,发光二极管发光,经片内光通道传到光敏二极管,反向偏置的光敏管光照后导通,经电流-电压转换后送到与门的一个

12、输入端,与门的另一个输入为使能端,当使能端为高时与门输出高电平,经输出三极管反向后光电隔离器输出低电平。当输入信号电流小于触发阈值或使能端为低时,输出高电平,但这个逻辑高是集电极开路的,可针对接收电路加上拉电阻或电压调整电路。图3.3 6N137结构原理图6N137特性:转换速率高达10MBit/s;摆率高达10kV/us;扇出系数为8;逻辑电平输出;集电极开路输出;CAN 总线驱动器PCA82C250PCA82C250 收发器是协议控制器和物理传输线路之间的接口,它可以用高达1Mbit/s 的位速率在两条有差动电压的总线电缆上传输数据,如图3.4所示。图 3.4 PCA82C250原理图PC

13、A82C250 共有三种不同的工作模式第一种模式是高速模式它支持最大的总线速度和或长度第二种是斜率模式当使用非屏蔽的总线电缆时可以考虑使用这种模式这种模式的输出转换速度可被故意降低以减少电磁辐射第三种是准备模式这种模式在电池供电的应用要求系统功率消耗非常低的应用中非常有用在准SJA1000与6N137和PCA82C250的连接C A N 通信模块的硬件设计如图3.5 所示,电路主要由四部分组成,即微控制器STC 8 9 C 5 2 、独立C A N 通信控制器SJA1000、CAN 总线收发器82C50 和高速光电耦合器6N137。SJA1000 和单片机之间的数据通信通过单片机PO 口进行,

14、数据接收信号采用中断方式,以提高数据处理的实时性。CAN控制器SJA1000通过总线驱动器PCA82C250连接在物理总线上。PCA820C250 器件提供对总线的差动发送能力和CAN 控制器的差动接收能力。SJA1000 的TXO和RXO通过高速光耦6N137 与82C250 相连,实现了收发器与控制器之间的电气隔离,保护智能节点核心电路工作安全,并实现了总线上各C A N 节点间的电气隔离。可在总线入口处并接双向稳压管,限制线路上可能出现的短时尖峰过电压,增加共模抑制线圈,以消除共模信号的干扰。信号传输到导线的站点时,会发生反射,干扰正常信号的传输,可在CAN 总线两端并接2 个1 2 0

15、 的电阻,起到匹配总线阻抗和消除反射的双重作用。图3.5 CAN总线通信模块电路温度传感器模块系统采用由DALLAS半导体公司生产的DS18B20型单线智能温度传感器,它具有微型化、低功耗、抗干扰能力强,易配处理器而且CPU只需一根端口线就能与DS18B20通信等优点,它具有3引脚T0-92小体积封装形式,温度测量范围为-55摄氏度到125摄氏度,可以满足本次设计0摄氏度到100摄氏度的要求。它主要有两种工作方式:寄生电源工作方式和外接电源工作方式。本系统采用外接电源方式。其与单片机的连接如图3.6所示。图 3.6 温度模块电路报警模块报警功能是现场的舵机加载系统油源温度超过预定的报警限额时,

16、节点控制器就必须能够及时地进行报警。如图3.7是一个简单实用的蜂鸣器报警电路。当舵机加载系统油源温度超过预定报警限额时单片机P1.0口将给出高电平,就能驱动蜂鸣器发出警报。图3.7 报警模块电路风机和电磁溢流阀驱动模块固态继电器(SOLIDSTATE RELAYS),简写成“SSR”,是一种全部由固态电子元件组成的新型无触点开关器件,它利用电子元件(如开关三极管、双向可控硅等半导体器件)的开关特性,可达到无触点无火花地接通和断开电路的目的,因此又被称为“无触点开关”,它问世于70年代,由于它的无触点工作特性,使其在许多领域的电控及计算机控制方面得到日益广范的应用。本次设计中当现场的舵机加载系统

17、油源温度超过预定的报警限额时,由固态继电器来驱动风机和电磁溢流阀工作冷却油温。其原理如图3.8所示。图3,.8风机和电磁溢流阀驱动模块电路设计总电路图本次设计的总电路图如图3.9所示。图3.9 设计总电路图第4章 软件设计 CAN总线协议参照ISOOSI 标准模型,CAN分为数据链路层和物理层。而数据链路层又包括逻辑链路控制子层LLC和媒体访问控制子层MAC。逻辑链路子层LLC的主要共恩呢该是,对总线上传送的报文实行接收滤波,判断总线上传送的报文是否与本节点有关,哪些报文应该为本节点所接收;对报文的接收予以确认;为数据传送和远程数据请求提供服务;当丢失仲裁或被出错干扰时,逻辑链路子层具有自动重

18、发的恢复管理功能;当收发器出现超载,要求推迟一下数据帧或远程帧时,则通过逻辑子层发送超载帧,一推迟接受下一数据帧。MAC子层是CAN协议的核心。它负责执行总线仲裁、报文成帧、出错检测、错误标定等传输控制规则。MAC子层要为开始一次新的发送确定总线是否可占用,在确认总线空闲后开始发送。在丢失仲裁时退出仲裁,转入接收方式。对发送数据实行串行比,对接收数据实行反串行比。完成CRC校验和应答校验,发送出错帧。确认超载条件,激活并发送超载帧。添加或卸除起始位、远程传送请求、保留位、CRC校验和应答码等,即完成报文的打包和拆包。通信是通过以下5 种类型的帧进行的。 数据帧 遥控帧 错误帧 过载帧 帧间隔另

19、外,数据帧和遥控帧有标准格式和扩展格式两种格式。标准格式有11 个位的标识符(Identifier: 以下称ID),扩展格式有29 个位的ID。各种帧的用途如下数据帧 用于发送单元向接收单元传送数据的帧。遥控帧 用于接收单元向具有相同ID 的发送单元请求数据的帧。错误帧 用于当检测出错误时向其它单元通知错误的帧。过载帧 用于接收单元通知其尚未做好接收准备的帧。帧间隔 用于将数据帧及遥控帧与前面的帧分离开来的帧。数据包机构设计数据包结构设计提高系统通信安全性的另一个方面是设计一个合理的传输数据包。现今常用的数据包一般有两种形式,即基于字符和基于长度。基于长度的数据帧如图4.3所示,是依据帧起始符

20、和帧长度来实现接收的。即当出现一个帧起始字符时,就表示可以接收帧数据,并根据帧长度来确定接下要接收多少字节的帧数据命令,当接收完毕规定的长度字节就意味着一帧数据接收完毕。这样在帧长度字节之后到帧接收结束所接收到的所有字节就都是数据而不会是控制字符。帧起始符帧长度帧数据命令校验字图4.3基于长度的帧格式本系统中,我们使用了基于字符的帧格式。基于字符的数据帧如图4.4所示,是利用特定的字符来判断帧传输的起始和结束。帧起始符和停止符之间的字节则为数据。在此就有一个问题需要解决,即在帧数据部分有可能会出现帧控制字符,如帧起始符或帧停止符。这样就会造成帧错误。解决这个问题有两种方案:一个是在帧数据中的控

21、制字符使用转义字符的机制。即当在帧数据段出现一个与控制字符相同的字符时,就在该字符前加一个转义字符,以此说明其后的字符是数据字符而不是控制字符;另一种解决方案是将帧数据段单字节十六进制字符转换成两字节ASCII码。例如OxOl转换成Ox30和Ox31。这样就把所有的帧数据段字符限定在O9,AF的ASCII码范围内,也能有效的避开控制字符。虽然后一种方法增加了系统的开销,但是实现起来非常方便,所以我们选择了此种解决方案。帧起始符帧数据命令校验字帧停止符图4.4 基于字符的数据帧格式 系统主程序检测点软件方面主要实现两方面的功能:一是检测现场的舵机加载系统油源温度,并由单片机处理是否启动风机和电磁

22、溢流阀;二是与主节点通信,响应其配置或查询命令并反馈报文。检测点的主程序的功能主要包括:单片机初始化;CAN控制器SJA1000的初始化;变量的初始化;温度检测;报文处理等。主程序流程图如图4.1所示。图4.1 主程序流程图在通信系统中,各个通信节点之问是相互独立的,因此它们之间的数据传输就必然存在着不确定因素。一个合理的通信流程就能够在很大程度上克服这种不确定因素。我们知道,当通信过程开始前如果能够确定通信双方已经成功的建立了连接,在这种情况下,通信双方数据传输就比较安全。对于一般的系统而言,通过良好的通信流程来提高通信成功率是一种经济有效的手段。针对舵机加载系统的油源温度监控系统,我设计了

23、如下的通信流程。如图4.2所示。图4.2 通信流程数据发送流程中,数据帧发送与该帧的应答帧处理分离开来。当发送一个数据帧时,发送程序就根据该帧的类型置位该数据帧已发送标志,启动应用程序等待该数据帧的应答帧即把数据的发送和确认并发处理,使得通过更加高效和安全。数据接收过程相对比较简单,可以让接收驱动将接收到的数据存入数据缓冲区,应用程序从数据缓冲区中捕获数据帧,并进行相应的处理这种方式下,数据接收过程中,缓冲区的大小将是直接影响数据接收安全性的主要因素 单片机的初始化TMOD=0X20;TH1=0Xfd; TL1=0xfd;PCON=0x00;TR1=1;SCON=0x50;EA=0;模数转换子

24、程序:MOV R0,#30H MOV R2, #08H SETB IT0 SETB EA SETB EX0 MOV DPTR,#FEF8H LOOP: MOVX DPTR, A HERE: SJMP HERE 中断服务程序:MOVX A, DPTR MOV R0, A INC DPTR INC RO DJNZ R2, INT0 CLR EA CLR EX0 RETI INT0: MOVX DPTR, A RETI 判断比较子程序:CLR C MOV A, 30H SUBB A,90H JNC BAOJIN 发送 AT 命令子程序:for (i=0;i4;i+)hh=&doc00 SBUF=do

25、c0i;while(TI=0);TI=0;delay();for (j=0;j4;j+) while(RI=0);RI=0 mnkj=SBUF;if (mnkj0x4b)=0) hh=mnkj;break;SJA1000的初始化void SJA_write(unsigned char trr_address,unsigned char wr_data)SJA_PCAN_address=fr_address;*SJA_PCAN_address=vrr data;unsigned char SJA_read(unsigned char re address)SJA_PCAN_address=re_

26、address:return(*SJA PCAN_address):unsigned char SJAtestinterface(unsigned char test_value)unsigned char status 2 0:bit bdata bit errorflag=1:unsigned char data error_count2 Ox20;while(_一error_count)SJA_write(REG_TEST,test_value):if(SJA_read(REG_TEST)=test_value)SJh_write(REG_TEST,Ox00):bi t_errorfla

27、g=0:break:if(bit_error_flag)status=CAN_INTERFACEERR;elsestatus=CAN_INTERFACE_OK;return(status)unsigned char SJA_entry reset_mode(void)unsigned char status=O:bit bdata bit_error_flag=1:unsigned char error_count=0x20while(一error_count)SJA_rrite(REG_MOOE,Ox01):if(SJA read(REG_MODE)Ox010x01)bit_error_fl

28、ag=0:break:if(bit_error_flag)status=CAN F24TRESET_ERR;elsestatus=CAN_ENTRESET_OK;return(status):unsigned char SJ_quit_reset_mode(void)unsigned char status=O:bit bdata bit_error_flag=1:unsigned char error_count=0x20:whi le(_一error_count)SJjrite(REG_MODE,Ox00):if(SJA_read(REG_MODE)&Ox01)=Ox00)bi terro

29、rflag=O:break:)if(bit_error_flag)status=CAN_ENTRESET_ERR:elsestatus=CAN ENTRESET OK:return(status):bit SJAestrstmode(void)bit bdata bitsja_flag;if(SJA_read(REG MODE)&Ox01)一Ox01)bitsja_flag=0:elsebitsja flag=1:return(bitsja_flag)第5章 课程设计总结本次课程设计的基于CAN总线的舵机加载系统油源温度监控仪设计加深了我对CAN总线的认识。在课程设计过程中,我查询了很多CAN

30、总线、传感器和驱动电路的相关资料,获得了很多CAN总线设计的方法,弥补了在学习CAN总线过程中的不足。在选择温度传感器和固态继电器的过程中,通过网络,能够十分方便的将器件资料下载下来,另外还能搜到很多相关应用的实例,这为今后的电子设计生涯积累了有用的信息。本次的设计运用到了很多学到的知识,基础是根本的,在设计过程中难免会遇到这样那样的自己无法解决的问题,这时老师、同学就成立最完美的求助对象。在老师的建议下,一切问题都变成了不是问题。虽然这次的设计只属于课程设计,但它的基本思想将会适用于以后得各种设计。还有最重要的一点,就是不论你做什么,态度是决定一切的关键,如果只是敷衍了事那万万不可的,对待任何一件事都要认真去思考,用思想来完成每一件事。参考文献1 司士辉单片机应用 M化学工业出版社,20032 彭军传感器与检测技术M西安电子科技大学出版社,20033 陈杰,数字电子技术 M北京:高等教育出版社,20034 胡乾斌,李光斌,李玲单片机原理及仿真M华中科技大学出版社,2002,23-3

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1