基于CAN总线的液位控制装置的设计_第1页
基于CAN总线的液位控制装置的设计_第2页
基于CAN总线的液位控制装置的设计_第3页
基于CAN总线的液位控制装置的设计_第4页
基于CAN总线的液位控制装置的设计_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

PAGEV课程设计(论文)任务及评语院(系):教研室:学号学生姓名专业班级课程设计(论文)题目基于CAN总线的液位控制装置的设计课程设计(论文)任务课题完成的功能、设计任务及要求、技术参数实现功能基于CAN总线的液位控制器实现通过CAN总线接收控制指令及上传数据、并根据指令进行液位的控制功能。硬件设计包括CPU选型、CAN总线控制器、CAN总线收发器及液位采集与驱动电路等。软件采用汇编语言或C语言并调试与分析。设计任务及要求1、确定设计方案画出方案框图。2、控制器硬件设计包括元器件、传感器的选择。3、画出控制器的原理图。4、绘出程序流程图并编写CAN总线初始化、接收及发送程序。5、要求认真独立完成所规定的全部内容;所设计的内容要求正确、合理。6、按学校规定的格式撰写、打印设计说明书一份;设计说明书应在4000字以上。技术参数1、CAN总线符合CAN2.0B规范;2、CAN总线通讯速率500kbit/s;3、CAN总线进行光电隔离设计;4、液位控制精度为1%;5、液位调整阀的驱动电流为±20mA。进度计划1、布置任务查阅资料确定系统设计方案(2天)2、系统硬件设计及模块选择(3天)3、系统软件设计及编写功能程序及调试(3天)4、撰写、打印设计说明书(1天)5、验收及答辩。(1天)指导教师评语及成绩平时:论文质量:答辩:总成绩:指导教师签字:年月日注:成绩:平时20%论文质量60%答辩20%以百分制计算

摘要随着网络技术和电子信息技术的发展CAN总线作为一种局域网控制技术在超声波测距领域应用越来越广泛。它不但大大简化了控制系统而且为电控单元之间的信息共享提供了方便的平台。本设计是由wi86755型静压投入式液位传感器接受的水体压力信号,并由传感器的接收器进行接收,此信号经过放大滤波、A/D转换后进入单片机C8051F060然后利用CAN的控制器进行处理又经过CAN总线收发器ISO1050和光电耦合模块送入到CAN总线上,最后进入阀驱动电路。该系统能够按照工艺要求正常运行,单片机控制系统能够将液位很快地调节到工艺指标附近,CAN总线符合CAN2.0B规范,通讯速率达到500kbit/s,液位控制精度为1%,液位调整阀的驱动电流为±20mA。关键词:CAN总线;C8051F060;液位控制目录TOC\o"1-3"\f\h\z第1章绪论 11.1本设计的研究背景以及意义 11.2CAN总线的发展 1第2章课程设计的方案 32.1系统功能的分析 32.2系统的方案设计 3第3章硬件设计 43.1CPU的最小系统设计 43.2液位传感器选型 53.3液位采集系统 63.3.1信号调理电路 63.3.1A/D转换电路 63.4阀驱动电路 83.5CAN接口电路 83.5.1CAN总线收发器 83.5.2光电隔离器 93.6总体硬件图 10第4章软件设计 114.1流程图 114.2软件编程 114.2.1系统初始化 144.2.2中断程序 16第5章课程设计总结 18参考文献 19PAGE24第1章绪论1.1本设计的研究背景以及意义近年来有关液位控制的形式及方法越来越多,技术性能也越发先进,自动化程度也有较大地提高。但就以各类型水罐、水池的液位控制来说许多项目没有达到自动化的程度,有的在设计上虽然设置有较为精密仪表和其它电气设备,但是没有达到充分的开发和合理的配置,自动化程度较低,有许多电气及仪表装置,在系统中只起到了液位显示及报警功能,其液位控制全凭生产运行人员根据系统工艺流程人为地手动或电动操作水罐或水池的进出口阀门来实现液位控制,使其液位保持在正常的生产状态范围内。由于受各工艺流程生产系统中的影响液位的变化和稳定性也受到较大影响,为此生产运行人员在工作中要时时监测液位的变化而不得有半点疏忽,这样就较大地增加了生产运行人员的劳动强度。

