毕业论文
第3章 PWM概述
3.1 原理
PWM是Pulse Width Modulation的缩写,中文意思就是脉冲宽度调制,简称脉宽调制。它是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术,其控制简单、灵活和动态响应好等优点而成为电力电子技术最广泛应用的控制方式,其应用领域包括测量,通信,功率控制与变换,电动机控制、伺服控制、调光、开关电源,甚至某些音频放大器,因此研究基于PWM技术的正负脉宽数控调制信号发生器具有十分重要的现实意义。
PWM是一种对模拟信号电平进行数字编码的方法。通过高分辨率计数器的使用,方波的占空比被调制用来对一个具体模拟信号的电平进行编码。PWM信号仍然是数字的,因为在给定的任何时刻,满幅值的直流供电要么完全有(ON),要么完全无(OFF)。电压或电流源是以一种通(ON)或断(OFF)的重复脉冲序列被加到模拟负载上去的。通的时候即是直流供电被加到负载上的时候,断的时候即是供电被断开的时候。只要带宽足够,任何模拟值都可以使用PWM进行编码。
多数负载(无论是电感性负载还是电容性负载)需要的调制频率高10Hz,通常调制频率为1kHz到200kHz之间。占空比是接通时间与周期之比;调制频率为周期的倒数。
目前,运动控制系统或电动机控制系统中实现PWM的方法主要有传统的数字电路方式、专用的PWM集成电路、单片机实现方式和可编程逻辑器件实现方式。用传统的数字电路实现PWM,电路设计较复杂,体积大,抗干扰能力差,系统的控制周期较长。专用的PWM集成电路或带有PWM的单片机价格较高。对于单片机中无PWM输出功能的情况,实现PWM将消耗大量的时间,大大降低了CPU的效率,而且得到的PWM信号精度不太高[15]。
3.1.1 PWM 模式
脉冲宽度调制模式可以产生一个由 TIM1_ARR寄存器确定频率、由
16
毕业论文
TIM1_CCRx寄存器确定占空比的信号。在 TIM1_CCMRx寄存器中的 OCxM位写入“110”(PWM模式 1)或“111”(PWM模式 2),能够独立地设置每个通道工作在 PWM模式,每个 OCx输出一路PWM。必须通过设置 TIM1_CCMRx寄存器 OCxPE位使能相应的预装载寄存器,最后还要设置 TIM1_CR1寄存器的 ARPE位使能自动重装载的预装载寄存器(在向上计数或中心对称模式中)。
因为仅当发生一个更新事件的时候,预装载寄存器才能被传送到影子寄存器,因此在计数器开始计数之前,必须通过设置 TIM1_EGR寄存器中的 UG位来初始化所有的寄存器。
OCx的极性可以通过软件在 TIM1_CCER寄存器中的 CCxP位设置,它可以设置为高电平有效活和低电平有效。OCx输出通过 CCxE、CCxNE、MOE、OSSI和OSSR位(在 TIM1_CCER和 TIM1_BDTR寄存器中)的组合控制。
在 PWM模式(模式 1或模式 2)下,TIM1_CNT和 TIM1_CCRx始终在进行比较,(依据计数器的计数方向)以确定是否符合 TIM1_CCRx≤TIM1_CNT或者TIM1_CNT≤TIM1_CCRx。根据 TIM1_CR1寄存器中 CMS位的状态,定时器能够产生边沿对齐的或中央对齐的 PWM信号。 PWM 边沿对齐模式 · 向上计数配置
当TIM1_CR1寄存器中的DIR位为低的时候执行向上计数。
当TIM1_CNT 17 毕业论文 图3-1 边沿对齐的 PWM波形(ARR=8) · 向下计数的配置 当TIM1_CR1寄存器的DIR位为高时执行向下计数。 在 PWM模式 1,当 TIM1_CNT>TIM1_CCRx时参考信号 OCxREF为低,否则为高。如果 TIM1_CCRx中的比较值大于 TIM1_ARR中的自动重装载值,则OCxREF保持为“1"。该模式下不能产生 0%的 PWM波形。 PWM 中央对齐模式 当TIM1_CR1寄存器中的CMS位不为 00时为中央对齐模式(所有其他的配置对OCxREF/OCx信号都有相同的作用)。根据不同的CMS位的设置,比较标志可能在计数器向上计数时被置 1、在计数器向下计数时被置 1、或在计数器向上和向下计数时被置 1。TIM1_CR1寄存器中的计数方向位(DIR)由硬件更新,不要用软件修改它。 图 3-2给出了一些中央对齐的PWM波形的例子 · TIM1_ARR=8 ; · PWM模式 1; · TIM1_CR1 寄存器中的 CMS=01,在中央对齐模式 1 时,当计数器向下计数时标志被设置。[21] 18 毕业论文 图3-2 中央对齐的 PWM波形(APR=8) 3.1.2 互补输出与死区插入 高级控制定时器 TIM1能够输出两路互补信号并且能够管理输出的瞬时关断和接通。这段时间通常被称为死区,应该根据连接到输出的器件和它们的特性(电平转换的延时、电源开关的延时等)来调整死区时间。 配置 TIM1_CCER寄存器中的 CCxP和 CCxNP位,可以为每一个输出独立地选择极性(主输出 OCx或互补输出 OCxN)。互补信号OCx和OCxN通过下列控制位的组合进行控制:TIM1_CCER寄存器的CCxE和CCxNE位,TIM1_BDTR和TIM1_CR2寄存器中的MOE、OISx、OISxN、OSSI和OSSR位,带刹车功能的互补输出通道OCx和OCxN的控制位。特别的是,在转换到IDLE状态时(MOS下降到 0)死区被 19 毕业论文 激活。 同时设置 CCxE和 CCxNE位将插入死区,如果存在刹车电路,则还要设置 MOE位。每一个通道都有一个 10位的死区发生器。参考信号 OCxREF可以产生 2路输出 OCx和 OCxN。如果 OCx和 OCxN为高有效: · OCx 输出信号与参考信号相同,只是它的上升沿相对于参考信号的上升沿有一个延迟。 · OCxN 输出信号与参考信号相反,只是它的上升沿相对于参考信号的下降沿有一个延迟。 如果延迟大于当前有效的输出宽度(OCx或OCxN),则不会产生相应的脉冲。 图3-3,3-4显示了死区发生器的输出信号和当前参考信号 OCxREF之间的关系(假设 CCxP=0、CCxNP=0、MOE=1、CCxE=1并且 CCxNE=1)。 图3-3 带死区插入的互补输出 图3-4 死区波形延迟大于负脉冲 20