【STM32】电机驱动

一、电机分类

二、直流电机的分类

1.有刷电机

2.无刷电机

3.直流减速电机

三、H桥电路

正向旋转

驱动Q1和Q4

反向旋转

驱动Q2和Q3

四、MC3386电机驱动芯片

1.基本原理图

1)前进/后退:IN1和IN2的电平顺序决定电机的正反转

2)调节速度:高电平引脚的电压值决定电机转动的速度(通过MCU输入的PWM的占空比决定的

2.PWM应用

占空比:高电平占整个周期的比例

3.输出比较功能框图

ARR:决定周期

CCR:决定占空比(高电平的大小)

五、PWM实验

1.引脚分配

2.使用CubeMX

将PC3和PA3设置为Output,将PA2设置为定时器,输入为PWM波

3.代码编写

1.设置为正转

PC3输出高电平,PA3输出低电平

2.设置PWM波(设置速度)

1.开启定时器

2.设置PWM

通过设置CCR(捕获/比较寄存器),来控制小车的速度

我们将PWMA初始化为800

由实验现象可以知道:只有到转速为1300/8000,电机才开始转动

六、增量式编码器

1.工作原理

有多少个光栅盘就可以产生多少个PWM波

2.STM32-编码器实验

如何通过其输出来进行判断输出为高电平还是低电平???通过判断脉冲相位【A相和B相相差90度】

3.STM32编码器接口

当电机正向转动时,CNT向上计数

当电机反向转动时,CNT向下计数

4.实验

1.引脚分配

2.CubeMX设置

3.代码编写

启动编码器

TIM->CNT---->实际上编码器的计数值就是CNT的计数值

正转一圈:600-700左右(向上计数器)

反转一圈:64900-64800左右(向下计数器)

 视频链接:

【一节课秒懂】轻松掌握STM32电机驱动开发_哔哩哔哩_bilibili

七、动手编写

参考博客:

https://www.cnblogs.com/Wilson-hhx/p/10467945.html

https://blog.csdn.net/qq_57707070/article/details/124936006

【STM32】Hal库学习——PWM驱动电机_hal_tim_pwm_start-CSDN博客

1.使用STM32g070RBTx型号的单片机

2.设置CubeMX

我们想要使用PWM的输入占空比来设置电机的输出速度,则将使MOTOR_L_S&&MOTOR_R_S)设置为PWM(定时器部分)

其他引脚设置为输出引脚即可

由于需要双路输出,设定PB5,PB4分别通过TIM3-CH2,TIM3-CH1进行PWM输出

同时PB6,3,1,2输出来控制电机转动

3.启动定时器

4.编写中断回调函数

当达到计数值就会进入这个中断回调

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

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

相关文章

【Spring】03 容器

文章目录 1. 定义2. BeanFactory1)惰性加载2)基本的容器功能3)XML配置 3. ApplicationContext1)主动加载2)AOP支持3)事件发布与监听4)国际化支持5)注解支持 4. Spring容器的生命周期…

严世芸龟法养生经

文章目录 严世芸理念荤素搭配,不偏嗜动静结合心平气和 龟息法 严世芸 严世芸,出生于1940年,现任上海中医药大学的主任医师,教授。他父亲是近代上海有名的中医,他又是著名医家张伯臾的亲传弟子。 从小就在父亲诊室里长…

Navicat 技术指引 | 适用于 GaussDB 分布式的日志查询与配置设置

