STM32单片机(六)TIM定时器 -> 第三节:TIM输出比较

news2024/12/24 0:10:08

❤️ 专栏简介:本专栏记录了从零学习单片机的过程,其中包括51单片机和STM32单片机两部分;建议先学习51单片机,其是STM32等高级单片机的基础;这样再学习STM32时才能融会贯通。
☀️ 专栏适用人群 :适用于想要从零基础开始学习入门单片机,且有一定C语言基础的的童鞋。
🌙专栏目标:实现从零基础入门51单片机和STM32单片机,力求在玩好单片机的同时,能够了解一些计算机的基本概念,了解电路及其元器件的基本理论等。

⭐️ 专栏主要内容: 主要学习STM32单片机的功能、各个模块、单片机的外设、驱动等,最终玩好单片机和单片机的外设,全程手敲代码,实现我们所要实现的功能。
🌴 专栏说明 :如果文章知识点有错误的地方,欢迎大家随时在文章下面评论,我会第一时间改正。让我们一起学习,一起进步。
💑专栏主页:http://t.csdn.cn/HCD8v

本学习过程参考:https://space.bilibili.com/383400717

STM3单片机安装软件、各种资料以及源码的路径:
链接:https://pan.baidu.com/s/1snD0uuTfMhchFqOMWvAiHA?pwd=asdf#list/path=%2F
提取码:asdf

链接里压缩包的解压密码:32

本大节主要学习TIM定时器的相关知识,包含八小节:
第一小节主要学习定时器基本定时的功能,第二小节是对第一小节的内容写两个程序进行练习,分别是定时器定时中断和定时器外部时钟;
第三小节主要学习定时器输出比较的功能,第四小节是对第三小节的内容写三个程序进行练习,分别是PWM驱动LED呼吸灯、PWM驱动舵机以及PWM驱动直流电机;
第五小节主要学习定时器输入捕获的功能,第六小节是对第五小节的内容写两个程序进行练习,分别是输入捕获模式测频率和PWMI模式测频率占空比;
第七小节主要学习定时器的编码器接口功能,第八小节是对第七小节的内容写一个程序进行练习,即编码器接口测速;
最终附上所有的源代码;

本小节主要是学习定时器输出比较的功能;输出比较这个模块最常见的用途就是产生PWM波形,PWM波形又是驱动电机的必要条件,所以常用于驱动电机等设备;在此小节我们将会学习到使用STM32输出PWM波形,来驱动舵机和直流电机;

文章目录

  • 一、输出比价和PWM简介
    • 1.1 输出比较简介
    • 1.2 PWM简介
  • 二、输出比较基础知识
    • 2.1 输出比较通道(通用)
    • 2.2 输出比较通道(高级)
    • 2.3 输出比较模式
  • 三、PWM基本知识
    • 3.1 PWM基本结构
    • 3.2 PWM参数计算
  • 四、舵机和直流电机介绍
    • 4.1 舵机简介
    • 4.2 舵机硬件电路
    • 4.3 直流电机及驱动简介
    • 4.4 直流电机硬件电路

一、输出比价和PWM简介

1.1 输出比较简介

在这里插入图片描述

  • OC(Output Comepare)输出比较;IC(Input Capture)输入捕获;CC(Capture/Compare)输入捕获和输出比较的单元;

1.2 PWM简介

在这里插入图片描述

  • PWM波形是一个数字输出信号,也是由高低电平组成的;

  • 解释一下PWM应用于控制LED灯亮度(也就是目标一的内容):
    按理说LED灯只能有完全亮和完全灭两种状态,怎么能实现控制亮度大小呢?通过PWM波形就可以实现。我们可以让LED不断点亮、熄灭、点亮、熄灭;当这个点灯、熄灭的频率足够大时,LED就不会闪烁了,而是呈现出一个中等亮度;当我们调控这个点亮和熄灭时间比例时,就能让LED呈现出不同的亮度级别了;

  • 对于电机调速也是一样的道理,我们以一个很快的频率,给电机通电、断电、通电、断电,那么电机的速度就能维持在一个中等速度,这就是PWM的基本思想;

  • PWM参数的公式,要熟记

  • 占空比等于高电平的时间比上低电平的时间;T_ON是高电平的时间,T_OFF是低电平的时间,T_S是一个周期的时间;所以占空比的含义就是高电平的时间相对于整个周期时间的比例

