《基于单片机的角位移测量系统设计.ppt》由会员分享,可在线阅读,更多相关《基于单片机的角位移测量系统设计.ppt(30页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、基于单片机的角位移基于单片机的角位移测量系统设计测量系统设计摘要:摘要:在控制领域中,经常需要进行各种位移量的测量。在实际的工业控制领域中,为了提高控制精度,准确地对控制对象进行检测是十分重要的。角位移作为位移量中的一种在工业领域中的地位越来越重要,而传统的机械测量角位移装置普遍存在测量精度低、测量数据不稳定等缺点,已远远不能满足现代生产的需要,为解决上述问题,本研究设计了一种基于单片机的角位移测量系统。该系统为采用光电编码器来实现角位移测量,数字式光电编码器作为角位移传感器的一种,能将角位移量转换为与之对应的电脉冲输出,实现测量来自外部的不同的角位移值及显示。系统由软硬件两部分构成,硬件由单
2、片机控制系统、鉴相电路、四倍频细分电路、显示电路等部分组成。软件部分采用模块化程序设计,由主程序、中断子程序、定时器子程序、显示子程序等模块组成。设计结果表明,该设计具有较高精确度和稳定性,完全满足设计的要求,并且具有一定的实际应用价值。增量式光电编码器工作原理:输出信号为 A、B、Z。A、B 两相信号是相位相差 90的正交方波脉冲,A 相或 B相的每个脉冲代表被测对象旋转了一定的角度,即 A 相和 B的脉冲当量为:P=360/N 角位移:式中 N 为被测对象旋一周 A 相或 B 相发出的脉冲个数。解决方案:角位移测量时,有时是正向运行,有时是反向运行。单凭编码器的 A、B 两相,单片机是没法
3、判断是正向运行还是反相运行。如果将系统正向运行时测得的脉冲累加,而在系统反相运行时,就从累加的脉冲数中减去反相运行的脉冲数,就能得到正确的测量结果。这样就需要对鉴相部分进行设计。软件实现脉冲的鉴向和计数:编码器输出的A 向脉冲接到单片机的外部中断INT0,B 向脉冲接到I/O 端口P1.0,如图右所示。当系统工作时,首先要把INT0 设置成下降沿触发,并开相应中断。当有效脉冲触发中断时,执行中断处理程序,判别B 脉冲是高电平还是低电平。若是高电平,则编码器正转,加1 计数;若是低电平,则编码器反转,减1计数。软件设计方法的优势是整个系统设计简单,不需要外接任何电路,成本也相对低,但是,当有脉冲
4、输入时,软件方法的响应速度相对慢,测量的精确度较低,而且外部干扰对其影响比较大,比如温度和震动的影响。所以尽可能选用外接硬件电路来减少这些缺点。硬件方法实现鉴相和计数:方案一:采用双可触发单稳态触发器74HC123和与非门 74HC00共同组成鉴相电路,HC 系列为高速芯片,延迟很小,可以提高数字电路的整体响应性能。为了使得到的判向信号 Y1 和 Y2 的脉冲宽度尽量小,以保证判向电路的工作可靠,并有较大的使用范围。就要选择合适的的定时电容 C1、C2 和电阻 R1、R2。这里我选取C=100pF和R=2.2K。经过计算:编码器的最高转速不大于2733.33r/s.这能够满足大多数系统的需求。
5、(详细计算见论文)结论:Y1有脉冲输出时,Y2输出高电平;Y2有脉冲时,Y1输出高电平。这里假定将Y1的输出信号作为加计数脉冲,Y2的输出脉冲作为减计数脉冲。将Y1、Y2两输出信号分别输送给单片机的外部中断INT0和INT1口,当外部中断INT0触发时代表编码器正向旋转,加计数。当外部中断INT1触发时代表编码器反向旋转,减计数。实物图:实物图:方案二:鉴相电路用一个D触发器74HC74来实现,当光电编码器顺时针旋转时,A 相超前B 相90,触发器输出 Q为高电平,Q 为低电平。当光电编码器逆时针旋转时,A 相比B 相延迟90触发器输出Q 为低电平,Q 为高电平.将编码器的、两相信号进行四倍频细分(通过74LS86异或门电路),将得到的脉冲信号输送给外部中断INT0进行计数,并将触发器输出的两信号Q和Q连接到P1.0和P1.1引脚,每次外部中断被触发时,就要判断两引脚的电平状态,当P1.0为高电平,P1.1为低电平时,编码器为正转进行加计数,当P1.0为低电平,P1.1为高电平时编码器反转,进行减计数。相应的脉冲信号:74ls74功能和引角图:74LS86的功能和引脚图:的功能和引脚图:实物图:实物图:Proteus初步模拟结果:初步模拟结果:电路连接图:电路连接图:电路实物图:电路实物图:
限制150内