0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Robomaster-stm32-PWM学习笔记(stm32控制pwm输出)

冬至子 来源:RPK16笔记 作者:随弋 2023-07-24 10:26 次阅读

学习笔记:

脉冲宽度调制(PWM),是英文“Pulse Width Modulation”的缩写,简称脉宽调制,是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术,广泛应用在从测量、通信到功率控制与变换的许多领域中。

图片

图片

图片

  1. 将通用定时器分为四个部分:
    1-选择时钟 2-时基电路 3-输入捕获 4-输出比较

图片

图片

图片

图片

图片

图片

图片

图片

图片

图片

图片

图片

实践1-pwm-led闪烁

要求产生周期为200ms,占空比为50%的PWM信号来控制led灯。

1.cubemax配置

图片

图片

图片

由原理图可知,led引脚复用为tim5

图片

图片

图片

周期为200ms,占空比为50%,Tim5挂在APB1总线上,CLK = 84MHZ;假设PSC =8399,根据公式ARR = 1999,CRR = 1000.

图片

图片

生成代码

main.c 添加

/* USER CODE BEGIN 2 */
HAL_TIM_PWM_Start(&htim5,TIM_CHANNEL_1); //启动定时器5通道1输出周期为200ms,占空比50%得PWM信号。
  /* USER CODE END 2 */

将代码下载到开发板中,实验结果led每隔100ms闪烁。

实践2-PWM-呼吸灯

周期改为20ms,因为大于50hz使人眼不会察觉出闪烁现象。

占空比从0%-100%反复,从而实现呼吸灯。

根据公式可得,PSC=8399,ARR=199。

占空比从0%开始,所以CRR 的初值为 0,根据公式计算CCR = 200时,占空比为100%。

图片

图片

生成代码

mian.c 修改

/* USER CODE BEGIN 2 */

  uint16_t i =0; //CCR
  uint16_t step = 10; //步进值,使呼吸效果明显
  HAL_TIM_PWM_Start(&htim5,TIM_CHANNEL_1);//启动定时器5的通道1产生PWM


  /* USER CODE END 2 */


  /* Infinite loop */
  /* USER CODE BEGIN WHILE */
  while (1)
  {
    /* USER CODE END WHILE */
    //知识点:在for/while等循环内部定义的变量属于局部变量,当for循环结束以后,局部变量就会被销毁
    for(i=0;i<=200;i = i+step)
    {
      __HAL_TIM_SET_COMPARE(&htim5,TIM_CHANNEL_1,i);
      HAL_Delay(200);
    }



    /* USER CODE BEGIN 3 */
  }

实验现象,出现呼吸灯效果并反复。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • led
    led
    +关注

    关注

    237

    文章

    22462

    浏览量

    646026
  • led灯
    +关注

    关注

    22

    文章

    1554

    浏览量

    107038
  • PWM
    PWM
    +关注

    关注

    114

    文章

    4905

    浏览量

    210034
  • STM32
    +关注

    关注

    2240

    文章

    10675

    浏览量

    348929
  • 微处理器
    +关注

    关注

    11

    文章

    2134

    浏览量

    81433
  • 功率控制器
    +关注

    关注

    0

    文章

    25

    浏览量

    12231
  • 脉冲宽度调制

    关注

    7

    文章

    74

    浏览量

    13572
  • PWM波
    +关注

    关注

    0

    文章

    98

    浏览量

    16708
