这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » STM32 » 【转载】PWM与电机调速--from嗷呜

共1条 1/1 1 跳转至

【转载】PWM与电机调速--from嗷呜

工程师
2023-04-12 15:46:39     打赏
1、PWM含义

PWM(Pulse Width Modulation)即脉冲宽度调制。如下图所示,方波的周期T=20ms,方波的高电平持续时间为t。T不变的情况下,调整t时长,即为PWM,其中t/T的值称作占空比。


微信图片_20230412153945.png

2、C51单片机实现PWM

使用定时器产生1ms的定时,变量pwm每1ms增加1。当pwm小于duty时ENA输出高电平,ENA高电平持续时间为duty;当pwm大于duty时ENA输出低电平,ENA低电平持续时间为20-duty;当pwm大于20时,pwm归0。程序中的duty就是上图中的t,控制占空比;程序中的20就是上图中的T,控制方波周期。

void main()                               
{    
TMOD=0X01;      
TH0= 0XFC;    //1ms定时初值  
TL0= 0X18;  
TR0= 1;        
ET0= 1;        
EA=1;        
duty=5;  
…}
void timer0() interrupt 1 
{  
TH0=0XFC;      
TL0=0X18;  
pwm++;       
 if(pwm<=duty)    
 {    
 ENA=1;  
  }  else   
  {    
  ENA=0; 
   }  
   if(pwm>=20) 
    {    
    pwm=0;  
    }
    }
3、电机调速

如果ENA=1时电机工作,ENA=0时电机不工作,电机工作的时间为duty,调整duty的值就可以调整一个周期内电机工作的时长。一个周期内,电机工作时间占比越高,电机的平均转速也就越快。


转载自网络,如有侵权,联系删除。



共1条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]