【TIM输出比较】

news2024/12/22 19:17:45

TIM输出比较

  • 1.简介
    • 1.1.输出比较功能
    • 1.2.PWM
  • 2.输出比较通道
    • 2.1.结构原理图
    • 2.2.模式分类
  • 3.输出PWM波形及参数计算
  • 4.案例所需外设
    • 4.1.案例
    • 4.2.舵机
    • 4.3.直流单机

链接: 15-TIM输出比较

1.简介

1.1.输出比较功能

输出比较,英文全称Output Compare,简称OC。它最主要的功能是 可以通过比较计数器CNT和捕获/比较寄存器(Capture/Compare Register)CCR值的关系,来输出电平进行置1、置0的翻转操作,用于输出一定频率和占空比的PWM波形。
每个高级定时器和通用定时器都拥有4个输出比较的通道,可以同时输出4路PWM波形,且高级定时器的前3个通道额外拥有死区生成电路和互补输出的功能(用于驱动三相无刷电机)。4个输出比较通道都有独立的CCR寄存器,但是它们共用同一个CNT计数器。

1.2.PWM

●PWM(Pulse Width Modulation),即脉冲宽度调制,PWM波形是一个数字输出信号,是由高低电平组成的,是一种对模拟电平信号进行数字编码的方法。在具有惯性的系统中,可以通过对一系列脉冲的宽度进行调制,来等效地获得所需要的模拟参量,常应用于电机控速等领域。也就是说,使用PWM波形,是用来等效地实现一个模拟信号的输出。

● (1)以LED为例:GPIO的输出信号只能是数字信号,如果想通过数字信号输出模拟量,可以通过以下的方法实现:让LED不断点亮、熄灭、点亮、熄灭,当点亮、熄灭的频率足够大时,由于LED的余晖和人眼的视觉暂留效应,LED就会呈现出一个中等亮度。当调控点亮和熄灭的时间比例时就能让LED呈现出不同的亮度级别。(2)对于电机调速也类似:在高频率下不断让电机交替通断,由于电机断电后不会立刻停止,而是由于惯性转动后停下,电机的速度就能维持在一个中等速度。

在这里插入图片描述

● PWM参数:
频率 :f = 1 / Ts(周期的倒数就是频率);变换越快=频率越大(PWM的频率越快,它等效模拟的信号就越平稳,不过同时性能开销就越大;一般来说PWM的频率在几kHz到几十kHz之间。)

占空比:q=Ton/Ts( Ton是高电平的时间,Ts是一个周期的时间。q就是高电平时间相对于整个周期时间的比例);占空比决定了PWM等效出的模拟电压的大小。一般用百分比表示。

分辨率:占空比的变化步距;分辨率就是占空比变化的精细程度。即,占空比最小能以百分之多少的精度变化,它的值可以是1%、0.1%。分辨率的大小要看实际项目的需求定。如果既要高频率,又要高分辨率,就需要硬件电路要有足够的性能。要求不高的情况下,1%的分辨率就足够使用了。

2.输出比较通道

2.1.结构原理图

输出比较通道(通用)
在这里插入图片描述
上图对应的是通用定时器电路里的下图红框部分电路,左边是CNT和CCR比较的结果,右边是输出比较电路,最后通过TIM_CH1输出到GPIO引脚上,然后下面还有三个同样的单元,分别输出到CH2、CH3、CH4。
在这里插入图片描述
主要流程说明:ETRF输入是定时器的一个小功能,一般不用,不需要了解/CNT和CCR1比较产生信号——传入输出模式控制器——改变OC1REF的高低电平——映射到主模式的控制器/主要是通往TIMx_CCER(极性选择,高低电平是否翻转)——输出使能,选择通道——通道输出.

输出比较通道(高级)
在这里插入图片描述在这里插入图片描述

OC1和OC1N是互补输出。死区发生器是防止两个输出同时打开,发热损耗。

2.2.模式分类

