当前位置:文档之家› STC12C5A60S2的AD转换,PWM电压控制,液晶显示程序

STC12C5A60S2的AD转换,PWM电压控制,液晶显示程序

STC12C5A60S2的AD转换,PWM电压控制,液晶显示程序
STC12C5A60S2的AD转换,PWM电压控制,液晶显示程序

/*---------------------------------------------------------------------------------------------------------------------------*/

/*--************************功能【AD转换,PWM电压控制,液晶显示】**************************--*/ /*--************************芯片:【STC12C5A60S2】******************************--*/

/*--************************液晶:【LCD1602】***********************************--*/

/*--************************ADC管脚:【P1.7 】***************************--*/

/*--************************检测范围:【0.00~12.5V】***************************--*/

/*---------------------------------------------------------------------------------------------------------------------------*/

#include "stc12c5a60s2.h"

#include "intrins.h"

#define uint unsigned int

#define uchar unsigned char

#define _Nop() _nop_()

/*------------------------以下为LCD1602显示模块定义-----------------------*/

unsigned char data_char_table[]= {"0123456789ABCDEF"}; //LCD数据

unsigned char Lcd_Dis1_table[] = {"Setvalue: V"}; //第一行显示框架

unsigned char pos_char_table[] = {" 9A.C0 "}; // 显示位置

unsigned char Lcd_Dis2_table[] = {"V oltage : V"}; //第二行显示框架

unsigned char num_char_table[] = {" 9A.CD V"}; // 显示位置

float show;

float NUM;

static uchar ldata=50; //作为显示的数据

sbit lcd_rs_port = P2^0; //定义LCD控制端口,根据硬件调整

sbit lcd_rw_port = P2^1;

sbit lcd_en_port = P2^2;

#define lcd_data_port P0

sbit key1 = P3^7; //定义按键1

sbit key2 = P3^6; //定义按键2

sbit key3 = P3^5; //定义按键3

sbit key4 = P3^4; //定义按键4

sbit key5 = P3^3; //定义按键5

sbit key6 = P3^2; //定义按键6

/************定义相应操作位***************/

#define ADC_POWER 0x80 //ADC电源控制位,0:关闭,1:打开

#define ADC_FLAG 0x10 //ADC结束标志位

#define ADC_START 0x08 //ADC启动控制位

#define ADC_SPEEDLL 0x00 //540 clocks___________选择转换速度

/*------------------------以下为相关函数声明------------------------------*/

void InitADC(); //ADC初始化uint GetADCResult(uchar ch);

void Delay(uint n); //延时程序

void delay_1ms(uchar x);

void lcd_delay(uchar ms); //LCD1602 延时

void lcd_busy_wait(); //LCD1602 忙等待

void lcd_command_write(uint command); //LCD1602 命令字写入void lcd_system_reset(); //LCD1602 初始化void lcd_char_write(uint x_pos,y_pos,lcd_dat); //LCD1602 字符写入

void lcd_bad_check(); //LCD1602 坏点检查

void Num_to_Disp(uint i, uint Num); //显示数据处理

void LcdDisp(uint j, uint num); //液晶显示函数

void DelayMs(uchar ms);

void init_PWM();

void PWM1_change(uchar type,uchar change);

void PWM1_set(uchar empty);

/*-------------------------------- ADC 取值------------------------------*/

uint GetADCResult(uchar ch)

{

ADC_CONTR = ADC_POWER | ADC_SPEEDLL | ch | ADC_START;

_nop_(); //Must wait before inquiry

_nop_();

_nop_();

_nop_();

while (!(ADC_CONTR & ADC_FLAG)); //Wait complete flag

ADC_CONTR &= ADC_FLAG; //Close ADC

return (ADC_RES*4 + ADC_RESL); //Return ADC result

}

/*---------------------------- 初始化ADC特殊功能寄存器-------------------*/

void InitADC( )

{

P1ASF = 0x80; //Set P1.7 as input port

ADC_RES = 0; //Clear previous result

ADC_RESL = 0;

ADC_CONTR = ADC_POWER | ADC_SPEEDLL ;

Delay(20); //ADC power-on delay and Start A/D conversion

}

/*---------------------------- LCD1602相应函数---------------------------*/

///////////////以下为LCD显示数据处理/////////////////

void Num_to_Disp(uint i, uint Num)

{

int xx, yy, zz;

NUM = (Num * 4.68/ 1024.0); //计算公式:10-bit A/D Conversion Result = 1024 x (Vin / Vcc) NUM =NUM *29.1/9.9;

xx = (int)NUM;

yy = (int)((NUM - (float)(xx)) * 10);

zz = (int)((NUM - (float)(xx)) * 100)%10;

/********************第一行数字*******************************/

pos_char_table[9]= data_char_table[i/100]; //输入值十位

pos_char_table[10]= data_char_table[i%100/10]; //输入值个位

pos_char_table[12]= data_char_table[i%10]; //输入值小数点后一位

/********************第二行数字*******************************/

num_char_table[9] = data_char_table[xx / 10]; //电压值十位

num_char_table[10]= data_char_table[xx % 10]; //电压值个位

num_char_table[12]= data_char_table[yy]; //电压值小数点后一位

num_char_table[13]= data_char_table[zz]; //电压值小数点后两位

}

//////////////////以下为LCD显示////////////////////

void LcdDisp(uint j, uint num)

