完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
来源 灵动MM32 一、编码器功能简介 在马达类控制应用中,正交编码器可以反馈马达的转子位置及转速信号。MM32系列MCU集成了正交编码器接口,便于客户使用。先简单回顾下编码器原理:如果两个信号相位差为90度,则这两个信号为正交。由于两个信号相差90度,因此可以根据两个信号的先后来判断方向、根据每个信号脉冲数量的多少及整个编码轮的周长即可算出当前行走的距离、如果再加上定时器的话还可计算出速度。 二、MM32编码器工作分析 编码器接口模式通过设置 tiMx_SMCR 寄存器中的 SMS,MM32编码器模式共有3种。 通过设置 TIMx_CCER 寄存器中的 CC1P 和 CC2P 位,可以选择 TI1 和 TI2 极性;如果需要,还可对输入滤波器编程。 两个输入 TI1 和 TI2 被用来作为增量编码器的接口。下表,假定计数器已经启动(TIMx_CR1寄存器中的 CEN = 1),则计数器由每次在 TI1FP1 或 TI2FP2 上的有效跳变驱动。 TI1FP1 和TI2FP2 是 TI1 和TI2 在通过输入滤波器和极性控制后的信号;如果没有滤波和变相,则TI1FP1 = TI1;如果没有滤波和变相,则 TI2FP2= TI2。根据两个输入信号的跳变顺序,产生了计数脉冲和方向信号。依据两个输入信号的跳变顺序,计数器向上或向下计数。不管计数器是依靠 TI1 计数、还是依靠 TI2 计数或是同时依靠 TI1 和 TI2 计数。 编码器接口模式基本上相当于使用了一个带有方向选择的外部时钟。这意味着计数器只在 0到TIMx_ARR 寄存器的自动装载值之间连续计数(根据方向,或是 0 到 ARR 计数,或是 ARR到 0 计数)。所以在开始计数之前必须配置 TIMx_ARR;同样,捕获器、比较器、预分频器、触发输出特性等仍工作如常。在这个模式下,计数器依照增量编码器的速度和方向被自动的修改,因此计数器的内容始终指示着编码器的位置。计数方向与相连的传感器旋转的方向对应。下表列出了所有可能的组合,假设 TI1 和 TI2 不同时变换。 一个外部的增量编码器可直接与 MCU 连接而不需要外部接口逻辑。但是,一般使用比较器将编码器的差动输出转换到数字信号,这大大增加了抗噪声干扰能力。编码器输出的第三个信号表示机械零点,可把它连接到一个外部中断输入并触发一个计数器复位。 三、MM32编码器实例代码配置解析 下图是一个计数器操作的实例,显示了计数信号的产生和方向控制。它还显示了当选择了双边沿时,输入抖动是如何被抑制的;抖动可能会在传感器的位置靠近一个转换点时产生。在这个例子中,我们假定寄存器配置如下: CC1S = ‘01’(TIMx_CCMR1 寄存器, IC1FP1 映射到 TI1) CC2S = ‘01’(TIMx_CCMR2 寄存器, IC2FP2 映射到 TI2) CC1P= ‘0’(TIMx_CCER 寄存器, IC1FP1 不反相, IC1FP1 = TI1) CC2P = ‘0’(TIMx_CCER 寄存器, IC2FP2 不反相, IC2FP2 = TI2) SMS = ‘011’(TIMx_SMCR 寄存器,所有的输入均在上升沿和下降沿有效) CEN = ‘1’(TIMx_CR1 寄存器,计数器使能) 编码器模式下的计数器操作实例 下图为当 IC1FP1 极性反相时计数器的操作实例(CC1P = ‘1’,其他配置与上例相同) IC1FP1 反相的编码器接口模式实例 当定时器配置成编码器接口模式时,提供传感器当前位置的信息。使用第二个配置在捕获模式定时器测量两个编码器事件的间隔,可以获得动态的信息(速度,加速度,减速度)。指示机械零点的编码器输出可被用做此目的。根据两个事件间的间隔,可以按照固定的时间读出计数器。 代码配置: 1、 以MM32L073为例,其他系列可参考以下代码配置,这里我们做一个简单的演示程序。首先来看main 函数。 int main(void) { delay_init(); //初始化delay 函数 TIM3_Counter_Init(); //配置TIM3编码器模式 while(1){} } 2、接下来,我们来看TIM的编码器配置函数。 |
|
相关推荐
|
|
只有小组成员才能发言,加入小组>>
2249个成员聚集在这个小组
加入小组灵动微电子MM32全系列MCU产品应用手册,库函数和例程和选型表
11692 浏览 3 评论
【MM32 eMiniBoard试用连载】+基于OLED12864的GUI---U8G2
5927 浏览 1 评论
【MM32 eMiniBoard试用连载】移植RT-Thread至MM32L373PS
10960 浏览 0 评论
【MM32 eMiniBoard测评报告】+ 开箱 + 初探
4575 浏览 1 评论
灵动微课堂(第106讲) | MM32 USB功能学习笔记 —— WinUSB设备
4300 浏览 1 评论
[MM32软件] MM32F002使用内部flash存储数据怎么操作?
972浏览 1评论
798浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-25 15:16 , Processed in 0.721242 second(s), Total 49, Slave 38 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号