可以用定时器控制直流电机转速吗,51单片机的,循迹小车用,可以的话能详细讲一下吗,谢谢

2020-06-23 科技 73阅读
直流电机常用的调速方法是调电压,为了减小调节功耗,常用PWM方式来调节电压
用定时器产生PWM(脉冲宽度调节)信号是不错的 选择
原理是定时器周期性产生中断,用一变量a 来 计算中断次数,每次中断a的值加1
假设中断周期(定时器定时长度)是100us,中断100次(10ms)让a清0,并让单片机某一引脚P1^0输出高电平
另设一变量b(b<100),当a的值和b的值相等时,让该引脚输出低电平,这样就就在P1^0引脚获得了一定频率(本例是100HZ,有点低)和占空比(b/100)的方波,改变b的值就改变了占空比
这个方波经放大和滤波后即可驱动直流电机
中断程序如下:
void timer0 ( ) interrupt 1
{
TH0=(65536-100)/256;//假设时钟频率12M
TH0=(65536-100)%256;
a++;
if(a>=b) P1.0=0;
if(a==100)
{P1.0=1;a=0;}
}
如果让定时器工作在自动重装模式,中断可以更频繁一些(中断太频繁,中断程序根本完不成),同样调节精度下工作频率可以更高
如果想获得更高的频率,要用带硬件PWM功能的单片机
声明:你问我答网所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系fangmu6661024@163.com