九十年代计算机已渗透到工业、农业、国防、科研等部门及民用生活的各个方面,而工业生产过程计算机控制则是计算机技术应用的一个重要而有发展远景的领域。信息时代的今天工控界正进行着一场新的革命各种新型控制设备不断出现产品的性能和可靠性不断提高,价格进一步下降。作为该领域的另一个重要组成部分,工控软件也受到越来越多的工程技术人员的重视,正在向着产业化方向发展。

工控软件的特点是开发周期长、被控对象复杂多样、且软件与具体工程和设备交织在一起。长期以来软件的通用性和可维护性一直困扰着工程技术人员。设备管理人员或主要编程人员的变动将给控制系统的运行带来极大的不便甚至影响其正常工作,许多企业决策者也对此表现出极大的关注。为改变这一状况,国内外许多专家、学者、工程技术人员对工控软件进行了积极的探索,然而目前的工控软件仍存在两方面的主要问题:一是工控软件缺乏通用性,工控公司只提供特定设备的驱动程序,一旦设备更新或变动系统就必须重新设计;二是国外工控软件价格昂贵,使许多国内用户,特别是高校及中小型企业难以接受,以至于不得不花费许多精力去开发各自专用的测控软件。1.2CAN总线的发展本设计要求用CAN总线进行设计。80年代末,在汽车工业中,由于众多的控制设备与测试仪器之间需要进行大量数据交换,传统的总线无法满足需求,德国BOSCH公司提出了CAN总线,这种新的串行数据通讯协议。CAN总线即控制器局域网总线,通信接口中集成了CAN协议的物理层和数据链路层功能,可完成对通信数据的成帧处理,包括位填充、数据块编码、循环冗余检验、优先级判别等项工作。它具有如下特点。CAN是到目前为止为数不多的有国际标准的现场总线,总线协议已被国际标准化组织认证,技术比较成熟,控制的芯片已经商品化,性价比高,特别适用于分布式测控系统之间的数通讯。CAN总线没有采取传统的站地址编码,不对节点进行地址规定,而是把通信数据块进行编码。这种方法的优点可使网络内的节点个数在理论上不受限制,数据块的标识码可由11位或29位二进制数组成。这种按数据块编码的方式,使用报文的标识符来指定报文的优先级以及报文的内容,高优先级的节点享有传送报文的优先权。还可使不同的节点同时接收到相同的数据,这一点在分布式控制系统中非常有用。采用短帧结构,每一帧的有效字节数为8个,数据传输时间短,受干扰的概率低,重新发送的时间短,从而保证了通信的实时性。CAN总线采用了多主竞争式总线结构,通信介质可以是双绞线、同轴电缆或光导纤维,可以多个主站运行并且分散仲裁。CAN总线上任意节点可以点对点,一对多及广播集中方式传送和接受数据,而且可以任意时刻主动地向网络上其它节点发送信息而不分主次,因此可在各节点之间实现自由通信。CAN通讯距离最大是10公里(设速率为5Kbps),最大通信速率为1Mbit/s(设通信距离为40米)。CAN采用非破坏性的总线仲裁技术,即载波侦听多路访问/冲突检测(CSMA/CD)的总线仲裁方式,当多个节点同时发送数据时,优先级低的节点会主动停止发送,高优先级的节点可继续传输,节省总线仲裁时间。避免多个节点同时开始发送消息而造成总线冲突,保证优先级高的报文能够优先发送。CAN总线协议采用了完善的错误检测与错误处理机制,包括了CRC校验、错误报文自动重发、错误状态判断、临时错误自动恢复等措施,从而很好的保证了数据通信的可靠性。节点在错误严重的情况下,具有自动关闭总线的功能,切断它与总线的联系,以使总线上其他操作不受影响。CAN总线采用双线串行通信方式,检错能力强,可在高噪声干扰环境中工作。具有实时性强、传输距离较远、抗电磁干扰能力强、成本低等优点。可根据报文的ID决定接收或屏蔽该报文。可靠的错误处理和检错机制,发送的信息遭到破坏后,可自动重发,报文不包含源地址或目标地址,仅用标志符来指示功能信息、优先级信息。CAN卓越的特性、极高的可靠性和独特的设计,特别适合工业过程监控设备的通信,因此,越来越受到工业界的重视,并已公认为最有前途的现场总线之一。第2章课程设计的方案2.1系统功能的分析对于水位进行控制的方式有很多,而应用较多的主要有2种,一种是简单的机械式控制装置控制,一种是复杂的控制器控制方式。两种方式的实现如下:

简单的机械式控制方式。其常用形式有浮标式、电极式等这种控制形式的优点是结构简单,成本低廉。存在问题是精度不高不能进行数值显示另外很容易引起误动作,且只能单独控制与计算机进行通信较难实现。

复杂控制器控制方式。这种控制方式是通过液位传感器,把出口压力变成标准工业电信号的模拟信号经过放大滤波、A/D转换成数字信号传送到单片机经单片机运算和给定参量的比较,得出调节参量,经由CAN总线控制器进行调控,进入CAN总线接收电路来驱动电磁阀驱动电路,来调节电磁阀开度,以达到控制水位的目的。本设计选择复杂控制器控制方式,实现的功能是完成一个基于CAN总线的液位传感器实现通过CAN总线接收控制指令及上传数据、并根据指令进行液位的控制功能的硬件电路设计及软件设计。2.2系统的方案设计图2.1系统总体框图该系统由1个液位传感器、单片机、CAN的控制器、CAN收发器与CAN总线部分组成。该系统的总体框图如图2.1所示。第3章硬件设计本设计要求硬件设计包括CPU选型、CAN总线控制器选型、CAN总线收发器选型及液位采集与驱动电路,要求CAN总线符合CAN2.0B规范,CAN总线通讯速率500kbit/s,同时需要进行光电隔离设计。3.1CPU的最小系统设计本设计要求通过CAN总线接受控制指令,控制调节液位,选择C8051F060单片机,该单片机是一种与51系列单片机内核兼容的单片机,CPU的最小系统图如图3.1所示。其特点:图3.1C8051F060最小系统(1)内核采用流水线结构速度可达25MIPS(25MHz晶振)比普通的51单片机快10倍;其指令与标准系列51单片机兼容因而掌握开发过程非常容易;该芯片的JTAG调试方式支持在系统、全速、非插入调试和编程且不占用片内资源。(2)片上集成有64kBFlash、4352B内部RAM(256+4kB可外扩至64kB)、59个I/0口、2通道16位1MSPS的可编程增益ADC、8通道10位200kSPS可编程增益ADC、2路12位DAC、3路模拟比较器、内部电压基准以及片内电源监视、降压检测和看门狗功能。由于C8051F060的高集成度因无需外扩ROM、RAM、AD、DA、watchdog、可编程I/O口和EEPROM(用片内Flash实现)从而大大简化了硬件电路并为构成以C8051F060为核心的单片机系统创造了条件同时也提高了系统的可靠性。C8051F060在该设计中的最大特点为其控制器已集成在CPU中,无需进行CAN总线控制器的选型以及接线。3.2液位传感器选型本课程设计需要检测液位,在此选用wi86755型静压投入式液位变送器对其进行测量变送。该液位传感器测量量程:0~300m,该仪表能够输出4~20mA、0~5V、0~10mA等标准信号供用户选用,供电电压:12~36VDC,稳定性好,满度、零位长期稳定性可达0.1%FS/年。在补偿温度-40~85℃范围内,温度飘移低于0.1%FS,在整个允许工作温度范围内低于0.3%FS。具有反向保护、限流保护电路,在安装时正负极接反不会损坏变送器,异常时送器会自动限流在35mA以内。选择的wi86755型静压投入式液位变送器如图3.2所示。本设计选择输出信号为4~20mA,供电电压12~36VDC的档位。其具体工作原理(静压测量原理)是:当液位变送器投入到被测液体中某一深度时,传感器迎液面受到的压力公式为:式中:PQUOTE:变送器迎液面所受压力;:被测液体密度;g:当地重力加速度;:液面上大气压;h:变送器投入液体的深度。同时,通过导气不锈钢将液体的压力引入到传感器的正压腔,再将液面上的大气压QUOTE与传感器的负压腔相连,以抵消传感器背面的QUOTE,使传感器测得压力为:QUOTE,显然,通过测取压力F,可以得到液位深度。图3.2wi86755型静压投入式液位变送器实物图3.3液位采集系统3.3.1信号调理电路本设计中由液位传感器检测的信号为压力,是模拟量,传感器信号不能直接转换为数字量,输出信号为4~20mA,在变换为数字信号之前必须进行调理。信号调理电路如图3.3所示。图3.3调理电路图调理就是放大、缓冲或定标模拟信号等,使其适合于模数转换器(ADC)的输入。然后,ADC对模拟信号进行数字化,并把数字信号送到MCU或其他数字器(在本设计中为C8051F060单片机)以便用于系统的数据处理。3.3.1A/D转换电路因为液位传感器采集的信号为模拟量,由于进入单片机的信号需要数字量,所以选择A/D转换器进行转换,本设计选择ADC0809进行A/D转换。A/D转换过程是将模拟信号变换为用于数据采集、控制过程、执行计算显示读出或其他目的的数字信号,方便MPU进行运算控制。本设计选择的A/D转换器型号为ADC0809,是美国国家半导体公司生产的CMOS工艺8通道,8位逐次逼近式A/D模数转换器。其内部有一个8通道多路开关,它可以根据地址码锁存译码后的信号,只选通8路模拟输入信号中的一个进行A/D转换。是由8路模拟开关、地址锁存与译码器、比较器、8位开关树型A/D转换器、逐次逼近寄存器、逻辑控制和定时电路组成,ADC0809引脚图如图3.4所示。图3.4ADC0809引脚图其主要特性:1)8路输入通道,8位A/D转换器,即分辨率为8位。2)具有转换起停控制端。3)转换时间为100μs(时钟为640KHz时),130μs(时钟为500KHz时)。4)单个+5V电源供电。5)模拟输入电压范围0~+5V,不需零点和满刻度校准。6)工作温度范围为-40~+85摄氏度。7)低功耗,约15mW。3.4阀驱动电路IRF540MOS管应用VDSS=100VRDS<0.077ID=22A,VGS(th)=4VVGS=10.RDS接近0.007ID=11A,负载电流小的情况下可以5V驱动IRF540,IN4007MOS管内部等效,100/10W(可用2W)功率电阻。此电路驱动24V的电磁阀,电流只能在2A左右,不能太大,因为Vgs只有5V,IRF540没有达到完全的导通状态,如果要增大电流得重新设计驱动电路,使Vgs在10V左右才能充分发挥IRF540的驱动能力。图3.5阀驱动电路3.5CAN接口电路CAN接口电路包括CAN总线控制器和CAN总线收发器。由于本设计所选择的CPUC8051F060内部已经集成CAN总线控制器,只需选择CAN总线收发器即可。3.5.1CAN总线收发器本设计选择的收发器是

