【TIM输出比较】

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.mzph.cn/news/856493.shtml

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

相关文章

AI 情感聊天机器人之旅 —— 相关论文调研

开放域闲聊场景 Prompted LLMs as Chatbot Modules for Long Open-domain Conversation 发布日期:2023-05-01 简要介绍:作者提出了 MPC(模块化提示聊天机器人),这是一种无需微调即可创建高质量对话代理的新方法&…

【转载】使用 .NET Upgrade Assistant(升级助手)升级 .NET 老旧版本项目

使用 .NET Upgrade Assistant(升级助手)升级 .NET 老旧版本项目:https://blog.csdn.net/ChaITSimpleLove/article/details/134711604

【QT问题解决】QT Modbus rtu 拖动主界面时modbus的槽函数无法响应的解决方案

目录 问题 Modbus放在主线程,界面事件会阻塞信号传输解决方案 将modbus放在子线程实现 问题 Modbus放在主线程,界面事件会阻塞信号传输 在使用QT5.14.2时 使用QT自带的QModbusClient类实现对一个力传感器的数据读取。本人为了测试就将modbus读取逻辑等都…

各种编码格式和网站工具

1、url编码 格式如: 中文 > %E4%B8%AD%E6%96%87 hello > hello [] > %5B%5D 在线工具:https://www.bejson.com/enc/urlencode/ 2、utf8编码 格式如: 中文 > \xe4\xb8\xad\xe6\x96\x87 hello > \x68\x65\x6c\x6c\x6f [] >…

基于深度学习的向量图预测

基于深度学习的向量图预测 向量图预测(Vector Graphics Prediction)是计算机视觉和图形学中的一个新兴任务,旨在从像素图像(栅格图像)生成相应的向量图像。向量图像由几何图形(如线条、曲线、多边形等&…

【网络安全产品】---网闸

了解了不少安全产品,但是对网闸的理解一直比较模糊,今天 what 网闸是安全隔离与信息交换系统的简称,使得在不影响数据正常通信的前提下,让络在不连通的情况下数据的安全交换和资源共享,对不同安全域/网络之间实现真正…

u8g2 使用IIC驱动uc1617 lcd有时候某些像素显示不正确

折腾了很久,本来lcd是挂载到已经存在的iic总线上的,总线原来是工作正常的,挂载之后lcd也能显示,但是有时候显示不正确,有时候全白的时候有黑色的杂点。 解决方案: 1.最开始以为是IIC总线速度快&#xff0…

【机器学习】从理论到实践:决策树算法在机器学习中的应用与实现

📝个人主页:哈__ 期待您的关注 目录 📕引言 ⛓决策树的基本原理 1. 决策树的结构 2. 信息增益 熵的计算公式 信息增益的计算公式 3. 基尼指数 4. 决策树的构建 🤖决策树的代码实现 1. 数据准备 2. 决策树模型训练 3.…

Vim基础操作:常用命令、安装插件、在VS Code中使用Vim及解决Vim编辑键盘错乱

Vim模式 普通模式(Normal Mode): 这是 Vim 的默认模式,用于执行文本编辑命令,如复制、粘贴、删除等。在此模式下,你可以使用各种 Vim 命令来操作文本。插入模式(Insert Mode)&#…

【Python日志模块全面指南】:记录每一行代码的呼吸,掌握应用程序的脉搏

文章目录 🚀一、了解日志🌈二、日志作用🌈三、了解日志模块⭐四、日志级别💥五、记录日志-基础❤️六、记录日志-处理器handler🎬七、记录日志-格式化记录☔八、记录日志-配置logger👊九、流程梳理 &#x…

如何在linux中下载R或者更新R

一、问题阐述 package ‘Seurat’ was built under R version 4.3.3Loading required package: SeuratObject Error: This is R 4.0.4, package ‘SeuratObject’ needs > 4.1.0 当你在rstudio中出现这样的报错时,意味着你需要更新你的R 的版本了。 二、解决方…

Openldap集成Kerberos

文章目录 一、背景二、Openldap集成Kerberos2.1kerberos服务器中绑定Ldap服务器2.1.1创建LDAP管理员用户2.1.2添加principal2.1.3生成keytab文件2.1.4赋予keytab文件权限2.1.5验证keytab文件2.1.6增加KRB5_KTNAME配置 2.2Ldap服务器中绑定kerberos服务器2.2.1生成LDAP数据库Roo…

第二十五篇——信息加密:韦小宝说谎的秘诀

目录 一、背景介绍二、思路&方案三、过程1.思维导图2.文章中经典的句子理解3.学习之后对于投资市场的理解4.通过这篇文章结合我知道的东西我能想到什么? 四、总结五、升华 一、背景介绍 加密这件事,对于这个时代的我们来说非常重要,那么…

ElasticSearch学习笔记(二)文档操作、RestHighLevelClient的使用

文章目录 前言3 文档操作3.1 新增文档3.2 查询文档3.3 修改文档3.3.1 全量修改3.3.2 增量修改 3.4 删除文档 4 RestAPI4.1 创建数据库和表4.2 创建项目4.3 mapping映射分析4.4 初始化客户端4.5 创建索引库4.6 判断索引库是否存在4.7 删除索引库 5 RestClient操作文档5.1 准备工…

Android RecyclerView原理语法和用法

RecyclerView 是 Android 中用于显示大量数据的高级视图组件。它是 ListView 的改进版,具有更高的性能和灵活性。以下是关于 RecyclerView 的详细介绍,包括其原理、语法、优缺点和使用方法。 原理 RecyclerView 的核心原理是通过视图复用来提高性能。当…

什么是Java中的单例模式?请列举几种常见的单例实现方式,并讨论其优缺点。请解释Java中的设计模式,并列举几种常见的设计模式及其应用场景。

什么是Java中的单例模式?请列举几种常见的单例实现方式,并讨论其优缺点。 Java中的单例模式是一种创建型设计模式,它确保一个类只有一个实例,并提供一个全局访问点来访问这个实例。这种模式在多线程环境中特别有用,因…

融资A轮B轮是什么意思?

环境: 融资 问题描述: 融资A轮B轮是什么意思 解决方案: 在A轮融资之前,通常有以下几轮融资阶段: 种子轮(Seed Round):这是企业生命周期中最早的融资阶段,通常发生在…

模拟原神圣遗物系统-小森设计项目,设计圣遗物(生之花,死之羽,时之沙,空之杯,理之冠)抽象类

分析圣遗物 在圣遗物系统,玩家操控的是圣遗物的部分 因此我们应该 物以类聚 人与群分把每个圣遗物的部分,抽象出来 拿 生之花,死之羽为例 若是抽象 类很好的扩展 添加冒险家的生之花 时候继承生之花 并且名称冒险者- 生之花 当然圣遗物包含…

求职难遇理想offer!!【送源码】

现在的求职行情确实不太好,有很多抱怨自己找到的工作技术栈落后的同学,我也是建议他们接下先干着。不能幻想毕业之后还能找到更合适的工作,那个时候就基本只能参加社招了,没有工作经验参加社招想要获得满意 offer 的更是地狱难度。…

【尚庭公寓SpringBoot + Vue 项目实战】移动端登录管理(二十)

【尚庭公寓SpringBoot Vue 项目实战】移动端登录管理(二十) 文章目录 【尚庭公寓SpringBoot Vue 项目实战】移动端登录管理(二十)1、登录业务2、接口开发2.1、获取短信验证码2.2、登录和注册接口2.3、查询登录用户的个人信息 1、…