比如占空比位50%,那就是高低电平时间相等的方波;波形如下图:
在这里插入图片描述
占空比为20%,那就是高电平占20%,低电平占80%,波形如下图
在这里插入图片描述

占空比为100%,那就是全程都是高电平;

  • 占空比决定了PWM等效出来的模拟电压的大小; 占空比越大,那等效出来的模拟电压就越趋近于高电平;占空比越小,那等效出来的模拟电压就越趋近于低电平;
  • 分辨率就是占空比变化的细腻程度

二、输出比较基础知识

2.1 输出比较通道(通用)

在这里插入图片描述

上图的输出比较电路就对应上一节,通用定时器的如下图的红框部分:
在这里插入图片描述
左边是CNT和CCR比较的结果,右边就是输出比较电路,最后通过TIM_CH1输出到GPIO引脚上,下面还有三个同样的单元,分别输出到CH2、CH3、CH4;

在这里插入图片描述

  • 在上图的输出比较电路图中,左边就是CNT计数器和CCR1第一路的捕获/比较寄存器,他俩进行比较,当CNT>CCR1时,或者CNU=CCR1时,就会给输出模式控制器传一个信号,然后输出模式控制器就会改变它输出oc1ref的高低电平,REF信号实际上就是指这里的高低电平;REF是refense的缩写,即参考信号;
    在这里插入图片描述

  • ref信号会到达上述箭头所指位置,这是一个极性选择,给这个寄存器0,信号就会往上走,就是信号电平不反转;给这个寄存器写1,信号就会往下走,就是信号通过一个非门取反,那输出的信号就是输入信号高低电平反转的信号;这就是极性选择,就是选择是不是要把高低电平反转一下;

  • 再往后是输出使能电路,选择要不要输出;

  • 最后是OC1引脚,这个引脚就是CH1通道的引脚;

那么输出模式控制器,什么时候给ref输出高电平,什么时候给ref输出低电平呢?就是下面2.3节输出比较模式的内容;

2.2 输出比较通道(高级)

在这里插入图片描述

2.3 输出比较模式

在这里插入图片描述

  • 可以这么理解:置有效电平就是置高电平,置无效电平就是置低电平;
  • PWM模式1和PWM模式2非常重要,它们可以用于输出频率和占空比都可调的PWM波形;也是我们主要使用的模式
  • PWM模式1,我们一般使用向上计数的方式;PWM模式2实际上就是PWM模式1的取反;

PWM模式1是怎么输出频率和占空比都可调的PWM波形的呢?看3.1节PWM基本结构所讲的内容;

三、PWM基本知识

3.1 PWM基本结构

在这里插入图片描述

  • CCR是我们自己设置的一个目标值;CNT是一个计数器在不断地自增;同时它俩还在不断进行比较;
  • CCR捕获/比价器后面的就是输出模式控制器;以PWM模式1为例,里面写的也是PWM模式1的执行逻辑;

整个过程如下图所示:

在这里插入图片描述
红线代表CCR值,是可以预先设定的;蓝线代表CNT值;绿线代表输出的REF值;

  • 当CCR小于CNT值时,输出为有效电平(高电平),当CCR大于等于CNT时,输出的REF为无效电平(低电平);
  • 所以,PWM的占空比是受CCR值调控的,如果CCR值设置的高,输出的占空比就变大;反之如果CCR设置的低一些,那么输出的占空比就会变小;
  • 最终经过输出比较,输出的REF就是一个频率可调,占空比也可调的PWM波形了;

3.2 PWM参数计算

在这里插入图片描述
PWM各个参数的计算,记住公式就行,写代码设置具体参数的时候要用到的;

  • CK_PSC通俗说就是单片机的72MHz
  • 蓝线是CNT,黄线是ARRF,红线是CCR

四、舵机和直流电机介绍

4.1 舵机简介

在这里插入图片描述

  • 总结来说就是,给舵机输入一个PWM波形,输出轴就会固定在一个角度;

