江科大/江协科技 STM32学习笔记P19


TIM编码器接口

改写旋转编码器计次程序,通过定时器的编码器接口自动计次,与之前触发外部中断手动计次相比,节约软件资源,当有电机高速旋转时,编码器每秒产生成千上万个脉冲,程序频繁进中断不好,所以对需要频繁执行,操作比较简单的任务,一般设计一个硬件电路模块来自动完成,本节的编码器接口就是自动给编码器计次的电路,每隔一段时间取出计次值。本节的编码器测速一般用于电机控制的项目,使用PWM驱动电机,再用编码器测量电机的速度,再用PID算法进行闭环控制。

编码器接口简介

在这里插入图片描述
编码器测速实际上就是测频法测正交脉冲的频率,CNT计次,每隔一段时间取一次计次,这就是测频法的思路,只不过编码器接口计次更高级,它能根据旋转方向,不仅能自增计次还能自减计次。
如果定时器资源不够,可以软件实现,比如PWM可以直接定时中断,在中断里手动计数;输入捕获可以外部中断,在中断里手动取CNT;编码器接口可以外部中断里手动自增自减。
编码器的两个输入引脚就是每个定时器的CH1和CH2引脚,CH3和CH4不能接编码器。

正交编码器

在这里插入图片描述
可以测量位置或带有方向的速度值,一般有两个信号输出引脚,一个A相一个B相,方波的频率代表速度,边沿和另一相状态决定旋转方向

编码器接口电路、基本结构

在这里插入图片描述
编码器接口有两个输入端,接到TI1FP1和TI2FP2,借用了输入捕获单元的前两个通道,所以最终编码器的输入引脚就是定时器的CH1和CH2两个引脚,输出端控制CNT计数器,如果出现了边沿信号,并且对应另一相的状态为正转,则控制CNT自增,否则控制CNT自减
在这里插入图片描述

工作模式

在这里插入图片描述
三中模式对应的计次精度不同
在这里插入图片描述

遇到毛刺时体现正交编码器抗噪声的原理,一加一减等于不变

在这里插入图片描述
反相的作用是增加容错率,比如说硬件已经焊死了但是焊反了,这样能反转计数方向

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
嗨!对于学习STM32笔记,我可以给你一些基本的指导。首先,你需要了解STM32是一系列由STMicroelectronics公司开发的32位微控制器。它们具有广泛的应用领域,包括嵌入式系统、物联网和工业自动化等。 在学习STM32时,你可以按照以下步骤进行: 1. 硬件准备:获取一块STM32开发板,例如STM32F4 Discovery或NUCLEO系列。这些开发板通常带有一些外设和接口,便于学习和实验。 2. 开发环境搭建:下载并安装Keil MDK或者IAR Embedded Workbench等集成开发环境(IDE)。这些IDE提供了编译器、调试器和其他工具,方便你编写和调试STM32的代码。 3. 学习基本知识:了解STM32的体系结构、寄存器和外设等基本知识。可以通过阅读相关的参考手册、数据手册和应用笔记来深入了解。 4. 编写代码:使用C/C++语言编写STM32的应用程序。你可以使用相关的库函数来简化开发过程,如标准外设库(StdPeriph Library)或者新的STM32Cube库。 5. 调试和测试:使用调试器和仿真器来调试和测试你的代码。这些工具能够帮助你单步执行代码、观察寄存器和内存的状态,以及检查外设的操作。 6. 实践项目:尝试一些小型的项目,如LED闪烁、按键输入和PWM输出等,以巩固你的学习成果。随着经验的积累,你可以尝试更复杂的项目,如通信接口、传感器应用和无线通信等。 记得在学习过程中多查阅官方文档、参考资料和在线论坛,以便解决遇到的问题。祝你学习STM32的旅程愉快!如果你有具体的问题,欢迎随时向我提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值