江科大/江协科技 STM32学习笔记P15

文章目录

  • TIM输出比较
    • 1、输出比较简介
    • 2、PWM简介
    • 3、输出比较通道(高级)
    • 4、输出比较通道(通用)
    • 5、输出比较模式
    • 6、PWM基本结构
      • 参数计算
    • 7、舵机简介
    • 8、直流电机及驱动简介
      • 驱动芯片


TIM输出比较

1、输出比较简介

在这里插入图片描述CNT计数器,CCR捕获/比较寄存器,在下图右下部分的输出比较电路,捕获/比较寄存器就是输入捕获和输出比较共用,当使用输入捕获时,它就是捕获寄存器,当使用输出比较时是比较寄存器。在输出比较时比较CNT和CCR的值,CNT计数器自增,当大于CCR、小于CCR或者等于CCR时,输出对应置1、置0。
在这里插入图片描述

2、PWM简介

在这里插入图片描述
使用PWM波形就可以在数字系统来等效实现模拟信号的输出,比如数字输出端口控制LED,或者电机调速,我们以一个很快的频率给电机通电、断电、通电、断电,那么电机的速度就能维持在一个中等速度。
“具有惯性的系统”指的就是LED熄灭时人眼的视觉延迟或者电机断电时电机转动不会立马停止这种具有惯性的系统。
T s T_{s} Ts就是一个高低电平变换周期的时间,周期的倒数就是频率,PWM的频率越快,等效模拟的信号就越平稳,同时性能开销越大,一般PWM的频率在几K到几十KHz。 T O N T_{ON} TON是高电平的时间,TS是一个周期的时间,占空比决定了PWM等效出来的模拟电压的大小,占空比越大等效的模拟电压越趋于高电平,等效关系一般是线性的,比如高电平是5V,低电平是0V,50%占空比等效于中间电压2.5V,20%占空比等效于1/5处的电压1V。分辨率就是比如占空比只能是1%、2%、3%这样以1%的步距跳变,分辨率就是1%,如果能以1.1%、1.2%这样以0.1%的步距跳变,分辨率就是0.1%。

3、输出比较通道(高级)

在这里插入图片描述
通过死区生成(在上管关闭时延迟一小段时间再导通下管,在下管关闭时延迟一小段时间导通上管,避免上下管同时导通,如果不这样,上管还没完全关断下管就已经导通,出现短暂的上下管同时导通的现象会导致功率损耗,引起器件发热)和互补输出控制OC1和OC1N之后的推挽电路来驱动电机

4、输出比较通道(通用)

在这里插入图片描述
CNT计数器和CCR1第一路的捕获/比较寄存器进行比较,给输出模式控制器传一个信号,然后输出模式控制器改变它输出oc1ref(reference的缩写,参考信号)的高低电平。ref上面一路可以映射到主模式的TRGO输出(trigger output 触发输出)上,下面一路到达极性(极性)选择,寄存器写0,信号往上走,信号电平不翻转,写1往下走通过一个非门取反,输出高低电平翻转的信号。接着输出使能使能电路,选择要不要输出,最后OC1引脚,是CH1通道的引脚。

5、输出比较模式

在这里插入图片描述
有效电平和无效电平可以理解为有效就是高电平,无效就是低电平。PWM模式2实际上就是PWM模式1输出的取反,改变PWM模式1和PWM模式2只是改变了REF电平的极性而已,下图中ref输出后右边还有一个极性的配置,总结只用PWM模式1的向上计数就可以
在这里插入图片描述

6、PWM基本结构

在这里插入图片描述
右上蓝线是CNT的值,黄线是ARR(Auto Reload Register 自动重装载寄存器)的值,蓝线从0开始自增一直到ARR,红线是CCR(Capture/Comparex Register 捕获/比较寄存器)。在CNT<CCR时置高电平,>=CCR时置低电平,占空比受CCR值的调控,这里REF(reference 参考信号)就是一个频率可调,占空比也可调的PWM波形

参数计算

在这里插入图片描述
PWM频率等于计数器的更新频率;PWM占空比是PWM方波信号高电平占整个信号周期的比例;PWM分辨率是占空比最小的变化步距,PWM信号的精度。

7、舵机简介

在这里插入图片描述
舵机内电路板逻辑:PWM信号输入到控制板,给控制板一个指定的目标角度,然后电位器检测输出轴的当前角度,如果大于目标角度,电机就会反转,如果小于目标角度,电机就会正转,最终使输出轴固定在指定角度。周期20ms,高电平的时间从0.5ms-2.5ms线性分配对应相应角度,实际应用时舵机可以控制机器人、机械臂关节,遥控车、遥控船方向,与PWM等效一个模拟输出不是一回事,这里更像把PWM当成一个通信协议。

在这里插入图片描述
这里可以直接从STLINK的5V输出脚引一根线接到这里,使用USB的5V供电

8、直流电机及驱动简介

