贰拾:直流电机的驱动

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_17017545/article/details/82320391

这里写图片描述

直流电机

直流电机是电机的主要类型之一,由于它具有良好的调速性能,在许多调速性能要求较高的场合,得到广泛应用。在电子制作中也较多设计到直流电机的使用。
这里写图片描述

当负载一定时,流过直流电机的平均电流越大,产生的力矩就越大,从而直流电机的转速越快;当电流一定时,负载越大,直流电机的转速就越慢。

这里写图片描述

#直流电机的驱动
1、线性放大驱动
线性驱动器实际上是一个线性供放,原理如下。处理器输出的控制信号经D/A转换为电压信号,驱动器将这个信号进行线性功率放大后提供给电机。由于驱动器上通过的电流和压降都比较大,因此这种驱动方式最大的缺点就是功耗大,效率低。但由于线性功放不存在高频的开关动作,因此输出电压平稳,与PWM等开关驱动方式相比,电磁噪声和干扰要小得多。
这里写图片描述
2、开关驱动器

开关驱动是利用大功率晶体管的开关作用,将恒定的直流电源电压转换为一定的方波电压加在电机点枢上。与线性驱动方式不同,在这种驱动方式下,驱动器的功率管工作在开关状态,当器件开通时,器件的电流很大但压降却很小;器件关断时,压降很大电流却很小。因此驱动器的功率消耗小,发热量小,效率较高。通过控制开关的频率和脉宽,可以对电机的转动进行控制。
这里写图片描述

#直流电机的开关驱动电路
直流电机开关驱动器主要有两种,T型不可逆驱动器和H型可逆驱动器
这里写图片描述

原理讲解待补充!

实验

这里写图片描述

#代码

	
*   【课程21】 ****直流电机实验***********
*
*   【说  明】 ****
*		
*   【描  述】 ****实现电机的正转,反转,停止。
*
******************************************************************/
#include<reg51.h>		//51头文件,

//---------常用的两个宏定义-------------- 
#define uint8	unsigned char
#define uint16  unsigned int

sbit Motor_A = P1^0;
sbit Motor_B = P1^1;

sbit Key1 = P3^0;		//正转
sbit Key2 = P3^1;		//反转
sbit Key3 = P3^2;		//停止


//------------函数的声明-----------------
void DelayMS(uint16 dly);

void main(void)
{
	while(1)
	{
		/*if(Key1==0)				//正转
		{
			Motor_A = 0;
			Motor_B = 1;
		}
			
		else if(Key2==0)		//反转
		{
			Motor_A = 1;
			Motor_B = 0;
		}
		else if(Key3==0)		//停止
		{
			Motor_A = Motor_B = 0;
		}
		*/
		Motor_A = 0;
		Motor_B = 1;
		DelayMS(9);
		Motor_A = 0;
		Motor_B = 0;
		DelayMS(1);
	}	
}

/********************************************************
** 名称 :void DelayMS(uint16 dly)
** 功能 :毫秒级延时(24M的晶振)
** 入口参数 :dly
					用户的延时参数   
** 出口参数 :无   
*********************************************************/
void DelayMS(uint16 dly)
{
	uint16 x,y;
	for(x=dly;x>0;x--)
		for(y=247;y>0;y--);
}

猜你喜欢

转载自blog.csdn.net/qq_17017545/article/details/82320391