本文首要是关于pwm的相关介绍,并侧重对pwm的原理以及pwm直流电动机进行了翔实的论述。
PWM直流电机
现在 ,在直流电机操控体系中 ,遍及选用以单片机或 DSP 作为微处理器的操控体系 , 由于单片机或DSP 操控电机占用端口资源多 、所需周边元器材也较多 ,对整个体系的安稳性和可靠性有较大影响 。可编程操控器作为一种工业操控设备 , 以抗干扰才干强和可靠性高而著称 , 跟着可编程操控器的迅速发展 ,其性价比也在不断进步。
直流电机伺服驱动器的主电结构一般选用H桥,调速大都经过PWM办法,其调制办法大致有双极式、单极式和受限单极式三种。不同的PWM办法下电机的运转特性以及主电回路的开关损耗和安全性各有不同。无刷直流电机(BrushlessDCMotor,BLDCM)一般选用三相全桥主电路结构,以三相六状况方波操控运转,任一状况下有两只开关管受PWM操控,其PWM调制办法和直流电机的H桥PWM调制很相似,都是一起两只桥臂受控。直流电机调速PWM办法挑选要依据技能目标要求。一般直流伺服操控体系大多选用双极操控,能够确保电机电流的接连性等要求,然后确保电机的快速呼应性;关于调速体系,一般电机作业在较高转速、较大负载下,这时可挑选单极式,或受限单极式,使主电路不易呈现直通毛病,作业可靠性高。一起,不同的PWM办法,桥式电路功率器材的损耗、热平衡及续流回馈也不尽相同。
体系软件设计
体系软件总体设计
体系程序首要包含转速检测闪现程序、PI操控算法程序及PWM信号发生程序。转速检测闪现程序完结对电机实践转速的丈量,并运用组态王软件实时闪现出来。PI操控算法程序运用PLC的PID功用指令完结速度的PI操控,并将PI操控器的输出值作为PWM操控信号的占空比。PWM信号发生程序运用PLC的PWM功用指令发生周期必定、占空比可调的PWM信号 [2] 。
程序首要对高速计数器、PWM信号发生器和PID参数表进行初始化。然后设置守时中止,并发动守时器开端守时。接下来判别电机的滚动方向,若正转,则判别正转高速计数器是否发生中止,不然判别回转高速计数器是否发生中止。高速计数器一旦发生中止,当即读取守时器的当时值,作为核算转速的时刻值。之后判别是否发生守时中止,若是则履行守时中止程序,守时中止程序首要作业为守时器清零、高速计数器清零并重新发动、核算转速、转速标准化、履行PID指令、输出值转化及履行PWM指令,继而输出PWM操控信号,不然持续判别是否发生中止 [2] 。
转速检测程序
转速的检测首要是经过光电编码器和PLC的高速计数功用来完结的。光电编码器和电机同轴衔接,电机每转1圈,光电编码器A,B两路就发生必定数量的相位互差90°的正交脉冲。为此挑选高速计数器为A,B两路正交计数作业办法。为使高速计数器正确作业,首要应向高速计数器的操控字节写入操控字,运用高速计数器的界说指令为所用的高速计数器选定作业方法,写入高速计数器的设定值,把当时值清零,选用当时值等于设定值的中止事情,树立中止衔接,然后发动高速计数器。一起发动守时器,当高速计数器的当时值等于设定值时,发生中止,并一起把守时器的当时值读出来,作为发生所设定脉冲数的时刻,然后可核算出转速。为进步丈量精度,削减丈量差错,可运用多个高速计数器,每个高速计数器检测不一起间规模的脉冲数。鉴于S7-200PLCCPU224有4个高速计数器具有A,B两路正交计数办法,程序选用了4个高速计数器进行计量,然后取其平均值。
浅谈直流电动机pwm原理
1.脉宽 调 制 (PWM)是运用数字输出对模仿电路进行操控的一种有用技能,尤其是在对电机的转速操控方面,可大大节省能量。PWM 具有很强的抗噪性,且有节省空间、比较经济等特色。模仿操控电路有以下缺点:模仿电路简略随时刻漂移,会发生一些不用要的热损耗,以及对噪声灵敏等。而在用了PWM技能后,避免了以上的缺点,完结了用数字办法来操控模仿信号,能够大起伏降低成本和功耗。
2.直流无刷电机
直流无刷电机由电动机、转子方位传感器和电子开关线路三部分组成。直流电源经过开关线路向电动机定子绕组供电,电动机转子方位由方位传感器检测并供给信号去触发开关线路中的功率开关元件使之导通或截止,然后操控电动机的滚动。在运用实例中,磁极旋转,电枢停止,电枢绕组里的电流换向借助于方位传感器和电子开关电路来完结。电机的电枢绕组作成三相,转子由永磁资料制成,与转子轴相连的方位传感器选用霍尔传感器。3600规模内,两两相差1200装置,共装置三个。为了进步电机的特性,电机选用二相导通星形三相六状况的作业办法。开关电路选用三相桥式接线办法。
调速以及稳速操控
在调 速 电 路中,首要选用时基电路LM555和脉宽调制器SG1525来完结,LM555用于发生一个占空比必定、且有固定频率的方波信号。SG1525为单片脉宽调制型操控器芯片,具有输出5.1V 的基准稳压电源,差错放大器、振动频率在100^ 400kHz规模内的锯齿波振动器、软发动电路、封闭电路、脉宽调制比较器、RS寄存器以及维护电路等。它处理了PWM电路的集成化问题,在实例顶用此芯片来完结体系的调速。在详细的电路中,首要对方位传感器信号进行整形,构成所需求的前后沿很陡,具有必定宽度的波形。经微分电路微分,发生的微分脉冲去触发时基电路LM555,构成占空比为2:1的方波,方波频率约为200Hzo
此方波频率核算公式为:f= n * p/ 60式中,Y1为电机的额外转速r/min, f为方位传感器输出信号的频率、P为电机的极对数。方 波 经 滤波器滤波后,构成直流电压送人脉宽调制器,与脉宽调制器的反应电压进行比较,运用得到的差错信号去操控脉宽调制器输出的调制方波脉冲的宽度改动,即PWM输出脉冲占空比的改动,运用占空比的改动调整加在电机电枢绕组上的电压,改动电压随即改动电机电流,转速依据电流的巨细来改动。
结束语:在运用实例中,PWM对调速体系来说,有如下长处:体系的呼应速度和安稳精度等目标比较好;电枢电流的脉动量小,简略接连,并且能够不用外加滤波电抗也能够平稳作业;体系的调速规模宽;运用元件少、线路简略。
pwm运用详解
PWM是一种对模仿信号电平进行数字编码的办法。经过高分辨率计数器的运用,方波的占空比被调制用来对一个详细模仿信号的电平进行编码。PWM信号仍然是数字的,由于在给定的任何时刻,满幅值的直流供电要么彻底有(ON),要么彻底无(OFF)。电压或电流源是以一种通(ON)或断(OFF)的重复脉冲序列被加到模仿负载上去的。通的时分便是直流供电被加到负载上的时分,断的时分便是供电被断开的时分。只需带宽满足,任何模仿值都能够运用PWM进行编码。
图1闪现了三种不同的PWM信号。图1a是一个占空比为10%的PWM输出,即在信号周期中,10%的时刻通,其他90%的时刻断。图1b和图1c闪现的分别是占空比为50%和90%的PWM输出。这三种PWM输出编码的分别是强度为满度值的10%、50%和90%的三种不同模仿信号值。例如,假定供电电源为9V,占空比为10%,则对应的是一个起伏为0.9V的模仿信号。
图2是一个能够运用PWM进行驱动的简略电路。图中运用9V电池来给一个白炽灯泡供电。假如将衔接电池和灯泡的开封闭合50ms,灯泡在这段时刻中将得到9V供电。假如在下一个50ms中将开关断开,灯泡得到的供电将为0V。假如在1秒钟内将此进程重复10次,灯泡将会点亮并象衔接到了一个4.5V电池(9V的50%)上相同。这种状况下,占空比为50%,调制频率为10Hz。
3、特色
PWM的一个长处是从处理器到被控体系信号都是数字方法的,无需进行数模转化,让信号坚持为数字方法可将噪声影响降到最小。噪声只要在强到足以将逻辑1改动为逻辑0或将逻辑0改动为逻辑1时,也才干对数字信号发生影响。
对噪声反抗才干的增强是PWM相关于模仿操控的别的一个长处,并且这也是在某些时分将PWM用于通讯的首要原因。从模仿信号转向PWM能够极大地延伸通讯间隔。在接纳端,经过恰当的RC或LC网络能够滤除调制高频方波并将信号还原为模仿方法。
PWM操控直流电动机
直流调速器便是调理直流电动机速度的设备,上端和交流电源衔接,下端和直流电动机衔接,直流调速器将交流电转化成两路输出直流电源,一路输入给直流电机砺磁(定子),一路输入给直流电机电枢(转子),直流调速器经过操控电枢直流电压来调理直流电动机转速。一起直流电动机给调速器一个反应电流,调速器依据反应电流来判别直流电机的转速状况,必要时批改电枢电压输出,以此来再次调理电机的转速。
直流电机的调速计划一般有下列3种办法:
1、改动电枢电压;
2、改动激磁绕组电压;
3、改动电枢回路电阻。
运用单片机来操控直流电机的变速,一般选用调理电枢电压的办法,经过单片机操控PWM1,PWM2,发生可变的脉冲,这样电机上的电压也为宽度可变的脉冲电压。依据公式
U=aVCC
其间:U为电枢电压;a为脉冲的占空比(0
电动机的电枢电压受单片机输出脉冲操控,完结了运用脉冲宽度调制技能(PWM)进行直流电机的变速。
由于在H桥电路中,只要PWM1与PWM2电平互为相反时电机才干驱动,也便是PWM1与PWM2同为高电平或同为低电平时,都不能作业,所以上图中的实践脉冲宽度为B,
咱们把PWM波的周期定为1ms,占空比分100级可调(每级级差为10%),这样守时器T0每0.01ms发生一次守时中止,每100次后进入下一个PWM波的周期。上图中,占空比是60%,即输出脉冲的为0.6ms,断开脉冲为0.4ms,这样电枢电压为5*60%=3V。
咱们评论的是能够正转回转的,假如只按一个方向转,咱们就只需把PWM1置为高电平或低电平,只改动另一个PWM2电平的脉冲改动即可,,如下图(Q4导通,Q3闭合,电机只能顺时针调整滚动速度)
C言语代码:
#include
#define uchar unsigned char
#define uint unsigned int
sbit K5=P1^4;
sbit K6=P1^5;
sbit PWM1=P1^0;
sbit PWM2=P1^1;
sbit FMQ=P3^6;
uchar ZKB1,ZKB2;
void delaynms(uint aa)
{
uchar bb;
while(aa–)
{
for(bb=0;bb<115;bb++) //1ms基准延时程序
{
;
}
}
}
void delay500us(void)
{
int j;
for(j=0;j《57;j++)
{
;
}
}
void beep(void)
{
uchar t;
for(t=0;t《100;t++)
{
delay500us();
FMQ=!FMQ; //发生脉冲
}
FMQ=1; //封闭蜂鸣器
delaynms(300);
}
void main(void)
{
TR0=0; //封闭守时器0
TMOD=0x01; //守时器0,作业办法1
TH0=(65526-100)/256;
TL0=(65526-100)%256; //100us即0.01ms中止一次
EA=1; //开总中止
ET0=1; //开守时器0中止
TR0=1; //发动守时器T0
ZKB1=50; //占空比初值设定
ZKB2=50; //占空比初值设定
while(1)
{
if(!K5)
{
delaynms(15); //消抖
if(!K5) //确认按键按下
{
beep();
ZKB1++; //添加ZKB1
ZKB2=100-ZKB1; //相应的ZKB2就削减
}
}
if(!K6)
{
delaynms(15); //消抖
if(!K6) //确认按键按下
{
beep();
ZKB1–; //削减ZKB1
ZKB2=100-ZKB1; //相应的ZKB2添加
}
}
if(ZKB1》99)
ZKB1=1;
if(ZKB1《1)
ZKB1=99;
}
}
void time0(void) interrupt 1
{
staTIc uchar N=0;
TH0=(65526-100)/256;
TL0=(65526-100)%256;
N++;
if(N》100)
N=0;
if(N《=ZKB1)
PWM1=0;
else
PWM1=1;
if(N《=ZKB2)
PWM2=0;
else
PWM2=1;
}
//闪现:电机转速到最高后,也便是N为1或99时,再按一下,就变到99或1,
//电机反方向旋转以最高速度
结语
关于pwm的相关介绍就到这了,期望经过本文能让你对pwm有更全面的知道。