2022年旋转编码器与单片机的通用接口分享 .pdf
-
资源ID:27187742
资源大小:471.96KB
全文页数:9页
- 资源格式: PDF
下载积分:4.3金币
快捷下载
会员登录下载
微信登录下载
三方登录下载:
微信扫一扫登录
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
|
2022年旋转编码器与单片机的通用接口分享 .pdf
机械测量中旋转编码器与单片机的通用接口在准备 ”Freescale ”杯全国大学生智能车比赛中我们开始的时候是采用红外传感器来测量速度,但是它受环境的干扰很大,且响应频率很小,还达不到1K Hz ,为了提高速度测量精度和响应频率,减小环境的干扰,决定采用了旋转编码器,我们成功地开发了单片机与旋转编码器的最简硬件接口。旋转编码器及其工作原理旋转编码器是用来测量角度的装置。它分为单路输出和双路输出两种。单路输出是指旋转编码器的输出是一组脉冲,而双路输出的旋转编码器输出两组相位差90 度的脉冲,通过这两组脉冲不仅可以测量转速,还可以判断旋转的方向。它将测量到的角度量转换为数字脉冲信号输出,用来检测被检对象的角位移、角速度、角加速度、线位移、线速度和线加速度等,因而,应用十分广泛。旋转编码器有绝对式和增量式两种。 绝对式所测量到的角位置是绝对位置;而增量式所测量的是转动体角位移的累计量。旋转编码器有一个中心有轴的光电码盘,其上有环形通、暗的刻线,有光电发射和接收器件读取 ,获得四组正弦波信号组合成A、B、C、D,每个正弦波相差90 度相位差 (相对于一个周波为360 度),将 C、D 信号反向,叠加在A、B 两相上,可增强稳定信号;另每转输出一个Z 相脉冲以代表零位参考位。由于 A、B 两相相差 90 度,可通过比较A 相在前还是B 相在前,以判别编码器的正转名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 9 页 - - - - - - - - - 与反转,通过零位脉冲,可获得编码器的零位参考位。信号输出有正弦波(电流或电压 ),方波 (TTL 、HTL), 集电极开路 (PNP 、NPN), 推拉式多种形式,其中TTL 为长线差分驱动(对称 A,A-;B,B-;Z,Z-),HTL也称推拉式、推挽式输出,编码器的信号接收设备接口应与编码器对应。编码器的脉冲信号一般连接计数器、PLC 、计算机, PLC 和计算机连接的模块有低速模块与高速模块之分,开关频率有低有高。如单相联接,用于单方向计数,单方向测速。B 两相联接,用于正反向计数、判断正反向和测速。A、B、Z 三相联接,用于带参考位修正的位置测量。A、A- 、B、B- 、Z、Z-连接,由于带有对称负信号的连接,电流对于电缆贡献的电磁场为0,衰减最小,抗干扰最佳,可传输较远的距离。为方便用户使用,旋转编码器信号有电压、NPN 、PNP 、T、D 多种输出方式。不同输出方式的抗电磁干扰的能力也不同。因而,可根据使用的具体要求选择恰当输出形式的旋转编码器。本设计采用旋转编码器的单相联接输出方波。旋转编码器与单片机的接口由于工程实践和比赛的需要,我们研究开发了一种单片机与旋转编码器直接接口的方法。此方法就是直接将旋转编码器信号端与Freescale 的 S12 的单片机的输入捕捉/输出比较通道 (IOC) 极为简洁,由此构成的系统极为简单而可靠性很高。旋转编码器A 相输出信号,故可使用单片机的IOC1(IOC0 IOC7 任意一个都可以)与之相接。实际使用时,根据旋转编码器信号线的长度及电磁干扰的程度,可以在旋转编码器与单片机之间增加光电耦合器,或整形门电路,以抵抗干扰,调理旋转编码器的输入信号。我们在使用中采用了电压输出形式的旋转编码器,而且信号线很短,接口电路见图1。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 9 页 - - - - - - - - - 图 1 旋转编码器与单片机的接口电路图 1 上拉电阻 R 是因为我们的编码器是NPN 型集电极开路的。在这个接口方式中,将旋转编码器的A 相与单片机的IOC1/PT1引脚相连,输出端需接1K 的上拉电阻,这个电阻是我们通过实验得到的结果,其空载输出脉冲频率为010KHz 。实物图见图2,我们采用齿轮啮合的原理将电机的齿轮和编码器的齿轮啮合,当电机旋转带动编码器的旋转,编码器就在接上拉电阻的信号线A 上产生方波。图 2 智能车上旋转编码器的安装名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 9 页 - - - - - - - - - 接口程序上述接口方法是利用了S12 单片机的ECT 模块的外部输入捕捉/输出比较工作方式。单片机也仅仅使用外部输入捕捉的来处理旋转编码器数据,只要将旋转编码器的A 相(或 B相)接至外部输入捕捉口IOC1(IOC0 IOC7 任意一个都可以),程序如下:用 PT1(IOC1) 通道作为速度脉冲信号输入,ECT 模块初始化步骤如下:1)设置 TIOS 寄存器,设置PT1 通道为输入 ; 2)设置 TCTL4 寄存器,使得上升沿和下降沿(任何沿 )均能得到捕捉; 3)设置 ICOVW_NOVW寄存器,保护脉冲累加器的数据; 4)置位 ICPAR_PA1EN,使能脉冲累加器。设置此寄存器之后,脉冲累加器开始计数; 5)通过读取PACN1 寄存器,即可以获取当前的脉冲累加值。初始化程序为:void ECT_initial(void) /ECT初始化 DDRT_DDRT1=0; /置 PT1(IOC1) 脚为输入TIOS_IOS0=0; TIOS_IOS1=0; /通道 1 为输入捕捉TCTL4=0b00001101; /通道 1 为任何沿捕捉TSCR1_TEN=1; /计数器 1 使能ICOVW_NOVW1 = 1; /保护ICPAR_PA1EN = 1; /脉冲累加器使能 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 9 页 - - - - - - - - - 在每一控制周期开始时,MC9S12DG128读取脉冲累加器中的数值(average5) ,然后与前 5 个控制周期的脉冲累加器值求和(all_speed) 再求平均值,做为当前速度反馈值(speed) 。程序流程图如图3 所示。图 3 直流电机测速流程图计数速度的测试采用以下两种方法对电机测速部分进行测试:1)让智能车在赛道上行驶,每20ms 将赛车当前速度值通过SCI 串口发送到上位机上,并利用串口调试器进行监控。对正好在一圈当中赛车行驶的速度值进行累加求和,再乘以 20ms ,得到的总行驶距离约为27m ,而模拟赛道总长约为26m ,两者的相对误差不到 4%。这说明,速度传感器测量基本准确。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 9 页 - - - - - - - - - 2)直流电机空载运行时,改变脉冲捕捉方式,在上升沿、下降沿和任何沿捕捉方式间进行切换。不改变驱动电机占空比设置,理想情况下,单位时间内捕捉的脉冲数满足:上升沿获取下的脉冲数=下降沿获取下的脉冲数=任何沿获取下的脉冲数/2。在脉冲捕捉方式不变的情况下,改变PWM 信号占空比 (即改变速度给定值),检测的速度值与占空比近似成线性比例关系。以上间接说明脉冲检测的可靠性。机械测量中旋转编码器与单片机的通用接口技术分类:微处理器与DSP | 2009-03-12 南昌大学自动化系郭敏初始化程序为:名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 9 页 - - - - - - - - - void ECT_initial(void) /ECT初始化 DDRT_DDRT1=0; /置 PT1(IOC1) 脚为输入TIOS_IOS0=0; TIOS_IOS1=0; /通道 1 为输入捕捉TCTL4=0b00001101; /通道 1 为任何沿捕捉TSCR1_TEN=1; / 计数器 1 使能ICOVW_NOVW1 = 1; / 保护ICPAR_PA1EN = 1; /脉冲累加器使能 在每一控制周期开始时,MC9S12DG128 读取脉冲累加器中的数值(average5),然后与前 5 个控制周期的脉冲累加器值求和(all_speed)再求平均值,做为当前速度反馈值(speed) 。程序流程图如图3 所示。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 9 页 - - - - - - - - - 图 3 直流电机测速流程图计数速度的测试采用以下两种方法对电机测速部分进行测试:1) 让智能车在赛道上行驶,每20ms将赛车当前速度值通过SCI 串口发送到上位机上,并利用串口调试器进行监控。对正好在一圈当中赛车行驶的速度值进行累加求和,再乘以20ms,得到的总行驶距离约为27m ,而模拟赛道总长约为26m ,两者的相对误差不到4% 。这说明,速度传感器测量基本准确。2) 直流电机空载运行时,改变脉冲捕捉方式,在上升沿、 下降沿和任何沿捕捉方式间进行切换。不改变驱动电机占空比设置,理想情况下,单位时间内捕捉的脉冲数满足:上升沿名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 9 页 - - - - - - - - - 获取下的脉冲数=下降沿获取下的脉冲数=任何沿获取下的脉冲数/2 。 在脉冲捕捉方式不变的情况下, 改变 PWM 信号占空比 ( 即改变速度给定值) ,检测的速度值与占空比近似成线性比例关系。以上间接说明脉冲检测的可靠性。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 9 页 - - - - - - - - -