在这里插入图片描述
冻结模式:设置后输出停止,高低电平不变。
有效电平和无效电平通常用于高级定时器的说法关断、刹车功能配合表述的,可当成高低电平控制看待。
电平翻转:比如设置CCR=0时候,每次CNT更新清0就会产生一次CNT=CCR的事件,这就会导致输出电平翻转一次,每更新两次,输出为一个周期,占空比始终为50%;改变定时器频率时候,输出波形频率也会随之改变。输出波形的频率=更新频率/2
强制有效/无效电平:想暂停输出,并保存高电平或者低电平。
PWM模式1:频率和占空比都可调
PWM模式2:频率和占空比都可调,二者互为REF电平取反情况。比较灵活。

3.输出PWM波形及参数计算

在这里插入图片描述
黄色是ARR(Auto-Reload Register,自动重装载寄存器)ARR寄存器用于存储定时器计数器(CNT)的自动重装载值。当定时器计数器达到ARR的值时,会发生一次更新事件,计数器会重新从零开始计数。
蓝色是CNT(Counter Register,计数器寄存器)CNT寄存器是定时器的实际计数器寄存器,用于记录定时器当前的计数值。
绿色是CCR(Capture/Compare Register,捕获/比较寄存器)CCR寄存器用于捕获或比较模式,主要用于记录捕获事件的计数器值或者与计数器值进行比较。
在这里插入图片描述

PWM的一个周期如上图中的下面绿色区段的红线区间,可以看出它始终对应着计数器的一个溢出更新周期,所以PWM的频率就等于计数器的更新频率
当CNT = CCR时电路已经置为低电平,故REF为高电平的时间为CNT从0变到29(30个数)的时间。
CCR的值应设置在0到ARR+1的范围里,CCR=ARR+1时占空比是100%,ARR越大,CCR的范围就越大,对应的分辨率就越大.

参数计算公式如下所示:
PWM频率:即计数器的更新频率 Freq = CK_PSC / (PSC + 1) / (ARR + 1)
PWM占空比:Duty = CCR / (ARR + 1)
PWM分辨率:即占空比变化的步距 Reso = 1 / (ARR + 1),以上定义的分辨率是占空比最小的变化步距。ARR越大,CCR的变化范围就越大,分辨率就越高。(占空比变化的越细腻越好)

4.案例所需外设

4.1.案例

1.PWM驱动LED呼吸灯
2.PWM驱动舵机
3.PWM驱动直流电机

4.2.舵机

【舵机简介】
● 舵机是一种根据输入PWM信号占空比来控制输出角度的装置
● 输入PWM信号要求:周期为20ms,高电平宽度为0.5ms~ 2.5ms
● 拆解包含:舵机上盖、输出轴、电机减速齿轮组、电位器、舵机内部控制电板、直流电机
在这里插入图片描述
【舵机硬件电路】
在这里插入图片描述

4.3.直流单机

【直流电机简介】
● 直流电机是一种将电能转换为机械能的装置,有两个电极,当电极正接时电机正转,当电极反接时电机反转
● 直流电机属于大功率器件,GPIO口无法直接驱动,需要配合电机驱动电路来操作。
● TB6612是一款双路H桥型的直 流电机驱动芯片,可以驱动两个直流电机并且控制其转速和方向
在这里插入图片描述
【直流电机硬件电路】
在这里插入图片描述

  • VM就是电机电源的正极,和舵机的电源要求是一样的,要接一个可以输出大电流的电源,电压和电机的额定电压保持一致,比如时5v的电机就接5v电压

  • VCC是逻辑电平输入端,一般和控制器的电源保持一致。比如使用STM32,是3.3v的器件,就接3.3v

  • AO1\AO2\BO1\BO2是两路电机的输出,可以分别接两个电机。AO1和AO2就是A路的两个输出,它的控制端是上面的三个PWMA、AIN1和AIN2,这三个引脚控制下面的A路电机,对应关系如上图的灰色填充,其中PWMA引脚要接PWM信号输出断PA0,AIN1和AIN2引脚可以任意接两个普通的GPIO口,这三个引脚给一个低功率的控制信号,驱动电路就会从VM汲取电流来输出到电机,这样就能完成低功率的控制信号控制大功率设备的目的。右边的BO1及BO2这一路也是和A路的功能和操作方法是完全一样的。

  • STBY引脚意为Stand By,为待机控制引脚。如果接GND,芯片就不工作,处于待机状态。如果接到逻辑高电平VCC(3.3V)芯片就正常工作。如果不需要待机模式的话可以直接接VCC3.3v,如果需要控制可以接入任意一个GPIO口,给高低电平就可以进行控制。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1844050.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

