电子开发网

电子开发网电子设计 | 电子开发网Rss 2.0 会员中心 会员注册
搜索: 您现在的位置: 电子开发网 >> 电子开发 >> 单片机实例 >> 正文

51单片机学习笔记直流电机驱动(PWM)C语言程序

作者:佚名    文章来源:本站原创    点击数:    更新时间:2023/4/4

直流电机驱动(PWM)

直流电机介绍

直流电机是一种将电能转换为机械能的装置。一般的直流电机有两个电极,当电极正接时,电机正转,当电极反接时,电机反转,直流电机主要由永磁体(定子)、线圈(转子)和换向器组成,除直流电机外,常见的电机还有步进电机、舵机、无刷电机、空心杯电机等

PWM介绍

PWM(Pulse Width Modulation)即脉冲宽度调制,在具有惯性的系统中,可以通过对一系列脉冲的宽度进行调制,来等效地获得所需要的模拟参量,常应用于电机控速、开关电源等领域。因为利用的是数字信号的宽度变量,而不是模拟信号的宽度变量,因此对于单片机之类的物品而言,更容易产生对应宽度变量来控制。

PWM重要参数:

频率 = 1 / TS

占空比 = TON / TS

精度 = 占空比变化步距

频率越高,电平变化越快,越能等效出连续的模拟信号曲线。(如果频率较低,应用于电机控制时,会导致电机运行断断续续——因为电平是0跟1之间变化)

占空比指的是在一个频率段(一个高电平加一个低电平)中,高(低)电平所用的时间占据总频率段时间的百分比;

也可用TON:TOFF来进行表示(但是不常用,因为这种表示的是比值,没有百分比直观)

精度指的是相邻占空比的变化步距。举个例子来讲,第一个占空比为1%,第二个为2%,第三个为3%,那么其精度就为1%;而即第一个占空比为0.1%,第二个为0.2%,第三个为0.3%,那么其精度为0.1%;但是,前者的精度没有后者高,精度越高,占空比调节越细致。

在电机所在电路直接接一个电位器进行调速是不可行的,因为电机运行时,电位器只能接入几欧的电阻,而电位器为纯电阻电路部件,因此全部电能转化为热能,最终会导致电位器烧坏,但是电机不会烧坏,因为它是非纯电阻。为了让电机的速度得以调控或更好地保护电路,我们可以利用PWM控制电机的导通,利用1ms通电,1ms断开的思路,来进行操作电机。

代码

呼吸灯代码

#include <REGX52.H>

sbit LED=P2^0;
void Delay(unsigned int t)
{
 while(t--);
}
void main()
{
 
 unsigned char Time,i;
 while(1)
 {
  for(Time=0;Time<100;Time++)
  {
   for(i=0;i<20;i++)
   {
    LED=0;
    Delay(Time);
    LED=1;
    Delay(100-Time);
   }
   
  }
  for(Time=100;Time>0;Time--)
  {
   for(i=0;i<20;i++)
   {
    LED=0;
    Delay(Time);
    LED=1;
    Delay(100-Time);
   }
   
  }
  
 }
}

直流电机调速代码

#include <REGX52.H>
#include "Key.h"
#include "Delay.h"
#include "Nixie.h"
#include "Timer0.h"
sbit Motor=P1^0;
unsigned char Counter,Compare;
unsigned char KeyNum,Speed;
void main()
{
 Timer0_Init();
 Compare=5;
 while(1)
 {
  KeyNum=Key();
  if(KeyNum==1)
  {
   Speed++;
   Speed%=4;
   if(Speed==0){Compare=0;}  //电机速度的调节
   if(Speed==1){Compare=50;}
   if(Speed==2){Compare=75;}
   if(Speed==3){Compare=100;}
   
  }
  Nixie(1,Speed);
  
 }
}
void Timer0_Routine()  interrupt 1
{
 TL0 = 0x9C;  //设置定时初值
 TH0 = 0xFF;  //设置定时初值
 Counter++;
 Counter%=100;
 if(Counter<Compare)
 {
  Motor=1;
 }
 else
 {
  Motor=0;
 }
 
 
}
Tags:51单片机,C语言,直流电机  
责任编辑:admin
请文明参与讨论,禁止漫骂攻击,不要恶意评论、违禁词语。 昵称:
1分 2分 3分 4分 5分

还可以输入 200 个字
[ 查看全部 ] 网友评论
关于我们 - 联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明 - 在线帮助 - 文章列表
返回顶部
刷新页面
下到页底
晶体管查询