Navicat Premium(16.3.3 Windows 版或以上)正式支持 GaussDB 分布式数据库。GaussDB 分布式模式更适合对系统可用性和数据处理能力要求较高的场景。Navicat 工具不仅提供可视化数据查看和编辑功能,还提供强大的高阶功能(如模型、结…

phpy 连接 PHP与Python生态 跨界合作 PHPY搭建 已解决

目录 需求介绍 安装 windows版本 文件地址 运行效果 需求介绍 在日常功能开发中,难免会使用python的计算库,同时自己要是一名PHP开发工程师。就在最近有相应的需求,索性使用phpy来进行功能开发 安装 windows版本 phpy 是识沃团队最新推出…

【设计模式--结构型--桥接模式】

设计模式--结构型--桥接模式 桥接(Bridge)模式定义结构案例好处使用场景 桥接(Bridge)模式 定义 将抽象与实现分离,使他们可以独立变化。它是用组合关系代替继承关系来实现,从而降低了抽象和实现这两个维…

红帽认证RHCE9.0版本2023年12月的红帽9.0版本RHCSA题⽬+答案,本人已过,全国通用

红帽认证9版本2023年12月的红帽9.0版本RHCSA题⽬答案,本人已过,全国通用 需要完整的RHCSA和RHCE的考试答案的题目以及RHCE9考试的模拟环境和考试笔记教材的请添加微信,需备注来自csdn,不然通不过 1、配置⽹络设置? 将?node1?…

docker-harbor的私有仓库

目录 harbor的特性 harbor的组件 docker-harbor部署 Docker1 页面访问 ​编辑 上传镜像 创建项目 创建用户 给项目创建成员 上传私有仓库 docker2(远程主机上传) 如何实现仓库之间进行同步 docker3 实现远程仓库同步 仓库 保存镜像 私有,自定义用户…

音视频技术开发周刊 | 323

每周一期,纵览音视频技术领域的干货。 新闻投稿:contributelivevideostack.com。 Meta牵头组建开源「AI复仇者联盟」,AMD等盟友800亿美元力战OpenAI英伟达 超过50家科技大厂名校和机构,共同成立了全新的人工智能联盟。以开源为旗号…

C之不小心就犯错误1

以为会打印: it is ok 然而并不是: 原因: 根据C语言隐式类型转换的原理,如果是int型与uint型进行比较(其它类型同理),则会将int型数据转换为uint型,则-1变成了 2^32-1 429496729…

qt-C++笔记之addAction和addMenu的区别以及QAction的使用场景

qt-C笔记之addAction和addMenu的区别以及QAction的使用场景 code review! 文章目录 qt-C笔记之addAction和addMenu的区别以及QAction的使用场景1.QMenu和QMenuBar的关系与区别2.addMenu和addAction的使用场景区别3.将QAction的信号连接到槽函数4.QAction的使用场景5.将例1修改…

编译和使用WPS-ghrsst-to-intermediate生成SST

一、下载 V1.0 https://github.com/bbrashers/WPS-ghrsst-to-intermediate/tree/masterV1.5(使用过程报错,原因不详,能正常使用的麻烦告知一下方法) https://github.com/dmitryale/WPS-ghrsst-to-intermediate二、修改makefile…

AI人工智能在建筑智能化工程设计的应用

AI人工智能在建筑智能化工程设计的应用 相关政策: 建筑智能化工程设计资质是为了合理设计各种智能化系统,让它们有机地结合成为有效的整体作用。在工程设计标准中,智能化资质设计全称为建筑智能化系统专项设计资质。企业一旦具备智能化设计资…

世微 AP5199降压恒流驱动IC 4--450V 6A调光 恒流源LED驱动器

AP5199LED驱动器 描述 AP5199是以恒定关断时间模式操作的平均电流模式控制LED驱动器IC。不像 AP5160,这种控制IC不会产生峰均误差,因此大大提高了精度、线性和 LED电流的负载调节,而不需要任何环路补偿或高侧电流感测。这个 输出LED电流精度为…

设计模式-门面模式(Facade)

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、定义二、结构 前言 在组件构建过程中,某些接口之间直接依赖会带来很多问题,甚至无法直接实现。采用一层间接接口,来隔离…

数据分享 I 全国市级商品房屋销售数据,shp/excel格式,2005-2020年数据

基本信息. 数据名称: 全国市级商品房屋销售数据 数据格式: Shp、excel 数据时间: 2005-2020年 数据几何类型: 面 数据坐标系: WGS84坐标系 数据来源:网络公开数据 数据字段: 序号字段名称字段说明1spxse商品房销售额(亿元&#xf…

使用Mockjs模拟(假数据)接口(axios)

一、什么是MockJs Mock.js官网 Mock.wiki.git mock测试就是在测试过程中,对于某些不容易构造或者不容易获取的对象,用一个虚拟的对象来创建以便测试的测试方法。 二、安装mockjs npm install mockjs 三、 MockJs使用 简单使用: // 使用…

深度探索Linux操作系统 —— Linux图形原理探讨

系列文章目录 深度探索Linux操作系统 —— 编译过程分析 深度探索Linux操作系统 —— 构建工具链 深度探索Linux操作系统 —— 构建内核 深度探索Linux操作系统 —— 构建initramfs 深度探索Linux操作系统 —— 从内核空间到用户空间 深度探索Linux操作系统 —— 构建根文件系统…

k8s详细教程(一)

—————————————————————————————————————————————— 博主介绍:Java领域优质创作者,博客之星城市赛道TOP20、专注于前端流行技术框架、Java后端技术领域、项目实战运维以及GIS地理信息领域。 🍅文末获取源码…

HBase 详细图文介绍

目录 一、HBase 定义 二、HBase 数据模型 2.1 HBase 逻辑结构 2.2 HBase 物理存储结构 ​2.3 数据模型 2.3.1 Name Space 2.3.2 Table 2.3.3 Row 2.3.4 Column 2.3.5 Time Stamp 2.3.6 Cell 三、HBase 基本架构 架构角色 3.1 Master 3.2 Region Server 3.3 Zo…

【web安全】文件读取与下载漏洞

前言 菜某整理仅供学习,有误请赐教。 概念 个人理解:就是我们下载一个文件会传入一个参数,但是我们可以修改参数,让他下载其他的文件。因为是下载文件,所以我们可以看到文件里面的源码,内容。 文件读取…