H桥电路原理及直流电机驱动编程

出处:http://blog.sina.com.cn/s/blog_6035432c0100hb1p.html

H桥电路原理及直流电机驱动编程

H桥电路原理及直流电机驱动编程

上图中所示为一个典型的直流电机控制电路。电路得名于“H桥驱动电路”是因为它的形状酷似字母H。4个三极管组成H的4条垂直腿,而电机就是H中的横杠(注意:图只是示意图,而不是完整的电路图,其中三极管的驱动电路没有画出来)。

H桥电路原理及直流电机驱动编程
H桥式电机驱动电路包括4个三极管和一个电机。要使电机运转,必须导通对角线上的一对三极管。根据不同三极管对的导通情况,电流可能会从左至右或从右至左流过电机,从而控制电机的转向。
要使电机运转,必须使对角线上的一对三极管导通。例如,如下图所示,当Q1管和Q4管导通时,电流就从电源正极经Q1从左至右穿过电机,然后再经 Q4回到电源负极。按图中电流箭头所示,该流向的电流将驱动电机顺时针转动。当三极管Q1和Q4导通时,电流将从左至右流过电机,从而驱动电机按特定方向转动(电机周围的箭头指示为顺时针方向)。

H桥电路原理及直流电机驱动编程

上图所示为另一对三极管Q2和Q3导通的情况,电流将从右至左流过电机。当三极管Q2和Q3导通时,电流将从右至左流过电机,从而驱动电机沿另一方向转动(电机周围的箭头表示为逆时针方向)。

 


典型的H桥驱动电路如下:

H桥电路原理及直流电机驱动编程
PWM1为1,PWM2为1时,Q1和Q2导通,节点1和2都是低电平,Q15和Q16导通,电机不工作

PWM1为0,PWM2为0时,Q1和Q2导通,节点1和2都是高电平,Q13和Q14导通,电机不工作

PWM1为1,PWM2为0时,Q1导通而Q2不导通,节点1是低电平而2是高电平,Q14和Q15导通,电机逆时针旋转

PWM1为0,PWM2为1时,Q1不导通而Q2导通,节点1是高电平而2是低电平,Q13和Q16导通,电机顺时针旋转

H桥电路原理及直流电机驱动编程
C语言代码:

功能:能是电机正转,逆转,停止。
#include<AT89X52.h>
#define uchar unsigned char
#define uint unsigned int

sbit Key_UP=P3^2;    //正转按键
sbit Key_DOWN=P3^3;    //反转按键
sbit Key_STOP=P3^4;    //停止按键

sbit ZZ=P1^0;     //控制端,用单片机的P1.0口
sbit FZ=P1^1;     //控制端,用单片机的P1.1口

sbit FMQ=P3^6;
uchar KeyV;
uchar TempKeyV;

 
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++)
  {
   ;
  }
}

void beep(void)
{
  uchar t;
  for(t=0;t<100;t++)
  {
   delay500us();
 FMQ=!FMQ;   //产生脉冲
  }
  FMQ=1;    //关闭蜂鸣器
  delaynms(300);
}



void main(void)
{
  ZZ=1;
  FZ=1;        //使直流电机停止运转
  while(1)
  {
   if(!Key_UP)
 KeyV=1;
 if(!Key_DOWN)
 KeyV=2;
 if(!Key_STOP)
 KeyV=3;
 if(KeyV!=0)
 {
   delaynms(10);
   if(!Key_UP)
   TempKeyV=1;
   if(!Key_DOWN)
   TempKeyV=2;
   if(!Key_STOP)
   TempKeyV=3;
      if(KeyV==TempKeyV)
   {
     if(KeyV==1)
  {
    beep();
    ZZ=1;
    FZ=0;
  }
  if(KeyV==2)
  {
    beep();
    ZZ=0;
    FZ=1;
  }
  if(KeyV==3)
  {
    beep();
    ZZ=1;
    FZ=1;
  }
   }
  }
  KeyV=0;
  TempKeyV=0;
  }
}



  • 6
    点赞
  • 66
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值