pwm波调速原理
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Pwm电机调速原理
对于电机的转速调整,我们是采用脉宽调制(PWM)办法,控制电机的时候,电源并非连续地向电机供电,而是在一个特定的频率下以方波脉冲的形式提供电能。
不同占空比的方波信号能对电机起到调速作用,这是因为电机实际上是一个大电感,它有阻碍输入电流和电压突变的能力,因此脉冲输入信号被平均分配到作用时间上,这样,改变在始能端ENA和ENB上输入方波的占空比就能改变加在电机两端的电压大小,从而改变了转速。
此电路中用微处理机来实现脉宽调制,通常的方法有两种:(1)用软件方式来实现,即通过执行软件延时循环程序交替改变端口某个二进制位输出逻辑状态来产生脉宽调制信号,设置不同的延时时间得到不同的占空比。
(2)硬件实验自动产生PWM 信号,不占用CPU 处理的时间。
#define uint unsigned int
sbitpwm=P0^7;
sbit k1=P2^0;
sbit k2=P2^1;
bit bz;//定义一个按键是否松开的标志位
uchar b;
uchar m=5;//m为控制占空比的变量,初始占空比50%
void delay(uinti)
{while(i--);}
void dingshi() interrupt 1//定时中断
{
TL0=(65536-1000)%256; //1ms初始化
TH0=(65536-1000)/256;
b++;
if(b==10)
b=0;} //10ms周期定时
void main()
{EA=1;ET0=1;
TMOD=0x01;//定时0工作在方式1,1ms中断1次
TL0=(65536-1000)%256;
TH0=(65536-1000)/256;
TR0=1;//开中断
while (1)
{if((k1==0)&&(bz==0))
{delay(1110);
if(k1==0)
{bz=1;m++;if(m==11) m=10;}}//每按一次占空比自增10%
if((k2==0)&&(bz==0)) {delay(1110);if(k2==0){bz=1;m--;if(m==255) m=0;}}//每按一次占空比自减10%
if((k1==1)&&(k2==1)) bz=0;//判断按键是否松开}}。