当前位置: 首页 > news >正文

细说MCU输出互补型PWM波形时设置死区时间的作用

目录

一、工程背景

二、死区时间的作用


一、工程背景

         在作者的文章里建立工程时,为配置输出互补型PWM波形曾经设置了死区时间,DEAD=100个定时器的时间周期(简称实例1):细说MCU输出互补型PWM波形的实现方法-CSDN博客  https://wenchm.blog.csdn.net/article/details/139770672

        设置死区时间到底有什么作用呢?

二、死区时间的作用

         实例1的看到两路PWM波形除了高低电平互补以外,其他没有什么区别。

        那么,在实例1图中设置的死区时间(Dead Time)参数,体现在何处呢?

        在示波器下,把实例1中的波形图按时间轴展开,仔细看一下两个波形就会发现,它们还是有差别的。波形展开后,就能看到设置死区时间的效果了。

        示波器操作 :开启Cursor,把两条铅垂线Cursor分别调整到通道1、通道2的上升沿和下降沿的的边沿上,左上角的窗体里自动测试两条竖线的差∆x=600ns。

        在截图中,可以清楚地看到,在PA8(通道1)由低电平变为高电平之前,PA7(通道2就已经由高电平变为了低电平,这两个跳变沿之间的时间就是死区时间。

        在这个死区时间之内,两路PWM的输出均为低电平。如果这两路PWM分别控制一个H桥的高、低压臂开关则在此死区时间之内,两个开关均不导通。为什么需要这样呢?因为实际开关的动作(导通和关断)是需要时间的,虽然互补型PWM在理论上能保证两路信号完全互补,但从信号发出到开关实际动作,还是需要一定时间的。死区时间的设置,就可以避免两个开关同时导通的可能性。

        实例1中,设置死区时间参数为100。由于没有设置计数器的预分频因子,所以两次计数的时间间隔为(1/170)μs,这个100所代表的时间就是100个定时器的时钟周期,约为0.588 ns。示波器测量结果为590 ns。

相关文章:

  • 大数据之Hadoop的特点是什么?有什么优缺点?有哪些发行版本?
  • 军用FPGA软件 Verilog语言的编码准测之触发器、锁存器
  • 各类存储器类型(RAM、ROM、FLASH、DRAM、SRAM)
  • Kafka之ISR机制的理解
  • Java程序设计语言的特点
  • 【Quartus 13.0】NIOS II 部署UART 和 PWM
  • phpStudy里面的MySQL启动不了
  • 这些已经死去的软件,依旧无可替代
  • 深度学习 - CNN
  • 基于Wireshark实现对FTP的抓包分析
  • 多目标跟踪中检测器和跟踪器如何协同工作的
  • JavaScript------const
  • kali系统几个开机启动项的区别
  • 【网络编程】多进程服务器端
  • mybatis使用注解形式实现一对多、多对多查询(转载)
  • [分享]iOS开发 - 实现UITableView Plain SectionView和table不停留一起滑动
  • axios 和 cookie 的那些事
  • CentOS 7 修改主机名
  • Docker 笔记(2):Dockerfile
  • HomeBrew常规使用教程
  • js作用域和this的理解
  • PhantomJS 安装
  • Quartz实现数据同步 | 从0开始构建SpringCloud微服务(3)
  • spring boot下thymeleaf全局静态变量配置
  • 程序员该如何有效的找工作?
  • 初识 beanstalkd
  • 代理模式
  • 计算机常识 - 收藏集 - 掘金
  • 简单易用的leetcode开发测试工具(npm)
  • 力扣(LeetCode)22
  • 面试题:给你个id,去拿到name,多叉树遍历
  • 那些被忽略的 JavaScript 数组方法细节
  • 探索 JS 中的模块化
  • 温故知新之javascript面向对象
  • 吴恩达Deep Learning课程练习题参考答案——R语言版
  • 小程序01:wepy框架整合iview webapp UI
  • 学习ES6 变量的解构赋值
  • 用 Swift 编写面向协议的视图
  • ###STL(标准模板库)
  • $.ajax()
  • $LayoutParams cannot be cast to android.widget.RelativeLayout$LayoutParams
  • (C语言)编写程序将一个4×4的数组进行顺时针旋转90度后输出。
  • (LeetCode C++)盛最多水的容器
  • (PySpark)RDD实验实战——求商品销量排行
  • (ZT)北大教授朱青生给学生的一封信:大学,更是一个科学的保证
  • (二)Eureka服务搭建,服务注册,服务发现
  • (源码版)2024美国大学生数学建模E题财产保险的可持续模型详解思路+具体代码季节性时序预测SARIMA天气预测建模
  • (转)C#调用WebService 基础
  • **《Linux/Unix系统编程手册》读书笔记24章**
  • .equal()和==的区别 怎样判断字符串为空问题: Illegal invoke-super to void nio.file.AccessDeniedException
  • .mysql secret在哪_MYSQL基本操作(上)
  • .net 8 发布了,试下微软最近强推的MAUI
  • .net 程序 换成 java,NET程序员如何转行为J2EE之java基础上(9)
  • .NET/C# 判断某个类是否是泛型类型或泛型接口的子类型
  • .NET/C# 推荐一个我设计的缓存类型(适合缓存反射等耗性能的操作,附用法)