stm32定时器输出pwm&IO口模拟pwm——呼吸灯


前言

什么是pwm波?pwm就是脉冲宽度调制,就是占空比可变的脉冲波形,通过改变占空比,输出不同的pwm波,就能实现许多有趣的功能,比如说我们生活中常见的呼吸灯就是通过这样实现的。接下来我们就以呼吸灯为例,学习stm32通过定时器输出pwm波和io口模拟输出pwm波。


一、pwm(脉冲宽度调制)

1.基本原理

控制方式就是对逆变电路开关器件的通断进行控制,使输出端得到一系列幅值相等的脉冲,用这些脉冲来代替正弦波或所需要的波形。也就是在输出波形的半个周期产生多个脉冲,使各个脉冲的等值电压为正弦波形,所获得的输出平滑且低次谐波少,按一定的规则对各脉冲的宽度进行调制,既可改变逆变电路输出电压的大小,也可以改变输出频率。

2.PWM的优点

  • PWM的一个优点是从处理器到被控系统信号都是数字形式的,无需进行数模转换。让信号保持为数字形式可将噪声影响降到最小。噪声只有在强到足以将逻辑1改变为逻辑0或将逻辑0改变为逻辑1时,也才能对数字信号产生影响。
  • 对噪声抵抗能力的增强是PWM相对于模拟控制的另外一个优点,而且这也是在某些时候将PWM用于通信的主要原因。从模拟信号转向PWM可以极大地延长通信距离。在接收端,通过适当的RC或LC网络可以滤除调制高频方波并将信号还原为模拟形式。总之,PWM既经济、节约空间、抗噪性能强,是一种值得广大工程师在许多设计应用中使用的有效技术。

3.PWM波的控制方法

  • 等脉宽PWM法
    等脉宽PWM法是PWM法中最为简单的一种,它是把每一脉冲的宽度均相等的脉冲列作为PWM波,通过改变其周期,达到调频的效果,改变脉冲的宽度或占空比可以调压,采用适当控制方法即可使电压与频率协调变化。
  • SPWM法
    SPWM法是一种比较成熟的,如今使用较广泛的PWM法,前面提到的采样控制理论中的一个重要结论:冲量相等而形状不同的窄脉冲加在具有惯性的环节上时,其效果基本相同的。
  • 电流控制PWM
    电流控制PWM的基本思想是把希望输出的电流波形作为指令信号,把实际的电流波形作为反馈信号,通过两者瞬时值的比较来决定各开关器件的通断,使实际输出随指令信号的改变而改变。

二、定时器的相关介绍

1.stm32定时器

定时器,顾名思义,就是拿来定时的机器。在stm32单片中,定时器是存在于stm32中的一个外设。分别有高级定时器通用定时器基本定时器,也有些型号的单片机没有高级定时器,具体要去查看芯片手册。

定时器种类 位数 计数模式 捕获/比较 互补输出 应用场景
高级定时器 16 向上,向下,向上/下 4 带死区用来紧急刹车或者产生pwm控制
通用定时器 16 向上,向下,向上/下 4 pwm输出,输入捕获,输出比较
基本定时器 16 向上,向下,向上/下 4 主要应用于驱动DAC

2.通用定时器计数模式

  • 向上计数模式:计数器从0计数到自动加载值(TIMx_ARR),然后重新从0开始计数并且产生一个计数器溢出事件。
  • 向下计数模式:计数器自动装入的值(TIMx_ARR)开始向下计数到0,然后从自动装入的值重新开始,并且产生一个计数器向下溢出事件。
  • 中央对齐模式:计数器从0开始计数到自动装入的值-1,产生一个计数器溢出事件,然后向下计数到1,并且产生一个计数器溢出事件;然后再从0开始重新计数。

在这里插入图片描述

3.定时器的基本工作原理

  • 定时器的框图
    在这里插入图片描述
  • 时钟产生单元

内部时钟(CK_INT)
外部时钟模式:外部触发输入(ETR)
内部触发输入(ITRx):使用一个定时器作为另一个定时器的与分屏器,如可以配置一个定时器Timer1而作为另一个定时器Timer2的预分频器。
外部时钟模式:外部输入脚(TIx)

  • 时基单元

计数寄存器(TIMx_CNT)
向上计数、向下计数或者中心对齐计数;
预分频寄存器(TIMx_PSC)
可将时钟频率按1到65535之间的任意值进行分频,可在运行的时候改变其设置值;
自动重装载寄存器(TIMx_ARR)
如果TIMx_CR1寄存器中的ARPE位为0,ARR寄存器的内容将直接写入影子寄存器;如果ARPE为1,ARR寄存器的内容将在每次的更新时间发生时传送到影子寄存器;
如果TIMx_CR1中的UDIS位为0,当计数器产生溢出条件时,产生更新事件。

  • 输入捕获通道

IC1、2和IC3、4可以分别通过软件设置将其映射到TI1、TI2和TI3、TI4;
4个16位捕捉比较寄存器可以编程用于存放检测到对应的每一次输入捕捉时计数器的值;
当产生一次捕捉,相应的CCxIF标志位被置1;同时如果中断或DMA请求使能,则产生中断或DMA请求。
如果当CCxIF标志位已经为1,当又产生一个捕捉,则捕捉溢出标志位CCxOF将被置1。

三、定时器输出一路pwm

1.定时器的

  • 7
    点赞
  • 78
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值