4.2 舵机硬件电路

在这里插入图片描述

4.3 直流电机及驱动简介

在这里插入图片描述

4.4 直流电机硬件电路

在这里插入图片描述

  • 上图的PWMA、AIN2、AIN1三个脚可以控制点击的正反转和速度;具体控制方式要参考右下角的输入输出表,分以下几种情况
  • 当IN1为L,IN2为H时:PWM给H高电平,电机反转;当PWM给L低电平时,电机制动
  • 当IN1为H,IN2为L时:PWM给H高电平,电机正转;当PWM给L低电平时,电机制动
  • 至于电机的转动速度,取决于PWM的占空比,前面有介绍。

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

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

相关文章

『2023北京智源大会』视觉与多模态大模型

『2023北京智源大会』视觉与多模态大模型 文章目录 一. Drag Your GAN: Interactive Point-based Manipulation on the Generative Image Manifold | 潘新钢 | 南洋理工大学1. Image Manipulation(图像编辑)背景2. Drag Your GAN 二. Machine Learning for 3D Content Creatio…

实验篇(7.2) 14. 站对站安全隧道 - 多条隧道负载均衡(上)(FortiGate-IPsec) ❀ 远程访问

【简介】IPsec VPN虽然价廉物美,但是由运营商原因,经常会出访问慢、不稳定甚至断开的情况,好在现在大多数企业都有二条甚至更多条宽带,我们可以创建多条IPsec VPN,来保证正常访问。 实验要求与环境 OldMei集团深圳总部…

友盟分享之新浪微博站(签名apk下载)

适用环境: 1 单独集成新浪微博分享 2 友盟分享新浪微博 集成步骤: 1 注册新浪微博开发者账号 新浪微博开放平台-首页 2 选择要接入的应用类型 根据官网提示输入对应资料,进行申请 4 创建应用的时候,Android需要输入签名&#x…

NFC无源电子墨水屏

NFC电子纸造就无源可视 电子墨水标签 NFCE-paper For NFC Batteryless E-ink Tag 产品参数 产品型号 PN29_S 尺寸(mm) 95*46.4*5.4mm 显示技术 电子墨水屏 显示区域(mm) 29(H) * 66.9(V) 分辨率(像素) 296*128 像素尺寸(mm) 0.227*0.226 显示颜色 黑/白 视…

摩尔定律放缓后,AMD应如何引领自适应的风潮?

编者按:自适应计算如何为核心市场带来动力?近日,在AMD“自适应和嵌入式产品技术日”活动日上,AMD 全球副总裁唐晓蕾表示,创新是驱动发展的引擎,百行百业的数字化与智能化转型离不开创新输送的源源不断的强劲…

【监控】Zabbix:企业级开源监控解决方案

文章目录 一、zabbix的基本概述二、zabbix的构成三、zabbix的监控对象四、zabbix的常用术语五、zabbix的工作流程六、zabbix进程详解七、zabbix的监控框架7.1 三种架构模式的架构图如下:7.2 每个模块的工作职责: 八、zabbix源码安装及部署一、服务端安装…

电子工程师,一起来聊聊PCB板上的Mark点吧

在PCB设计中,电子工程师需要注意很多方面,新手工程师经常会忽略Mark点,但资深工程师们却对Mark点又爱又恨,甚至不得不花时间耗费在Mark点上,为什么Mark点如此重要?该如何设计Mark点? 一、Mark点…

Linux基础IO - 文件系统 | 软硬链接

之前的文章中我们与文件有关的内容谈论的都是被打开的文件,那么如果文件没有被打开呢?这样文件就一定不再内存中,只能在磁盘外设中存储,本文中我们就来讲述磁盘中文件的相关知识。 磁盘的物理存储结构 一个磁盘由多个盘片叠加而…

如何撰写高效且实用的Prompt

很多人说GPT并没有什么让人惊艳的地方,但实际上,他们并没有发挥好它的潜能。在很多情况下,他们往往没有使用恰当的prompt。一个恰到好处的prompt就如同魔法师在施展魔法时所需要吟唱的咒语,只有那些正确无误的咒语,才能…

Zstack实习-基础知识总结归纳-持续更新

