您当前的位置:五五电子网电子知识电子制作自动控制-单片机用单片机I/0口控制电机的运转实验 正文
用单片机I/0口控制电机的运转实验

用单片机I/0口控制电机的运转实验

点击数:7180 次   录入时间:03-04 11:49:50   整理:http://www.55dianzi.com   自动控制-单片机

  智能车的车轮是由电机驱动的,电机正转时智能车前进,反转时后退;两个电机配合智能车可以完成前进、后退、左右转弯等动作。下面介绍电机控制电路,以及单片机如何实现对该电路的控制。
  
  下图(a)是简化的控制电机的电桥电路,本电路用单片机的两条口线P3.5和P2.4同时控制,下图(b)是该电路的等效图,4个三极管的作用相当于4个开关,电机连接在电桥的中央,我们来分析电路的控制原理。

  如下图(a)所示,当单片机P3.5输出高电平,同时P2.4输出低电平时,三极管Q2和Q3导通,Q1和Q4截止,下图(b)是这时的等效图。下图(a)中的粗线标出了电流途径,从电机右端流向左端,电机正转:


  
  如下图(a)所示,当单片机P3.5输出低电平,同时P2.4输出高电平时,三极管Q1和Q4导通,Q2和Q3截止,下图(b)是这时的等效图。下图(a)中的粗线标出了电流途径,从电机左端流向右端,电机反转:


  
  当P3.5和P2.4同时为高电平或低电平时,4个三极管都不能导通,这时电机中没有电流,不转动。

  下面的程序使电机正转10秒钟,反转10秒钟:

  #include<reg52.h>
  
  sbit drive1=P3J;//电桥电路左端的控制变量
  
  drive1定义为P3.5口
  
  sbit drive2=P2^4://电桥电路右端的控制变量drive2定义为P2.4口

  //主程序
  
  void main(void)
  
  {
  
  unsignedchari;
  
  for(;;){
  
  For(i=0;i<20;1++)delay();//执行20次,延时10秒
  
  //delay()是延时0.5秒的程序,
  
  drivel=1;drive2=0;//电机正转
  
  for(i=0:i<20;i++)delay()://执行20次,延时10秒
  
  drivel=0;drive2=1;//电机反转,}

  可以使用脉宽调制(PWM)的方法来控制电机转动的速率,例如要使电机正转,可以使drive1为高电平(P3.5=1),而drive2输出不同占空比的方波,来控制电机以不同的速率运转。STCl2C54lO单片机有4个I/0口可以用作PWM输出,P3.5和P2.4就是其中两个。




本文关键字:电机  单片机  自动控制-单片机电子制作 - 自动控制-单片机