1、辽 宁 工 业 大 学 课 程 设 计 说 明 书 (论文)本科生课程设计(论文)课程设计(论文)任务及评语学 号学生姓名专业班级课程设(论文)题目基于CAN总线的液位控制装置的设计课程设计(论文)任务课题完成的功能、设计任务及要求、技术参数实现功能基于CAN总线的液位控制器实现通过CAN总线接收控制指令及上传数据、并根据指令进行液位的控制功能。硬件设计包括CPU选型、CAN总线控制器、CAN总线收发器及液位采集与驱动电路等。软件采用汇编语言或C语言,并调试与分析。设计任务及要求1、确定设计方案,画出方案框图。2、控制器硬件设计,包括元器件、传感器的选择。3、画出控制器的原理图。4、绘出程序流
2、程图,并编写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天)指导教师评语及成绩 平时: 论文质量:
3、答辩: 总成绩: 指导教师签字: 年 月 日院(系):电气工程学院 教研室: 注:成绩:平时20% 论文质量60% 答辩20% 以百分制计算摘 要自20世纪 80 年代开始, 由于微电子计算机、光纤、超声波等高科技的迅猛发展,在液位控制领域出现了种类多样的控制手段,并且其功能越来越完善,各项性能指标越来越易于适应工业生产的要求,趋于自动化、智能化。本课设主要研究的是基于CAN总线的液位控制,实现通过CAN总线接收控制指令及上传数据、并根据指令进行液位的控制。硬件设计包括CPU-AT89C51、CAN总线控制器MPC2510、CAN总线收发器PAC82C250及液位变送器CYB31与驱动电路等。
4、首先由液位变送器产生一个输入信号给A/D转换器ADC0804进行信号转换送入CPU,进行数据处理,然后经由CAN总线控制后由CPU输出信号给D/A转换器DAC0832,然后输出信号作用于控制阀门,直接作用于容器装置,形成一个完整的循环控制系统。总体的来达到基于CAN总线的液位控制。基于CAN总线的液位控制技术也因其优点特性而被广泛应用于工业生产过程中。发展现场总线技术已成为工业自动化领域广为关注的焦点课题,国际上现场总线的研究、开发,使控制系统冲破了长期封闭系统的禁锢,走上开放发展的征程,这对中国现场总线控制系统的发展是个极好的机会,也是一次严峻的挑战。关键词:CAN总线;CAN总线控制器;C
5、AN总线收发器目 录论文内容变化后,右键单击目录区域,选择“更新域”,再选择“更新整个目录”,确定。第1章 绪论1第2章 课程设计的方案22.1 概述22.2 系统组成总体结构2第3章 系统硬件设计33.1 最小系统设计33.2 液位变送器33.3 A/D接口电路设计43.4 D/A接口电路设计53.5 CAN总线的接口设计53.5.1 CAN总线的控制器接口设计53.5.2 CAN总线的收发器接口设计63.5.3 光电隔离设计73.6 系统总体电路图7第4章 软件设计94.1 系统流程框图94.2 控制程序9第5章 课程设计总结15参考文献16V第1章 绪论在工业生产过程中,液位往往是很重要
6、的控制参数,常常需要测量容器中液体的液位。液位测量的目的主要是通过液位测量来确定容器里的原料、半成品或产品的数量,以保证生产过程各环节物料平衡以及为进行经济核算提供可靠的依据。随着各行业的快速发展,液位测量已应用到越来越多的领域,传统的液位测量手段已经无法满足对其精确性的要求,所以基于CAN总线的液位控制,这种智能化控制方向已经成为一种新的手段被广泛的应用。 主要针对液位数据采集和传输。以单片机为核心,以CAN协议总线作为数据传输手段,数据采集模块将采集到的数据转换输送到单片机内进行处理,再由单片机通过CAN通讯模块将液位信息数据经CAN总线传输给中心机房的上位机处理,形成基于CAN总线的液位
7、控制系统。现场总线 CAN作为一种工业网络通讯技术,以其独特的设计思想、优良的实时传输性能和极高的可靠性,越来越受到人们的重视。本设计就是开发一种基于CAN总线的液位控制。CAN总线,实现液位检测系统与工业数字化信息平台的信息共享,具有良好的发展前景。第2章 课程设计的方案2.1 概述随着电子技术、计算机技术和信息技术的发展,工业生产中传统的检测和控制技术发生了根本性的变化。液位作为化工等许多工业生产中的一个重要参数,其测量和控制效果直接影响到产品的质量,因此液位控制成为过程控制领域中的一个重要的研究方向。本课设主要研究的是基于CAN总线的液位控制,实现通过CAN总线接收控制指令及上传数据、并
8、根据指令进行液位的控制。硬件设计包括CPU、CAN总线控制器、CAN总线收发器及液位采集与驱动电路等。2.2 系统组成总体结构通过对现有元器件进行分析和对所掌握知识的了解,本次设计对所有元器件进行了选择,并对数据采集模块和CAN通讯模块进行了硬件设计。主要是针对微处理器AT89C51、A/D转换器0804、D/A转换器0832、CAN总线控制器MPC2510和CAN总线收发器PCA82C250的硬件选择和设计。系统总体结构框图如图2.2。图2.2 系统总体结构框图第3章 系统硬件设计3.1 最小系统设计AT89C51是一种带4K字节FLASH存储器的低电压、高性能CMOS 8位微处理器,俗称单
9、片机。AT89C2051是一种带2K字节闪存可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除1000次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪速存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器, AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。为了精确的对系统进行控制,满足控制要求,本设计选用AT89C51可满足控制要求,如图3.1。图3.1 AT89C513.2 液位变送器CYB31系列隔离式液位变送器采用进口不锈钢隔离膜片的高精度、高稳定性
10、的力敏芯片,经合理精密的结构设计和厚膜技术温度补偿、信号放大、V/I转换,对不锈钢壳体进行全密封焊接,使用有通风导管的防水电缆,使传感器背压腔与大气连通,从而制成工业标准的420mA信号输出且性能稳定可靠的全固态产品。本设计要求液位控制精度为1%,而CYB31的控制精度可达到0.2%,结合具体情况本系统选用CYB31型液位变送器来进行液位的测量,如图3.2。图3.2 液位变送器3.3 A/D接口电路设计来自于液位变送器的信号为模拟信号,必须经过A/D转换后才能进入单片机。A/D转换就是将连续的模拟电压转换成相对应的数字量,输入的电压与输出的数字量有严格的对应关系。在本次设计中采集模拟信号是使用
11、的转换器是ADC0804,如图3.3,它是典型的八位逐次逼近型A/D转换器。最多可以允许8位模拟量的输入,借助三位的地址锁存器与译码电路,多路模拟开关可以选择此八路模拟量中的一个,所有的模拟量转换共用一个A/D转换器。图3.3 ADC08043.4 D/A接口电路设计来自于CAN总线上的信号经过单片机变成数字信号。输出的数字信号只有经过D/A转换才能实现模拟量的输出。本次设计采用DAC0832,DAC0832是一种常用的8位数字/模拟转换芯片。DAC0832最具有特色是输入为双缓冲结构,数字信号在进入D/A转换前,需经过两个独立控制的8位锁存器传送。其优点是D/A转换的同时,DAC寄存器中保留
12、现有的数据,而在输入寄存器中可送入新的数据。系统中多个D/A转换器内容可用一公共的选通信号选通输出。图3.4 DAC08323.5 CAN总线的接口设计单片机将采集的液位数据运算处理之后,还要将数据通过CAN总线通信接口以符合CAN协议的数据形式发送到总线上供中心机房的上位机处理。要完成这一功能所以必须得对CAN总线接口进行设计,其中包括CAN控制器、CAN收发器及对CAN总线的光电隔离设计。3.5.1 CAN总线的控制器接口设计本设计中CAN总线控制器芯片采用MCP2510, MCP2510是Microchip公司推出的采用独立CAN控制器的CAN总线控制器芯片,它完全符合CAN总线的2.0
13、B技术规范,并带有符合工业标准的SPI串行接口。MCP2510在目前市场上是体积最小、最易于使用也是最节约成本的独立CAN控制器。MCP2510是一种带有SPI接口的 CAN控制器,它支持 CAN技术规范 V2.0A/B;并能够发送的接收标准的和扩展的信息帧,同时具有接收滤波和信息管理的功能。MCP2510通过SI接口与MCU进行数据传输,最高数据传输速率可达5Mb/s,MCU可通过MCP2510与CAN总线上的其它MCU单元通讯。MCP2510内含三个发送缓冲器、二个接收缓冲器。同时还具有灵活的中断管理能力,这些特点使得MCU对CAN总线的操作变得非常简便。如图3.5.1。图3.5.1 CA
14、N总线控制器MCP25103.5.2 CAN总线的收发器接口设计CAN收发器是一个物理层的器件,它是CAN总线控制器和物理总线之间的接口,器件可以提供对总线的差动发送能力和差动接收能力。本设计总线收发器选用PCA82c250,其与ISO/DIS 11891标准完全兼容,最高速可达1Mbps,很强的抗瞬间干扰和保护总线的能力,降低射频干扰(RFI-Radio Frequency Interference)的斜率控制,热防护,可防护电池与地之间发生短路,存在低电流备用模式,并且某一个节点掉电不会影响总线。如图3.5.2。图3.5.2 CAN收发器PCA82C2503.5.3 光电隔离设计本设计要求
15、对CAN总线进行光电隔离设计,这里我们选择TLP113光耦合器。TOSHIBA小型扁平耦合器TLP113(P113)是一个小外型耦合器,适用于贴片安装。TLP113(P113)包含一个高输出功率的砷化镓铝发光二极管,该二极管光耦合到一个高增益,高速单片光探测器。探测器的输出为肖特基钳位晶体管,集电极开路输出,如图3.5.3。图3.5.3 TLP113光耦合器3.6 系统总体电路图本设计总体电路图如图3.8。图3.8 系统总体电路图第4章 软件设计4.1 系统流程框图软件流程图如图4.1图4.1 系统流程图4.2 控制程序系统控制程序如下:#include#include CANCOM.huns
16、igned char UART_TX_Data8 = 0,1,2,3,4,5,6,7;unsigned char CAN_TX_Data8 = 0,1,2,3,4,5,6,7;unsigned char xdata UART_RX_Data255;/串口接收到的串行帧unsigned char xdata CAN_TX_Data255;/待发送的数据缓冲区unsigned char code ACR_ID4 = 0,0,0,0;/CAN初始设置验收滤波值unsigned char code AMR_ID4 = 0xff,0xff,0xff,0xff;unsigned char CAN_TX_I
17、D4 = 0,0,0,0;/待发送的目标的IDunsigned char CAN_RX_ID4 = 0,0,0,0;/接收到的信息来自何IDunsigned char CAN_RX_Data8 = 7,6,5,4,3,2,1,0;/接受到的数据缓冲unsigned char code CAN_BTR010 =0xdf,0xcf,0xc7,0xc3,0x43,0xc1,0xc1,xc0,0xc0,0x80;unsigned char code CAN_BTR110 = 0x7f,0x7f,0x7f,0x7f,0x2f,0x7f,0x4d,0x3e,0x3a,0x23;/5K 10K 20K 40
18、K 50K 80K 100K 200K 250K 500Kunsigned char code UART_BTR4 = 0xe8,0xf4,0xfa;/ 1.2K,2.4K,4.8Kunsigned char CAN_flag;/CAN发送标志位unsigned char UART_flag;/unsigned char CAN_ERROR_flag = NOT;/unsigned char CAN_DataLength = 8;/CAN信息的报文长度unsigned char UART_DataLength = 0;/串口接收时的当前指示unsigned char UART_Length =
19、 0;/串口接收区的长度指示/sbit AAA = P14;void main(void)EA = 0;System_init();/系统初始化Timer_init();/定时器初始化Interrupt_init();/中断UART_ini();CAN_init();Delay(1);W_WDT();EA = 1;/Delay(1);/UART_Length = 8;/CAN_Transmit(0);/UART_Transmit();void Interrupt_init(void)/IP = 0x00;IT0 = 0x01; /外部0中断沿触发ET0 = 1;/定时器0中断使能EX0 = 1
20、;/外部中断使能ES = 1; /串行中断使能/定时中断程序/一旦中断,说明一帧的接收已经结束,开始启动CAN发送程序/把串口接收到的数据准备好给CAN总线发送/初始化定时器程序/-定时器0方式1,定时器1方式2留给串口/void Timer_init(void)TMOD |= 0x01;/使用定时器0方式1TH0 = temp_TH0;TL0 = temp_TL0;/TR0 = 1;/这里不打开定时器void CAN_init(void)EA = 0;MOD_CAN1 |= 0x08;/单滤波方式doMOD_CAN1 |= 0x01; /request to reset modewhile
21、(MOD_CAN1&0x01) != 0x01);CDR_CAN1 = 0xc8;/选择PeliCAN模式,使用输入比较器,clk_out关闭IER_CAN1 = 0x01;/允许发送中断,其他中断禁能ACR0_CAN1 = ACR_ID0;ACR1_CAN1 = ACR_ID1;ACR2_CAN1 = ACR_ID2;ACR3_CAN1 = ACR_ID3;AMR0_CAN1 = AMR_ID0;AMR1_CAN1 = AMR_ID1;AMR2_CAN1 = AMR_ID2;AMR3_CAN1 = AMR_ID3;/ECC_CAN1 = 0;/TXERR_CAN1 = 0;/RBSA_CAN
22、1 = 0;BTR0_CAN1 = CAN_BTR00;BTR1_CAN1 = CAN_BTR10;OCR_CAN1 = 0xaa;/normal outputW_WDT();doMOD_CAN1 &= 0xfe;while (MOD_CAN1&0x01) != 0x00);EA = 1;/CAN发送接受到的一帧串口数据/-最大长度255,根据接收到的串口信息的/个数来确定/-按每依次8个数据作为一个CAN帧的报文部分/不足8个或超过8的倍数的部分按实际个数作/为CAN报文/-FarmeType = 1为扩展帧,FarmeType = 0为/标准帧while (can_status&0x04)
23、 != 0x04);TXFrameInfo1 = 0x80 + UART_Length%8;pointer = &TXID1;for (i=0;i4;i+)*(pointer+) = CAN_TX_IDi;pointer = &TXDATA1;for (i=0;i(UART_Length%8);i+)*(pointer+) = CAN_TX_Datai+8*(UART_Length/8);CMR_CAN1 = Request_TX;W_WDT();/CAN接收中断服务程序void CAN_ISR(void) interrupt 0 using 1unsigned char can_int;EA
24、 = 0;can_int = IR_CAN1;if (can_int&0x01) = 0x01)/接收中断CAN_Receive();CMR_CAN1 |= ReleaseRXBuf;elseCAN_ERROR_flag = YES;/其他中断,暂时未用/UART_flag = YES;/CAN_flag = YES;UART_Transmit();EA = 1;/CAN接收数据函数#defineYES1/4800bps 5bits 1.04mS#define TIME_MS1#define temp_TH0(0 - 922*TIME_MS)/256#define temp_TL0(0 - 9
25、22*TIME_MS)%256sbit LED1 = P12;sbit LED2 = P13;sbit LED3 = P15;sbit LED4 = P14;sbit WDT = P34;void System_init(void);void Delay(unsigned char time);void W_WDT(void);void Interrupt_init(void);void CAN_init(void);/void CAN_Transmit(unsigned char Farmeinfo);void CAN_Transmit(bit FarmeType);void CAN_Rec
26、eive(void);void Timer_init(void);void UART_ini(void);void UART_Send_Byte(unsigned char Data);void UART_Transmit(void);void Clear_Buffer(unsigned char *pointer,unsigned char length);#endif第5章 课程设计总结本设计目前完成了基于CAN总线的液位控制的设计。测试结果表明,该液位智能控制具有动态响应好,控制准确度高,抗干扰能力强,开放性好等特点。将该液位控制应用于自动控制系统可以确保生产装置安全平稳运行,提高经济效
27、益和社会效益。这次的课程设计,让我加深了对单片机以及一些驱动转换芯片的理解和应用,也对CAN总线结构有更进一步的了解。现场总线技术,应用于液位控制系统设计,提高了系统的可靠性,降低了线路维护成本,为进一步满足社会发展的应用需求及对整体自动控制系统网络的研究和功能管理奠定了一定的基础。同时在设计过程中,我也感觉到自己知识掌握的不够扎实,仍需不断加强学习。通过这次设计我了解了要对任何系统进行设计必须要对整个系统的可靠性、稳定性和安全性进行考虑,任何设计的控制系统都是要经过实践和时间的考验方能不断的完善。就如同我们做课程设计,这课程设计是对我们所学知识的考验,也是对我们对知识综合运用能力的考验。更是
28、对我们做一件事情态度考验。经过设计我们应该学会认真、专心、更有毅力的做一件事情,这样我们在以后的工作和生活中才能经得起实践和时间的考验,我们才能走得更远。参考文献1 杜尚丰,曹晓钟,徐津.CAN总线测控技术及其应用M.北京:电子工业出版社,20072 张毅刚,彭喜元,董继成.单片机原理及应用M.北京:高等教育出版社,20033 江思敏,陈明.Protel电路设计教程M.北京:清华大学出版社,20064 陈世权.自动化设备在水电站中的实际应用J.技术与市场.2010,09:38-41 5 陈小忠,黄宁,赵小侠.单片机接口技术实用子程序M.北京:人民教育出版社,20056 吴祚武,王磊.液位控制系
29、统M.北京:化学工业出版社,2006 7 肖忠祥数据采集原理M.西安:西北工业大学出版社,20018 阳宽惠.现场总线技术及其应用M.北京:清华大学出版社,1999.9 夏继强.现场总线工业控制网络技术M.北京:北航出版社,2005. 10杨恢先,黄辉先.单片机原理及应用M.北京:人民邮电出版社,2006. 11谢又成,章兢.PLC在恒压供水自动控制系统的应用J.电工技术杂志.2003,11:7-17.12布挺,王帆.基于西门子PLC的水塔水位自动控制系统J.科技信息,2009,15:43-47.13廖贤贞.PLC对水电站水机的控制研究J.科技创新导报,2009,23:125-128.14金轶锋,秦玉伟.用PLC实现液位分段控制系统设计J.科技信息.2009,23:85-88.15邹继军,饶运涛.基于SJA1000的CAN总线系统智能节点设计R.北京:人民教育出版社,2001.17