tag 标签: 脉宽调制

相关帖子
相关博文
  • 热度 2
    2018-10-12 12:52
    3126 次阅读|
    0 个评论
    脉宽调制( PWM )是电子学许多领域广为采用的一个基本概念。它是一种简单的平均方法,用于从微波炉功率百分比设定到LED调光等各种应用。PWM虽在某些方面相当复杂,但实施方法却很简单。 解释 PWM 的最简单方法之一是借助LED照明。以推荐的电流值点亮LED,主要是为了获得最佳亮度。关乎工作电流的次要参数是发热和长期可靠性。与调整工作电流不同,LED的点亮时间是使用占空比以脉冲方式实现的。以这种方式,LED虽看似被调光了,但从电流的角度看,它仍“愉悦”地一如既往工作着。 当我以一定百分比的功率启动微波炉时,我可以听到风扇在连续工作;但随着功率的升降,风扇速度也随之周期性变化。在某种程度上,该操作类似于LED调光,其中:在启动(ON)时间内的100%功率被平均以获得功率的百分比设置。 变速电机驱动是通过对导通时间进行平均、将 PWM 方法用于控制电机速度的另一个领域。 在过去30年左右时间,PWM一直是操作开关电源(SMPS)最喜欢使用的方法。“能干”的半导体、特别是开关晶体管的发展使得PWM成为能量转移的可靠方法。典型的降压稳压器输入电压(Vin)和输出电压(Vout)比就是PWM的占空比(D),其中: Vout / Vin = D 因此,降压(buck)稳压器产生的输出电压是输入电压的百分比(平均)。 生成PWM波形非常容易。所需要的只是:将给定频率的三角波或锯齿波馈送到比较器的负端,将调制信号馈送到比较器的正端。为实现完全100%的占空比脉宽,波形的峰峰值必须超过调制信号范围。 图1:PWM波形生成过程。 PWM Modulator: PWM调制器 Why ramp symmetry doesn’t matter: 为什么斜对称不重要 到目前为止,PWM是基于恒定频率和后沿调制的直接平均信号。换句话,时钟启动一个PWM信号、到后沿终止就是该脉冲的占空比。然而,还有其它的PWM方法(包括后沿调制)。弗吉尼亚理工大学的电力电子学研究探讨了这种方法,发现在升压和反激转换器中,它有能消弭(offset)右半平面零点的优势。类似工作的摘录表示:“它显示了固定频率、前沿调制PWM如何在实际的升压和反激转换器中消除不希望的正零。这导致闭环特性的实质性改进。采用了几种技术来预测这一结果。提出了消除正零的设计过程。提供了实验验证。” 然而,根据Ray Ridley博士的观点:前沿调制虽解决了某些问题,但似乎也带来了其它问题。其网站称:“注意:这是对现有卫星电力系统的分析,该系统通过巧妙和直观的设计,成功消除了RHP零点。不建议你也以这种方式构建升压转换器或反激转换器,但你有时可能会遇到这种现象。若你涉足转换器控制理论,那么这是篇有趣的论文。但因为该方法需要使用高等效串联电阻(ESR)电容,从而导致损耗和噪声的提高,所以在大多数情况下并不实用。” 其它形式的PWM还包括同时调制波形的前沿和后沿。维基百科对PWM的解释包括一张图,它显示了三种调制类型(前沿、中间、后尾),如下所示: 图2:三种类型的PWM信号(蓝色):前沿调制(上)、后沿调制(中)和居中脉冲(两个边沿都被调制,底部)。绿线是锯齿波(第一和第二种情况)和三角波(第三种情况),用于使用交集方法产生PWM波形。(图片来自维基百科) 用模拟方式生成PWM不是唯一方法。随着数字控制为电子技术增加越来越多的智能,数字PWM方法正变得越来越普遍。科罗拉多大学的朋友们再次在电力电子研究领域研究了数字PWM。我发现这个工作很有趣,因为它不仅涉及了采样和A/D转换,有关文献也涉及了与控制相关的状态方程以及环路增益方程。还提及了显示环路增益和相位性能的波特图。 最后,就PWM来说,它绝非只是基本的平均,其内涵要丰富地多。当在系统控制环路中正确实现PWM,就可以优化稳定性和响应时间。我喜欢这个主题和阅读。 我希望你也如此。除了本位的介绍之外,关于PWM,可学的还有很多。 本文来自《电子工程专辑》2017年9月刊,版权所有,谢绝转载
  • 热度 21
    2012-9-7 15:26
    5438 次阅读|
    3 个评论
    作者:简文烯 飞兆半导体 研究表明,在普通现代家庭的总耗电量中,高达 70% 的电力皆由冰箱、洗衣机、空调、风扇和吸尘器等电器的电机所消耗。 例如,2007 年台湾的总耗电量为 1172 亿度,其中,电机的耗电量约为 800 亿度。根据台湾工程研究所的研究,如果电机能效提高 10%,则每年可省电 100 亿度,相当于一座大型核电站所生产的电力。 目前,最优质的节能家电通常使用无刷直流 (brushless DC,BLDC) 电机,因为与交流电机及有刷直流电机相比,它们的体积更小,更为安静且更具可靠性,运行效率更高。 使用空间矢量 PWM 控制的好处 不过,提及控制 BLDC 电机,设计师们仍有诸多选择。 在消费类产品中,空间矢量脉宽调制 (SVPWM) 是一个绝佳的选择,因为它可提供相当高的准确度,降低噪音,减少总谐波失真 (THD),而且价格相当实惠。 SVPWM 利用相对成熟的技术产生基础正弦波。 其中包括通过在转子和定子之间形成圆形旋转场所产生的三相波形。 SVPWM 控制器利用通过不同切换模式所产生的场通量来接近基础圆磁场。 为启用切换控制并创建所需的PWM 波,控制器会比较所产生的实际磁场和基础圆磁场。 在 BLDC 电机中,控制器和电机被视为一个整体装置。 SVPWM 控制器通过内切多边形的方式接近圆磁场,产生恒定的场幅和圆磁场。 SVPWM 使用的磁通量法 SVPWM 控制器使用其中一种磁通量法(共两种):开环或闭环。开环法使用两个非零矢量加一个零矢量,生成一个等效电压矢量。 电压矢量仅受取样时间限制。 使用开环法生成的输出电压通常比使用正弦调制生成的输出电压高 15%,并且有效谐波电流之和接近最小值。 然而,开环法也有缺点,它无法克服低速运行时具有较高阻值的定子电阻的影响。 闭环法通过引入磁通量反馈来控制通量和变化率,克服了这个问题。 通过比较预估磁通量与给定磁通量的比较,最终确定可产生所需 PWM 波的下一个电压矢量。 因而可提高性能,减少振动和噪音。 Fairchild 提供了几种电机控制器,特别适用于使用 SVPWM 控制的 BLDC。 尤其是 FCM8201 和 FCM8202 控制器,它们具有两种驱动模式(正弦波和方波),可让设计师基于目标应用优化性能。 正弦波模式适用于吸尘器、空调、冰箱、洗衣机、洗碗机、风扇和其它家电,具有平稳、噪音小及运行时无振动等特点。 方形波模式建议用于大功率输出的应用,如车辆、泵、机床、工业风机和户外用具。 它可提供较高的扭矩,减少开关损耗,但会降低转子反馈的准确性。 FCM8201 和 FCM8202 支持两种运行模式,具有综合保护功能,可减少设计师开发软件保护功能的需要。 如图 1 所示,有三种过流保护: 电流过载保护,其中临界电压 (VOCP_OL) 为 1.4 V;逐周期电流保护,其中临界电压 (VOCP_CYC) 为 1.5 V,及短路电流保护,其中临界电压 (VOCP_SH) 为 2.5 V。 图 1. FCM8201 和 FCM8202 电机控制器中的过流保护 图 2 显示家用风扇中的 FCM8201 和 FCM8202。 系统配备有无线连接,可使用遥控器进行远程控制,还具有智能功能(如可选速度),可让消费者轻松改善家居环境。 图 2. 带 BLDC 电机智能控制的家用风扇方块图 结论 BLDC 电机在降低家用电器能耗方面极具潜力。 Fairchild FCM8201 和 FCM8202 BLDC 控制器以两种驱动模式运行,因此,设计师可量身定制其性能和保护装置,既可增加可靠性,又能节约设计时间。 若与 Fairchild 功率管理产品组合中的其它产品组合使用,这些元器件可快速打造高性能及高效率兼具的家用电器。
  • 热度 22
    2012-5-28 18:29
    3904 次阅读|
    8 个评论
             前些日子,因为课题需要,所以查阅了些资料,自己动手去做了一个频率可控的三相正弦信号发生器,实践中觉得利用脉宽调制的方法实现比利用DDS查表方式+DA芯片输出,不仅节省了资源,而且波形产生效果上更加理想,这一点我在实践尝试中深有体会。下面我总结一下我的辛勤劳动成果哈。。。呵呵!                                            ------小 记 一、基础理论方面    1)PWM是脉冲宽度调制(Pulse Width Modulation)的简称,它在自动控制和计算机技术领域中都有广泛的应用。PWM调制原理 ---------PWM 波通常由一列占空比不同的矩形脉冲构成,其占空比与信号的瞬时采样值成比例。     2)FPGA---SPWM      正弦脉宽调制(SPWM)技术在交流调速系统中得到广泛应用,但SPWM的波形生成是应用中一个难点,目前形成SPWM的方法有:(1)由分立元件构成,结构简单,但可靠性和精度均不能满足要求;(2)采用计算机计算或查表方式,省却了硬件电路,但CPU负担很重; (3)采用专用集成电路,如SLE4520、SA4828等,但其功能固定,可扩展性差;(4)采用FPGA(现场可编门阵列),具有速度快、精度高且可以在线编程修改等优点,是一种较好的方案。       实现SPWM原理;用输出的正弦信号作为调制波,用高频三角波作为载波.。      SPWM就是在对一个正弦波进行脉宽调制时,使脉冲系列的占空比按正弦规律来排列。当正弦值为最大值时,脉冲的宽度也最大,而脉冲间的间隔则最小。反之,当正弦值较小时,脉冲的宽度也较小,而脉冲间的间隔则较        正弦波的峰值电压与三角波峰值电压之比,通常称为SPWM的模 令三角波频率与正弦波频率之比为载波比,载波比越大,产生的SPWM波的“精度”上越高。 SPWM波的具体理论和实现方法还是比较多的,这方面没有深入研究,仅想说明,笔者,也就我呢,是根据对称规则采样方法实现的。 二、基于FPGA的实现简易SPWM波的生成-------顶层文件的代码说明    module spwm(             clock,key,             A_Data,B_Data,C_Data,             tri_q,da_clk,flag,led,             SPWM_A,SPWM_B,SPWM_C            ); input clock;  //系统时钟 input   key;// 按键频率控制 output reg    A_Data,B_Data,C_Data;//三相正弦表格输出值,SignalTap调试中查看数据 output      tri_q;   //DA数据输出 output   da_clk;  //DA时钟输出 output    flag,led; output   SPWM_A ,SPWM_B,SPWM_C;//对外输出的相移120的正弦脉宽调制信号 wire tri_clk,tri_updn;//可逆计数器的时钟和计数方向(用于控制三角波的生成) wire  fword; int_div div (.clock(clock),              .clk_out(da_clk));//该部分主要是在SignalTap调试中使用的采样时钟 //调用DDS模块:按键模块控制频率控制字fword,生成三路相位120度的“数字”正弦信号,并且产生控制可逆计数器的使能计数时钟和方向信号。主要技术参数是:一个正弦波周期采样样本数据个数1024(波形ROM表格深度) dds dds(              .clock(clock),       .fword(fword), .A_data(A_Data), .B_data(B_Data), .C_data(C_Data), .clk1(tri_updn), .clk512(tri_clk)      ); //调用三角波模块:可逆计数器的实现产生三角波(能在每输出一个正弦值的时候产生一个三角波),与DDS产生的正弦数据值进行比较,产生SPWM波 cnt Tri( .clk(tri_clk), .A_data(A_Data), .B_data(B_Data), .C_data(C_Data), .updn(tri_updn), .q(tri_q), .flag(flag), .SPWM_A(SPWM_A), .SPWM_B(SPWM_B), .SPWM_C(SPWM_C),         ); //按键控制频率模块 key_debounce  fre_control(          .clock(clock),         .key(key),         .fword(fword),          .led(led)//按键指示灯                  );   Endmodule   2)实际中体会   第一,DDS模块是一个比较常用的用数字方式实现模拟信号的方法,以前一直只用了频率控制,这一次还通过深入理解用上了相位控制,从这个角度来讲,可以用FPGA小菜一碟的实现频率和相位可控的多通道SPWM波,然后再去外加上RC滤波电路和运放电路就可以实现可控正弦波。   第二,这里的DDS模块还有产生一个可逆计数器的计数使能时钟和方向控制时钟,需要具体说说的是,如果你输出的正弦值是8位的,那么你的计数器的计数范围是在0---255---0,如果你输出的正弦值是9位的,那么你的计数器的计数范围是在0---511---0。还有,每此计数变化后(一个“数字”三角波产生),DDS中只输出一个正弦值,进行比较。     第三、不可小觑饿三角波的生成。这个所谓的SPWM的载波,是在实现中最让我花费心思的地方。    三角波生成代码:    always @(negedge clk )      begin          if(!updn) begin              counter =counter+1'b1;              if(counter ==9'd255)  counter2=9'd256;              q = counter;     end        else  begin               counter2 =counter2-1'b1;              if(counter2 ==9'd0)  counter=-9'd1;               q = counter2;  end        flag =updn;    end   上述代码是在反复调试过程中遇到问题后写出的,谈不上写得很好,毕竟自己只是FPGA的菜鸟级人物,但是还是比较理想的生成所需波形。    第四、在SPWM波生成以后,外接RC滤波电路,这里的目的呢,是滤掉高频信号,到“平滑”信号,这里的电容和电阻取得小些。再加上LM358小搭一个同相比例放大器,实现一个真正的“有源”信号输出和幅值控制。       最后星星分享DDS模块设计代码。哦,对了,还要罗嗦一句,真正的SPWM波主要还是用来做交流调压调频率的,所以还需要加死区控制,这里,我主要是生成正弦波,所以只能严谨地说,只能叫简易SPWM!      
相关资源