PLC超声波测距实验报告082039140程稳.docx

PLC超声波测距实验报告082039140程稳.docx

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

利用plc的高速计数模块进展超声波测距试验

―――――微型掌握计算机暑期设计试验报告

082039140程稳

利用51单片机来驱动超声波模块测距,是一件很简洁的事,只需要结合定时中断和外部中断,利用12M或更高的晶振频率即可准确猎取从放射到接收到超声波之间的时间,平均1ms对应3.4cm的行程,本GE竞赛设计需要物位测量的最大距离是30cm,即需要30*2/3.4=17.64ms,而GEPACRX3i的PME软件梯形图程序得扫描周期2ms以上,就算是最快的定季节点也有1ms,所以假设直接用PLC的一般离散量输入模块IC694MDL654输入节点来测量接收到超声波回波的时间的误差为1ms,误差距离3.4/2=1.7cm,结果自然不抱负,更严峻的问题在于PLC该模块无硬件中断响应功能,是不能测电平宽度的。总之PLC的IO口工作在低速模式下是难以胜任高速测量任务的,但可喜的是 GEPLC的高速计数模块HSC304能处理2MHZ的信号,但仍无硬件中断功能。于是想能否干脆把单片机测出的电寻常间数据通过串口发送给PLC,我也试着这样连线测试,不过PLC串口的使用不像单片机这么简洁,没有相关资料,PLC内部存放器找不到PLC从单片机接收的数据。于是仍打算放弃此方案,回到高速计数模块。再认真阅读此模块配置信息和试验调试后,觉察其可以测量出外部信号频率,于是想既然PLC无法直接测电平宽度,那干嘛不测量频率,有了频率自然有周期,有周期自然有电平宽度!

利用plc的高速计数模块检测超声波测距仪的信号接收端的频率,正常状况下应使用频率直接求得周期接而来计算时间,但由于实际测得这样根本很难实现,所以直接测频率,并利用示波器查看该频率的波形,并修改程序使得在所测距离变化的状况下,一周期内的低电平保持不变〔高电平所持续的时间表示超声波从发出到接收到所经受的时间,低电平是延时,为了使得波形正常〕,然后测出频率及其所对应的距离。

以下是用虚拟示波器测出的超声波模块在不同距离测量回波接收脚电压波形:

利用matlab进展曲线拟合〔拟合方法是:输入频率及所测距离利用plot〔f,d,“*”〕函数绘制图像,并利用tool下的basicfitting选择拟合方式进展拟合并得到曲线的公式〕从而利用频率计算距离

d=[64.552.646.739.526.223.317.312.96.43]%用卷尺测量出探头与障碍物距离

x=[168177183190204209216222231237]%PLC高速计数模块HSC304测出的频率

plot(x,d,”*”)

MATLAB二次曲线拟出的公式如下:

y=p1*x^2+p2*x+p3

Coefficients:

p1=0.0016329

p2=-1.2635

p3=244.32

Normofresiduals=1.6316

试验中所遇到的几个问题

测距的误差与反射超声波的物质有关及超声波测距仪的摆放位置有关:

〔1〕当反射物质为水时,超声波测距仪在水桶的外面,这时所测的距离与实际相差很大,当放在桶内时则测量准确

〔2〕当用海绵作为反射物时则测量不精准

测量的精度与单片机延时有关系,并与plc高速计数模块的扫描时间有关系,扫描时间越长越准确,但时间越长更的速度越慢,所以时间要设置适宜,一般在1~2s建议取1.5s

这样的精度是5mm

鉴于此试验的创意改造,即不需要测出电平宽度而直接测出频率,故也只需要求51单片机做出的物位传感器不输出时间串行数据信号,而只输出频率信号。于是单片机的编程设计思想是:触发IO口输出触发信号给超声波模块触发端启动模块发出超声波信号工作后,模块接收到回波后的回波脚后的电平变化信号被单片机另一一般IO口检测出后〔电平由低变高〕,延时5~10ms〔低电平〕,再启动一轮触发,如此下去,单片机连接模块的回波脚的IO口就是一高电平与距离成正比,低电平不变的矩形波,如上面的虚拟示波器波形。据此思路,单片机程序如附录所示。

附:超声波的程序〔单片机给放射信号〕

#includereg51.h#defineLEDP1#defineSCANP2

#defineucharunsignedchar#defineuintunsignedintsbitTX=P3^4;

sbitRX=P3^2;

bitflag=0;

bitflag_out=1;uintfre=0;

voiddelay_25us(ucharms)

{

uchari,j;for(i=0;im

文档评论(0)

老狐狸 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档