江协科技STM32:TIM输出比较

2024-04-07 07:04

本文主要是介绍江协科技STM32:TIM输出比较,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

输出比较模块的主要功能:输出一定频率和占空比的PWM波形

CC是捕获比较的意思,R是Register,寄存器的意思,CCR捕获比较寄存器它是输入捕获和输出比较共用的

当使用输入捕获,它就是捕获寄存器

当使用输出比较,它就是比较寄存器,在这里,会比较CNT和CCR的值

CNT计数自增,CCR是我们给定的一个值

当CNT大于CCR,小于CCR或等于CCR时,图上就会,然后就可以输出一个电平不断跳变的PWM波形了

这就是输出比较的基本功能

主要学习通用定时器的输出比较功能

输出比较就是用来输出PWM波形,那什么是PWM波形呢

PWM是数字信号,也是由高低电平组成的

使用PWM波形,是用来等效地实现一个模拟信号到输出,也就是控制灯的亮度,数字输出端口控制LED,理论上说,应该只有完全亮和完全灭灭两种状态,怎么实现控制亮度大小呢,那就需要PWM波形实现,我们让LED不断点亮,熄灭,点亮,熄灭,当点亮,熄灭到频率足够大时,LED就不会闪烁,而是呈现出一个中等亮度

当我们调控点亮和熄灭的时间比例时,就能让LED呈现出不同的亮度级别

对于电机调速也是一样,我们以一个很快的频率,给电机通电,断电,通电,断电,电机的速度就能维持在一个中等的速度

这就是PWM的基本思想

当然PWM到应用场景必须是一个惯性系统,就是说LED在熄灭的时候,由于余晖和人眼视觉暂留的现象,LED不会立马被熄灭,而是有一定的惯性,过一小段时间才会熄灭,电机也是,,当电机断电时,电机的转动不会立马停止,而是有一定的惯性,过一会才停,这样具有惯性的系统,才能使用PWM

在使用PWM时有几个重要的参数:

第一个频率,TS代表一个高低电平变换周期的时间,PWM的频率越快,那它等效模拟的信号就越平稳,性能开销也会越大,一般来说PWM的频率都在几K到几十KHz

第二个占空比,TON是高电平到时间,TS是一个周期的时间,TON/TS就是高电平时间相对整个周期时间的比例,一般用百分比来表示

比如占空比为50%,那就是高低电平时间相等的方波

占空比为20%,那就是高电平占20%,低电平占80%

占空比100%,那就是高电平不带变的

占空比0%,那就直接是低电平

这就是占空比

占空比决定了PWM等效出来的模拟电压的大小。占空比越大,那等效的模拟电压就越趋近于高电平,占空比越小,那等效的模拟电压就越趋近于低电平,这个等效关系一般来说是线性的,比如高电平5V,低电平0v,那50%占空比就等效中间电压就是2.5V,20%占空比就等效于,五分之一处的电压,就是1V

第三个分辨率,它等于占空比变化步距

比如有的占空比只能是1%,2%,3%等等,这样以1%的步距跳变,那它的分辨率就是1%

如果是1.1%,1.2,1.3等等这样以0.1%的步距跳变,那它的分辨率就是0.1%

所以这个分辨率就是占空比变化的精细程度,分辨率多高,看你的项目需求,如果是高频率,又要高分辨率,这对硬件电路要求就高了,如果要求不高的话,一般都是1%的分辨率,就够用了

这就是PWM知识点,使用PWM波形,就可以在数字系统等效输出模拟量,就能实现LED控制亮度,电机控速灯功能了

那下面就来分析一下,定时器的输出比较模块是怎么输出PWM波形的

它对应下图这里

左边是CNT和XCR比较的结果,右边就是输出比较电路,最后通过TIM_CH1输出到GPIO引脚上

下面还有三个同样的单元,分别输出到CH2,CH3,CH4

第一个模式是冻结,当CNT=CCR时维持原状态,那CCR和CNT就根本没有用,所以可以理解成CNT和CCR无效,REF保持为原状态,当你正在输出PWM波,突然想暂停一会输出,就可以设置成这个模式,一旦切换为冻结模式后,输出就暂停了

,并且高低电平也维持为暂停时刻的状态,保持不变,这就是冻结模式的作用

这几个有效电平和无效电平,一般是高级定时器里面的一个说法,是和关断,刹车这些功能配合表述的,为了理解方便,可以直接认为,置有效电平就是置高电平,置无效电平就是置低电平

这三个模式就可以用作波形输出了

比如电平反转模式,这个可方便地输出一个频率可调,占空比始终为50%的PWM波形

比如你设置CCR为0,那CNT每次更新清0时,就会产生一次CNT=CRR的事件,这就会导致输出电平翻转一次,每更新两次,输出为一个周期,并且高电平和低电平的时间是始终相等的,也就是占空比始终为50%,当你改变定时器的更新频率时,输出波形的频率也会随之改变,它俩的关系是,输出波形的频率=更新频率/2,因为更新两次输出才为一个周期,这就是匹配时电平翻转模式的用途

这两个很重要,它们可以用于输出频率和占空比都可调的PWM波形,也是我们主要使用的模式

