单片机PWM控制直流电机的速_第1页
单片机PWM控制直流电机的速_第2页
单片机PWM控制直流电机的速_第3页
单片机PWM控制直流电机的速_第4页
单片机PWM控制直流电机的速_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、用单片机控制直流电机的速度 直流调速器就是调节直流电动机速度的设备,上端和交流电源连接,下端和直流电动机连接,直流调速器将交流电转化成两路输出直流电源,一路输入给直流电机砺磁(定子),一路输入给直流电机电枢(转子),直流调速器通过控制电枢直流电压来调节直流电动机转速。同时直流电动机给调速器一个反馈电流,调速器根据反馈电流来判断直流电机的转速情况,必要时修正电枢电压输出,以此来再次调节电机的转速。直流电机的调速方案一般有下列3种方式:· 1、改变电枢电压; · 2、改变激磁绕组电压; · 3、改变电枢回路电阻。 使用单片机来控制直流电机的变速,一般采用调节

2、电枢电压的方式,通过单片机控制PWM1,PWM2,产生可变的脉冲,这样电机上的电压也为宽度可变的脉冲电压。根据公式U=aVCC其中:U为电枢电压;a为脉冲的占空比(0<a<1);VCC直流电压源,这里为5V。电动机的电枢电压受单片机输出脉冲控制,实现了利用脉冲宽度调制技术(PWM)进行直流电机的变速。因为在H桥电路中,只有PWM1与PWM2电平互为相反时电机才能驱动,也就是PWM1与PWM2同为高电平或同为低电平时,都不能工作,所以上图中的实际脉冲宽度为B,我们把PWM波的周期定为1ms,占空比分100级可调(每级级差为10%),这样定时器T0每0.01ms产生一次定时中断,每10

3、0次后进入下一个PWM波的周期。上图中,占空比是60%,即输出脉冲的为0.6ms,断开脉冲为0.4ms,这样电枢电压为5*60%=3V。我们讨论的是可以正转反转的,如果只按一个方向转,我们就只要把PWM1置为高电平或低电平,只改变另一个PWM2电平的脉冲变化即可,如下图(Q4导通,Q3闭合,电机只能顺时针调整转动速度)C语言代码:#include<AT89X52.h>#define uchar unsigned char#define uint unsigned intsbit K5=P14;sbit K6=P15;sbit PWM1=P10;sbit PWM2=P11;sbit

4、FMQ=P36;uchar ZKB1,ZKB2;void delaynms(uint aa)  uchar bb;  while(aa-)     for(bb=0;bb<115;bb+)     /1ms基准延时程序       ;      void delay500us(void)  int j;  for(j=0;j<57;j+)     

5、0; void beep(void)  uchar t;  for(t=0;t<100;t+)     delay500us(); FMQ=!FMQ;   /产生脉冲    FMQ=1;    /关闭蜂鸣器  delaynms(300);void main(void)  TR0=0;   /关闭定时器0  TMOD=0x01;  /定时器0,工作方式1  TH0=(65526-100)/25

6、6;  TL0=(65526-100)%256;    /100us即0.01ms中断一次  EA=1;        /开总中断  ET0=1;       /开定时器0中断  TR0=1;       /启动定时器T0  ZKB1=50;     /占空比初值设定  ZKB2=50;&

7、#160;    /占空比初值设定  while(1)     if(!K5)    delaynms(15);     /消抖   if(!K5)      /确定按键按下        beep();    ZKB1+;      /增加ZKB1

8、     ZKB2=100-ZKB1;    /相应的ZKB2就减少           if(!K6)    delaynms(15);     /消抖   if(!K6)      /确定按键按下        beep(); 

9、;   ZKB1-;      /减少ZKB1     ZKB2=100-ZKB1;    /相应的ZKB2增加     if(ZKB1>99) ZKB1=1; if(ZKB1<1) ZKB1=99;    void time0(void) interrupt 1  static uchar N=0;  TH0=(65526-100)/256;  TL0=(65526-100)%256;  N+;  if(N>100)  N=0;  if(N<=ZKB1)  PWM1=0; 

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论