单片机之PWM

1、什么是PWM 

        PWM(Pulse Width Modulation),即脉冲宽度调制,是一种模拟电路数字控制技术。它通过改变脉冲信号的占空比(即脉冲宽度与周期的比值)来等效地获得所需的模拟量(电压或电流)输出。

2、PWM用在什么地方

1. 电机控制

  • 调速功能:通过调整PWM信号的占空比,可以实现对电机速度的精确控制。这种调速方式简单而有效,适用于多种工业和消费电子应用。
  • 平滑启停:利用PWM技术可以实现电机的平滑启动和停止,降低机械压力,延长电机寿命。
  • 扭矩控制:通过PWM信号调节输出扭矩,实现对电机扭矩的精确控制,这在机械臂和工业生产线等应用中尤为重要。
  • 效率优化:利用高频率的PWM信号来切换电流,减小电阻损耗,提高系统效率。

2. 电源管理

  • 电压和电流控制:PWM技术可用于控制电源输出的电压和电流大小,从而实现对电池和其他电源的管理。例如,在手机充电器中,可以使用PWM技术来实现快速充电和智能充电等功能。
  • 整流技术:PWM整流技术是一种将交流电转换成直流电的方法,广泛应用于电力电子设备中,如变频器、直流电源、逆变器等。通过控制PWM信号的占空比,可以实现对电源输出电压的精确控制,提高设备的工作效率和稳定性。

3. LED照明

  • 亮度和颜色控制:PWM技术可用于控制LED灯的亮度和颜色变化,从而实现对室内照明和景观照明等领域的控制。通过调整PWM信号的占空比,可以改变LED灯的亮度,满足不同场景和需求的照明要求。

4. 音频处理

  • 音频解码和音效增强:在音频处理中,PWM技术可用于将数字音频数据转换为模拟信号,以驱动扬声器或其他音频输出设备。例如,某些语音芯片使用PWM解码来提高音频质量,通过高分辨率的PWM解码,可以减少量化噪声、提高动态范围、降低失真、改善信噪比,并提供细腻的声音处理能力。

5. 其他应用

  • 电动汽车充电器:使用PWM整流技术来控制电动汽车的充电过程,提高充电效率。
  • 风扇电机控制:使用PWM整流技术来控制风扇电机的转速,调节风扇的风量。
  • 电视背光控制:使用PWM整流技术来调节电视背光的亮度,节省能耗。
  • 太阳能光伏逆变器:PWM整流技术可用于控制太阳能光伏逆变器的直流侧,实现对电源输出电压和频率的精确调节,提高逆变器的转换效率和稳定性。

综上所述,PWM技术以其高效性、灵活性、稳定性和简单性等特点,在电机控制、电源管理、LED照明、音频处理以及多个其他领域得到了广泛应用。

3、PWM相关参数

周期
高低电平变化所需要的时间,单位:ms
T=1/f T是周期,f是频率。
频率
在1秒钟内,信号从高电平到低电平再回到高电平的次数,也就是说一秒钟PWM有多少个周期,单位Hz。
例如:如果频率为50Hz ,也就是说一个周期是20ms,那么一秒钟就有50次PWM周期。
占空比
在一个脉冲周期内,高电平的时间占整个周期时间的比例,单位是% (0%-100%)。

 4、PWM原理

PWM的工作原理基于对脉冲的宽度和周期进行调制。下面是PWM的基本工作原理:

  1. 设定目标数值:首先,确定需要控制的目标数值,例如调节电机的速度或LED的亮度。这个目标数值通常以一个百分比或占空比的形式表示。
  2. 确定频率:选择PWM信号的频率,即脉冲的周期。频率决定了脉冲的重复速率,通常以赫兹(Hz)表示。常见的频率范围是几百赫兹到几十千赫兹。
  3. 计算占空比:根据目标数值和所选频率,计算所需的占空比。占空比表示高电平时间占周期的比例。例如,如果目标是50%的亮度或速度,则占空比为50%。
  4. 生成PWM信号:使用计时器和计数器来生成PWM信号。计时器根据所选频率生成一个固定周期的计时事件,并从0开始计数。计数器在每个计时事件中递增,当计数值小于占空比所对应的计数阈值时,输出为高电平;否则,输出为低电平。
  5. 输出控制:根据计数器的值,控制输出引脚的电平状态。在计数值小于阈值时,输出为高电平;在计数值大于等于阈值时,输出为低电平。这样就形成了一系列固定周期、宽度可变的脉冲信号。