一般我们用向上计数,所以分析向上计数

也是只看向上计数

两个向上计数条件是一样的,区别就是输出的高低电平反过来了,所以PWM模式2,就是PWM模式1输出的取反,改变PWM模式1和PWM模式2,只是改变了REF电平的极性而已,这就是两个模式的区别

我们使用的话,就使用PWM1并且向上计数这一种模式就行

那这种模式是怎么输出频率和占空比都可调的PWM波形的呢

看这个

然后看看PWM是如何计算的

第一个PWM频率

第二个占空比参数

第三个参数分辨率

然后是外设

先看舵机

舵机内部执行逻辑:

PWM信号输入到控制板,给控制板一个指定的目标角度,然后电位器检测输出轴的当前角度,如果大于目标角度,电机就会反转,如果小于目标角度,电机就会正转

,最终使舵机输出固定在指定角度,这就是舵机内部工作流程

我们只需要知道,输入一个PWM波形,输出轴固定在一个角度就行了

然后现在来看看输入PWM信号要求

直流电机

这篇关于江协科技STM32:TIM输出比较的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/881936

相关文章

python多种数据类型输出为Excel文件

《python多种数据类型输出为Excel文件》本文主要介绍了将Python中的列表、元组、字典和集合等数据类型输出到Excel文件中,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参... 目录一.列表List二.字典dict三.集合set四.元组tuplepython中的列表、元组、字典

Spring AI集成DeepSeek实现流式输出的操作方法

《SpringAI集成DeepSeek实现流式输出的操作方法》本文介绍了如何在SpringBoot中使用Sse(Server-SentEvents)技术实现流式输出,后端使用SpringMVC中的S... 目录一、后端代码二、前端代码三、运行项目小天有话说题外话参考资料前面一篇文章我们实现了《Spring

Rust格式化输出方式总结

《Rust格式化输出方式总结》Rust提供了强大的格式化输出功能,通过std::fmt模块和相关的宏来实现,主要的输出宏包括println!和format!,它们支持多种格式化占位符,如{}、{:?}... 目录Rust格式化输出方式基本的格式化输出格式化占位符Format 特性总结Rust格式化输出方式

C#比较两个List集合内容是否相同的几种方法

《C#比较两个List集合内容是否相同的几种方法》本文详细介绍了在C#中比较两个List集合内容是否相同的方法,包括非自定义类和自定义类的元素比较,对于非自定义类,可以使用SequenceEqual、... 目录 一、非自定义类的元素比较1. 使用 SequenceEqual 方法(顺序和内容都相等)2.

使用TomCat,service输出台出现乱码的解决

《使用TomCat,service输出台出现乱码的解决》本文介绍了解决Tomcat服务输出台中文乱码问题的两种方法,第一种方法是修改`logging.properties`文件中的`prefix`和`... 目录使用TomCat,service输出台出现乱码问题1解决方案问题2解决方案总结使用TomCat,

对postgresql日期和时间的比较

《对postgresql日期和时间的比较》文章介绍了在数据库中处理日期和时间类型时的一些注意事项,包括如何将字符串转换为日期或时间类型,以及在比较时自动转换的情况,作者建议在使用数据库时,根据具体情况... 目录PostgreSQL日期和时间比较DB里保存到时分秒,需要和年月日比较db里存储date或者ti

C++中实现调试日志输出

《C++中实现调试日志输出》在C++编程中,调试日志对于定位问题和优化代码至关重要,本文将介绍几种常用的调试日志输出方法,并教你如何在日志中添加时间戳,希望对大家有所帮助... 目录1. 使用 #ifdef _DEBUG 宏2. 加入时间戳:精确到毫秒3.Windows 和 MFC 中的调试日志方法MFC

Python使用Colorama库美化终端输出的操作示例

《Python使用Colorama库美化终端输出的操作示例》在开发命令行工具或调试程序时,我们可能会希望通过颜色来区分重要信息,比如警告、错误、提示等,而Colorama是一个简单易用的Python库... 目录python Colorama 库详解:终端输出美化的神器1. Colorama 是什么?2.

百度/小米/滴滴/京东,中台架构比较

小米中台建设实践 01 小米的三大中台建设:业务+数据+技术 业务中台--从业务说起 在中台建设中,需要规范化的服务接口、一致整合化的数据、容器化的技术组件以及弹性的基础设施。并结合业务情况,判定是否真的需要中台。 小米参考了业界优秀的案例包括移动中台、数据中台、业务中台、技术中台等,再结合其业务发展历程及业务现状,整理了中台架构的核心方法论,一是企业如何共享服务,二是如何为业务提供便利。

【STM32】SPI通信-软件与硬件读写SPI

SPI通信-软件与硬件读写SPI 软件SPI一、SPI通信协议1、SPI通信2、硬件电路3、移位示意图4、SPI时序基本单元(1)开始通信和结束通信(2)模式0---用的最多(3)模式1(4)模式2(5)模式3 5、SPI时序(1)写使能(2)指定地址写(3)指定地址读 二、W25Q64模块介绍1、W25Q64简介2、硬件电路3、W25Q64框图4、Flash操作注意事项软件SPI读写W2