ISO1050,是CAN协议控制器和物理总线之间的接口,该器件对总线提供差动发送能力并对CAN控制器提供差动接收能力。这是全世界使用最广泛的CAN收发器。它有更高的击穿电压,因此可以在电源电压范围内驱动低至45Ω的总线负载。而且ISO1050在隐性状态下的拉电流更小,在掉电情况下的总线输出特性有一定改善。其他特性:抗瞬间干扰,保护总线;斜率控制,降低射频干扰(RFI);差分接收器,抗宽范围的共模干扰,抗电磁干扰(EMI);热保护;防止电池和地之间的短路;低电流待机模式;未上电的节点对总线无影响。ISO1050的引脚分布如图3.6所示。图3.6ISO1050的引脚图3.5.2光电隔离器光电隔离电路的作用是在电隔离的情况下,以光为媒介传送信号,对输入和输出电路可以进行隔离,因而能有效地抑制系统噪声,消除接地回路的干扰,电路需要两个光电耦合器组成。光电耦合器一般由三部分组成:光的发射、光的接收及信号放大。输入的电信号驱动发光二极管(LED),使之发出一定波长的光,被光探测器接收而产生光电流,再经过进一步放大后输出。这就完成了电—光—电的转换,从而起到输入、输出隔离的作用。图3.7CAN接口电路3.6总体硬件图图3.8总体硬件图第4章软件设计4.1流程图图4.1软件工作流程图4.2软件编程主程序编程:#include<reg51.h>#defineucharunsignedchar#defineuintunsignedintsbitMOR=P2^7;sbitMOT=P2^6;sbitLED=P2^0;codeuchartab[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};voiddelay(uintn){while(n--);}voidLED_SHOW(){if(P1==0xfe) {P0=tab[8];LED=0;MOR=0;MOT=1;}if(P1==0xfd){P0=tab[7];LED=0;MOR=0;MOT=1;}if(P1==0xfb){P0=tab[6];LED=1;MOR=1;MOT=1;}if(P1==0xf7){P0=tab[5];LED=1;MOR=1;MOT=1;}if(P1==0xfd){P0=tab[4];LED=1;MOR=1;MOT=1;}if(P1==0xef){LED=1;MOR=1;MOT=1;}if(P1==0xdf){P0=tab[2];LED=0;MOR=1;MOT=0;}if(P1==0xbf){P0=tab[1];LED=0;MOR=1;MOT=0;}if(P1==0x7f){P0=tab[0];LED=0;MOR=1;MOT=0;}}voidmain(){while(1){LED_SHOW();}}4.2.1系统初始化C8051F060单片机的初始化设置主要包括I/O口交叉编译设置系统时钟设置ADC采集系统设置CAN控制器设置以及其他相应的功能设置3。本文主要介绍CAN寄存器的设置现根据需要对CAN控制器进行初始化设置:为了接受遥传短节的命令数据本文设置一个消息对象来接受数据:Unsignedintid;UnsignedintMsgNum;unsignedinttemp;id—Oxl8B;MsgNum—l;SFRPAGE=CANO—PAGE:CANOADR=lFlCMDMSK;//指向IFlCom—mandMaskRegistersCANODAT=0xOOb3;/*IF1CommandMaskRegisters一0x00b3WR/RD一1Mask=OArb一1Control=lClrIntPnd—OTxRqst=0DataA=1DataB=1一次发送8字节数据*/CANOADR—IFlARBl;CANODAT=OxOOOO;/*lFlArbitrationRegisters1=OxOOOO即IDl5一O—O*/temp—id<2;//标准id为lD28一IDl8所以要左移2位temp&=Oxlfff;tempI=ox8000;CANoDAT—temp;//地址自增指向IFlArbitrationRegisters2/*IFlArbitrationRegisters2=101(id)OObMsgVal=1Xtd=O为标准模式扩展1D无效Dir=O为接收*/CANODAT=Ox0088;/*IFlMessageControlRegisters—Ox0088NewDat=0MsgI。st=0IntPnd—OUMask—OTxIE—ORxIE=ORmtEn=OTxRqst一0EoB一1DI。C3—0=1000即数据长度为8*/CANOADR=IFlCMDRQST;CANODAT=MsgNum;/*IF1CommandRequestRegisters—Ms—gNum将以上配置写入MsgNum号消息*/该程序的作用就是将1号消息对象配置为接收(帧lD为oxl8b)缓冲区。这样CAN总线上ID为Oxl8b的数据帧就会被接收放到消息号为1的消息寄存器中了。然后用同样的方法将2号消息对象设为远程帧(帧ID为oxl8b)接收缓冲区3号对象设置为发送(帧ID为Ox28b)数据缓冲区。接着要配置波特率发生器将CAN传输速度配置为800Kbps:SFRPAGE—CANo—PAGE;//切换到CAN配置页面CANOCN=0X41:CANOADR=BlTREG:CANODAT=oX2542;//配置波特率最后打开CAN中断并启动CAN:SFRPAGE=CANo—PAGE;//切换到CAN配置页面CANODATI一OxFF:for(i一1;i<33;i++){CANOADR—lFlCMDRQST;CANODATI。=i;}//所有消息清零CANOCN—Ox02://使能CAN中断Init清零结束初始化操作CAN控制器进入正常工作4.2.2中断程序单片机执行完系统初始化后进入主程序开始数据采集以及数据预处理并等待遥传命令准备数据传送。这里要编写CAN中断子程序在其中完成数据接收。编写数据发送程序在其中完成数据发送。voidCAN—ISR(void)interrupt19//CAN中断子程序{uinttempi;ucharstatus;uchartemppage;temppage—SFRPAGE;SFRPAGE=CANO—PAGE:status=CANOSTA:if((status&oxlO)!一O)//RxoK一1成功接收报文{CANOSTA&一Oxef;CANOADR=INTPENDl;temp—CANODAT;if((temp&OX01)!=O)//如果为数据帧{//接收数据}}if((status&Ox08)!=O){CANOSTA&一Oxf7;CANOADR=INTPENDl:temp—CANODAT;if((temp&Ox02)!一O)//如果为远程帧{//发送数据}}SFRPAGE—temppage;}在接受到CAN中断之后单片机转入CAN中断子程序首先判断是接收中断还是发送中断。然后进行数据接收或者发送进而完成数据传输通讯。第5章课程设计总结本设计能够完成液位的控制功能,所用元件也很简单,主要是应用CAN总线的控制器以及其他的硬件再结合软件来完成液位监测并且判断液位高度进行调节控制。在本次课程设计过程中对整个控制系统的硬件结构进行了仔细的了解熟悉了控制过程。同时熟练掌握了CAN总线的应用进一步强化了其控制方法。起初通过查阅相关资料了解了其不同模块的作用以及使用的场合合理选择了适合本次设计的模块设计了液位监控的设计系统。本系统的原理是由液位传感器接受的水体压力信号,并由传感器的接收器进行接收,此信号经过放大滤波、A/D转换进入单片机然后利用CAN的控制器进行处理又经过CAN的收发器和光电耦合模块送入到CAN总线上,最后进入阀驱动电路。在此过程中由程序根据接受信号的变化调节阀打开度来控制。完成液位检测控制节点的设计。在这次课程设计中很好的培养了用专业知识、专业技能分析和解决问题的能力。熟练掌握了CAN总线在实际问题中的应用以及在常用编程设计思路技巧的掌握方面都能向前迈了一大步为日后成为合格的应用型人才打下良好的基础。参考文献[1]杨宪慧.现场总线技术及其应用[M].北京清华大学出版社.2008.10:59-99[2]周立功.CAN现场总线原理与应用[M].北京航空航天大学出版社.2007.6[3]杜尚丰.CAN总线测控技术及其应用[M].电子工业出版社.2007.9:16-19[4]邹益仁.现场总线控制系统的设计和开发[M].国防工业出版社,200

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论