微观时空结构和虚数单位的关系

回顾虚数单位的定义, 其中我们把称为周期(的绝大部分),称为微分,0称为原点或者起点(意味着新周期的开始),由此我们用序数的概念反过来构建了基数的概念。 周期和单位显然具有倍数关…

ACS自助借还服务端模拟工具(3M SIP2协议)

点击下载《ACS自助借还服务端模拟工具(源代码)》 1. 前言 在当今科技迅猛发展的时代,自助服务系统已成为提升用户体验和运营效率的关键。为了满足自助借还软件辅助开发的需求,我们精心打造了一款功能强大的ACS服务端模拟软件。这…

AI音乐大模型:是创意的助力还是产业的挑战?

近期音乐界迎来了一场前所未有的革命。随着多家科技公司纷纷推出音乐大模型,素人生产音乐的门槛被前所未有地拉低,一个崭新的“全民音乐时代”似乎已近在眼前。然而,在这场技术革新的浪潮中,关于AI产品版权归属、创意产业如何在AI…

审稿人:拜托,请把模型时间序列去趋势!!

大侠幸会,在下全网同名「算法金」 0 基础转 AI 上岸,多个算法赛 Top 「日更万日,让更多人享受智能乐趣」 时间序列分析是数据科学中一个重要的领域。通过对时间序列数据的分析,我们可以从数据中发现规律、预测未来趋势以及做出决策…

体育时间:“中国第一”的出海代表们,一致瞄准了这一赛道?

2024年无疑又是一个体育赛事超级大年。 从1月的亚洲杯,2月的世乒团体锦标赛、第14届冬运会、到6月欧洲杯与美洲杯隔空对决,巴黎奥运会也将在7月盛大开赛,随后则还有8月的巴黎残奥会,对于期待万分的体育粉丝们,这将是极…

RapidLayout:中英文版面分析推理库

引言 继上一篇文章之后,我这里想着将360发布的版面分析模型整合到现有的rapid_layout仓库中,便于大家快速使用。 不曾想到,我这整理工作越做越多了,好在整体都是往更好方向走。 起初,rapid_layout项目是在RapidStru…

代码随想录训练营Day 64|卡码网98. 所有可达路径(深搜)

1.所有可达路径 98. 所有可达路径 | 代码随想录 代码&#xff1a; &#xff08;深搜&#xff09;邻接矩阵表示 #include <iostream> #include <vector> using namespace std; vector<int> path; vector<vector<int>> result; void dfs(const ve…

2024年史上最难就业季,该如何逆风翻盘?

前言 【2024年被称为最难就业年&#xff0c;1158万大学生面临难题】 IT互联网依然是大学生最向往行业&#xff0c;制造业受欢迎度升高智联招聘调研数据显示&#xff0c;2024届求职毕业生期望行业中&#xff0c;IT/通信/电子/互联网、政府/非盈利机构、文化/传媒/娱乐/体育行业…

urfread刷算法题day1|LeetCode2748.美丽下标的数目

题目 题目链接 LeetCode2748.美丽下标对的数目 题目描述 给你一个下标从 0 开始的整数数组 nums 。 如果下标对 i、j 满足 0 ≤ i < j < nums.length &#xff0c; 如果 nums[i] 的 第一个数字 和 nums[j] 的 最后一个数字 互质 &#xff0c; 则认为 nums[i] 和 nums…

