这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » 什么是PWMPWM控制小车速度方法

共1条 1/1 1 跳转至

什么是PWMPWM控制小车速度方法

工程师
2022-07-16 23:45:24     打赏

首先你的先知道什么是PWM。PWM是一种脉宽调制技术。

poYBAGK1NP-AJ9PpAAC-wA25oYo918.png

简单的说就是在一个周期内高电平所占用的时间,通过改变脉冲的周期可以调频,改变脉冲的宽度或占空比可以调节驱动上的电压。

pYYBAGK1NPeAcB9sAAZtrM1aw80314.png

将产生的PWM信号接到L298N的ENA和ENB端调节不同的占空比从而调节速度

第一种方法用单片机的定时器模拟出PWM。假如你用定时器延时100ms,在50ms之前某一个引脚为低电平,50ms之后该引脚为高电平,这样高电平占用的时间为1/2,此时该引脚就会产生50%的占空比信号。

程序如下:

#include《reg52.h》

unsigned chartimer1;

sbit PWM=P1^1;

void system_Ini()

{TMOD|= 0x11;

TH1 = 0xfe; //11.0592

TL1 = 0x33;

TR1 =1;

IE=0x8A;

}

main()

{ system_Ini() ;定时器初始化

while(1)

{ if(timer1》100) timer1=0;

if(timer1《=30) pwm=0;//产生30%的占空比

else PWM=1;

}

}

另一种方法就是利用简单的延时产生PWM方波信号

#include《reg52.h》

unsigned char count=0;

sbit PWM_1=PI^1;//利用P1^1产生PWM

void mian()

{while(1)

for(count=0;count《=100;count++) //让单片机记100个数

{

If(count《=50){ PWM_1=1;}//前一半时间为高电平

else

PWM_1=0//后一半时间为低电平这样就产生了50%的占空比

}

PWM不仅能够控制小车速度还可以控制小灯的亮灭程度,朋友们可以去试试




共1条 1/1 1 跳转至

回复

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