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

文章目录


TIM编码器接口

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

编码器接口简介

编码器测速实际上就是测频法测正交脉冲的频率,CNT计次,每隔一段时间取一次计次,这就是测频法的思路,只不过编码器接口计次更高级,它能根据旋转方向,不仅能自增计次还能自减计次。

如果定时器资源不够,可以软件实现,比如PWM可以直接定时中断,在中断里手动计数;输入捕获可以外部中断,在中断里手动取CNT;编码器接口可以外部中断里手动自增自减。

编码器的两个输入引脚就是每个定时器的CH1和CH2引脚,CH3和CH4不能接编码器。

正交编码器

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

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

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

工作模式

三中模式对应的计次精度不同

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

反相的作用是增加容错率,比如说硬件已经焊死了但是焊反了,这样能反转计数方向

相关推荐
hsjiasb1 天前
FreeRTOS学习(二十六)——动态内存管理heap_1到heap_5
stm32·单片机·学习·学习笔记·freertos
WWJA王文举1 天前
I²C通信完整流程详解:START、地址、ACK、数据、Repeated START和STOP一次讲透
c语言·开发语言
LCG元1 天前
STM32+ESP8266+MQTT 物联网气象站:从零搭建温湿度远程监测系统(附完整源码)
stm32·物联网·struts
qq_448011161 天前
C语言中的动态内存分配
c语言·开发语言·php
FakeOccupational1 天前
【电路笔记 STM32】Cortex-M7 内核上的数据缓存(D-Cache)结构+MPU+DMA&Cache+STM32CubeMX配置
笔记·stm32·缓存
动词ing1 天前
【学习笔记】C语言(数组指针与指针数组+字符数组+函数+参数传递+字符串作为形参+递归函数+指针函数+回调函数+结构体嵌套+内存动态分配函数)
c语言·笔记·学习
殷忆枫1 天前
基于K210与STM32的智能垃圾分类与物联网监管系统
stm32·物联网·分类
周洲08301 天前
STM32 GPIO 外部中断深度解析:边沿触发 / 电平触发、NVIC 优先级配置、中断嵌套实战
stm32·单片机·嵌入式硬件
LCG元1 天前
STM32F103 CAN 总线通信实战:标准库双机通信与过滤器配置精讲
stm32·单片机·嵌入式硬件
小雨笙笙1 天前
C语言:变量三属性——存储类型
c语言·开发语言