《基于sockett和plc的远程控制系统本科学位论文.doc》由会员分享,可在线阅读,更多相关《基于sockett和plc的远程控制系统本科学位论文.doc(42页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、有问题请EMAIL:vesor引言随着Internet的普及和远程控制策略的完善,基于Internet的远程控制成为可能。基于公众网络(Internet)的远程控制通过廉价的TCP/IP和Ethernet连接克服了工业网络的弊端,大大降低了网络的建设与维护成本,提高了已有设备的利用效率和联合生产能力,并广泛地延伸人类的工作空间。目前国际上已经成功地应用于远程机器人控制,满足在空间、海洋和医学显微环境中的特殊需求3。 Ferrel于1965就提出了在网络控制中时变的网络时延问题。华盛顿大学的T.J.Tarn教授与K.Brady是基于Internet机器人远程控制第一人。Wakita等人提出“智能
2、化监视”远程机器人控制系统,指出低带宽、需求的重要性。Bejczy等人提出远程控制中“虚拟机器人”的概念。Kuk-Hyun Han等人进行机器人系统在KAIST与UC Davis之间的Internet远程控制实验,使用由Java语言编制的GUI监视机器人的状态。Ren C. Luo等人实现了简单迷宫中多障碍存在条件下机器人自动路径寻优,该实现是远程控制与智能控制两种先进控制手段的典型结合。Rovetta等人使用优化的通讯媒介混合进行远程外科手术。德国空间研究项目ROTEX系统是公认的网络远程控制成功范例。它采用多个超前Kalman滤波器作预测,1993年装备于哥伦比亚航天飞机上。目前在国内还没
3、有对基于Internet的网络远程控制的系统性研究4。原来的基于公用电话网的远程控制系统6,虽然实现了双向传输,但是传送/接受速率太低。基于无线寻呼网络为基础的远程控制系统虽然传输速率较高,但只能单项传输,不能进行反馈。公用电话网和无线寻呼网,还由于网络覆盖情况等限制,不能应用到家庭。本文设计的基于socket和plc的远程控制系统,克服了以上两个网络的缺陷。本文在Winsock 的基础上采用 TCP/IP 传输控制协议来完成数据的远程通信。由于TCP/IP协议组是为跨越局域网和广域网环境的大规模互联网设计的,因此,利用因特网为传输媒介,满足了远程控制系统应用到家庭上时,对网络覆盖范围的需求。
4、另外,由于控制信息在因特网上传输时具有较快的速率,因此可以实现实时监控和实时控制。本系统在因特网上还可以实现信息反馈,使系统更加稳定、健全,实现一个完整的远程控制系统。用PLC作为本系统的可编程控制器,是因为PLC可以通过通信联网与服务器相连,实现分散控制,集中管理。PLC内有成百上千个可供使用的编程元件,有很强的功能,可以实现非常复杂的控制功能,具有很高的性能价格比2。 本设计的结构图,如下图所示:客户端1客户端2客户端3服务器端PLC风扇热水器空调反馈信息图-控制系统结构图2远程控制系统硬件部分及通信相关协议2.1PLC简介PLC主要由CPU模块、输入模块、输出模块和编程器组成。.中央处理
5、单元(CPU) 中央处理单元(CPU)是PLC的控制中枢。它按照PLC系统程序赋予的功能接收并存储从编程器键入的用户程序和数据;检查电源、存储器、I/O以及警戒定时器的状态,并能诊断用户程序中的语法错误。当PLC投入运行时,首先它以扫描的方式接收现场各输入装置的状态和数据,并分别存入I/O映象区,然后从用户程序存储器中逐条读取用户程序,经过命令解释后按指令的规定执行逻辑或算数运算的结果送入I/O映象区或数据寄存器内。等所有的用户程序执行完毕之后,最后将I/O映象区的各输出状态或输出寄存器内的数据传送到相应的输出装置,如此循环运行,直到停止运行。为了进一步提高PLC的可靠性,近年来对大型PLC还
6、采用双CPU构成冗余系统,或采用三CPU的表决式系统。这样,即使某个CPU出现故障,整个系统仍能正常运行。b. 输入(Input)模块和输出模块(Output)输入(Input)模块和输出模块(Output)简称为I/O模块,是联系外部现场设备和CPU模块的桥梁。输入模块用来接收和采集输入信号,开关量输入模块用来从按钮、选择开关、数字拨码开关、限位开关、接近开关、压力继电器等来的开关量输入信号。模拟量输入模块用来接收电位器,测速发动机和各种变送器提供的连续变化的模拟量电流电压信号。开关量输出模块用来控制接触器、电磁阀、指示灯数字显示装置和报警装置等输出设备,模拟量输出模块用来控制调节阀,变频器
7、等执行装置5。c. 编程器编程器用来生成用户程序,用它来进行编辑、检查、修改和监视用户程序的执行情况。使用编程软件可以在计算机的屏幕上直接生成和编辑梯形图和指令表程序,并可以实现不同编程语言之间的互换。程序被编译后下载到PLC,也可以将PLC中的程序上传到计算机。2.2 RS-232C协议RS-232-C是美国电子工业协会EIA(Electronic Industry Association)制定的一种串行物理接口标准。RS是英文“推荐标准”的缩写,232为标识号,C表示修改次数。RS-232-C总线标准设有25条信号线,包括一个主通道和一个辅助通道。 在多数情况下主要使用主通道,对于一般双工
8、通信,仅需几条信号线就可实现,如一条发送线、一条接收线及一条地线。RS-232-C标准规定的数据传输速率为每秒50、75、100、150、300、600、1200、2400、4800、9600、19200波特。RS-232-C标准规定,驱动器允许有2500pF的电容负载,通信距离将受此电容限制,例如,采用150pF/m的通信电缆时,最大通信距离为15m;若每米电缆的电容量减小,通信距离可以增加。传输距离短的另一原因是RS-232属单端信号传送,存在共地噪声和不能抑制共模干扰等问题,因此一般用于20m以内的通信。一般个人计算机上会有两组 RS-232 接口,分别称为 COM1 和 COM2。2.
9、3 TCP/IP协议TCP/IP(传输控制协议/网际协议)是互联网中的基本通信语言或协议。在私网中,它也被用作通信协议。当用户直接网络连接时,用户的计算机应提供一个TCP/IP程序的副本,此时接收所发送的信息的计算机也应有一个TCP/IP程序的副本。TCP/IP是一个两层的程序。高层为传输控制协议,它负责聚集信息或把文件拆分成更小的包。这些包通过网络传送到接收端的TCP层,接收端的TCP层把包还原为原始文件。低层是网际协议,它处理每个包的地址部分,使这些包正确地到达目的地。网络上的网关计算机根据信息的地址来进行路由选择。即使来自同一文件的分包路由也有可能不同,但最后会在目的地汇合。 TCP/I
10、P使用客户端/服务器模式进行通信。TCP/IP通信是点对点的,意思是通信是网络中的一台主机与另一台主机之间的。TCP/IP与上层应用程序之间可以说是“没有国籍的”,因为每个客户请求都被看做是与上一个请求无关的。正是它们之间的“无国籍的”释放了网络路径,才是每个人都可以连续不断的使用网络。 许多用户熟悉使用TCP/IP协议的高层应用协议。包括万维网的超文本传输协议(HTTP),文件传输协议(FTP),远程网络访问协议(Telnet)和简单邮件传输协议(SMTP)。这些协议通常和TCP/IP协议打包在一起。 使用模拟电话调制解调器连接网络的个人电脑通常是使用串行线路接口协议(SLIP)和点对点协议
11、(P2P)。这些协议压缩IP包后通过拨号电话线发送到对方的调制解调器中。 与TCP/IP协议相关的协议还包括用户数据报协议(UDP),它代替TCP/IP协议来达到特殊的目的。其他协议是网络主机用来交换路由信息的,包括Internet控制信息协议(ICMP),内部网关协议(IGP),外部网关协议(EGP),边界网关协议(BGP)。2.客户端/服务器端(C/S)通信 Client(客户端) Server(服务器端) PLC 空调冰箱电视图2-1控制信息流程图如图2-1 客户端和服务器端之间通过Internet进行通信,采用了业界标准的协议组(TCP/IP)。因为(TCP/IP)协议组是为跨越局域网
12、和广域网环境的大规模互联网络设计的,因此,在互联网中进行远程控制,需采用(TCP/IP)协议组7。所有的网络在传输协议上都是分层的,层的集合通常称为栈。应用程序跟最高层通话,最底层则跟网络通话。图2-2显示了客户端和服务器端TCP/IP协议栈的结构9,每一层在逻辑上与另一端相对应的层进行连接和通信;物理数据是从协议栈的上部传送到底部,通过网络传输到另一端协议栈的底部,然后再从栈的低端往上传送到对应的层。图中右边是服务程序,左边是客户程序,可以把基于HTTP协议的WWW服务器程序认为是服务程序,把自己计算机上的浏览器程序认为是客户程序。TCPIPTCPIPHTTP客户HTTP客户以太网驱动程序以
13、太网驱动程序应用层传输层网络层链路层图2-2TCP/IP协议栈的结构2. 服务器和PLC之间通信PLC与服务器的comm端口进行通信,采用了RS-232C串行通信方式,PLC需安装FX2N232BD通信用功能扩展板,硬件接线如图2-3所示。RXD,TXD和SG分别是接收端、发送端和信号公共线。 232-BD 计算机(comm)RXDTXDSGRXDTXDSG图2-3串口通信结构计算机和PLC之间的数据流有三种形式:计算机从PLC中读数据;计算机向PLC写数据和PLC向计算机写数据。计算机读PLC的数据计算机从PLC中读取数据的过程分为三步:(1) 计算机向PLC发送读数据命令。(2) PLC接
14、收到命令以后,执行相应的操作,将计算机要读取的数据发送给它。(3) 计算机在接收到相应的数据后,向PLC发送确认响应,表示数据已经收到。计算机向PLC写数据计算机向PLC写数据的过程分为两步:(1) 计算机首先向PLC发送写数据命令。(2) PLC接收到写数据命令以后,执行相应的操作,执行完成后向计算机发送确认信号,表示写数据操作已完成。PLC发送请求式(on-demand)数据给计算机PLC直接向上位机发送数据,计算机收到后进行相应的处理,不会向PLC发送确认信息8。3远程控制系统软件部分3.1服务器端与客户端通信编程3.1.1采用VC+下的MFC框架编程MFC框架定义了应用程序的轮廓,并提
15、供了用户接口的标准实现方法。所以我们要做的就是通过预定义的接口把具体应用程序特有的东西填入这个轮廓。Microsoft Visual C+提供了相应的工具来完成这个工作:AppWizard可以用来生成初步的框架文件;资源编辑器用于帮助直观地设计用户接口;ClassWizard用来帮助添加代码到框架文件;最后进行编译1。MFC提供了两个用于WinSock编程的类:CAsyncSocket和CSocket,它们避免了程序被挂起的可能,使得应用程序更高效。例如:通过套接字发送一个字符串到另一台主机,我们可以调用socket的Send()函数,此函数尝试发送数据,但如果套接字没有准备好并在等待则Sen
16、d()就返回;当套接字准备好时,一个消息发往套接字窗口,并由该窗口捕获消息并发送数据,这样就实现了异步Winsocket通信。此外,MFC还把复杂的Winsock API封装到类里,这使得编写应用程序更加容易。3.1.2客户端开发整体流程Sockets的大部分工作是基于连接的:两个应用程序在每一端使用一个套接字形成一个连接,此后应用程序沿着此连接发送及接收数据。WinSock支持两种类型的套接字:流式套接字(SOCK_STREAM)和数据包套接字(SOCK_DGRAM)。流式套接字提供了一个面向连接的,可靠的,数据无错的,无重复发送的及按发送顺序接收数据的服务。流式套接字使用传输控制协议(TC
17、P)。当用户想发送大批量数据时或想让发送的数据按顺序无重复的到达目的地时,使用流式套接字是最方便的。客户端程序的编写过程如下:()创建一个基于对话框的项目Client。(2)去掉Ok和Cancel两个按钮,增加IDC_BUTTON_CONNECT(连接)、IDC_BUTTON_EXIT(关闭)、IDC_BUTTON_SEND(空调开)等按钮,增加Edit控件IDC_EDIT_IPADDR(用来输入IP地址)和IDC_EDIT_PORT(用来输入端口号)。(3)CAsyncSocket类用DoCallBack()函数处理MFC消息,当一个网络事件发生时,DoCallBack()函数按网络事件类型
18、:FD_READ、FD_WRITE、FD_ACCEPT、FD_CONNECT分别调用OnReceive()、OnSend()、OnAccept()、OnConnect()函数。由于MFC把这些事件处理函数定义为虚函数,所以要生成一个新的C+类以重载这些函数,具体做法如下:以Public方式继承CAsyncSocket类,生成新类MySocket;为MySocket添加虚函数OnReceive()、OnConnect()、OnSend()。3.3创建CAsyncSocket对象,生成套接字在使用一个套接字以前必须创建它,这个工作分为两步:首先构造一个CAsyncSocket对象,接着调用CAsy
19、cSocket类的成员函数Creat()来创建底层的套接字。CAsyncSocket:Creat()函数的声明如下:BOOL Creat(UINT nSocketPort=0,Int nSocketType=SOCKET_STREAM,long lEvent=FD_READ|FD_WRITE|FD_OOB|FD_ACCEPT|FD_CONNECT|FD_CLOSELPCTSTR lpszSocketAddress=NULL);其中,第一个参数nSocketPort指定一个分配给套接字的端口号,默认值为0。在很多情况下,特别是在服务器应用程序中,用户要明确地分配一个公认的的端口号给套接字,这个端
20、口一旦确定就不应该随意改动,因为客户端应用程序可以使用这个端口和服务器应用程序相连接。本程序中创建套接字的过程如下:首先创建CAsyncSocket对象m_clientSocket;再由m_clientSocket调用CAsyncSocket的成员函数Creat();m_clientSocket.Creat(0,SOCK_STREAM,FD_CONNECT);3.1.4套接字与服务器连接使用流式套接字就存在一个在客户端和服务器端建立连接的过程,只有在客户端和服务器端之间建立了连接,套接字才能进行数据传输工作。客户端应用程序的流式套接字可以使用Connect()成员函数来和服务器端进行连接。Co
21、nnect()成员函数,实际上是向服务器发出一个连接请求,这个连接请求如果被服务器接受,则两端的链接顺利实现;如果连接请求得不到响应,那么连接无法建立。对于异步事件,CAsyncSocket对象使用通知回调(notification callback)。在这种情况下,如果Connect()成员函数不能得到立即响应,它将返回FALSE。无论Connect()成员函数调用成功与否,在结束调用之后,OnConnect()事件处理函数都将被调用。本程序中套接字与服务器连接的过程如下:m_clientSocket.Connect(m_szServerAdr,m_szPort);其中m_szServerA
22、dr表示主机名,m_szPort指定连接的端口号。3.1.5服务器接受客户端的连接对于服务器端应用程序,为了能够获得客户端的请求,必须创建一个专门的服务器套接字来监听是否有连接请求。在服务器端,用户创建了套接字对象后,可以调用Listen()成员函数来监听连接请求14。本程序中服务器接受客户端连接的过程如下:m_srvrSocket.Listen( 2 );其中参数2指定了WinSock在请求被接受以前或WinSock开始试图向请求连接的客户机返回WSAENCONNECTREFUSED之前,等待队列中最大的连接请求数为2。为了接受客户端的请求,服务器端应用程序可以调用Accept()成员函数1
23、1。Accept (*pSocket)对象pSocket是一个CAsyncSocket对象,它是用来和客户端套接字建立连接的服务器套接字,在使用这个对象之前,用户不需要调用Creat()成员函数来构建底层的套接字,在Accept()成员函数的调用过程中,函数本身会处理。Accept()成员函数一般在OnAccept()事件处理函数中被调用。3.1.6发送并接收流式数据一旦在服务器和客户端之间建立了连接,数据就可以通过套接字被传递了。从流式套接字发送数据,使用CAsyncSocket类的Send()成员函数;接受数据则使用Receive()成员函数12。本程序中发送流式数据过程如下:Send(m
24、_szBuffer,m_nLength,0);其中m_szBuffer是一个缓冲区的指针,参数nBufLen制定了该缓冲区的长度。在Send()成员函数,该缓冲区存放了要发送的数据。本程序中接收流式数据过程如下:Receive(m_szBuffer,4096*sizeof(char),0)其中m_szBuffer是一个缓冲区的指针,参数4096*sizeof(char)制定了该缓冲的长度。在Reiceive()函数,缓冲区用来存储将要接收的数据。3.1.7关闭套接字结束了数据传输工作之后,在关闭应用程序之前,应该调用CAsyncSocket类的成员函数Close()来释放与套接字有关的系统资源
25、。Close()成员函数也可以在CAsynSocket对象被删除时由该类的析构函数来调用13。本程序中客户端关闭套接字过程如下:m_clientSocket.Close();客户端运行后如下图所示:图3-1远程控制客户端界面服务器端运行后如下图所示:图3-2远程控制服务器端界面3.2服务器端与PLC通信编程MSComm(Microsoft Communications Control)控件是Microsoft公司提供方的用于简化Windows环境下串行编程的ActiveX控件,它为应用程序提供了通过串行接口收发数据的简便方法。MSComm控件的常用属性:SetCommPort:设置并返回通信端
26、口号。SetSettings:设置并返回波特率、奇偶校验、数据位、停止位参数。其中字符n、o、e分别代表无校验,奇校验和偶校验。SetPortOpen:设置并返回通信端口的状态。设置为True时,打开端口;设置为False时,关闭端口。SetInputModel:设置从从缓冲区读取数据的格式,设为0时为字符串格式(Text);设为1时为二进制格式(Binary)SetRThreshold:在MSComm控件设置CommEvent属性为comEvReceive并产生OnComm事件之前,接收缓冲区接收的最小字节数。若设为0,不会产生OnComm事件。一般设为1,接收缓冲区收到每一个字符都会使MS
27、Comm控件产生OnComm事件。SetInputLen:设置和返回Input每次读出的字节数,设为0时读出接收缓冲区中的全部内容10。在本程序中串口编程如下:if(m_ctrlComm.GetPortOpen()m_ctrlComm.SetPortOpen(FALSE);m_ctrlComm.SetCommPort(1); /选择com1if( !m_ctrlComm.GetPortOpen()m_ctrlComm.SetPortOpen(TRUE);/打开串口elseAfxMessageBox(cannot open serial port);m_ctrlComm.SetSettings(
28、9600,n,8,1); /波特率9600,无校验,8个数据位,1个停止位 m_ctrlComm.SetInputModel(1); /1:表示以二进制方式检取数据m_ctrlComm.SetRThreshold(1);/参数1表示每当串口接收缓冲区中有多于或等于1个字符时将引发一个接收数据的OnComm事件m_ctrlComm.SetInputLen(0); /设置当前接收区数据长度为0m_ctrlComm.GetInput();/先预读缓冲区以清除残留数据实验4.1实验目的验证控制信息能否正确无误地从客户端传到服务器端,再由服务器端传到PLC。4.2实验整体流程 运行远程控制程序,首先打开
29、服务器端,设置监听端口,以便监听来自客户端的链接请求。在客户端,输入服务器IP地址和端口号,来和服务器端进行通信。服务器端和客户端成功建立通信连接后,客户端发出一个控制信息,验证服务器端是否能正确接收,服务器端再通过串口来和PLC进行通信,验证PLC端能否正确就收服务器传过来的信息。4.2.1服务器端通信设置图4-1服务器端设置如上图所示,在监听端口文本框里输入端口号:8888,然后单击按钮“监听”按钮,来监听客户端的连接请求,与客户端建立连接做准备。选中数据采集框,以便把建立连接后从客户端传来的控制信息,传送给PLC。4.2.2客户端通信设置图4-2客户端设置如上图所示,首先在IP地址文本栏
30、里输入服务器端IP地址,在端口号文本栏里输入服务器正在监听的端口号。然后再单击连接按钮。此时服务器端将和客户端建立连接,如果连接成功则会出现下图所示的连接成功提示框。图4-3连接成功提示框4.2.3串口调试软件的应用 本程序中用串口调试软件来模拟PLC接收到的控制信息,当服务器端发出控制信息时,就把控制信息传给串口调试软件。如下图4-4所示。图4-4串口调试助手4.2.4验证信息传输当客户端和服务器端正确建立连接以后,单击图4-2所示的打开空调按钮时,客户端就会发出控制信息H5HDHA,服务器端正确接收信息,如图4-1文本框接收到的信息所示。服务器端再采集由客户端发过来的信息传给PLC,PLC
31、接收到了正确的信息H5HDHA如图4-4所示。说明此系统通信成功。结论随着Internet的普及和远程控制策略的完善,基于Internet的远程控制成为可能。基于公众网络(Internet)的远程控制通过廉价的TCP/IP和Ethernet连接克服了工业网络的弊端,大大降低了网络的建设与维护成本,提高了已有设备的利用效率和联合生产能力,并广泛地延伸人类的工作空间。本文在Winsock 的基础上采用 TCP/IP 传输控制协议来完成数据的远程通信。由于TCP/IP协议组是为跨越局域网和广域网环境的大规模互联网设计的,因此,利用因特网为传输媒介,满足了远程控制系统应用到家庭上时,对网络覆盖范围的需
32、求。基于Internet的远程控制系统是现代控制尤其是远程机器人,远程医疗,智能家庭等控制领域的一个很有发展前景的新颖的体系结构。远程控制的安全性,有效性,廉价性,远程实时性和可见性都可以达到。基于Internet远程控制在不久的将来会有更广阔的市场前景13参考:毕业论文(设计)工作记录及成绩评定册题 目: 学生姓名: 学 号: 专 业: 班 级: 指 导 教 师: 职称: 助理指导教师: 职称: 年 月 日实验中心制使 用 说 明一、此册中各项内容为对学生毕业论文(设计)的工作和成绩评定记录,请各环节记录人用黑色或蓝色钢笔(签字笔)认真填写(建议填写前先写出相应草稿,以避免填错),并妥善保存
33、。二、此册于学院组织对各专业题目审查完成后,各教研室汇编选题指南,经学生自由选题后,由实验中心组织发给学生。三、学生如实填好本册封面上的各项内容和选题审批表的相应内容,经指导教师和学院领导小组批准后,交指导教师;指导老师填好毕业论文(设计)任务书的各项内容,经教研室审核后交学生签名确认其毕业论文(设计)工作任务。四、学生在指导老师的指导下填好毕业论文(设计)开题报告各项内容,由指导教师和教研室审核通过后,确定其开题,并将此册交指导老师保存。五、指导老师原则上每周至少保证一次对学生的指导,如实按时填好毕业论文(设计)指导教师工作记录,并请学生签字确认。六、中期检查时,指导老师将此册交学生填写前期
34、工作小结,指导教师对其任务完成情况进行评价,学院中期检查领导小组对师生中期工作进行核查,并对未完成者提出整改意见,后将此册交指导老师保存。七、毕业论文(设计)定稿后,根据学院工作安排,学生把论文(打印件)交指导老师评阅。指导老师应认真按毕业论文(设计)指导教师成绩评审表对学生的论文进行评审并写出评语,然后把论文和此册一同交教研室。八、教研室将学生的论文和此册分别交两位评阅人评阅后交回教研室保存。九、学院答辩委员会审核学生答辩资格,确定答辩学生名单,把具有答辩资格学生的论文连同此册交各答辩小组。十、学生答辩后由答辩小组记录人填好毕业论文(设计)答辩记录表中各项内容,然后把学生的论文和此册一同交所
35、在答辩小组,答辩小组对其答辩进行评审并填写评语后交教研室。十一、学院答辩委员会进行成绩总评定,填好毕业论文(设计)成绩评定表中各项内容,然后把论文(印刷版和电子版(另传)和此册等资料装入专用档案袋中,教教研室后由实验中心统一保存。目 录1毕业论文(设计)选题审批表2. 毕业论文(设计)任务书3毕业论文(设计)开题报告4. 学生毕业论文(设计)题目更改申请表5毕业论文(设计)指导老师工作记录6毕业论文(设计)中期检查记录7毕业论文(设计)指导教师成绩评审表8毕业论文(设计)评阅人成绩评审表9. 毕业论文(设计)答辩申请表10毕业论文(设计)答辩记录表11毕业论文(设计)答辩成绩评审表12毕业论文
36、(设计)成绩评定表毕业设计(论文)选题审批表题目名称 基于单片机的超声波测距题目性质工程设计理论研究实验研究计算机软件综合论文其它题目来源科研题目 生产现场教学 其它自拟题目选题理由:由于超声波指向性强,能量消耗缓慢,在介质中传播的距离较远,因而超声波经常用于距离的测量。利用超声波检测距离,设计比较方便,计算处理也较简单,精度也能达到使用要求,超声波测距应用于各种工业领域,如工业自动控制,建筑工程测量和机器人视觉识别等方面。超声波作为一种检测技术,采用的是非接触式测量,由于它具有不受外界因素影响,对环境有一定的适应能力,且操作简单、测量精度高等优点而被广泛应用。这些特点可使测量仪器不受被测介质
37、的影响,大大解决了传统测量仪器存在的问题,比如,在粉尘多情况下对人引起的身体接触伤害,腐蚀性质的被测物对测量仪器腐蚀,触电接触不良造成的误测等。此外该技术对被测元件无磨损,使测量仪器牢固耐用,使用寿命加长,而且还降低了能量耗损,节省人力和劳动的强度。因此,利用超声波检测既迅速、方便、计算简单,又易于实时控制,在测量精度方面能达到工业实用的要求。 指导教师意见: 签名: 年 月 日院(系)领导小组意见: 签名: 年 月 日注:此表由学生填写毕业论文(设计)任务书1、毕业论文(设计)应达到的目的:(1)能对学生在学期间所学知识的检验与总结,培养和提高学生独立分析问题和解决问题的能力,使学生受到科学
38、研究、工程设计和撰写技术报告等方面的基本训练。(2)提高学生对工作认真负责、一丝不苟,对事物能潜心观察、用于开拓、用于实践的基本素质;(3)培养学生综合运用所学知识,结合实际独立完成课题的工作能力。(4)对学生的知识面、掌握知识的深度、运用理论结合实际去处理问题的能力、实践能力、计算机运用水平、书面及口头表达能力进行考核。2、毕业论文(设计)的内容和要求(包括原始数据、技术要求、工作要求等):以单片机为核心设计了基于激光测距的防撞预警系统,采用TDC-GP2芯片作为激光飞行计时单元,给出激光发射及回波接收放大电路,基于模块化思想设计、完成系统软件设计流程;最后通过实验测试,系统要能很好测出前方
39、车辆距离及运行状态,并能及时发出报警,利用Matlab对其测试结果进行验证,修正。3、对毕业论文(设计)成果的要求包括图表、实物等硬件要求:设计完成后,要提供电路图,实验电路版,控制原始程序,实验要保存大量的原始数据。完成设计论文。4、毕业论文(设计)工作进度计划:序号论文(设计)工作进度日期(起止周数)1根据所出题目,结合自身所学知识,选择合适课题,确定毕业设计论文题目。13-14-1第16周止2根据所定题目,全面搜集素材,列出各种设计方案,并一一比较,选择出最好的设计方案。13-14-1第18周止3联系指导老师,将自己的设计方案与老师沟通、交流,得到指导老师的认同与指点,开始设计。13-1
40、4-1第19周止4根据方案,确定所要用的器材。设计总体框架结构,分出各大的模块,并将其展开,以得到比较细的设计模式。13-14-2第1周止5 根据所列框图,结合自己所学知识,开始各分支电路模块的设计。13-14-2第2周止6完成初稿,将所做的模块给指导老师查阅,看是否有不当之处,再进行改进。并将大电路的设计方案告之老师,得到老师更好的建议。13-14-2第3周止7大胆进行设计,将每一个小的电路,大的模块,都精心设计好,完成整个硬件和软件部分的设计过程。13-14-2第6周止8将所有设计整理结合,形成设计论文,交与指导老师检查,并经老师指点,做进一步的改进工作。13-14-2第7周止9改进毕业设
41、计论文,得到自己及老师认为满意的论文。13-14-2第10周止指导教师日期年 月 日教研室审查意见:签字: 年 月 日学院负责人意见:签字: 年 月 日学生签字: 接受任务时间: 年 月 日注:任务书由指导教师填写。 毕业论文(设计)开题报告题目基于单片机的超声波测距1、本课题的研究意义,国内外研究现状、水平和发展趋势 近年来,随着电子测量技术的发展,运用超声波作出精确测量已成可能。随着经济发展,电子测量技术应用越来越广泛,而超声波测量精确高,成本低,性能稳定则备受青睐。超声波是指频率在20kHz以上的声波,它属于机械波的范畴。超声波也遵循一般机械波在弹性介质中的传播规律,如在介质的分界面处发
42、生反射和折射现象,在进入介质后被介质吸收而发生衰减等。正是因为具有这些性质,使得超声波可以用于距离的测量中。随着科技水平的不断提高,超声波测距技术被广泛应用于人们日常工作和生活之中。一般的超声波测距仪可用于固定物位或液位的测量,适用于建筑物内部、液位高度的测量等。 随着科学技术的快速发展,超声波将在测距仪中的应用越来越广。但就目前技术水平来说,人们可以具体利用的测距技术还十分有限,因此,这是一个正在蓬勃发展而又有无限前景的技术及产业领域。展望未来,超声波测距仪作为一种新型的非常重要有用的工具在各方面都将有很大的发展空间,它将朝着更加高定位高精度的方向发展,以满足日益发展的社会需求,如声纳的发展
43、趋势基本为:研制具有更高定位精度的被动测距声纳,以满足水中武器实施全隐蔽攻击的需要;继续发展采用低频线谱检测的潜艇拖曳线列阵声纳,实现超远程的被动探测和识别;研制更适合于浅海工作的潜艇声纳,特别是解决浅海水中目标识别问题;大力降低潜艇自噪声,改善潜艇声纳的工作环境。无庸置疑,未来的超声波测距仪将与自动化智能化接轨,与其他的测距仪集成和融合,形成多测距仪。随着测距仪的技术进步,测距仪将从具有单纯判断功能发展到具有学习功能,最终发展到具有创造力。在新的世纪里,面貌一新的测距仪将发挥更大的作用。2、本课题的基本内容,预计可能遇到的困难,提出解决问题的方法和措施 利用单片机控制超声波测距,发射器发出的超声波以速度在空气中传播,在到达被测物体时被反射返回,由接收器接收,其往返时间为t,由即可算出被测物体的距离。预计可能遇到的问题是受温度的影响,测量精度不高,则应通过温度补偿的方法加以校正。报告人签名: 2015年 3 月 20 日3、本课题拟采用的研究手段(途径)和可行性分析 由于超声波指向性强,能量消耗缓慢,在介质中传播的距离较远,因而超声波经常用于距离的测量。利用超声波检测距离,设计比较方便,计算处理也较简单,并且在测量精度方面也能达到农业生产等自动化的使用要求。 超声波发生器可以分为两大类:一类是用电气方式产生超声
限制150内