欢迎来到沃文网! | 帮助中心 分享知识,传播智慧!
沃文网
全部分类
  • 教学课件>
  • 医学资料>
  • 技术资料>
  • 学术论文>
  • 资格考试>
  • 建筑施工>
  • 实用文档>
  • 其他资料>
  • ImageVerifierCode 换一换
    首页 沃文网 > 资源分类 > DOC文档下载
    分享到微信 分享到微博 分享到QQ空间

    基于CAN总线的舵机加载系统油源温度监控仪的设计.doc

    • 资源ID:842381       资源大小:261.70KB        全文页数:23页
    • 资源格式: DOC        下载积分:20积分
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: QQ登录 微博登录
    二维码
    微信扫一扫登录
    下载资源需要20积分
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,下载更划算!
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    基于CAN总线的舵机加载系统油源温度监控仪的设计.doc

    1、目 录第1章 绪论1第2章 课程设计的方案22.1 概述22.2 系统组成总体结构2第3章 硬件设计43.1 单片机最小系统设计43.2 CAN通信模块43.2.1 CAN 总线控制器SJA100043.2.2 光耦合器6N13763.2.3 CAN 总线驱动器PCA82C25063.2.4 SJA1000与6N137和PCA82C250的连接73.3 温度传感器模块93.4 报警模块103.5 风机和电磁溢流阀驱动模块10第4章 软件设计124.1 系统主程序124.1.1 单片机初始化134.1.2 SJA1000的初始化144.2 报文发送和接收子程序16第5章 课程设计总结18参考文献

    2、19摘 要本文针对目前舵机加载系统油源温度监控的功能,设计了一种基于CAN总线的舵机加载系统油源温度监控系统,实现了利用CAN总线对检测数据的传输功能。该系统主要由现场数据采集模块和总线发送模块构成。现场数据的采集是以STC89C52RC单片机为核心控制单元,外接数字温度传感器DS18B20获得现场加载系统油源温度信号。通过CAN总线控制器SJA1000和CAN总线驱动器PCA82C250将数据发送到CAN总线上,并进行处理,决策是否启动风机和电磁溢流阀为舵机加载系统油源温度进行降温。另外,本文还具有报警电路,对CAN总线也进行光电隔离设计,确保通信的安全性。关键词:CAN总线;单片机;PCA

    3、82C250;SJA1000第1章 绪论舵机加载系统用于模拟舵面气动负载或水动负载,电液加载系统能够实现多种加载方式,其中舵机加载系统油源温度监控在一定范围内是保障系统稳定运行的必要条件。因此,舵机加载系统油源温度监控是一项很重要过程。国内生产的温度控制器,总体发展水平仍然不高,同日本、美国、德国等先进国家相比仍然有着较大的差距。目前,我国在这方面总体水平处于20实际80年代中后期水平,为了满足舵机加载系统油源温度监控的需求,在传感器智能控制方案和具体应用中做了大量的研究和可行性分析,开发了一种具有智能化功能的温度监测系统。该系统由数据采集模块和总线信号发送模块组成。其中数据采集模块采用了以单

    4、片机STC89C52RC为核心外接传感器的结构框架,保证了系统对加载系统油源温度信号采集的实时性和准确性。发送模块利用总线发送器和驱动器,将数字信号变换成CAN总线上的模拟信号进行传输,从而有效的增加了传输距离。现场总线是当今自动化领域技术发展的热点之一,被誉为自动化领域的计算机局域网。CAN总线的全称为 局域网,属于现场总线的一种,是一种有效支持分布式控制和实时控制的串行通信网络。CAN总线的主要特点有:多主方式工作,各节点不分主从;采用非破坏总线仲裁,不会出现网络瘫痪(以太网则可能);最远通信距离可达10KM,最高通信速率可达1Mbps;采用短帧结构,硬件CRC校验,出错率极低。CAN总线

    5、是目前唯一形成了国际标准的现场总线,被公认为最有前途的现场总线之一。第2章 课程设计的方案2.1 概述本次设计主要是综合应用所学知识,设计出基于CAN总线的舵机加载系统油源温度监控仪实现油源温度监控的功能。CAN总线属于总线式串行通信网络,由于其采用了许多新技术及独特的设计,与一般通信总线相比,CAN总线的数据通信具有突出的可靠性、实时性和灵活性。本次设计采用总线式传输形式,而CAN总线具有较为先进的传输协议,且稳定性高,能够实现远距离通信的要求。本系统要求实现的技术参数为:1、CAN总线符合CAN2.0B规范;2、CAN总线通讯速率500kbit/s;3、CAN总线进行光电隔离设计;4、油温

    6、检测范围0100,精度0.5;5、继电器负载工作电流为500mA。2.2 系统组成总体结构该系统主要由现场数据采集模块和总线发送模块构成。现场数据的采集是以STC89C52RC单片机为核心控制单元,外接数字温度传感器DS18B20,从而获得现场舵机加载系统油源的温度信号。通过CAN总线控制器SJA1000和CAN总线驱动器PCA82C250将数据发送到CAN总线上。在CAN总线两端需要有120欧的终端电阻,用来抑制回路的反射信号。CAN节点由微处理器、CAN控制器SJA1000、光电耦合器6N137、CAN驱动器PCA82C250构成。CAN控制器SJA1000执行在CAN规范中规定的完整的C

    7、AN协议,用于报文的缓冲和验收过滤,负责与微控制器进行状态、控制和命令等信息交换;在SJA1000下层是CAN收发器PCA82C250,是CAN控制器和总线接口,用于控制从CAN控制器到总线物理层或相反的逻辑电平信号,提供对总线的差动发送和对CAN控制器差动接收功能。系统总体框图如图2.1所示温度传感器DS18B20CPUSTC89C52RC时钟电路复位电路CAN总线控制器SJA1000报警电路CAN收发器120欧PC机继电器驱动电路光电耦合器图2.1系统总体框图第3章 硬件设计3.1 单片机最小系统设计本系统采用STC89C52RC作为控制器,其最小系统一般应该包括单片机芯片、时钟电路、复位

    8、电路等几部分。STC89C52RC具有8KB的FlashROM,32个双向I/O口,完全能够满足本设计要求。晶振电路选择12MHZ的外部晶振源,其具有稳定,精确地时钟发生功能。最小系统原理图如图3.1下所示。图3.1 单片机最小系统原理图3.2 CAN通信模块3.2.1 CAN 总线控制器SJA1000 SJA1000是Philips生产的独立CAN总线控制器,它实现CAN总线物理层和数据链路层的所有功能。它是早期的PCA82C200的替代产品。它与PCA82C200在管脚、电气特性上完全兼容,不仅有和PCA82C200一样的基本CAN(BasicCAN)工作模式,而且新增加了增强CAN(Pe

    9、liCAN)工作模式,这种模式支持具有很多新特性的CAN2.0B协议。对于单片机来说,只要把它看成一个基本的I/O设备即可,使用非常简单、方便。其功能框图如图3.2 。图 3.2 SJA1000功能框图SJA1000的主要特性如下:(1)扩展的接受缓冲器(64字节,先进先出FIFO)。(2)和CAN2.0B协议兼容。(3)同时支持11位和29位识别码。(4)位速率最高可达1Mbits/s。(5)支持多种微处理器接口。(6)增强的温度适应性。3.2.2 光电耦合器6N1376N137光电耦合器是一款用于单通道的高速光耦合器,其内部有一个850 nm波长AlGaAs LED和一个集成检测器组成,其

    10、检测器由一个光敏二极管、高增益线性运放及一个肖特基钳位的集电极开路的三极管组成。具有温度、电流和电压补偿功能,高的输入输出隔离,LSTTL/TTL兼容,高速(典型为10MBd),5mA的极小输入电流。其工作原理是: 6N137的结构原理如图3.3所示,信号从脚2和脚3输入,发光二极管发光,经片内光通道传到光敏二极管,反向偏置的光敏管光照后导通,经电流-电压转换后送到与门的一个输入端,与门的另一个输入为使能端,当使能端为高时与门输出高电平,经输出三极管反向后光电隔离器输出低电平。当输入信号电流小于触发阈值或使能端为低时,输出高电平,但这个逻辑高是集电极开路的,可针对接收电路加上拉电阻或电压调整电

    11、路。图3.3 6N137结构原理图6N137特性:转换速率高达10MBit/s;摆率高达10kV/us;扇出系数为8;逻辑电平输出;集电极开路输出;3.2.3 CAN 总线驱动器PCA82C250PCA82C250 收发器是协议控制器和物理传输线路之间的接口,它可以用高达1Mbit/s 的位速率在两条有差动电压的总线电缆上传输数据,如图3.4所示。图 3.4 PCA82C250原理图PCA82C250 共有三种不同的工作模式第一种模式是高速模式它支持最大的总线速度和或长度第二种是斜率模式当使用非屏蔽的总线电缆时可以考虑使用这种模式这种模式的输出转换速度可被故意降低以减少电磁辐射第三种是准备模式

    12、这种模式在电池供电的应用要求系统功率消耗非常低的应用中非常有用在准3.2.4 SJA1000与6N137和PCA82C250的连接C A N 通信模块的硬件设计如图3.5 所示,电路主要由四部分组成,即微控制器STC 8 9 C 5 2 、独立C A N 通信控制器SJA1000、CAN 总线收发器82C50 和高速光电耦合器6N137。SJA1000 和单片机之间的数据通信通过单片机PO 口进行,数据接收信号采用中断方式,以提高数据处理的实时性。CAN控制器SJA1000通过总线驱动器PCA82C250连接在物理总线上。PCA820C250 器件提供对总线的差动发送能力和CAN 控制器的差动

    13、接收能力。SJA1000 的TXO和RXO通过高速光耦6N137 与82C250 相连,实现了收发器与控制器之间的电气隔离,保护智能节点核心电路工作安全,并实现了总线上各C A N 节点间的电气隔离。可在总线入口处并接双向稳压管,限制线路上可能出现的短时尖峰过电压,增加共模抑制线圈,以消除共模信号的干扰。信号传输到导线的站点时,会发生反射,干扰正常信号的传输,可在CAN 总线两端并接2 个1 2 0 的电阻,起到匹配总线阻抗和消除反射的双重作用。图3.5 CAN总线通信模块电路3.3 温度传感器模块系统采用由DALLAS半导体公司生产的DS18B20型单线智能温度传感器,它具有微型化、低功耗、

    14、抗干扰能力强,易配处理器而且CPU只需一根端口线就能与DS18B20通信等优点,它具有3引脚T0-92小体积封装形式,温度测量范围为-55摄氏度到125摄氏度,可以满足本次设计0摄氏度到100摄氏度的要求。它主要有两种工作方式:寄生电源工作方式和外接电源工作方式。本系统采用外接电源方式。其与单片机的连接如图3.6所示。图 3.6 温度模块电路3.4 报警模块报警功能是现场的舵机加载系统油源温度超过预定的报警限额时,节点控制器就必须能够及时地进行报警。如图3.7是一个简单实用的蜂鸣器报警电路。当舵机加载系统油源温度超过预定报警限额时单片机P1.0口将给出高电平,就能驱动蜂鸣器发出警报。图3.7

    15、报警模块电路3.5 风机和电磁溢流阀驱动模块固态继电器(SOLIDSTATE RELAYS),简写成“SSR”,是一种全部由固态电子元件组成的新型无触点开关器件,它利用电子元件(如开关三极管、双向可控硅等半导体器件)的开关特性,可达到无触点无火花地接通和断开电路的目的,因此又被称为“无触点开关”,它问世于70年代,由于它的无触点工作特性,使其在许多领域的电控及计算机控制方面得到日益广范的应用。本次设计中当现场的舵机加载系统油源温度超过预定的报警限额时,由固态继电器来驱动风机和电磁溢流阀工作冷却油温。其原理如图3.8所示。图3,.8风机和电磁溢流阀驱动模块电路3.6 设计总电路图本次设计的总电路

    16、图如图3.9所示。图3.9 设计总电路图第4章 软件设计4.1 CAN总线协议参照ISOOSI 标准模型,CAN分为数据链路层和物理层。而数据链路层又包括逻辑链路控制子层LLC和媒体访问控制子层MAC。逻辑链路子层LLC的主要共恩呢该是,对总线上传送的报文实行接收滤波,判断总线上传送的报文是否与本节点有关,哪些报文应该为本节点所接收;对报文的接收予以确认;为数据传送和远程数据请求提供服务;当丢失仲裁或被出错干扰时,逻辑链路子层具有自动重发的恢复管理功能;当收发器出现超载,要求推迟一下数据帧或远程帧时,则通过逻辑子层发送超载帧,一推迟接受下一数据帧。MAC子层是CAN协议的核心。它负责执行总线仲

    17、裁、报文成帧、出错检测、错误标定等传输控制规则。MAC子层要为开始一次新的发送确定总线是否可占用,在确认总线空闲后开始发送。在丢失仲裁时退出仲裁,转入接收方式。对发送数据实行串行比,对接收数据实行反串行比。完成CRC校验和应答校验,发送出错帧。确认超载条件,激活并发送超载帧。添加或卸除起始位、远程传送请求、保留位、CRC校验和应答码等,即完成报文的打包和拆包。通信是通过以下5 种类型的帧进行的。 数据帧 遥控帧 错误帧 过载帧 帧间隔另外,数据帧和遥控帧有标准格式和扩展格式两种格式。标准格式有11 个位的标识符(Identifier: 以下称ID),扩展格式有29 个位的ID。各种帧的用途如下

    18、数据帧 用于发送单元向接收单元传送数据的帧。遥控帧 用于接收单元向具有相同ID 的发送单元请求数据的帧。错误帧 用于当检测出错误时向其它单元通知错误的帧。过载帧 用于接收单元通知其尚未做好接收准备的帧。帧间隔 用于将数据帧及遥控帧与前面的帧分离开来的帧。4.2 数据包机构设计数据包结构设计提高系统通信安全性的另一个方面是设计一个合理的传输数据包。现今常用的数据包一般有两种形式,即基于字符和基于长度。基于长度的数据帧如图4.3所示,是依据帧起始符和帧长度来实现接收的。即当出现一个帧起始字符时,就表示可以接收帧数据,并根据帧长度来确定接下要接收多少字节的帧数据命令,当接收完毕规定的长度字节就意味着

    19、一帧数据接收完毕。这样在帧长度字节之后到帧接收结束所接收到的所有字节就都是数据而不会是控制字符。帧起始符帧长度帧数据命令校验字图4.3基于长度的帧格式本系统中,我们使用了基于字符的帧格式。基于字符的数据帧如图4.4所示,是利用特定的字符来判断帧传输的起始和结束。帧起始符和停止符之间的字节则为数据。在此就有一个问题需要解决,即在帧数据部分有可能会出现帧控制字符,如帧起始符或帧停止符。这样就会造成帧错误。解决这个问题有两种方案:一个是在帧数据中的控制字符使用转义字符的机制。即当在帧数据段出现一个与控制字符相同的字符时,就在该字符前加一个转义字符,以此说明其后的字符是数据字符而不是控制字符;另一种解

    20、决方案是将帧数据段单字节十六进制字符转换成两字节ASCII码。例如OxOl转换成Ox30和Ox31。这样就把所有的帧数据段字符限定在O9,AF的ASCII码范围内,也能有效的避开控制字符。虽然后一种方法增加了系统的开销,但是实现起来非常方便,所以我们选择了此种解决方案。帧起始符帧数据命令校验字帧停止符图4.4 基于字符的数据帧格式4.3 系统主程序检测点软件方面主要实现两方面的功能:一是检测现场的舵机加载系统油源温度,并由单片机处理是否启动风机和电磁溢流阀;二是与主节点通信,响应其配置或查询命令并反馈报文。检测点的主程序的功能主要包括:单片机初始化;CAN控制器SJA1000的初始化;变量的初

    21、始化;温度检测;报文处理等。主程序流程图如图4.1所示。开始单片机初始化SJA1000初始化变量初始化温度检测发送报文接收报文处理发送报文反馈是否启动风机和电磁图4.1 主程序流程图在通信系统中,各个通信节点之问是相互独立的,因此它们之间的数据传输就必然存在着不确定因素。一个合理的通信流程就能够在很大程度上克服这种不确定因素。我们知道,当通信过程开始前如果能够确定通信双方已经成功的建立了连接,在这种情况下,通信双方数据传输就比较安全。对于一般的系统而言,通过良好的通信流程来提高通信成功率是一种经济有效的手段。针对舵机加载系统的油源温度监控系统,我设计了如下的通信流程。如图4.2所示。数据格式转

    22、换写入CAN控制器发送缓冲器启动发送结束开始发送缓冲器有数据?YN开始接收缓冲区有足够的剩余空间?报文读入接收缓冲区释放接收缓冲器结束YN图4.2 通信流程数据发送流程中,数据帧发送与该帧的应答帧处理分离开来。当发送一个数据帧时,发送程序就根据该帧的类型置位该数据帧已发送标志,启动应用程序等待该数据帧的应答帧即把数据的发送和确认并发处理,使得通过更加高效和安全。数据接收过程相对比较简单,可以让接收驱动将接收到的数据存入数据缓冲区,应用程序从数据缓冲区中捕获数据帧,并进行相应的处理这种方式下,数据接收过程中,缓冲区的大小将是直接影响数据接收安全性的主要因素 4.3.1 单片机的初始化TMOD=0

    23、X20;TH1=0Xfd; TL1=0xfd;PCON=0x00;TR1=1;SCON=0x50;EA=0;模数转换子程序: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,

    24、90H JNC BAOJIN 发送 AT 命令子程序:for (i=0;i4;i+)hh=&doc00 SBUF=doc0i;while(TI=0);TI=0;delay();for (j=0;j4;j+) while(RI=0);RI=0 mnkj=SBUF;if (mnkj0x4b)=0) hh=mnkj;break;4.3.2 SJA1000的初始化void SJA_write(unsigned char trr_address,unsigned char wr_data)SJA_PCAN_address=fr_address;*SJA_PCAN_address=vrr data;uns

    25、igned char SJA_read(unsigned char re address)SJA_PCAN_address=re_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

    26、_read(REG_TEST)=test_value)SJh_write(REG_TEST,Ox00):bi t_errorflag=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)SJ

    27、A_rrite(REG_MOOE,Ox01):if(SJA read(REG_MODE)Ox010x01)bit_error_flag=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

    28、)SJjrite(REG_MODE,Ox00):if(SJA_read(REG_MODE)&Ox01)=Ox00)bi terrorflag=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章 课程设

    29、计总结本次课程设计的基于CAN总线的舵机加载系统油源温度监控仪设计加深了我对CAN总线的认识。在课程设计过程中,我查询了很多CAN总线、传感器和驱动电路的相关资料,获得了很多CAN总线设计的方法,弥补了在学习CAN总线过程中的不足。在选择温度传感器和固态继电器的过程中,通过网络,能够十分方便的将器件资料下载下来,另外还能搜到很多相关应用的实例,这为今后的电子设计生涯积累了有用的信息。本次的设计运用到了很多学到的知识,基础是根本的,在设计过程中难免会遇到这样那样的自己无法解决的问题,这时老师、同学就成立最完美的求助对象。在老师的建议下,一切问题都变成了不是问题。虽然这次的设计只属于课程设计,但它

    30、的基本思想将会适用于以后得各种设计。还有最重要的一点,就是不论你做什么,态度是决定一切的关键,如果只是敷衍了事那万万不可的,对待任何一件事都要认真去思考,用思想来完成每一件事。参考文献1 司士辉单片机应用 M化学工业出版社,20032 彭军传感器与检测技术M西安电子科技大学出版社,20033 陈杰,数字电子技术 M北京:高等教育出版社,20034 胡乾斌,李光斌,李玲单片机原理及仿真M华中科技大学出版社,2002,23-395 郁有文CAN总线设计实例M西安:西安电子科技大学出版社,20036 楼然苗,李光飞51系列单片机设计实例M北京航空航天大学出版社,20037 朱定华,戴汝平现场总线及工业控制网络M电子工业出版社,20038 卢丽君.现场总线技术及应用J 仪器仪表与分析监测,2007(04):5-7.9 张青春.基于单片机的CAN总线设计.哈淮阴工学院硕士学位论文.2010:20-2510胡华.总线在大棚检测中的应用 D.杭州:浙江大学,2008.11 潘永雄,沙河,刘向阳.Protues实用教程M.西安:西安电子科技大学出版社,2001.13-118.23


    注意事项

    本文(基于CAN总线的舵机加载系统油源温度监控仪的设计.doc)为本站会员(精***)主动上传,沃文网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知沃文网(点击联系客服),我们立即给予删除!




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服点击这里,给沃文网发消息,QQ:2622162128 - 联系我们

    版权声明:以上文章中所选用的图片及文字来源于网络以及用户投稿,由于未联系到知识产权人或未发现有关知识产权的登记,如有知识产权人并不愿意我们使用,如有侵权请立即联系:2622162128@qq.com ,我们立即下架或删除。

    Copyright© 2022-2024 www.wodocx.com ,All Rights Reserved |陕ICP备19002583号-1

    陕公网安备 61072602000132号     违法和不良信息举报:0916-4228922