STM32通用定时器-输入捕获-脉冲计数
一、知识点
- 编码器
两相编码器(正交编码器):两相编码器由 A 相和 B 相组成,相位差为 90 度。当旋转方向为顺时针时,A 相先变化,然后 B 相变化;当旋转方向为逆时针时,B 相先变化,然后 A 相变化。通过检测相位差变化,可以确定旋转的方向。STM32 单片机可以使用定时器的正交编码器模式(Encoder Mode)来实现两相编码器的接口。

四相编码器:四相编码器由 A 相、B 相、C 相和 D 相组成,相位差为 90 度。通过检测相位差变化和不同相位的信号变化情况,可以确定旋转的方向。STM32 单片机可以使用定时器的四相编码器模式(X4 Encoder Mode)来实现四相编码器的接口。
- 编码器接口
编码器的两个输入引脚,就是每个定时器的CH1和CH2引脚,CH3和CH4不能接编码器。
最终的实验现象,编码器有两个输出,一个是A相,一个是B相,然后接入到STM32,定时器的编码器接口,编码器的接口自动控制定时器时基单元中的CNT计数器,进行自增或自减。比如初始化之后,CNT初始值为0,然后编码器右转,CNT就++,右转产生一个脉冲,CNT就加一次,比如右转产生10个脉冲后,停下来,那么这个过程CNT就由0自增到10,停下来,编码器左转,CNT就–,左转产生一个脉冲,CNT就自减一次, 比如编码器再左转产生5个脉冲,那CNT就在原来10的基础上自减5,停下来。
编码器接口,其实就相当于是一个带有方向控制的外部时钟,同时控制着CNT的计数时钟和计数方向,这样CNT的值就表示了编码器的位置。如果我们每隔一段时间取一次编码器的值,再把CNT清零,那么每次取出来的值就表示了编码器的速度。
编码器测速实际上就是测频法测正交脉冲的频率,CNT计次,然后每隔一段时间取一次计次,这就是测频法的思路。编码器计次能根据旋转方向,不仅能自增计次还能自减计次,是一个带方向的测速。
每个高级定时器和通用定时器都拥有1个编码器接口。
二、框图


三、编码器计数操作

解释:当Tl1先产生脉冲,Tl2后产生脉冲。(A相先变化,B相后变化)时电机正转,计数器开始计数CNT++。当产生毛刺时,CNT不计数。Tl2先产生脉冲,Tl1后产生脉冲。(B相先变化,A相后变化)时电机反转,计数器CNT–。当产生毛刺时不计数。