{

uint i=0;

for (i=0;i<16;i++)

{

lcd_char_write(i,0,Lcd_Dis1_table[i]);

lcd_char_write(i,1,Lcd_Dis2_table[i]); //显示框架(固定文字)}

Num_to_Disp(j, num);

for(i = 9; i < 14; i++)

{

lcd_char_write(i,0,pos_char_table[i]); //显示输入值

}

for(i = 9; i < 14; i++)

{

lcd_char_write(i,1,num_char_table[i]); //显示电压

}

delay_1ms(100);

}

//////////////以下是LCD1602驱动程序////////////////

void lcd_delay(uchar ms) /*LCD1602 延时*/

{

uchar j;

while(ms--){

for(j=0;j<250;j++)

{;}

}

}

void lcd_busy_wait() /*LCD1602 忙等待*/

{

lcd_rs_port = 0;

lcd_rw_port = 1;

lcd_en_port = 1;

lcd_data_port = 0xff;

while (lcd_data_port&0x80);

lcd_en_port = 0;

}

void lcd_command_write(uint command) /*LCD1602 命令字写入*/ {

lcd_busy_wait();

lcd_rs_port = 0;

lcd_rw_port = 0;

lcd_en_port = 0;

lcd_data_port = command;

lcd_en_port = 1;

lcd_en_port = 0;

}

void lcd_system_reset() /*LCD1602 初始化*/

{

lcd_delay(20);

lcd_command_write(0x38);

lcd_delay(100);

lcd_command_write(0x38);

lcd_delay(50);

lcd_command_write(0x38);

lcd_delay(10);

lcd_command_write(0x08);

lcd_command_write(0x01);

lcd_command_write(0x06);

lcd_command_write(0x0c);

}

void lcd_char_write(uint x_pos,y_pos,lcd_dat) /*LCD1602 字符写入*/ {

x_pos &= 0x0f; /* X位置范围0~15 */

y_pos &= 0x01; /* Y位置范围0~ 1 */

if(y_pos==1) x_pos += 0x40;

x_pos += 0x80;

lcd_command_write(x_pos);

lcd_busy_wait();

lcd_rs_port = 1;

lcd_rw_port = 0;

lcd_en_port = 0;

lcd_data_port = lcd_dat;

lcd_en_port = 1;

lcd_en_port = 0;

}

void lcd_bad_check() /*LCD1602 坏点检查*/

{

char i,j;

for(i=0;i<2;i++){

for(j=0;j<16;j++) {

lcd_char_write(j,i,0xff);

}

}

lcd_delay(200);

lcd_delay(200);

lcd_delay(200);

lcd_delay(100);

lcd_delay(200);

lcd_command_write(0x01); /* clear lcd disp */

}

//////////////////以上是LCD1602驱动程序////////////////

/*----------------------------- 延时程序---------------------------*/ void Delay(uint n)

{

uint x;

while (n--)

{

x = 500;

while (x--);

}

}

/*1MS为单位的延时程序*/

void delay_1ms(uchar x)

{

uchar j;

while(x--)

{

for(j=0;j<125;j++)

{;}

}

}

void DelayMs(uchar ms) //延时程序

{

uint i;

while(ms--)

{

for(i = 0; i < 850; i++);

}

}

void init_PWM()

{

CCON=0X00;

CH=0;

CL=0;

CMOD=0X02; //0X00:以系统时钟/12 为时钟源,0X02:系统时钟/2,0x08:系统时钟

PWM1_set(0X80);//起始占空比,0XC0:占空比为25%,0X80:占空比为50%,0X40:占空比为75% CCAPM1=0X42; //0X42:8位PWM P1.4输出,无中断;0X53:8位PWM输出,下降沿产生中断;0X63:上升沿产生中断;0X73:跳变沿产生中断

CR=1; //计时器开始工作

}

void PWM1_set(uchar empty) //直接设置占空比

{

CCAP1L=empty;

CCAP1H=empty;

}

void PWM1_change(uchar type,uchar change) //type=0减占空比,1增加占空比change: 0X0C约5%,0X05约2%

{

if(type==0)

{

CCAP1L+=change;

CCAP1H+=change;

}

else

{

CCAP1L-=change;

CCAP1H-=change;

}

}

void main(){

init_PWM(); //初始化,PWM输出

lcd_system_reset(); //LCD1602 初始化

lcd_bad_check(); //LCD1602 坏点检查

InitADC(); //初始化ADC特殊功能寄存器

while(1) //按键增减PWM占空比

{

if(key1==0) //按键1按下

{

DelayMs(1); //按键消抖

while(key1==0); //按键释放才跳出执行下一步

ldata++; //显示数据加0.1

}

else if(key2==0) //按键2按下

{

DelayMs(1); //按键消抖

while(key2==0); //按键释放才跳出执行下一步

ldata--; //显示数据减0.1

}

else if(key3==0) //按键3按下

{

DelayMs(1); //按键消抖

while(key3==0); //按键释放才跳出执行下一步

ldata+=10; //显示数据加1

}

else if(key4==0) //按键4按下

{

DelayMs(1); //按键消抖

while(key4==0); //按键释放才跳出执行下一步

ldata-=10; //显示数据减1

}

else if(key5==0) //按键5按下

{

DelayMs(1); //按键消抖

while(key5==0); //按键释放才跳出执行下一步

ldata=0; //清0

}

LcdDisp(ldata,GetADCResult(7)); //液晶1602显示输入电压值和AD采集电压值(P1.7)NUM=10*NUM;

show=ldata;

if((NUM<(show-0.1))||(NUM>(show+0.1)))

{

if(NUM<(show-0.1))

{

if((show-0.1)-NUM>1)

PWM1_change(1,0X05);

else

PWM1_change(1,0X01);

}

else

{

if(NUM-(show+0.1)>1)

PWM1_change(0,0X05);

else

PWM1_change(0,0X01);

}

Delay(500);

}

else

{Delay(2000);}

}

}

PWM控制电路的基本构成及工作原理

基于DSP的三相SPWM变频电源的设计 变频电源作为电源系统的重要组成部分,其性能的优劣直接关系到整个系统的安全和可靠性指标。现代变频电源以低功耗、高效率、电路简洁等显著优点而备受青睐。变频电源的整个电路由交流-直流-交流-滤波等部分构成,输出电压和电流波形均为纯正的正弦波,且频率和幅度在一定范围内可调。 本文实现了基于TMS320F28335的变频电源数字控制系统的设计,通过有效利用TMS320F28335丰富的片上硬件资源,实现了SPWM的不规则采样,并采用PID算法使系统产生高品质的正弦波,具有运算速度快、精度高、灵活性好、 系统扩展能力强等优点。 系统总体介绍 根据结构不同,变频电源可分为直接变频电源与间接变频电源两大类。本文所研究的变频电源采用间接变频结构即交-直-交变换过程。首先通过单相全桥整流电路完成交-直变换,然后在DSP控制下把直流电源转换成三相SPWM波形供给后级滤波电路,形成标准的正弦波。变频系统控制器采用TI公司推出的业界首款浮点数字信号控制器TMS320F28 335,它具有150MHz高速处理能力,具备32位浮点处理单元,单指令周期32位累加运算,可满足应用对于更快代码开发与集成高级控制器的浮点处理器性能的要求。与上一代领先的数字信号处理器相比,最新的F2833x浮点控制器不仅可将性能平均提升50%,还具有精度更高、简化软件开发、兼容定点C28x TM控制器软件的特点。系统总体框图如 图1所示。 图1 系统总体框图 (1)整流滤波模块:对电网输入的交流电进行整流滤波,为变换器提供波纹较小的直流电压。 (2)三相桥式逆变器模块:把直流电压变换成交流电。其中功率级采用智能型IPM功率模块,具有电路简单、可 靠性高等特点。 (3)LC滤波模块:滤除干扰和无用信号,使输出信号为标准正弦波。 (4)控制电路模块:检测输出电压、电流信号后,按照一定的控制算法和控制策略产生SPWM控制信号,去控制IPM开关管的通断从而保持输出电压稳定,同时通过SPI接口完成对输入电压信号、电流信号的程控调理。捕获单元完 成对输出信号的测频。 (5)电压、电流检测模块:根据要求,需要实时检测线电压及相电流的变化,所以需要三路电压检测和三路电流检测电路。所有的检测信号都经过电压跟随器隔离后由TMS320F28335的A/D通道输入。

PWM控制原理要点

PWM控制技术 主要内容:PWM控制的基本原理、控制方式与PWM波形的生成方法,PWM逆变电路的谐波分析,PWM整流电路。 重点:PWM控制的基本原理、控制方式与PWM波形的生成方法。 难点:PWM波形的生成方法,PWM逆变电路的谐波分析。 基本要求:掌握PWM控制的基本原理、控制方式与PWM波形的生成方法,了解PWM 逆变电路的谐波分析,了解跟踪型PWM逆变电路,了解PWM整流电路。 PWM(Pulse Width Modulation)控制——脉冲宽度调制技术,通过对一系列脉冲的宽度进行调制,来等效地获得所需要波形(含形状和幅值)。第3、4章已涉及这方面内容: 第3章:直流斩波电路采用,第4章有两处:4.1节斩控式交流调压电路,4.4节矩阵式变频电路。 本章内容 PWM控制技术在逆变电路中应用最广,应用的逆变电路绝大部分是PWM型,PWM 控制技术正是有赖于在逆变电路中的应用,才确定了它在电力电子技术中的重要地位。 本章主要以逆变电路为控制对象来介绍PWM控制技术,也介绍PWM整流电路 1 PWM控制的基本原理 理论基础: 冲量相等而形状不同的窄脉冲加在具有惯性的环节上时,其效果基本相同。冲量指窄脉冲的面积。效果基本相同,是指环节的输出响应波形基本相同。低频段非常接近,仅在高频段略有差异。 图6-1 形状不同而冲量相同的各种窄脉冲 面积等效原理: 分别将如图6-1所示的电压窄脉冲加在一阶惯性环节(R-L电路)上,如图6-2a所示。其输出电流i(t)对不同窄脉冲时的响应波形如图6-2b所示。从波形可以看出,在i(t)的上升段,i(t)的形状也略有不同,但其下降段则几乎完全相同。脉冲越窄,各i(t)响应波形的差异

PWM调速的C语言程序编写(非常简单)

PWM调速的C语言程序编写 关于PWM的原理在上一篇文章中已经说的很详细了,现在就细说一下pwm C语言程序的编写。 C语言中PWM的编写有这么几种方法;一、用普通的I/O 口输出的PWM ,二、使用定时计数器编写,三、就是使用片内PWM了。 1 先说使用普通的I\O口编写PWM程序了。 使用I/O口输出PWM波形你必须首先明白PWM他的实质是:调制占空比,占空比就是波形中高电平的长度与整个波长的比值。我们写C语言的目的是写PWM波形的一个周期。在这个周期内高低电平的比值是可以改变的。这也就符合了PWM的原意脉宽调制。即高电平的宽度的调制。当然了PWM他也可用于改变频率,我们这里只先说他改变脉宽。 一旦我们的C语言程序写完那么他产生的PWM波形的频率就一定了。(也可写频率变化的PWM,难度有点大)一般我们控制使用1K到10K的PWM波进行控制。当然了你也可在要求不是很高的地方使用频率更低的PWM波。比如在飞思卡尔智能车比赛中我们学校使用的PWM波频率只有600HZ. 我们要改变一个PWM波周期内的高电平的宽度显然需要

将一个PWM波的周期分成单片机可以控制的N个小的周期,N的取值越大你的调速等级越高,但产生的PWM频率就越低。我们下面以实现100级调速为例编写PWM程序。 先写出程序再慢慢给大家分析 void pwm (uchar x,uint y) //X 为占空比 Y为函数使用时间 { uint i,j,a,b; for(i=y;i>0;i--) //定时外函数 { for(j=7;j>0;j--) //定时内函数 { for(a=y;a>0;a--) / /PWM波高电平宽度 { PORTA=0X01;

PWM控制技术论文

PWM控制技术论文 西安科技大学 电气与控制工程学院 电气工程及其自动化1401班 赵蕾 1406060102 2016年6月12日 PWM控制技术

赵蕾 (电气与控制工程学院电气1401班 1406060102) 简介: PWM(Pulse Width Modulation)控制就是对脉冲的宽度进行调制的技术。即通过对一系列脉冲的宽度进行调制,来等效地获得所需的波形(含形状和幅值)。通过改变输出方波的占空比来改变等效的输出电压。广泛的应用于电动机的调速和阀门控制,比如电动车电机调速就是使用这种方式。 脉宽调制(PWM,Pulse Width Modulation)是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术,广泛应用在从测量、通信到功率控制与变换的许多领域中。 PWM是一种对模拟信号电平进行数字编码的方法。通过高分辨率计数器的使用,方波的占空比被调制用来对一个具体模拟信号的电平进行编码。 关键词:PWM;电力;计算机 关于PWM技术 基本原理: 采样控制理论中有一个重要的理论:冲量相等而形状不同的窄脉冲加在具有惯性的环节上时,其效果基本相同。冲量即指窄脉冲的面积。这里所说的效果基本相同,是指环节的输出响应波形基本相同。如果把各输入波形用傅里叶变换分析,则其低频段非常接近,仅在高频略有差异。(面积等效原理)这是PWM控制技术的重要基础理论。 特点: 开关电源一般都采用脉冲宽度调制(PWM)技术,其特点是频率高、效率高、功率密度高、可靠性高。然而,由于其开关器件工作在高频通断状态,高频的快速瞬变过程本身就是一电磁骚扰(EMD)源,它产生的EMI信号有很宽的频率范围,又有一定的幅度。若把这种电源直接用于数字设备,则设备产生的EMI信号会变得更加强烈和复杂。 优点: PWM的一个优点是从处理器到被控系统信号都是数字形式的,在进行数模转换。可将噪声影响降到最低。 对噪声抵抗能力的增强是PWM相对于模拟控制的另外一个优点,而且这也是在某些时候将PWM用于通信的主要原因。从模拟信号转向PWM可以极大地延长通信距离。 由于PWM可以同时实现变频变压反抑制谐波的特点。由此在交流传动及至其它能量变换系统中得到广泛应用。PWM控制技术大致可以分为三类: ● 正弦PWM(包括电压、电流或磁通的正弦为目标的各种PWM方案,多重PWM也应归于此类)。 正弦PWM已为人们所熟知。旨在改善输出电压、电流波形、降低电源系统谐波的多重PWM 技术在大功率变频器中有其独特的优势。

PWM电机调速原理及51单片机PWM程序经典

Pwm电机调速原理 对于电机的转速调整,我们是采用脉宽调制(PWM)办法,控制电机的时候,电源并非连续地向电机供电,而是在一个特定的频率下以方波脉冲的形式提供电能。不同占空比的方波信号能对电机起到调速作用,这是因为电机实际上是一个大电感,它有阻碍输入电流和电压突变的能力,因此脉冲输入信号被平均分配到作用时间上,这样,改变在始能端PE2 和PD5 上输入方波的占空比就能改变加在电机两端的电压大小,从而改变了转速。 此电路中用微处理机来实现脉宽调制,通常的方法有两种: (1)用软件方式来实现,即通过执行软件延时循环程序交替改变端口某个二进制位输出逻 辑状态来产生脉宽调制信号,设置不同的延时时间得到不同的占空比。 (2)硬件实验自动产生PWM 信号,不占用CPU 处理的时间。 这就要用到ATMEGA8515L 的在PWM 模式下的计数器1,具体内容可参考相关书籍。 51单片机PWM程序 产生两个PWM,要求两个PWM波形占空都为80/256,两个波形之间要错开,不能同时为高电平!高电平之间相差48/256, PWM这个功能在PIC单片机上就有,但是如果你就要用51单片机的话,也是可以的,但是比较的麻烦.可以用定时器T0来控制频率,定时器T1来控制占空比:大致的的编程思路是这样的:T0定时器中断是让一个I0口输出高电平,在这个定时器T0的中断当中起动定时器T1,而这个T1是让IO口输出低电平,这样改变定时器T0的初值就可以改变频率,改变定时器T1的初值就可以改变占空比。 *程序思路说明: * * * *关于频率和占空比的确定,对于12M晶振,假定PWM输出频率为1KHZ,这样定时中断次数* *设定为C=10,即0.01MS中断一次,则TH0=FF,TL0=F6;由于设定中断时间为0.01ms,这样* *可以设定占空比可从1-100变化。即0.01ms*100=1ms * ******************************************************************************/ #include #define uchar unsigned char /*****************************************************************************

PWM控制电路设计

PWM控制电路设计 CYBERNET 应用系统事业部 LED照明作为新一代照明受到了广泛的关注。仅仅依靠LED封装并不能制作出好的照明灯具。本文主要从电子电路、热分析、光学方面阐述了如何运用LED特性进行设计。 在上一期的“LED驱动电路设计-基础篇”中,介绍了LED的电子特性和基本的驱动电路。遗憾的是,阻抗型驱动电路和恒电流源型驱动电路,大围输入电压和大电流中性能并不强,有时并不能发挥出LED的性能。相反,用脉冲调制方法驱动LED电路,能够发挥LED的多个优点。这次主要针对运用脉冲调制的驱动电路进行说明。 PWM是什么? 脉冲调制英文表示是Pulse Width Modulation,简称PWM。PWM是调节脉冲波占空比的一种方式。如图1所示,脉冲的占空比可以用脉冲周期、On-time、Off-time表示,如下公式:占空比=On-time(脉冲的High时间)/ 脉冲的一个周期(On-time + Off-time) Tsw(一周期)可以是开关周期,也可以是Fsw=1/Tsw的开关频率。

图1 Pulse Width Modulation (PWM) 在运用PWM的驱动电路中,可以通过增减占空比,控制脉冲一个周期的平均值。运用该原理,如果能控制电路上的开关设计(半导体管、MOSFET、IGBT等)的打开时间(关闭时间),就能够调节LED电流的效率。这就是接下来要介绍的PWM控制。PWM信号的应用 PWM控制电路的一个特征是只要改变脉冲幅度就能控制各种输出。图2的降压电路帮助理解PWM的控制原理。在这个电路中,将24V的输入电压转换成12V,需要增加负载。负载就是单纯的阻抗。电压转换电路的方法有很多,运用PWM信号的效果如何呢?

PWM控制直流电机(重要资料)

PWM调速原理 PWM的原理: PWM(Pulse Width Modulation)控制——脉冲宽度调制技术,通过对一系列脉冲的宽度进行调制,来等效地获得所需要波形(含形状和幅值)。 PWM控制技术在逆变电路中应用最广,应用的逆变电路绝大部分是PWM型,PWM控制技术正是有赖于在逆变电路中的应用,才确定了它在电力电子技术中的重要地位。 1.PWM控制的基本原理 (1)理论基础: 冲量相等而形状不同的窄脉冲加在具有惯性的环节上时,其效果基本相同。冲量指窄脉冲的面积。效果基本相同,是指环节的输出响应波形基本相同。低频段非常接近,仅在高频段略有差异。 (2)面积等效原理: 分别将如图1所示 电压窄脉冲加在一阶惯性环节(R-L电路)上,如图a所示。其输出电流I(t)对不同窄脉冲时的响应波形如图b所示。从波形可以看出,在I(t)的上升段,I(t)的形状也略有不同,但其下降段则几乎完全相同。脉冲越窄,各I(t)响应波形的差异也越小。如果周期性地施加上述脉冲,则响应I(t)也是周期性的。用傅里叶级数分解后将可看出,各i(t)在低频段的特性将非常接近,仅在高频段有所不同。

图2 冲量相同的各种窄脉冲的响应波形 用一系列等幅不等宽的脉冲来代替一个正弦半波,正弦半波N等分,看成N个相连的脉冲序列,宽度相等,但幅值不等;用矩形脉冲代替,等幅,不等宽,中点重合,面积(冲量)相等,宽度按正弦规律变化。 SPWM波形——脉冲宽度按正弦规律变化而和正弦波等效的PWM波形。 图3 用PWM波代替正弦半波 要改变等效输出正弦波幅值,按同一比例改变各脉冲宽度即可。 PWM电流波:电流型逆变电路进行PWM控制,得到的就是PWM电流波。 PWM波形可等效的各种波形: 直流斩波电路:等效直流波形 SPWM波:等效正弦波形,还可以等效成其他所需波形,如等效所需非正弦交流波形等,其基本原理和SPWM控制相同,也基于等效面积原理。 2. PWM相关概念 占空比:就是输出的PWM中,高电平保持的时间与该PWM的时钟周期的时间之比 如,一个PWM的频率是1000Hz,那么它的时钟周期就是1ms,就是1000us,如果高电平出现的时间是200us,那么低电平的时间肯定是800us,那么占空比就是200:1000,也就是说PWM的占空比就是1:5。

PWM控制原理教学教材

P W M控制原理

PWM控制技术 主要内容:PWM控制的基本原理、控制方式与PWM波形的生成方法,PWM逆变电路的谐波分析,PWM整流电路。 重点:PWM控制的基本原理、控制方式与PWM波形的生成方法。 难点:PWM波形的生成方法,PWM逆变电路的谐波分析。 基本要求:掌握PWM控制的基本原理、控制方式与PWM波形的生成方法,了解PWM逆变电路的谐波分析,了解跟踪型PWM逆变电路,了解PWM整流电路。 PWM(Pulse Width Modulation)控制——脉冲宽度调制技术,通过对一系列脉冲的宽度进行调制,来等效地获得所需要波形(含形状和幅值)。第3、4章已涉及这方面内容: 第3章:直流斩波电路采用,第4章有两处: 4.1节斩控式交流调压电路,4.4节矩阵式变频电路。 本章内容 PWM控制技术在逆变电路中应用最广,应用的逆变电路绝大部分是PWM型,PWM 控制技术正是有赖于在逆变电路中的应用,才确定了它在电力电子技术中的重要地位。 本章主要以逆变电路为控制对象来介绍PWM控制技术,也介绍PWM整流电路 1 PWM控制的基本原理 理论基础: 冲量相等而形状不同的窄脉冲加在具有惯性的环节上时,其效果基本相同。冲量指窄脉冲的面积。效果基本相同,是指环节的输出响应波形基本相同。低频段非常接近,仅在高频段略有差异。 图6-1 形状不同而冲量相同的各种窄脉冲 面积等效原理: 分别将如图6-1所示的电压窄脉冲加在一阶惯性环节(R-L电路)上,如图6-2a所示。其输出电流i(t)对不同窄脉冲时的响应波形如图6-2b所示。从波形可以看出,在i(t)的上升段,i(t)的形状也略有不同,但其下降段则几乎完全相同。脉冲越窄,各i(t)响应波

PWM控制技术

主要内容:PWM 控制的基本原理、控制方式与 PWM 波形的生成方法,PW 逆 变电路的谐波分析,PW 整流电路。 重点:PWM 控制的基本原理、控制方式与PWM 波形的生成方法。 难点:PWM 波形的生成方法,PWM e 变电路的谐波分析。 基本要求:掌握PW 控制的基本原理、控制方式与 PW 波形的生成方法,了 解PWM 逆变电路的谐波分析,了解跟踪型 PWM K 变电路,了解PWM6流电路。 PWM(Pulse Width Modulation )控制——脉冲宽度调制技术,通过对一系 列脉冲的宽度进行调制,来等效地获得所需要波形(含形状和幅值)。第 章已涉及这方面内 容 : 第 3 章:直流斩波电路采用,第 4 章有两处: 节斩控式交流调压电路, 式变频电路。 本章内容 PWMI 制技术在逆变电路中应用最广,应用的逆变 电路绝大部分是 PWM 控制技术正是有赖于在逆变电路中的应用, 重要 地位。 本章主要以逆变电路为控制对象来介绍 PW 控制技术,也介绍PWM S 流电路 1 PWM 控制的基本原理 理论基础: 冲量相等而形状不同的窄脉冲加在具有惯性的环节上时,其效果基本相同。 冲量指窄脉冲的面积。 效果基本相同, 是指环节的输出响应波形基本相同。 低频 段非常接近,仅在高频段略有差异。 图 6-1 形状不同而冲量相同的各种窄脉冲 面积等效原理: 分别将如图 6-1 所示的电压窄脉冲加在一阶惯性环节( R-L 电路)上,如图 6-2a 所示。其输出电流 i(t) 对不同窄脉冲时的响应波形如图 6-2b 所示。从波形 可以看出,在 i(t) 的上升段, i(t) 的形状也略有不同,但其下降段则几乎完全 相同。脉冲越窄,各 i(t) 响应波形的差异也越小。如果周期性地施加上述脉冲, 则响应 i(t) 也是周期性的。用傅里叶级数分解后将可看出,各 i(t) 在低频段的 特性将非常接近,仅在高频段有所不同。 3、4 节矩阵 PWI 型, 才确定了它在电力电子技术中的

PWM调速程序

PWM调速程序 假设在硬件电路已经连接好后,要控制直流电机的转速可以通过在电机驱动电路的使能端输入一PWM波形。改变PWM波的脉宽(占空比)即可改变加在电机两端的有效电压,从而改变电机的转速。注意,此处的PWM波只是相当于电机供电电路开关的作用:高电平对应接通,低电平对应断开。 对于Atmega 16单片机,这里利用T/C1定时器中断来产生PWM波形。在ICC A VR 编译环境下,利用tool 菜单中的application builder生成一个简单的PWM波程序。这段程序以PA0作为PWM波的输出端口。利用T/C1定时器比较匹配和溢出产生两次中断来改变PA0的输出电平。具体过程为:计数器TCNT1从初始值开始不断计数,当发生比较匹配时,把PA0置为低电平,计数器继续计数,当发生溢出中断时,计数器回到初始设定值,并把PA0置为高电平。从而在PA0端口获得一稳定持续的PWM波形,在主程序中改变比较值,即可改变波形占空比,而频率不变。 //ICC-A VR application builder // Target : M16 // Crystal: 8.0000Mhz #include #include void port_init(void) { PORTA = 0x00; DDRA = 0x01;//set PA0 as PWM wave output port PORTB = 0x00; DDRB = 0x00; PORTC = 0x00; //m103 output only DDRC = 0x00; PORTD = 0x00; DDRD = 0x00; } //note: even if you use the second function of PD4,PD5 as PWM wave output ports, you should //also set port’s direction. //TIMER1 initialize - prescale:256 // WGM: 5) PWM 8bit fast, TOP=0x00FF // desired value: 100Hz // actual value: 122.070Hz (18.1%) //note:there is no particular requirement for the frequency of PWM wave as long as it is not too //low. void timer1_init(void) { TCCR1B = 0x00; //stop //set initial value for counter

PWM控制的基本原理

PWM控制的基本原理 PWM(Pulse Width Modulation)控制——脉冲宽度调制技术,通过对一系列脉冲的宽度进行调制,来等效地获得所需要波形(含形状和幅值)。 PWM控制技术在逆变电路中应用最广,应用的逆变电路绝大部分是PWM型,PWM 控制技术正是有赖于在逆变电路中的应用,才确定了它在电力电子技术中的重要地位。理论基础: 冲量相等而形状不同的窄脉冲加在具有惯性的环节上时,其效果基本相同。冲量指窄脉冲的面积。效果基本相同,是指环节的输出响应波形基本相同。低频段非常接近,仅在高频段略有差异。 图1形状不同而冲量相同的各种窄脉冲 面积等效原理: 分别将如图1所示的电压窄脉冲加在一阶惯性环节(R-L电路)上,如图2a所示。其输出电流i(t)对不同窄脉冲时的响应波形如图2b所示。从波形可以看出,在i(t)的上升段,i(t)的形状也略有不同,但其下降段则几乎完全相同。脉冲越窄,各i(t)响应波形的差异也越小。如果周期性地施加上述脉冲,则响应i(t)也是周期性的。用傅里叶级数分解后将可看出,各i(t)在低频段的特性将非常接近,仅在高频段有所不同。 图2 冲量相同的各种窄脉冲的响应波形 用一系列等幅不等宽的脉冲来代替一个正弦半波,正弦半波N等分,看成N个相连的脉冲序列,宽度相等,但幅值不等;用矩形脉冲代替,等幅,不等宽,中点重合,面积(冲量)相等,宽度按正弦规律变化。 SPWM波形——脉冲宽度按正弦规律变化而和正弦波等效的PWM波形。 图3 用PWM波代替正弦半波 要改变等效输出正弦波幅值,按同一比例改变各脉冲宽度即可。 PWM电流波:电流型逆变电路进行PWM控制,得到的就是PWM电流波。 PWM波形可等效的各种波形: 直流斩波电路:等效直流波形 SPWM波:等效正弦波形,还可以等效成其他所需波形,如等效所需非正弦交流波形等,其基本原理和SPWM控制相同,也基于等效面积原理。 随着电子技术的发展,出现了多种PWM技术,其中包括:相电压控制PWM、脉宽PWM 法、随机PWM、SPWM法、线电压控制PWM等,而本文介绍的是在镍氢电池智能充电器中采用的脉宽PWM法。它是把每一脉冲宽度均相等的脉冲列作为PWM波形,通过改变脉冲列的周期可以调频,改变脉冲的宽度或占空比可以调压,采用适当控制方法即可使电压与频率协调变化。可以通过调整PWM的周期、PWM的占空比而达到控制充电电流的目的。 PWM技术的具体应用

单片机PWM控制C程序语言

下面介绍一下单片机PWM控制C语言实例,单片机PWM可以应用在许多方面,如电机调速、温度控制、压力控制等。PWM—脉冲宽度调制,是一种周期一定而高低电平可调的方波信号。广泛使用电机调速的项目中,用了S52单片机的T2定时器产生PWM波信号,用于控制直流电机的转速,虽然电机的平均速度与占空比不是严格的线性关系,但是在调节占空比可以明显的看出电机转速发生了改变,也算是满足了课题的要求。下面复习一下PWM的知识吧: PWM—脉冲宽度调制,当输出脉冲的频率一定时,输出脉冲的占空比越大,相对应的输出有效电压越大。PWM可以应用在许多方面,如电机调速、温度控制、压力控制等。T1为脉冲宽度(就是导通时间),周期为T,则输出电压的平均值为U=VCC*T1/T=a*VCC,a是占空比,变化范围为0≤a≤1。VCC 为电源电压。所以当电源电压不变的情况下,输出电压的平均值U取决于占空比a的大小,改变a的大小就可以改变输出电压的平均值,这就是PWM的工作原理。采用T2定时器产生PWM脉冲极其精确,误差只在几个us。 // 单片机PWM控制C语言实例文件名: T2PWM.c // 单片机PWM控制C语言实例功能: 用T2定时器产生PWM波,频率实调1khz // 单片机PWM控制C语言实例说明: 单片机AT89S52,晶振12MHZ; #include "reg52.h" #define uint unsigned int #define uchar unsigned char sbit PWM = P1^1; uchar pluse; //占空比寄存器 void Timer2() interrupt 5

PWM控制原理(精编文档).doc

【最新整理,下载后即可编辑】 PWM控制技术 主要内容:PWM控制的基本原理、控制方式与PWM波形的生成方法,PWM逆变电路的谐波分析,PWM整流电路。 重点:PWM控制的基本原理、控制方式与PWM波形的生成方法。 难点:PWM波形的生成方法,PWM逆变电路的谐波分析。 基本要求:掌握PWM控制的基本原理、控制方式与PWM波形的生成方法,了解PWM逆变电路的谐波分析,了解跟踪型PWM逆变电路,了解PWM整流电路。 PWM(Pulse Width Modulation)控制——脉冲宽度调制技术,通过对一系列脉冲的宽度进行调制,来等效地获得所需要波形(含形状和幅值)。第3、4章已涉及这方面内容: 第3章:直流斩波电路采用,第4章有两处:4.1节斩控式交流调压电路,4.4节矩阵式变频电路。 本章内容 PWM控制技术在逆变电路中应用最广,应用的逆变电路绝大部分是PWM型,PWM控制技术正是有赖于在逆变电路中的应用,才确定了它在电力电子技术中的重要地位。 本章主要以逆变电路为控制对象来介绍PWM控制技术,也介绍PWM 整流电路 1 PWM控制的基本原理 理论基础: 冲量相等而形状不同的窄脉冲加在具有惯性的环节上时,其效果基本相同。冲量指窄脉冲的面积。效果基本相同,是指环节的输出响应波形基本相同。低频段非常接近,仅在高频段略有差异。

图6-1 形状不同而冲量相同的各种窄脉冲 面积等效原理: 分别将如图6-1所示的电压窄脉冲加在一阶惯性环节(R-L电路)上,如图6-2a所示。其输出电流i(t)对不同窄脉冲时的响应波形如图6-2b所示。从波形可以看出,在i(t)的上升段,i(t)的形状也略有不同,但其下降段则几乎完全相同。脉冲越窄,各i(t)响应波形的差异也越小。如果周期性地施加上述脉冲,则响应i(t)也是周期性的。用傅里叶级数分解后将可看出,各i(t)在低频段的特性将非常接近,仅在高频段有所不同。 图6-2 冲量相同的各种窄脉冲的响应波形 用一系列等幅不等宽的脉冲来代替一个正弦半波,正弦半波N等分,看成N个相连的脉冲序列,宽度相等,但幅值不等;用矩形脉冲代替,等幅,不等宽,中点重合,面积(冲量)相等,宽度按正弦规律变化。 SPWM波形——脉冲宽度按正弦规律变化而和正弦波等效的PWM波形。

PWM控制技术实现方法综述

PWM控制技术实现方法综述 引言 采样控制理论采样控制理论中有一个重要结论:冲量相等而形状不同的窄脉冲脉冲加在具有惯性的环节上时,其效果基本相同。PWMPWM控制技术就是以该结论为理论基础,对半导体开关器件的导通和关断进行控制,使输出端得到一系列幅值相等而宽度不相等的脉冲,用这些脉冲来代替正弦波或其他所需要的波形。按一定的规则对各脉冲的宽度进行调制,既可改变逆变电路输出电压的大小,也可改变输出频率。 PWM控制PWM控制的基本原理很早就已经提出,但是受电力电子器件发展水平的制约,在上世纪80年代以前一直未能实现。直到进入上世纪80年代,随着全控型电力电子器件的出现和迅速发展,PWM控制技术才真正得到应用。随着电力电子技术、微电子技术和自动控制技术的发展以及各种新的理论方法,如现代控制理论、非线性系统控制思想的应用,PWM 控制技术获得了空前的发展。到目前为止,已出现了多种PWM控制技术,根据PWM控制技术的特点,到目前为止主要有以下8类方法。 1 相电压控制PWM 1.1 等脉宽PWM法[1] VVVF(Variable Voltage Variable Frequency)装置在早期是采用PAM(Pulse Amplitude Modulation)控制技术来实现的,其逆变器部分只能输出频率可调的方波电压而不能调压。等脉宽PWM法正是为了克服PAM法的这个缺点发展而来的,是PWM法中最为简单的一种。它是把每一脉冲的宽度均相等的脉冲列作为PWM波,通过改变脉冲列的周期可以调频,改变脉冲的宽度或占空比可以调压,采用适当控制方法即可使电压与频率协调变化。相对于PAM法,该方法的优点是简化了电路结构,提高了输入端的功率因数,但同时也存在输出电压中除基波外,还包含较大的谐波分量。 1.2 随机PWM 在上世纪70年代开始至上世纪80年代初,由于当时大功率晶体管主要为双极性达林顿三极管,载波频率一般不超过5kHz,电机绕组的电磁噪音及谐波造成的振动引起了人们的关注。为求得改善,随机PWM方法应运而生。其原理是随机改变开关频率使电机电磁噪音近似为限带白噪声(在线性频率坐标系中,各频率能量分布是均匀的),尽管噪音的总分贝数未变,但以固定开关频率为特征的有色噪音强度大大削弱。正因为如此,即使在IGBT已被广泛应用的今天,对于载波频率必须限制在较低频率的场合,随机PWM仍然有其特殊的价值;另一方面则说明了消除机械和电磁噪音的最佳方法不是盲目地提高工作频率,随机PWM技术正是提供了一个分析、解决这种问题的全新思路。 1.3 SPWM法 SPWM(Sinusoidal PWM)法是一种比较成熟的、目前使用较广泛的PWM法。前面提到的采样控制理论中的一个重要结论:冲量相等而形状不同的窄脉冲加在具有惯性的环节上时,其效果基本相同。SPWM法就是以该结论为理论基础,用脉冲宽度按正弦规律变化而和正弦波等效的PWM波形即SPWM波形控制逆变电路中开关器件的通断,使其输出的脉冲电压的面积与所希望输出的正弦波在相应区间内的面积相等,通过改变调制波的频率和幅值则可调节逆变电路输出电压的频率和幅值。该方法的实现有以下几种方案。 1.3.1 等面积法 该方案实际上就是SPWM法原理的直接阐释,用同样数量的等幅而不等宽的矩形脉冲序列代替正弦波,然后计算各脉冲的宽度和间隔,并把这些数据存于微机中,通过查表的方式生

PWM调速+循迹--智能小车程序

//T0产生双路PWM信号,L298N为直流电机调速,接L298N时相应的管脚上最好接上10K的上拉电阻。 /* 晶振采用12M,产生的PWM的频率约为100Hz */ #include #include #define uchar unsigned char #define uint unsigned int sbit en1=P3^4; /* L298的Enable A */ sbit en2=P3^5; /* L298的Enable B */ sbit s1=P1^0; /* L298的Input 1 */ sbit s2=P1^1; /* L298的Input 2 */ sbit s3=P1^3; /* L298的Input 3 */ sbit s4=P1^2; /* L298的Input 4 */ sbit R=P2^0; sbit C=P2^1; sbit L=P2^2; sbit key=P1^4; uchar t=0; /* 中断计数器*/ uchar m1=0; /* 电机1速度值*/ uchar m2=0; /* 电机2速度值*/ uchar tmp1,tmp2; /* 电机当前速度值*/ /* 电机控制函数index-电机号(1,2); speed-电机速度(0-100) */ void motor(uchar index, char speed) { if(speed<=100) { if(index==1) /* 电机1的处理*/ { m1=abs(speed); /* 取速度的绝对值*/ s1=1; s2=0; } if(index==2) /* 电机2的处理*/ { m2=abs(speed); /* 电机2的速度控制*/ s3=1; s4=0; } } } void Back(void)

PWM的工作原理

PWM得工作原理 脉宽调制PWM就是开关型稳压电源中得术语。这就是按稳压得控制方式分类得,除了PWM型,还有PFM型与PWM、PFM混合型。脉宽宽度调制式(PWM)开关型稳压电路就是在控制电路输出频率不变得情况下,通过电压反馈调整其占空比,从而达到稳定输出电压得目得。 随着电子技术得发展,出现了多种PWM技术,其中包括:相电压控制PWM、脉宽PWM法、随机PWM、SPWM法、线电压控制PWM等,而在镍氢电池智能充电器中采用得脉宽PWM法,它就是把每一脉冲宽度均相等得脉冲列作为PWM波形,通过改变脉冲列得周期可以调频,改变脉冲得宽度或占空比可以调压,采用适当控制方法即可使电压与频率协调变化。可以通过调整PWM得周期、PWM 得占空比而达到控制充电电流得目得。 pwm得定义 脉宽调制(PWM)就是利用微处理器得数字输出来对模拟电路进行控制得一种非常有效得技术,广泛应用在从测量、通信到功率控制与变换得许多领域中. 模拟信号得值可以连续变化,其时间与幅度得分辨率都没有限制.9V电池就就是一种模拟器件,因为它得输出电压并不精确地等于9V,而就是随时间发生变化,并可取任何实数值。与此类似,从电池吸

收得电流也不限定在一组可能得取值范围之内。模拟信号与数字信号得区别在于后者得取值通常只能属于预先确定得可能取值集合之内,例如在{0V,5V}这一集合中取值. 模拟电压与电流可直接用来进行控制,如对汽车收音机得音量进行控制。在简单得模拟收音机中,音量旋钮被连接到一个可变电阻。拧动旋钮时,电阻值变大或变小;流经这个电阻得电流也随之增加或减少,从而改变了驱动扬声器得电流值,使音量相应变大或变小。与收音机一样,模拟电路得输出与输入成线性比例. 尽管模拟控制瞧起来可能直观而简单,但它并不总就是非常经济或可行得。其中一点就就是,模拟电路容易随时间漂移,因而难以调节。能够解决这个问题得精密模拟电路可能非常庞大、笨重(如老式得家庭立体声设备)与昂贵。模拟电路还有可能严重发热,其功耗相对于工作元件两端电压与电流得乘积成正比。模拟电路还可能对噪声很敏感,任何扰动或噪声都肯定会改变电流值得大小。 通过以数字方式控制模拟电路,可以大幅度降低系统得成本与功耗.此外,许多微控制器与DSP已经在芯片上包含了PWM控制器,这使数字控制得实现变得更加容易了。 pwm得工作原理 脉冲宽度调制波通常由一列占空比不同得矩形脉冲构成,其占空比与信号得瞬时采样值成比例.图1所示为脉冲宽度调制系统得原理

PWM控制舵机 C程序

#include "reg52.h" sbit control_signal=P0^0; sbit turn_left=P3^0; sbit turn_right=P3^1; unsigned char PWM_ON=15 ;//定义高电平时间 /******************************************************************/ /* 延时函数 */ /******************************************************************/ void delay(unsigned int cnt) { while(--cnt); } void display() { if(PWM_ON>=5&&PWM_ON<=7) P1=0xFD; //1灯亮,舵机接近或到达右转极限位置if(PWM_ON>7&&PWM_ON<=10) P1=0xFB; //2灯亮 if(PWM_ON>10&&PWM_ON<=13) P1=0xF7; //3灯亮 if(PWM_ON>13&&PWM_ON<=16) P1=0xEF; //4灯亮,舵机到达中间位置 if(PWM_ON>16&&PWM_ON<=19) P1=0xDF; //5灯亮 if(PWM_ON>19&&PWM_ON<=22) P1=0xBF; //6灯亮 if(PWM_ON>22&&PWM_ON<=25) P1=0x7F; //7灯亮,舵机接近或到达左转极限位置} /******************************************************************/ /* 主函数 */ /******************************************************************/ void main() { //bit Flag; TMOD |=0x01; //定时器设置 0.1ms in 11.0592M crystal TH0=(65536-78)/256; TL0=(65536-78)%256; //定时0.1mS ET0=1;//定时器中断打开 EA=1;//总中断 //IE= 0x82; //打开中断 TR0=1; // PWM_ON=15 //的取值范围是6-25 while(1) { if(turn_left==0) { delay(1000); if(turn_left==0) { while(!turn_left){}

说明PWM调速系统的工作原理

说明PWM调速系统的工作原理

说明PWM调速系统的工作原理 脉冲宽度调制脉冲宽度调制(PWM)是英文“Pulse Width Modulation”的缩写,简称脉宽调制。它是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术,广泛应用于测量,通信,功率控制与变换等许多领域。一种模拟控制方式,根据相应载荷的变化来调制晶体管栅极或基极的偏置,来实现开关稳压电源输出晶体管或晶体管导通时间的改变,这种方式能使电源的输出电压在工作条件变化时保持恒定。 脉冲宽度调制(PWM)是一种对模拟信号电平进行数字编码的方法。通过高分辨率计数器的使用,方波的占空比被调制用来对一个具体模拟信号的电平进行编码。PWM信号仍然是数字的,因为在给定的任何时刻,满幅值的直流供电要么完全有(ON),要么完全无(OFF)。电压或电流源是以一种通(ON)或断(OFF)的重复脉冲序列被加到模拟负载上去的。通的时候即是直流供电被加到负载上的时候,断的时候即是供电被断开的时候。只要带宽足够,任何模拟值都可以使用PWM进行编码。 多数负载(无论是电感性负载还是电容性负载)

需要的调制频率高于10Hz,通常调制频率为1kHz到200kHz之间。 许多微控制器内部都包含有PWM控制器。例如,Microchip公司的PIC16C67内含两个PWM 控制器,每一个都可以选择接通时间和周期。占空比是接通时间与周期之比;调制频率为周期的倒数。执行PWM操作之前,这种微处理器要求在软件中完成以下工作: * 设置提供调制方波的片上定时器/计数器的周期 * 在PWM控制寄存器中设置接通时间 * 设置PWM输出的方向,这个输出是一个通用I/O管脚 * 启动定时器 * 使能PWM控制器 PWM的一个优点是从处理器到被控系统信号都是数字形式的,无需进行数模转换。让信号保持为数字形式可将噪声影响降到最小。噪声只有在强到足以将逻辑1改变为逻辑0或将逻辑0改变为逻辑1时,也才能对数字信号产生影响。对噪声抵抗能力的增强是PWM相对于模拟控制的另外一个优点,而且这也是在某些时候将

各种PWM控制方法的原理及优缺点

引言 采样控制理论中有一个重要结论:冲量相等而形状不同的窄脉冲加在具有惯性的环节上时,其效果基本相同。PWM控制技术就是以该结论为理论基础,对半导体开关器件的导通和关断进行控制,使输出端得到一系列幅值相等而宽度不相等的脉冲,用这些脉冲来代替正弦波或其他所需要的波形。按一定的规则对各脉冲的宽度进行调制,既可改变逆变电路输出电压的大小,也可改变输出频率。 PWM控制的基本原理很早就已经提出,但是受电力电子器件发展水平的制约,在上世纪80年代以前一直未能实现。直到进入上世纪80年代,随着全控型电力电子器件的出现和迅速发展,PWM控制技术才真正得到应用。随着电力电子技术、微电子技术和自动控制技术的发展以及各种新的理论方法,如现代控制理论、非线性系统控制思想的应用,PWM控制技术获得了空前的发展。到目前为止,已出现了多种PWM控制技术,根据PWM控制技术的特点,到目前为止主要有以下8类方法。 1相电压控制PWM 1.1等脉宽PWM法[1] VVVF(Variable Voltage Variable Frequency)装置在早期是采用PAM(Pulse Amplitude Modulation)控制技术来实现的,其逆变器部分只能输出频率可调的方波电压而不能调压。等脉宽PWM法正是为了克服PAM法的这个缺点发展而来的,是PWM法中最为简单的一种。它是把每一脉冲的宽度均相等的脉冲列作为PWM波,通过改变脉冲列的周期可以调频,改变脉冲的宽度或占空比可以调压,采用适当控制方法即可使电压与频率协调变化。相对于PAM法,该方法的优点是简化了电路结构,提高了输入端的功率因数,但同时也存在输出电压中除基波外,还包含较大的谐波分量。 1.2随机PWM 在上世纪70年代开始至上世纪80年代初,由于当时大功率晶体管主要为双极性达林顿三极管,载波频率一般不超过5kHz,电机绕组的电磁噪音及谐波造成的振动引起了人们的关注。为求得改善,随机PWM方法应运而生。其原理是随机改变开关频率使电机电磁噪音近似为限带白噪声(在线性频率坐标系中,各频率能量分布是均匀的),尽管噪音的总分贝数未变,但以固定开关频率为特征的有色噪音强度大大削弱。正因为如此,即使在IGBT已被广泛应用的今天,对于载波频率必须限制在较低频率的场合,随机PWM仍然有其特殊的价值;另一方面则说明了消除机械和电磁噪音的最佳方法不是盲目地提高工作频率,随机PWM技术正是提供了一个分析、解决这种问题的全新思路。 1.3SPWM法

PWM控制原理

1.1、PWM 原理与DSC 实现算法 1.1.1、PWM 原理 脉冲宽度调制(PWM ,Pulse Width Modulation )控制就是对脉冲的宽度进行调制的技术。即通过对一系列脉冲的宽度进行调制,来等效地获得所需要的波形(含形状和幅值)。PWM 技术在逆变电路中应用最为广泛,对逆变电路的影响最为深刻,PWM 控制技术有赖于在逆变电路中的应用,才发展成熟,才确定了在电力电子技术中的重要地位。 在采样控制理论中有一个重要结论:冲量相等而形状不同的窄脉冲加在具有惯性的环节上,其效果基本相同。冲量是指窄脉冲的面积,效果基本相同是说环节的输出响应波形基本相同。如果把各输出波形用傅里叶变换分析,其低频段非常接近,仅在高频段略有差异。这种原理称之为面积等效原理,是PWM 控制技术的重要理论基础。 下面分析如何用一系列等幅不等宽的脉冲来代替一个正弦波。 图1、SPWM 原理 把图1中的正弦波分成2N 等份,就可以把正弦波看成是由2N 个彼此相连的脉冲序列所组成的波形。这些脉冲宽度相等,都等于N ,但幅值不相等,且脉冲顶部不是水平直线,而是曲线,各脉冲的幅值按正弦规律变化。如果把上述脉冲序列利用相同数量的等幅不等宽的矩形脉冲代替,使矩形脉冲和相应的正弦波部分的中心重合,且使矩形脉冲和相应的正弦波部分面积(冲量)相等,就可以得到如图1所示的脉冲序列,这就是PWM 波形。根据面积等效原理,PWM 波形与正弦波是等效的。像这种脉冲的宽度按正弦规律变化而和正弦波等效的PWM 波形,也称SPWM (Sinusoidal PSM )波形。要改变等效输出正弦波的幅值

时,只要按照同一比例系数改变上述脉冲的宽度即可。 根据PWM控制的基本原理,如果给出逆变电路的正弦波输出频率、幅值和一个周期内的脉冲数,PWM波形中各脉冲的宽度和间隔就可以准确计算出来。按照计算结果控制开关器件的通断,就可以得到需要的PWM波形。这种方法称之为计算法。与计算法对应的是调试法,即把希望输出的波形作为调制信号,把接受调试的信号作为载波,通过信号波的调制得到所希望的PWM波形。通常采用等腰三角形或锯齿波作为载波,其中等腰三角形应用最多。因为等腰三角形上任一点的水平宽度和高度成线性关系且左右对称,当它与任何一个平缓变化的调制信号相交时,如果在交点时刻对电力电子器件通断控制,就可以得到宽度正不语信号波幅值的脉冲,这正好符合PWM控制的要求。 1.1.2、数字化PWM实现方法 按照SPWM控制的基本原理,在正弦波与三角波的自然交点时刻控制开关器件的通断,如图2(a)所示。这种生成SPWM波形的方法称为自然采样法。自然采样法是最基本的方法,所得到的SPWM波形很接近正弦波,但这种方法要求解复杂的超越方程,用微机控制技术是很难实现的,工程上很少采用。 a)自然采样法与规则采样法1 b)规则采样法2 c)TI公司DSC事件管理器PWM 图2、数字化PWM实现方法 规则采样法是一种应用广泛的工程实用方法,其效果接近自然采样法,但计算量要比自然采样法小很多。如图2(a)所示,在载波负峰值点(A点)计算需要的调制波幅值,计算确认与三角载波左右对称的交点(B点和C点),进而控制下一个开关周期的开关通断,定义为规则采样法1。 规则采样法也可以在三角载波的正峰值点计算调制波幅值,如图2(b)所示。在三角波正峰值处计算需要调制的调制波,进而根据载波幅值计算出控制开关导通的时间长度,其它时间为控制开关关断的时间长度,定义为规则采样法2。 TI公司24xx或28xx系列DSC内部集成了事件管理器,可以产生PWM波形。

相关主题
文本预览
相关文档 最新文档