什么是虚拟化? 虚拟化技术是一种将物理计算资源,如服务器、存储和网络等,转化成虚拟的逻辑资源的技术。通过虚拟化技术,可以将多个独立的操作系统运行在同一台物理计算机上,实现资源的共享,提高硬件的利用率…

商业智能之“道、法、器”——企业级BI能力构建指南

一个企业级BI项目看似简单,但实际建设难度却远超想象。如何从0到1搭建BI项目,有没有详细的实施步骤,有没有合适的BI工具推荐,这是很多企业在上BI系统前心中的疑问。因此,本文会详细探讨企业BI能力构建,到底…

【业务功能篇26】 ROW_NUMBER() 排名函数 给表单数据增加序列号

业务场景: 当业务在进行月报报表制作时,会有些模块是需要填充当前月的top问题单,那么这些问题单,在第一列就要给标记序列号从1开始的序号,所以这个序号是根据业务选择的问题单后,在根据当前问题单记录进行的…

BSN全球技术创新发展峰会在武汉举办,“延安链”正式发布

原标题:《第二届BSN全球技术创新发展峰会在武汉成功举行》 6月9日,由湖北省人民政府指导,湖北省发展改革委、国家信息中心联合主办,中国移动、中国电信、中国联通、武汉市江汉区人民政府、区块链服务网络(BSN&#xf…

Linux或Windows上实现端口映射

关注“云计算就该这么学”微信公众号,搜索“001”,即可获取氪肝整理的154页Linux学习笔记。 通常服务器会有许多块网卡,因此也可能会连接到不同的网络,在隔离的网络中,某些服务可能会需要进行通信,此时服务…

I.MX6ULL_Linux_驱动篇(38) 中断驱动

不管是裸机实验还是 Linux 下的驱动实验,中断都是频繁使用的功能,在裸机中使用中断我们需要做一大堆的工作,比如配置寄存器,使能 IRQ 等等。 Linux 内核提供了完善的中断框架,我们只需要申请中断,然后注册中…

Linux进程信号 | 信号保存

阻塞信号 信号其他相关常见概念 实际执行信号的处理动作称为信号递达(Delivery)信号从产生到递达之间的状态,称为信号未决(Pending)。进程可以选择阻塞 (Block )某个信号。被阻塞的信号产生时将保持在未决状态,直到进程解除对此信号的阻塞,才执行递达的动作.注意,阻塞和忽略是…

A Survey of Large Language Models

本文是LLM系列的第一篇文章,针对《A Survey of Large Language Models》的翻译。 大语言模型综述 摘要1 引言2 概述2.1 LLM的背景2.2 GPT系列模型 的技术演化 3 LLMs的资源3.1 公开可用的模型检查点或APIs3.2 常用的语料库3.3 库资源 4 预训练4.1 数据收集4.1.1 数…

图的企业应用-A*算法自动寻路

引言 MC想必大家都玩过,但鸡哥利用A*自动寻路算法来找箱子 箱子里有鸡你太美唱片,和准备好的篮球 当然在这是游戏中找到的宝箱 还得原石x5等一大堆的养成物品 ???等等 ,原神 玩家露出鸡脚了吧! 不应该是 有鸡你太美唱片,还有一条鱼并且给梅里猫的名叫荔枝的? 这…

【MyBatis学习】Spring Boot(SSM)单元测试,不用打包就可以测试我们的项目了,判断程序是否满足需求变得如此简单 ? ? ?

前言: 大家好,我是良辰丫,在上一篇文章中我们学习了MyBatis简单的查询操作,今天来介绍一下Spring Boot(SSM)的一种单元测试,有人可能会感到疑惑,框架里面还有这玩意?什么东东呀,框架里面是没有这的,但是我们简单的学习一下单元测试,可以帮助我们自己测试代码,学习单元测试可以…

SEO留痕霸屏技术原理实现分析

留痕效果 通常是查询某个关键词,出现大量搜索结果网页霸屏,而且都会引导到其他平台或者网站进行浏览和查看。留痕网站和指向网站或平台无关联。 示例图片: 原理分析 首先通过内容和链接很容易明白,本质上就是一个搜索页面&…