大模型应用开发实践:RAG与Agent

RAG planning是任务拆解的一些方法。 Agent RAG现在基本上推荐LangChain开发框架。而Agent目前没有一个通用的好的开发框架/范式。 学习路径

uni-app的uni-list列表组件高效使用举例 (仿知乎日报实现)

目录 前言 uni-list组件介绍 基本使用 高级配置与自定义 仿知乎日报实现 知乎的api接口 后台服务实现 知乎日报首页 轮播图界面实现 客户端接口实现 uni-list列表使用 插入日期分割线 下滑分页的实现 完整页面代码 其他资源 前言 在移动应用开发领域&#xff0…

18V-180V降12V500mA恒压模块WT5118

18V-180V降12V500mA恒压模块WT5118 WT5118是一款能够将输入电压范围从18V至180V降低至12V并保持恒定输出电流500mA的恒压模块。 WT5118 是一款专为开关电源设计的集成了 180V 高电压 MOSFET 的 DC-DC 控制器。这个设备具备内置高压启动和自供电功能&#xff0c;能够满足快速启…

ICP备案调用公安身份证接口核验证件真实性未通过解决方法

网站备案或APP备案提供初审后提示管局审核未通过“调用公安身份证接口核验证件真实性未通过未通过信息为主体/网站负责人”被系统自动退回&#xff0c;阿里云百科整理详细调用公安身份证接口核验证件真实性未通过的解决方法&#xff1a; 原因分析&#xff1a;调用公安身份证接…

索引和深分页优化案例

一、初始状态没加索引 总数据100w左右 浅分页 查询10条需要1.5s左右 select * from timer_task where app hzhXtimer order by run_timer limit 0,10深分页查询10条需要1.7s左右 select * from timer_task where app hzhXtimer order by run_timer limit 100000,10看执…

论文阅读--Cross-view Transformers for real-time Map-view Semantic Segmentation

一种新的2D维度的bev特征提取方案&#xff0c;其通过引入相机先验信息&#xff08;相机内参和外参&#xff09;构建了一个多视图交叉注意力机制&#xff0c;能够将多视图特征映射为BEV特征。 cross view attention&#xff1a;BEV位置编码由根据相机标定结果&#xff08;内参和…

RabbitMQ(六)仲裁队列、流式队列、异地容灾(联邦队列Federation Queue)

文章目录 仲裁队列1、创建交换机2、创建仲裁队列3、验证主节点宕机不影响消息发送和接收 流式队列&#xff08;不推荐&#xff0c;Kafka主场&#xff09;概念 异地容灾一、Federation插件概述 二、Federation交换机1、总体说明2、准备工作3、启用联邦插件4、添加上游连接端点5、…

[Ansible详解]

Ansible 1.主机组清单设置 #组 #父组与子组[组名] [组名]ip ipip ip[组名 : vars] [组名2]ansible_user=用户 …

【已解决】better-scroll在PC端如何开启鼠标滚动以及如何始终显示滚动条

总结 需要安装插件 mouse-wheel 和 scrollbar 在PC端如何开启鼠标滚动? 需要安装官方提供的滚动插件&#xff1a;mouse-wheel https://better-scroll.github.io/docs/zh-CN/plugins/mouse-wheel.html 为了开启鼠标滚动功能&#xff0c;你需要首先引入 mouseWheel 插件&…

VBA基础知识点总结

VBA教程 VBScript教程 数据类型 数字数据类型 非数字数据类型 变量&常量 可以通过Dim、Public或Private语句声明变量。 变量语法&#xff1a;Dim <<variable_name>> As <<variable_type>>&#xff08;需要在使用它们之前声明&#xff09; 常量语…

对错问题:凡事没有绝对的对与错,要看义所在、良知所在

孔子说&#xff1a;君子对于天下所发生的很多事&#xff0c;如评判政策变动、战争等&#xff0c;没有绝对的对&#xff0c;也没有绝对的错&#xff0c;一切要看事情本身是否符合“ 义 ”。