PWM 脉冲宽度调制

介绍:

利用微处理器的数字输出来对模拟电路进行控制 (很厉害哦)
对模拟电平信号进行数字编码,只要带宽足够,任何模拟值都可以用PWM进行编码

特点:

简单灵活 动态响应好

应用:

电动机控制(比如机器人内的电机控制,STM32中一个芯片可以控制很多电机)、功率控制、

转换原理:

将模拟的信号(连续的曲线)分割,计算每块地面积,转换成数字信号的面积(不同的面积有不同的宽度,这也就是宽度调制这个名字的由来)

PWM输出源和输出数量

STM32除了TIM6,7(基本定时器),TIM1,8可以产生7路,共14路;通用定时器TIM2,3,4,5每个4路,共16路,所以STM32可以产生30路PWM输出。

控制原理

占空比:高电平持续时间占总时间的比例。
STM32 的PWM是TIMx_ARR寄存器确定频率(周期)、由TIMx_CCRx寄存器确定占空比的信号

PWM模式:

脉冲宽度调制模式可以产生一个由 TIM1_ARR 寄存器确定频率、由TIM1_CCRx寄存器确定占空比的信号。在 TIM1_CCMRx寄存器中的OCxM位写入“110”(PWM 模式 1)或“111”(PWM 模式 2),【模式1,2选择输出的高低电平】能够独立地设置每个通道工作在 PWM模式,每个 OCx 输出一路 PWM。必须通过设置 TIM1_CCMRx 寄存器 OCxPE 位使能相应的预装载寄存器,最后还要设置 TIM1_CR1 寄存器的 ARPE 位使能自动重装载的预装载寄存器(在向上计数或中心对称模式中)。

向上计数配置

当 TIM1_CR1 寄存器中的 DIR 位为低的时候执行向上计数。

在 PWM 模式 1,当 TIM1_CNT【计数器值】< TIM1_CCRx 时 PWM 参考信号,OCxREF 为高,否则为低。如果 TIM1_CCRx中的比较值大于自动重装载值(TIM1_ARR),则 OCxREF 保持为“1"。如果比较值为 0,则 OCxREF 保持为“0"。 图 128 为 TIM1_ARR=8 时边沿对齐的 PWM 波形实例
【不同的模式,1和0代表的电平高低不同,不是1是高,0是低】

第一行是采用模式1的,模式2与模式1原理相同不过1和0代表的高低电平相反
还有向下计数模式(与向上技术模式相反),中央对齐模式,

最后,重点是要通过两个寄存器TIMx_ARR寄存器,TIMx_CCRx寄存器控制

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一个计数器通常是由一组触发器构成,该组触发器按照预先给定的顺序改变其状态,如果所有触发器的状态改变是在同一时钟脉冲...
    锦穗阅读 13,823评论 0 6
  • STM32F103一共有11个定时器,其中: 2个高级定时器 4个普通定时器 2个基本定时器 2个看门狗定时器 1...
    追梦Y少年阅读 968评论 0 1
  • 什么是嵌入式 IEEE(Institute of Electrical and Electronics Engin...
    Leon_Geo阅读 3,777评论 1 20
  • 口白: 时光就像一把无情刻刀, 改变了我们的模样。 三年前的我们初次相逢, 三年后的我们各奔东西。 喊麦: 清晨棉...
    简书jianshu1阅读 482评论 0 0
  • 我看见镜子里的我在笑,可是我明明在哭。那笑很美很美,却有鲜红的血从胸口绽放,我在哭,哭这样的夜里,只有我一个人,镜...
    直立行走阅读 312评论 4 0