PWM控制舵机

news2024/11/16 0:39:44

文章目录

    • 运行环境:
    • 1.1 原理
      • 1)A板原理图
      • 2)PA8引脚配置
      • 3)定时器Timers配置
    • 2.1代码解释
      • 1)定时器1初始化函数
      • 2)启动定时器中断
      • 3)启动PWM/设置占空比
      • 4)launch设置
      • 5) 编译调试
    • 3.1实验效果

运行环境:

ubuntu18.04.melodic
宏基暗影骑士笔记本
stm32f427IIH6
stlink
9-24v可调电源

在这里插入图片描述

1.1 原理

调节占空比来调节舵机的角度

1)A板原理图

A板 的PWM由定时器1的1,2,3,4通道

在这里插入图片描述TIM1_CH1对应PA8
在这里插入图片描述

2)PA8引脚配置

配置为定时器1的第1通道:TIM1_CH1
在这里插入图片描述

3)定时器Timers配置

内部时钟
通道1:PWM模式
在这里插入图片描述

在这里插入图片描述180 000 000 /180分频 = 1000 000 (180-1=179)
1000 000 / 50Hz = 20000 (20000-1=19999)

脉冲设置为1000
0-1000 输出高电平
1000-65535 输出低电平

平常脉冲设置为0,代码中可以设置

在这里插入图片描述

2.1代码解释

1)定时器1初始化函数

在这里插入图片描述

2)启动定时器中断

进入定时器1的初始化函数,启动定时器1中断
在这里插入图片描述

3)启动PWM/设置占空比

启动PWM(定时器1的第1通道)
在这里插入图片描述

设置占空比
2000–180度
1000–0度
在这里插入图片描述

  __HAL_TIM_SetCompare(&htim1, TIM_CHANNEL_1, 2000);

4)launch设置

在这里插入图片描述
修改成以下内容:可执行文件名是TIM1.elf

{
    "configurations": [
    

        {
            "showDevDebugOutput": "parsed",
            "cwd": "${workspaceRoot}",
            "executable": "./build/TIM1.elf",
            "name": "Debug STM32",
            "request": "launch",
            "type": "cortex-debug",
            "servertype": "openocd",
            "device": "stm32f427",
            "configFiles": [
                "interface/stlink-v2-1.cfg",
                "target/stm32f4x.cfg"
            ]
        }
    ]
}

5) 编译调试

ctrl +s 保存
make
F5 编译调试

3.1实验效果

通过调节占空比调节舵机角度


⭐⭐⭐ 嘟嘟崽 ⭐⭐⭐
⭐⭐⭐ 祝你成功 ⭐⭐⭐

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

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

相关文章

JAVA常用的工具类

文章目录 1 集合工具类1.1 java.util.Collections1.1.1 基本操作1.1.2 转换线程安全集合 1.2 org.springframework.util.CollectionUtils1.3 org.apache.commons.collections.CollectionUtils1.4 org.apache.commons.lang.ArrayUtils1.5 org.apache.commons.lang3.ArrayUtils1.…

[Java] 中的具体集合

文章目录 集合根接口List列表(线性表)Queue & Deque双端队列 Set集合HashSet源码应用 TreeSet源码 Map映射Map的底层实现HashMapLinkedHashMapTreeMap Maps methodcompute()merge()replace()remove() Stream流Collections工具类 集合表示一组对象&am…

Reactor 第九篇 WebFlux重构个人中心,效果显著

1 重构背景 原有的开发人员早已离职,代码细节没人知道,经过了一段时间的维护,发现有以下问题: 个人中心系统的特征就是组装各个业务的接口,输出个人中心业务需要的数据,整个系统调用了几十个第三方业务线的…

moment在vue的使用

第一步:安装moment npm install moment --save-dev第二步:在使用moment的地方引入moment import moment from "moment"; monent的方法: (1)moment([日期]): 获取当前日期或指定日期&#xff…

pytorch学习率设置——optimizer.param_groups、对不同层设置学习率、动态调整学习率。

文章目录 前言1、关于optimizer.param_groups2、设置学习率3、optim 提供的优化器 前言 我的需求:我需要在yolov7中更改其中一层的学习率,但yolov7的学习率是随着eporch的变化动态变化的。 1、关于optimizer.param_groups “param_groups” 是 Pytorch…

LeetCode1047. 删除字符串中的所有相邻重复项

1047. 删除字符串中的所有相邻重复项 给出由小写字母组成的字符串 S,重复项删除操作会选择两个相邻且相同的字母,并删除它们。 在 S 上反复执行重复项删除操作,直到无法继续删除。 在完成所有重复项删除操作后返回最终的字符串。答案保证唯一…

RabbitMQ 工作队列模型(任务队列)