相关文章:
STM32通用定时器-输入捕获-脉冲计数
一、知识点 编码器 两相编码器(正交编码器):两相编码器由 A 相和 B 相组成,相位差为 90 度。当旋转方向为顺时针时,A 相先变化,然后 B 相变化;当旋转方向为逆时针时,B 相先变化…...
Flutter GetX 之 路由管理
路由管理是插件GetX常用功能之一,为什么说之一呢?因为GetX的功能远不止路由管理这么简单。 GetX的重要功能如下: 1、路由管理2、状态管理3、国际化4、主题5、GetUtil工具6、dialog 弹框7、snackbar 其实上面功能介绍的还是不够详细ÿ…...
基于单片机的农田灌溉系统(论文+源码)
1.系统设计 本系统主要实现如下目标: 1.可以实时监测土壤湿度; 2.土壤湿度太低时,进行浇水操作; 3.可以按键设置湿度的触发阈值; 4. 可以实现远程操控 5.可以实现手…...
分布式缓存 -- 基础
负载均衡 Ribbon 服务间通信的负载均衡工具,提供完善的超时重试机制 客户端的负载均衡器:在客户端将各个服务的信息拿到,在客户端本地做到请求的均衡分配 Ribbon 提供 LoadBalanced 注解,外搭配RestTemplate来做客户端的负载均衡…...
云计算复习笔记--期末
1、云计算的定义和本质: 云计算是一种按使用量付费的模式。云计算是分布式计算的一种。通过计算机网络(多指因特网)形成的计算能力极强的系统,可存储、集合相关资源并可按需配置,向用户提供个性化服务。 2、云计算服…...
【WPF.NET开发】WPF中的焦点
本文内容 键盘焦点逻辑焦点键盘导航以编程方式导航焦点焦点事件 在 WPF 中,有两个与焦点有关的主要概念:键盘焦点和逻辑焦点。 键盘焦点指接收键盘输入的元素,而逻辑焦点指焦点范围中具有焦点的元素。 本概述详细介绍了这些概念。 对于创建…...
【计算机设计大赛作品】豆瓣电影数据挖掘可视化—信息可视化赛道获奖项目深入剖析【可视化项目案例-22】
文章目录 一.【计算机设计大赛作品】豆瓣电影数据挖掘可视化—信息可视化赛道获奖项目深入剖析【可视化项目案例-22】1.1 项目主题:豆瓣电影二.代码剖析2.1 项目效果展示2.2 服务端代码剖析2.3 数据分析2.4 数据评分三.寄语四.本案例完整源码下载一.【计算机设计大赛作品】豆瓣…...
VS2019启动编辑并继续不起作用(.NET)
直接上方案 1)请确保您取消选中工具>选项>调试>常规下的选项:使用托管兼容模式和要求源文件与原始版本完全匹配。如下图: 2)请先取消选中编辑并继续选项,然后关闭您的旧解决方案,删除解决方案文件夹中的.vs隐藏文件夹&a…...
FFmpeg处理音视频的常用API及一般流程
FFmpeg是一个开源的音视频处理库,提供了丰富的API用于音视频的编解码、转码、过滤、播放等操作。 一、使用FFmpeg API解码涉及到的函数及一般流程如下: 1. av_register_all(): 注册所有的编解码器和格式。 av_register_all(); 2. avformat_open_inpu…...
Kotlin协程学习之-01
由于协程需要支持挂起、恢复、因此对于挂起点的状态保存就显得机器关键。类似的,线程会因为CPU调度权的切换而被中断,它的中断状态会保存在调用栈当中,因而协程的实现也按照是否开辟相应的调用栈存在以下两种类型: 有栈协程&…...
214.【2023年华为OD机试真题(C卷)】测试用例执行计划(排序题-JavaPythonC++JS实现)
🚀点击这里可直接跳转到本专栏,可查阅顶置最新的华为OD机试宝典~ 本专栏所有题目均包含优质解题思路,高质量解题代码(Java&Python&C++&JS分别实现),详细代码讲解,助你深入学习,深度掌握! 文章目录 一. 题目-测试用例执行计划二.解题思路三.题解代码Pytho…...
数一下 1到 100 的所有整数中出现多少个数字9并输出这些数字
分析: 我们知道 1-100的整数 i 中,9会出现在十位和个位上,数9出现的次数可以通过以下来实现: 个位是9 // i % 10得到整数 i 个位上的数十位是9 // i / 10得到整数 i 除了个位数的数字 这也是做这道题之后,我们需要…...
07. HTTP接口请求重试怎么处理?
目录 1、前言 2、实现方式 2.1、循环重试 2.2、递归重试 2.3、Spring Retry 2.4、Resilience4j 2.5、http请求网络工具内置重试方式 2.6、自定义重试工具 2.7、并发框架异步重试 2.8、消息队列 3、小结 1、前言 HTTP接口请求重试是指在请求失败时,再次发…...
分割数组的最大差值 - 华为OD统一考试
分割数组的最大差值 - 华为OD统一考试 OD统一考试 分值: 100分 题解: Java / Python / C++ 题目描述 给定一个由若干整数组成的数组nums ,可以在数组内的任意位置进行分割,将该数组分割成两个非空子数组(即左数组和右数组),分别对子数组求和得到两个值.计算这两个值的差值…...
基于 Python+Django 技术栈,我开发了一款视频管理系统
学习过程中,遇到问题可以咨询作者 大家好,作为一名开发人员,平时比较愿意动手尝试各种有意思工具,因为笔者非常喜欢观看视频,尤其是YouTube、bilibili都是笔者非常喜欢的视频网站,所以想自己实现一个视频点…...
Python从入门到网络爬虫(内置函数详解)
前言 Python 内置了许多的函数和类型,比如print(),input()等,我们可以直接在程序中使用它们,非常方便,并且它们是Python解释器的底层实现的,所以效率是比一般的自定义函数更有效率。目前共有71个内置函数&…...
Python新年烟花代码
Pygame 绘制烟花的基本原理 1,发射阶段:在这一阶段烟花的形状是线性向上,通过设定一组大小不同、颜色不同的点来模拟“向上发射” 的运动运动,运动过程中 5个点被赋予不同大小的加速度,随着时间推移,后面的…...
oracle语法学习
oracle语法学习 1.备份表 create table bd_psndoc_temp as select * from bd_psndoc2.还原表 drop table bd_psndoc; create table bd_psndoc as select * from bd_psndoc_temp3.查询表的前5条记录 select * from bd_psndoc_temp where rownum<54.从一个表中复制所有的列…...
网络安全常见漏洞类型总结
网络安全常见漏洞类型总结 1、弱口令 原因: 与个人习惯和安全意识相关,为了避免忘记密码,使用一个非常容易记住的密码,或者是直接采用系统的默认密码等。 危害: 通过弱口令,攻击者可以进入后台修改资料&a…...
C++自制小游戏《屠夫躲猫猫》
大家好,我是派蒙,我写了一个《屠夫躲猫猫》的游戏,下面是源代码: #include <stdio.h> #include <conio.h> #include<bits/stdc.h> #include<windows.h> using namespace std; string ID[1001]; string N…...
【Pandas】— apply( ) 深度解析
🌟【Pandas 实战系列】apply() 深度解析:从 Series 到 DataFrame,逐行/逐元素处理全掌握! 前言:为什么 apply() 是 Pandas 的“灵魂方法”? apply() 不是简单地“调用函数”,而是告诉 pandas&am…...
UMAP降维技术:拓扑数据分析驱动的高效可视化方案
UMAP降维技术:拓扑数据分析驱动的高效可视化方案 【免费下载链接】umap Uniform Manifold Approximation and Projection 项目地址: https://gitcode.com/gh_mirrors/um/umap 在高维数据可视化领域,研究者长期面临"鱼和熊掌不可兼得"的…...
Python调用SM9国密库的7个致命陷阱:92%开发者踩过的坑,现在修复还来得及
第一章:SM9国密算法原理与Python生态适配全景SM9是国家密码管理局发布的基于标识的密码算法标准(GB/T 38635.1—2020),采用双线性对构造,支持无需数字证书的签名、密钥协商与加密功能,其安全性依赖于椭圆曲…...
科研党必备:PSCAD+MATLAB联合仿真环境搭建全流程(从软件下载到Example测试成功)
科研党必备:PSCADMATLAB联合仿真环境搭建全流程(从软件下载到Example测试成功) 当一台崭新的Win11系统电脑摆在面前,电力电子与新能源领域的研究者往往面临第一个挑战:如何快速搭建可靠的PSCAD与MATLAB联合仿真环境&a…...
Conda镜像源配置的3个高级玩法与1个常见大坑:不止是换URL那么简单
Conda镜像源配置的3个高级玩法与1个常见大坑:不止是换URL那么简单 当你在团队协作中遇到TensorFlow版本冲突,或是Docker构建时因网络问题卡在Solving environment步骤,基础镜像源切换早已不够用。真正的高手会在.condarc里埋下这些彩蛋&#…...
从零掌握HunterPie:解锁《怪物猎人:世界》狩猎效率的实战指南
从零掌握HunterPie:解锁《怪物猎人:世界》狩猎效率的实战指南 【免费下载链接】HunterPie-legacy A complete, modern and clean overlay with Discord Rich Presence integration for Monster Hunter: World. 项目地址: https://gitcode.com/gh_mirro…...
Ostrakon-VL-8B效果展示:AI识别货架商品、检查消防通道真实案例
Ostrakon-VL-8B效果展示:AI识别货架商品、检查消防通道真实案例 1. 零售行业的视觉智能革命 走进任何一家超市或餐厅,你都会看到员工忙碌地进行各种检查:商品是否摆放整齐、货架是否需要补货、消防通道是否畅通。这些看似简单的工作&#x…...
Anything-v5模型微调启示:Pixel Fashion Atelier对动漫风格像素化表达的重构
Anything-v5模型微调启示:Pixel Fashion Atelier对动漫风格像素化表达的重构 1. 项目背景与设计理念 Pixel Fashion Atelier是一个创新的图像生成工作站,它巧妙融合了Stable Diffusion的强大生成能力与Anything-v5模型对动漫风格的精准把控。这个项目最…...
Pixel Mind Decoder 前端交互设计:基于 JavaScript 的情绪看板开发
Pixel Mind Decoder 前端交互设计:基于 JavaScript 的情绪看板开发 1. 情绪看板的应用场景与价值 在现代数字化产品中,理解用户情绪变得越来越重要。无论是社交媒体监测、客服系统优化,还是心理健康应用开发,能够实时分析并可视…...
设备重生:面向企业IT的激活锁解决方案
设备重生:面向企业IT的激活锁解决方案 【免费下载链接】applera1n icloud bypass for ios 15-16 项目地址: https://gitcode.com/gh_mirrors/ap/applera1n 问题诊断:激活锁困局与商业价值损失 企业设备管理的隐形成本 某教育机构IT主管王工近期…...
