新闻中心

EEPW首页>嵌入式系统>设计应用> 机器人教程3:直流电机驱动及L298N模块

机器人教程3:直流电机驱动及L298N模块

作者: 时间:2016-12-01 来源:网络 收藏

1)驱动效率的转化

所谓驱动效率高,就是要将输入的能量尽量多的输出给负载,而驱动电路本身最好不消耗或少消耗能量,具体到H桥上,也就是4个桥臂在导通时最好没有压降,越小越好。从电路上看,这主要取决于“开关”上的压降,其消耗为流过的电流乘以压降,电流大小主要取决于负载电机的需要,所以对于设计来说重点应考虑尽量减小开关上的电阻从而提高效率,而在选用驱动芯片时应当考虑所选用的芯片压降是否满足电机驱动力的需要,像参加过飞思卡尔智能车的朋友应该清楚,一般很少有人选择L298N芯片的,究其原因就是298N的自身压降太大造成功率消耗太大而不满足电机驱动需要造成的。

2)能够通过的驱动电流

每个芯片都有自身承受的最大电流,在设计时应保证电机的工作电流不会造成芯片的烧毁,像智能车制作过程中,电机的电流可以达到4-5A,而L298最大承受的电流不能超过2A,所以这也是一般不采用298N作为驱动芯片的另一个原因。

3)芯片的价格

对于器件的价格,一般在业余的制作基本不会考虑太多,但真正在产品的设计中,价格却是除了性能外必须考虑的另一个关键因素,像刚刚上面提到了L298N由于自身压降太大,所承受的电流太少,所以不满足智能车电机的需要,所以有的朋友会说,298N芯片不好,不能说不好,要知道从价格上7970是298的3倍之多,像做一般速度比较低的机器人,298芯片完全能够满足要求。

综上所述,在选择驱动芯片应从价格、驱动电流及压降等方面给合考虑。

5、L298芯片及驱动模块

L298N内部的组成其就是上面讲的H桥驱动电路,所以工作原理我以上介绍的H桥相同,这里我们不在叙述,在使用时重点要了解其引脚的功能和主要的性能参数。引脚图如图12所示。



图12 L298N的引脚图

L298N是ST公司生产的一种高电压,大电流的电机驱动芯片。该芯片采用15脚封装。主要特点是:工作电压高,最高工作电压可达46V,输出电流大,瞬间峰值可达3A,持续工作电流为2A;额定功率为25W。内含两个H桥的高电压大电流全桥式驱动器,可以用来驱动直流电机和步进电机、继电器线圈等感性负载;采用标准逻辑电平信号控制;具有两个用控制端,在不受输入信号影响的情况下允许或禁止器件工作有一个逻辑电源输入端,使内部逻辑电路部分在低电压下工作;可以外接检测电阻,将变化量反馈给控制电路。使用L298N芯片驱动电机,该芯片可以驱动一台两相步进电机和四相步进电机,也可以两台直流电机。L298N模块的驱动电路图如图13所示。



图13 L298N电路图

对于以上电路图有以下几点说明:

1)电路图中有两个电流,一路为L298工作需要的5V电源VCC,一路为驱动电机用的电池电源VSS。

2)1脚和15脚有的电路在中间串接了大功率的电阻,可以不加

3)八个续流二极管是为了消除电机转动时的尖峰电压保护电机而设计,简化电路可以不加。

4)6脚和11脚为两路电机通道的使能开关,高电平使能所以可以直接接高电平,也可以交由单片机控制。

5)由于工作时L298的功率较大,可以适当加装散热片。

L298模块的的外形图如图14所示:



图14 L298N模块外形图

6、电机正反转程序

下面写一个程序让小车上一个电机正转。

#include

#define uint unsigned int

#define uchar unsigned char

sbit PWM1=P2^0;//接IN1控制正转

sbit PWM2=P2^1;//接IN2控制反转

void main()

{

while(1)

{

PWM1=1;

PWM2=0;

}

}

下面写一个程序让小车上两个个电机正转,实现小车的前行。

#include

#define uint unsigned int

#define uchar unsigned char

sbit PWM1=P2^0;//接IN1控制正转

sbit PWM2=P2^1;//接IN2控制反转

sbit PWM3=P2^2;//接IN1控制正转

sbit PWM4=P2^3;//接IN2控制反转

sbit PWM5=P2^4;//接IN1控制正转

sbit PWM6=P2^5;//接IN2控制反转

sbit PWM7=P2^6;//接IN1控制正转

sbit PWM8=P2^7;//接IN2控制反转

void main()

{

while(1)

{

PWM1=1;

PWM2=0;

PWM3=1;

PWM4=0;

PWM5=1;

PWM6=0;

PWM7=1;

PWM8=0;

}

}

void delay(uint z)

{

uint x,y;

for(x=z;x>0;x--)

for(y=500;y>0;y--);

}

7、双电机差速转向的原理

ZN-1A智能小车有两种转向的方式,差速转向和舵机转向。由于差速转向目前市面上的资料和相关程序比较多,所以本教程绝大部分程序采用后轮驱动,前轮舵机实现转向的控制方式。这里简要介绍一下差速转向的原理及方法,并给出一个简单的程序,更复杂的程序请大家参考相关的资料,如可以利用ZN-1A智能小车实现小车的直立运动,即两轮直立前行,目前世界上比较风行的两轮直代步车就是利用这种形式实现,不过要要做两轮直立时涉及到平衡的问题,需对加速度计和陀螺仪的知道有所了解,有兴趣朋友可以利用本小车实现直立的功能,这里不多作介绍。

所谓的差速,是指左右两车轮的速度差,假如左边车轮比右边的快,则小车会偏向右。同时,左的的车轮转速比右的慢,那么小车会向左边转动。目前主要有以下两种方式。

(1)小车向左转,可是是左轮停止,左轮继续转动,这样可实现左转,这种方式实现小角度的转弯,在角度不大时可采用此种方式。

(2)小车向左转,可以是左轮反转,右轮正转,这样可以实现大角度的左转,甚至可以进行原地打转。

同理可推出小车如何向右转向。

下面给出一个利用后轮电机差事运动实现小车原地打转的程序。

8、利用差速实现小原原地打转程序


上一页 1 2 3 下一页

评论


技术专区

关闭