任务模型 概念 ​ 当消息处理比较耗时的时候,可能生产消息的速度大于消费的速度,长此以往,就会导致消息堆积,无法及时处理,此时可以使用任务模型,当多个消费者绑定一个队列,共同消费其中的消息…

认识JSP

什么是JSP? JSP(Java Server Pages)是一种类似于HTML的标记语言,用于创建动态Web页面。与HTML不同的是,JSP页面中可以嵌入Java代码,由Web服务器在动态页面中生成HTML代码,从而实现Web应用程序的前端交互效…

scratch求和 中国电子学会图形化编程 少儿编程 scratch编程等级考试四级真题和答案解析2023年3月

目录 scratch求和 一、题目要求 1、准备工作 2、功能实现 二、案例分析

node之Express

目录 Express简介 安装 创建基本的Web服务器 托管静态资源 以上述案例为基础访问静态资源的路径为:http://127.0.0.1:8080/xxx.html 托管多个静态资源目录 路由的概念 路由的匹配过程 模块化路由 模块化路由案例 中间件的概念 定义中间件函数例 全局生…

AI助阵,领先创新丨智能评价分析·数字员工,开启顶级消费者体验新篇章!

GPT-4作为人工智能时代发展道路上的里程碑,以其惊人的多模态大模型能力吸引了众多零售消费品牌的关注,利用AI技术解决客户复杂业务问题,成为推动行业提质增效的重要途径。实在智能是国内首个生成式AI标准编写单位,始终坚持AI赋能商…

各种常用字符编码详解【图文教程】,Unicode 是一个编码规范,并不是一个具体的编码

文章目录 常见编码的比较,各个编码中各字符占用(字节数):简体中文编码发展史,编码出现时间和涵盖范围UTF-8、unicode与GBK编码转化一问一答其他ASCII表 参考文档 常见编码的比较,各个编码中各字符占用(字节数): 编码英文中文(简体…

数说热点 | 跟着《长月烬明》起飞,今年各地文旅主打的就是一个听劝

近日,随着热播剧《长月烬明》的爆火,蚌埠、宣城、敦煌等多个与剧情梦幻联动的宝藏城市被带飞,各地热心网友也纷纷催促自家文旅局赶紧“蹭飞”,《长月烬明》以一己之力打造了影视文旅融合的新样板。 仙偶剧特效天花板,…

SpringCloud------代码demo(二)

SpringCloud------代码demo(二) 编码实操 以订单——支付微服务模块作为基础,开始逐渐扩充 微服务架构编码构建 1.约定 > 配置 > 编码 2.IDEA新建project工作空间 3.Rest微服务工程构建 总父工程 POM project module 首先创建maven项…

FPGA入门系列14--VGA

文章简介 本系列文章主要针对FPGA初学者编写,包括FPGA的模块书写、基础语法、状态机、RAM、UART、SPI、VGA、以及功能验证等。将每一个知识点作为一个章节进行讲解,旨在更快速的提升初学者在FPGA开发方面的能力,每一个章节中都有针对性的代码…

06 - 3 事件驱动架构模式——EDA

何为EDA 事件驱动架构是一种异步分发事件的架构模式用于高扩展且低耦合的系统以事件为核心,一系列解耦的、单一功能的事件处理器 Notification 源系统发送消息通知其他系统状态改变接收方响应非必须发送 Event 逻辑与处理 Event 逻辑无依赖,独立变化解…

华为路由WS5200 四核版使用体验

文章目录 前言一、主界面和上网设置二、网络WIFI设置三、安全和系统总结 前言 其实我是看不上这种除了能上网,没任何用的东东的。除了上古时代用过类似的简单设备,已经十数年没再看一眼这种东西了,当然更不会去买这种东西,别误会…

vscode配置latex

reference:https://zhuanlan.zhihu.com/p/166523064 1 texlive卸载 找到texlive\2019\tlpkg\installer下的uninst.bat文件并点击运行。 删除环境变量 2 texlive安装 打开https://tug.org/texlive/acquire-iso.html点击下载iso文件 3 vscode 安装 4 latex插件…

Linux系统编程 多线程基础

文章目录 前言一、线程概念二、线程的创建三、线程的退出四、pthread_join函数总结 前言 本篇文章作为多线程的入门讲解将带大家先创建几个线程来感受一下什么是多线程,了解一下多线程到底有什么作用。 一、线程概念 线程(Thread)是程序执…

C++类与对象(二)——构造函数与析构函数

文章目录 一.类的默认6个成员函数二.构造函数1.引例2.构造函数的概念及特性 三.析构函数😋析构函数的特性 前言: 上篇文章初步认识了类以及类的相关知识,本篇将继续深入学习类与对象——类的默认6个成员函数: 一.类的默认6个成员函…