通过调整占空比,可以控制输出信号的平均电压或功率。占空比越高,输出信号的平均电压或功率就越高,而占空比越低,输出信号的平均电压或功率就越低。

使用PWM,可以实现精确的控制,例如精确调节电机的速度或改变LED的亮度级别。PWM技术的优点包括高效率、精度高以及对输出设备影响小等。

5、PWM实现

软件实现:

        通常利用定时器中断来翻转GPIO(通用输入输出)引脚的电平,从而模拟出PWM波形。在指定计时周期内,通过调整高电平和低电平的时间比例,即占空比,来控制PWM信号。

        灵活但是不精确。

硬件实现:

        在硬件层面,通过配置特定的寄存器来设置PWM的参数,如频率、占空比等。一旦配置完成,硬件电路将自动产生PWM信号,无需CPU的实时干预。

        相关函数:HAL_TIM_PWM_Start,开始PWM波输出

                          __HAL_TIM_SET_PRESCALER,设置STM32定时器的预分频器值

                          __HAL_TIM_SET_CLOCKDIVISION,设置定时器(TIM)的时钟分频

                          __HAL_TIM_SET_AUTORELOAD,设置自动重载值

                          __HAL_TIM_SET_COMPARE,设置比较寄存器的值

                          HAL_TIM_PWM_Stop,关闭

\0、关于定时器通道

在STM32微控制器中,定时器通道(Timer Channels)是定时器功能的一个重要组成部分,它们允许定时器执行多种任务,如生成PWM(脉冲宽度调制)信号、测量输入信号的频率或时间、以及触发中断或DMA请求等。

每个定时器通道都关联着一个捕获/比较寄存器(Capture/Compare Register, CCR),这些寄存器用于存储与通道相关的值,这些值可以是用于PWM生成的占空比、用于输入捕获的时间戳、或者是用于输出比较的比较值。

STM32的定时器通常具有多个通道,具体数量取决于定时器的类型。例如,高级定时器(如TIM1和TIM8在某些STM32系列中)通常具有四个捕获/比较通道(CC1、CC2、CC3、CC4),而通用定时器(如TIM2至TIM5)也通常具有四个通道,但某些基本定时器可能只有两个或更少的通道。

定时器通道的主要功能包括:

  1. PWM生成:通过将定时器配置为PWM模式,并使用捕获/比较寄存器设置PWM信号的占空比,可以生成具有可变宽度的脉冲信号。这对于控制电机速度、LED亮度等应用非常有用。

  2. 输入捕获:定时器通道还可以配置为输入捕获模式,以测量外部信号的频率或时间。当外部信号达到特定条件(如上升沿、下降沿或两者)时,定时器会捕获当前的时间戳,并将其存储在捕获/比较寄存器中。

  3. 输出比较:在输出比较模式下,定时器通道会将捕获/比较寄存器的值与定时器的计数值进行比较。当两者相等时,可以触发中断、DMA请求或改变定时器的输出状态(如翻转输出引脚的状态)。

  4. 单脉冲模式:某些定时器还支持单脉冲模式,该模式允许定时器生成一个宽度可调的单个脉冲信号。这通常通过配置定时器的自动重载寄存器(ARR)和捕获/比较寄存器(CCR)来实现。

  5. 触发功能:定时器通道还可以用作其他定时器的触发源,或者用于触发外部设备(如ADC转换器)的采样操作。

在使用定时器通道时,你需要通过STM32的HAL库或寄存器直接操作来配置定时器的模式和通道的参数。这包括选择定时器的工作模式(如PWM模式、输入捕获模式等)、设置捕获/比较寄存器的值、配置中断和DMA请求等。

  • 10
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值