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

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

3天内不再提示

STM32CubeIDE下配置STM32F103输出带死区的互补PWM波

冬至子 来源:农校电子匠 作者:农校电子匠 2023-11-01 09:41 次阅读

STM32F103的TIM1和TIM8是高级定时器,可以产生嵌入死区时间的互补PWM波,使用STM32CubeIDE完成相关配置,可以直接生成代码,输出带死区的PWM波。

根据项目需要,单片机需输出频率为36kHz,占空比50%,死区时间500ns的互补PWM波,下面使用STM32CubeIDE完成相关配置。

1、选择时钟源,这里选择外部石英晶体作为HSE时钟源

图片

2、配置系统时钟为72MHz,高级定时器TIM1和TIM8时钟由APB2提供,这里APB2等于系统时钟72MHz

图片

3、这里使用TIM1来产生互补PWM波,TIM1复用功能如下表所示:

图片

我们使用单片机的PA7和PA8引脚作为PWM互补输出的两个通道,在STM32CubeIDE里将此两引脚选择为TIM1_CH1N和TIM1_CH1

图片

4、点左边的Timers,选择Tim1,TIM1 Mode and Configuration下的Mode选项下主要完成以下配置:

**Clock Source **选择 Internal Clock,使用内部时钟源;

Channel1 选择 PWM Generation CH1 CH1N,PWM产生CH1和CH1N,对应上面选择的引脚PA8和PA7。

图片

5、Configuration选项下主要完成以下配置:

Counter Settings下的配置:

Prescaler 设置为1,预分频器设置为2-1;

Counter Mode选择Up,计数模式为向上计数;

Counter Period设置为1000-1,设置计数周期;

auto-reload preload 选择Enable,开启自动重装载。

以上几项配置主要是设置PWM频率,计数器从0开始计数,计数到(1000-1),再从0重新开始计数,预分频器设置为1,则计数器使用的时钟频率为72MHz/2 = 36MHz,计数周期为1000×1/36MHz,频率为36MHz/1000 = 36kHz。

Break And Dead Time Management下的配置:

Dead Time 设置为36,配置死区时间,死区时间36×1/72MHz = 500ns。

PWM Generation Channel 1 and 1N下的配置:

Mode 选择 PWM Mode 1,选择PWM产生模式;

Pulse 设置为500,设置占空比,对应上面的Counter Period,此时占空比为Pulse/(Counter Period+1) = 500/1000 = 50%。

其他的选项保持默认值即可。

图片

6、完成以上配置后即可生成代码,打开生成的代码,在main.c的TIM1初始化函数MX_TIM1_Init(void)中添加两行代码,将PWM开启。

图片

7、编译,下载到开发板上,用示波器可以看到输出的带死区的互补PWM波形

图片

图片

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

    关注

    6001

    文章

    43973

    浏览量

    620835
  • 定时器
    +关注

    关注

    23

    文章

    3147

    浏览量

    112037
  • STM32F103
    +关注

    关注

    33

    文章

    474

    浏览量

    62573
  • PWM波
    +关注

    关注

    0

    文章

    98

    浏览量

    16700
  • 预分频器
    +关注

    关注

    0

    文章

    17

    浏览量

    7986
收藏 人收藏

    评论

    相关推荐

    STM32F103输出PWM波形

    STM32PWM和DAC练习STM32F103输出一路PWM波形用STM32F103的DAC功
    发表于 08-17 09:01

    STM32F103单片机的死区时间互补输出

    STM32F103系列单片机共有多少个定时器?STM32F103单片机的死区时间互补输出是什么?
    发表于 09-24 08:31

    如何使用STM32F103输出PWM

    如何使用STM32F103输出PWM
    发表于 11-15 06:45

    STM32F103 PWM输出配置有哪些步骤呢

    PWM是什么?STM32F103 PWM输出比较模式有哪几种?STM32F103 PWM
    发表于 11-15 07:52

    如何去设置STM32F103死区时间呢

    STM32F103单片机有多少定时器呢?通用定时器PWM的工作原理是什么?如何去设置STM32F103死区时间呢?
    发表于 11-24 06:36

    如何使用stm32互补输出PWM并且控制死区的时间

    使用stm32互补输出PWM并且控制死区时间,
    发表于 01-17 07:56

    stm32f103cb的相关资料分享

    platform:stm32f103cb前言在做三相逆变的时候,需要软件生成SVPWM波形,具体的算法需要产生三对互补PWM,这样可以驱动六个开关元件,stm32f103中的TIM1
    发表于 02-11 06:56

    STM32CubeIDE使用

    参考STM32CubeIDE属于一站式工具,本文带你体验它的强大第一个STM32CubeIDE项目STM32CubeIDE使用记录STM32CubeIDE使用笔记(03):使用ST-L
    发表于 12-02 17:21 26次下载
    <b class='flag-5'>STM32CubeIDE</b>使用

    STM32CubeIDE初识

    STM32CubeIDE初识
    发表于 12-02 18:36 23次下载
    <b class='flag-5'>STM32CubeIDE</b>初识

    STM32 TIM 多通道互补PWM波形输出配置快速入门

    platform:stm32f103cb前言在做三相逆变的时候,需要软件生成SVPWM波形,具体的算法需要产生三对互补PWM,这样可以驱动六个开关元件,stm32f103中的TIM1
    发表于 12-07 18:36 24次下载
    <b class='flag-5'>STM32</b> TIM 多通道<b class='flag-5'>互补</b><b class='flag-5'>PWM</b>波形<b class='flag-5'>输出</b><b class='flag-5'>配置</b>快速入门

    STM32CUBEIDE(1)----安装

    概述 STM32CubeIDE是一体式多操作系统开发工具,是STM32Cube软件生态系统的一部分。 STM32CubeIDE是一种高级C/C++开发平台,具有STM32微控制器和微处
    的头像 发表于 11-22 09:52 857次阅读
    <b class='flag-5'>STM32CUBEIDE</b>(1)----安装

    STM32CUBEIDE(6)----printf打印配置

    概述 本章STM32CUBEMX配置STM32F103配置printf进行打印。 最近在弄ST和GD的课程。 生成例程 使用STM32CU
    的头像 发表于 11-28 17:23 2654次阅读
    <b class='flag-5'>STM32CUBEIDE</b>(6)----printf打印<b class='flag-5'>配置</b>

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

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

    STM32CubeIDE实用技巧之配置Heap空间

    STM32CubeIDE实用技巧之配置Heap空间
    的头像 发表于 10-31 17:30 723次阅读
    <b class='flag-5'>STM32CubeIDE</b>实用技巧之<b class='flag-5'>配置</b>Heap空间

    STM32CubeIDE实用技巧之配置堆空间

    电子发烧友网站提供《STM32CubeIDE实用技巧之配置堆空间.pdf》资料免费下载
    发表于 09-19 15:07 2次下载
    <b class='flag-5'>STM32CubeIDE</b>实用技巧之<b class='flag-5'>配置</b>堆空间