在这里插入图片描述
右边是H桥电路的基本结构,由两路推挽电路组成,左上管导通,下管断开,左边输出接在VM的电机电源正极,下管导通,上管断开,接在PGND的电源负极。如果两路推挽电路,电机接O1、O2,左上和右下导通,电流从左流向右边,左下和右上导通电流从右流向左边,这样H桥可以控制电流流过的方向,所以能控制电机正反转

驱动芯片

在这里插入图片描述
PWMA、AIN2、AIN1三个引脚控制下面A路的一个电机,PWMA引脚接PWM信号输出端,其他两个引脚接两个普通GPIO口,这三个引脚给低功率的控制信号,驱动电路从VM汲取电流来输出到电机,这样就完成低功率的控制信号控制大功率设备的目的了,B路同理,STBY(Stand By)引脚是待机控制脚,如果接GND芯片不工作,处于待机状态,如果接逻辑电源VCC,芯片正常工作,如果需要待机控制任意接一个GPIO,给高低电平就可以控制
右下解释PWM输出,STBY低电平待机,高电平正常工作。如果IN1和IN2全接高电平,右边两个输出都为低电平没有电压差,电机不转,IN1和IN2全接低电平,输出关闭,电机不转。如果IN1给低电平,IN2给高电平,接着就看PWM,如果PWM给高电平,输出O1低O2高,有电压差,电机反转,如果PWM给低电平,输出两个低电平,电机还是不转,PWM变化,这样电机不停的反转、停止、反转、停止,电机连续稳定的反转,取决于PWM信号的占空比。如果IN1给高电平,IN2给低电平,PWM高正转,低停止,同理。

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

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

相关文章

VUE3——003、VUE 项目中的文件结构(index.html、main.ts、App.vue)

虽然是号称是小白初学&#xff0c;但本文只是对 VUE 小白&#xff0c;其它的基功还是有一丢丢的&#xff0c;不太懂的同学去看看一下详解&#xff0c;我这里记述的是自己的理解和观点。见谅&#xff01; index.html&#xff1a;入口文件&#xff08;以创建 vue3 项目的默认文件…

ElasticSearch(es)倒排索引

目录 一、ElasticSearch 二、倒排索引 1. 正向索引 2. 倒排索引 具体细节 1. 文档分析 2. 索引构建 3. 索引存储 4. 词条编码 5. 索引优化 6. 查询处理 示例 总结 3. 正向和倒排 三、总结 倒排索引的基本概念 为什么倒排索引快 一、ElasticSearch Elasticsear…

Vue 3 中使用 InMap 绘制热力图

本文由ScriptEcho平台提供技术支持 项目地址&#xff1a;传送门 Vue 3 中使用 InMap 绘制热力图 应用场景介绍 InMap 是一款强大的地图组件库&#xff0c;它提供了一系列丰富的可视化功能&#xff0c;包括热力图。热力图可以将数据点在地图上以颜色编码的方式可视化&#x…

论文阅读_字节的语音生成模型_Seed-TTS

英文名称: Seed-TTS: A Family of High-Quality Versatile Speech Generation Models 中文名称: Seed-TTS&#xff1a;高质量多功能语音生成模型系列 链接: http://arxiv.org/abs/2406.02430v1 代码: https://github.com/BytedanceSpeech/seed-tts-eval (评测工具) 演示网站&am…

找出所有点到一个点的距离的最小值

这个题的看一眼有点像树形dp&#xff0c;但是要怎么去优化我们转移方程呢 这是为什么呢&#xff0c;我们的树形dp很难考虑来之前的答案&#xff0c;那么d[y] 怎么办&#xff0c;我们可以先以1为根计算出以1为根的答案 #define _CRT_SECURE_NO_WARNINGS #include<bits/stdc.…

js 计算小数精度问题 ,引入decimal.js库 解决

安装 npm install --save decimal.js 引入 import Decimal from "decimal.js" 使用 new Decimal function adddDecimals (...decimals) { let sum new Decimal(0) decimals.forEach(decimal > { sum sum.plus(decimal) }) return sum.toNumber() } const res …

【刷题汇总 -- 笨小猴、 主持人调度(一)、分割等和子集】

C日常刷题积累 今日刷题汇总 - day0251、笨小猴1.1、题目1.2、思路1.3、程序实现 2、主持人调度&#xff08;一&#xff09;2.1、题目2.2、思路2.3、程序实现 3、分割等和子集3.1、题目3.2、思路3.3、程序实现 -- 0/1背包问题 4、题目链接 今日刷题汇总 - day025 1、笨小猴 1…

【MIT 6.5840(6.824)学习笔记】Raft

1 脑裂 许多容错系统使用一个单主节点来决定主副本。 MapReduce&#xff1a;由单主节点控制计算复制。GFS&#xff1a;主备复制数据&#xff0c;并由单主节点确定主拷贝的位置。VMware FT&#xff1a;主虚机和备份虚机之间复制指令&#xff0c;需要单点的Test-and-Set服务确认…