收藏 人收藏

    评论

    相关推荐

    STM32_PWM实验

    STM32 PWM实验,很好的学习资料,快来下载啊
    发表于 02-16 15:46 55次下载

    STM32PWM

    STM32F103输出PWM源码
    发表于 12-10 14:30 23次下载

    STM32各模块学习笔记

    GPIO...............................................15 STM32笔记之六 运行的必要硬件库 ........................................20 ST
    发表于 11-30 03:32 2985次阅读

    STM32F4_TIM输出PWM波形

    STM32F4_TIM输出PWM波形(可调频率、占空比)
    的头像 发表于 04-07 11:13 5126次阅读
    <b class='flag-5'>STM32</b>F4_TIM<b class='flag-5'>输出</b><b class='flag-5'>PWM</b>波形

    STM32_ TIM输出PWM波形

    STM32_TIM输出PWM波形
    的头像 发表于 04-08 11:09 7975次阅读
    <b class='flag-5'>STM32</b>_ TIM<b class='flag-5'>输出</b><b class='flag-5'>PWM</b>波形

    STM32单片机PWM输出学习

    STM32单片机PWM输出学习PWM原理:PWM表示脉冲宽度调制,它是一系列脉冲,这些脉冲将以方
    发表于 11-11 11:51 26次下载
    <b class='flag-5'>STM32</b>单片机<b class='flag-5'>PWM</b><b class='flag-5'>输出</b><b class='flag-5'>学习</b>

    STM32 CubeMX学习:5. 其他PWM设备

    STM32 CubeMX学习:5. 其他PWM设备 系列文章目录前期的准备点亮 LED闪烁 LED定时器闪烁LEDPWM控制LED亮度常见的PWM
    发表于 11-23 17:51 1次下载
    <b class='flag-5'>STM32</b> CubeMX<b class='flag-5'>学习</b>:5. 其他<b class='flag-5'>PWM</b>设备

    STM32-通用定时器-PWM输出

    1 通用定时器PWM概述1.1STM32定时器输出通道引脚这里以TIM3为例来讲解。STM32的通用定时器分为TIM2、TIM3、TIM4、TIM5,而每个定时器都有独立的4个通道可以
    发表于 11-26 15:36 23次下载
    <b class='flag-5'>STM32</b>-通用定时器-<b class='flag-5'>PWM</b><b class='flag-5'>输出</b>

    使用STM32输出PWM波形

    本文目的是通过在STM32平台上采用定时器的方法输出PWM波形,进而熟悉和掌握PWM的原理和产生。目录(一)PWM简介1.关于
    发表于 11-30 14:21 42次下载
    使用<b class='flag-5'>STM32</b><b class='flag-5'>输出</b><b class='flag-5'>PWM</b>波形

    STM32PWM与示波器实验

    1、DAC简介2、DAC功能框图剖析3、正弦波表制作脚本4、引入工程文件5、使用示波器检验将一段数字音频歌曲数据转换为模拟音频波形输出参考资料STM32输出PWM波形1、
    发表于 12-02 13:21 24次下载
    <b class='flag-5'>STM32PWM</b>与示波器实验

    [笔记]|[stm32]|[寄存器存储器区别]|[PWM]|[串口]|[Timer]stm32f103笔记

    [笔记]|[stm32]|[寄存器存储器区别]|[PWM]|[串口]|[Timer]stm32f103笔记
    发表于 12-06 18:51 10次下载
    [<b class='flag-5'>笔记</b>]|[<b class='flag-5'>stm32</b>]|[寄存器存储器区别]|[<b class='flag-5'>PWM</b>]|[串口]|[Timer]<b class='flag-5'>stm32</b>f103<b class='flag-5'>笔记</b>

    【Rt-Thread】STM32输出PWM

    主要记录了Rt-Thread 中STM32 输出PWM配置过程,通过设置不同频率PWM使蜂鸣器发出不同音调
    发表于 12-16 16:57 17次下载
    【Rt-Thread】<b class='flag-5'>STM32</b><b class='flag-5'>输出</b><b class='flag-5'>PWM</b>

    基于STM32F103PWM控制H桥驱动电路

    通过stm32f103单片机io口引脚输出pwm信号控制两个桥电路驱动电机
    发表于 10-24 11:25 19次下载

    STM32CUBEIDE(11)----输出PWM及修改PWM频率与占空比

    本章STM32CUBEMX配置STM32F103输出PWM,并在示波器中查看效果。
    的头像 发表于 11-30 14:12 8969次阅读
    <b class='flag-5'>STM32</b>CUBEIDE(11)----<b class='flag-5'>输出</b><b class='flag-5'>PWM</b>及修改<b class='flag-5'>PWM</b>频率与占空比

    STM32PWM波形输出配置的大神总结

    STM32PWM波形输出配置的大神总结
    的头像 发表于 10-24 16:00 2305次阅读
    <b class='flag-5'>STM32</b>的<b class='flag-5'>PWM</b>波形<b class='flag-5'>输出</b>配置的大神总结