【JavaEE】通过Linux部署Web项目到云服务器上

一.配置部署所需的环境. 1.1 什么是部署? 要想知道什么是部署, 就要先了解我们在日常开发的过程中所设计到的几种环境: 开发环境: 软件开发环境指的是开发人员在创建、测试和部署软件应用程序时所需的一系列硬件、软件、工具和流程的集合。它是为了支持软件开发过程而构建的…

[算法]归并排序(C语言实现)

一、归并排序的定义 归并排序&#xff08;Merge sort&#xff09;是建立在归并操作上的一种有效的排序算法。该算法是采用分治法&#xff08;Divide and Conquer&#xff09;的一个非常典型的应用。 二、归并排序的算法原理 归并排序的算法可以用递归法和非递归法来实现…

Git基本原理讲解、常见命令、Git版本回退、Git抛弃本地分支拉取仓库最新分支、如何将本地文件推送至github、.gitignore文件的使用

借此机会写篇博客汇总一下自己去公司实习之后遇到的一些常见关于Git的操作。 Git基本认识 Git把数据看作是对小型文件系统的一组快照&#xff0c;每次提交更新&#xff0c;或在Git中保存项目状态时&#xff0c;Git主要对当时的全部文件制作一个快照并保存这个快照的索引。同时…

【ROS 最简单教程 002/300】ROS 环境安装 (虚拟机版): Noetic

&#x1f497; 有遇到安装问题可以留言呀 ~ 当时踩了挺多坑&#xff0c;能帮忙解决的我会尽力 &#xff01; 1. 安装操作系统环境 Linux ❄️ VM / VirtualBox Ubuntu20.04 &#x1f449; 保姆级图文安装教程指路&#xff0c;有经验的话 可以用如下资源自行安装 ITEMREFERENCE…

vue3实战(通用后台管理系统)问题总结

npm install less vue-router element-plus -s elementplus 路由引入组件第二种写法&#xff1a; 使用动态的import( )语法(推荐使用)&#xff08;路由懒加载&#xff09; component:()>import(路径)component:()>import(/views/Main.vue)打包之后的文件将会异常的大&a…

《昇思25天学习打卡营第25天|第28天》

今天是打卡的第二十八天&#xff0c;实践应用篇中的计算机视觉中Vision Transformer图像分类。 从Vision Transformer&#xff08;ViT&#xff09;简介开始了解&#xff0c;模型结构&#xff0c;模型特点&#xff0c;实验的环境准备和数据读取&#xff0c;模型解析&#xff08…

深入探索PHP框架:Symfony框架全面解析

1. 引言 在现代Web开发领域&#xff0c;PHP作为一种广泛使用的服务器端脚本语言&#xff0c;其框架的选择对于项目的成功至关重要。PHP框架不仅能够提高开发效率&#xff0c;还能确保代码的质量和可维护性。本文将深入探讨Symfony框架&#xff0c;这是一个功能强大且灵活的PHP…

Teamcenter RAC开发,创建Item的两种方式

1、如果描述不必填&#xff0c;采用胖客户端的创建方式 newItem itemType.create(newItemId, "", targetTypeComp.getTypeName(), item_name, // "test1", null, null2、如果描述必填&#xff0c;则需要采用SOA的创…

C++11中的右值引用以及移动构造等

目录 一、右值引用 1.左值引用和右值引用 2.左值引用与右值引用比较 3.右值引用使用场景和意义 1️⃣ 传返回值 2️⃣ STL中的应用 4.完美转发 模板中的&& 万能引用&#xff08;引用折叠&#xff09; 二、 新的类功能 1.默认成员函数 2.类成员变量初始化 3.…

线程池学习(一)

1.线程池有什么作用 降低资源消耗&#xff1a;通过池化技术重复利⽤已创建的线程&#xff0c;降低线程创建和销毁造成的损耗。 提⾼响应速度&#xff1a;任务到达时&#xff0c;⽆需等待线程创建即可⽴即执⾏。 提⾼线程的可管理性&#xff1a;线程是稀缺资源&#xff0c;如果…

ProxmoxPVE虚拟化平台--安装PVE虚拟机

Proxmox 虚拟机 Proxmox是一个基于Debian Linux和KVM的虚拟化平台&#xff0c;‌它提供了虚拟化的环境&#xff0c;‌允许用户在同一台物理机上运行多个虚拟机。‌Proxmox虚拟环境&#xff08;‌PVE&#xff09;‌是一个开源项目&#xff0c;‌由Proxmox Server Solutions Gmb…

Power Tower

Problem - D - Codeforces 牛客和codeforce都有 递归处理l,r&#xff0c;终点是lr && mod1 用扩展欧拉定理 // Problem: D. Power Tower // Contest: Codeforces - Codeforces Round 454 (Div. 1, based on Technocup 2018 Elimination Round 4) // URL: https://c…