阅读 182

proteus怎么添加直流电压源(详解proteus交流电压源设置)

1. 基于proteus的51单片机开发实例22-L298N驱动直流电机

1.1. 实验目的

图1 L298驱动直流电机

在上一实例中,我们使用H桥驱动直流电机实现正转、反转。但是自己搭建电机驱动电路存在两个问题:电路复杂;分立元器件的电性能需要严格一致并且稳定、可靠。在本实例中,我们用专用的电机驱动芯片L298来驱动直流电机。

1.2. 设计思路

在本例中,使用专用的电机驱动芯片L298来驱动控制直流电机,这样做可以大大简化电路设计,并且电路性能更为可靠和稳定。

1.3. 基础知识

电机专用驱动芯片L298从原理上来说,也是H桥驱动电路。它的输出功率大,输出电流最大可达4A,最高工作电压可到50V。用来驱动一般的大功率直流电机完全没有问题。更为重要的是,L298的输入控制端可以直接连到单片机的管脚上,因而非常适合单片机控制。

L298的内部结构如下图所示。

图2 L298内部结构

从图中可以看出,引脚IN1~IN4是逻辑电平输入引脚:如果接直流电机的话,IN1、IN2这两个脚控制一个直流电机;IN3、IN4这两个脚控制另一个直流电机。例如IN1输入高电平1,IN2输入低电平0,对应OUT1、OUT2两个引脚上接的直流电机正转;IN1输入低电平0,IN2输入高电平1,对应电机反转。

ENA、ENB:L298的使能端(高电平有效),可通过这两个端口实现PWM调速。

下图是L298直接驱动两路直流电机的电路图。

图中的D1~D8是8个续流二极管。

图3 L298驱动两路直流电机

这里说到了续流二极管,我们顺便来了解一下续流二极管是什么,起什么作用?

严格来说,续流二极管并不是一种真正严格意义上的电子元器件,一般快速恢复二极管或者肖特基二极管都可以作为续流二极管,由此可见“续流二极管”并不是一个实质的元件,它只不过是一个在电路中起到“续流”作用的二极管罢了。

“续流二极管”在电路中一般用来保护元件不被感应电压击穿或烧坏,以并联的方式接到产生感应电动势的元件两端,并与其形成回路,使其产生的高电动势在回路以续电流方式消耗,从而起到保护电路中的元件不被损坏的作用。而电机一般都是感性负载,所以在电机驱动电路中,续流二极管是少不了的。

1.4. 电路设计

图1是本实例的电路图。电路中,L298的IN1和IN2分别接VCC和GND,这种接法可以使直流电机正转,如果反过来接,则直流电机反转。

OUT1和OUT2接直流电机两端。D1~D4这四个二极管是续流二极管。

L298的使能端ENA接单片机的一个I/O口,当该端口输出高电平时,L298被使能,电机开始转动。反之,电机停止转动。

1.5. 程序设计

本实例程序代码如下。

#include 

   
sbit MotoENA = P2^3;    //使能引脚

unsigned char MotoState=0;


int main(void)
{
	IE=0x85;//外部中断配置
	TCON=0x00;
	
  while(1)
  {
	if(MotoState==1)//启动按键按下,电机开始转动
		MotoENA=1;
	if(MotoState==0)//停止按键按下,电机停止转动
		MotoENA=0;
  }
}

//外部中断0服务程序,中断发生,控制电机转动
void int1(void) interrupt 0
{
	MotoState=1;
}

//外部中断1服务程序,中断发生,控制电机停转
void int2(void) interrupt 2
{
	MotoState=0;
}

本程序中,直流电机的启动、停止根据两个按键的状态决定,这两个按键连接在单片机的两个外部中断引脚上。当然,也可以不使用外部中断功能,直接用普通I/O口的输入检测功能就可判断按键的状态,但是考虑到对按键事件的响应速度,使用外部中断更为合适。

1.6. 实例仿真

编写程序代码,编译生成HEX文件,将HEX文件装载到proteus电路的单片机中,开始仿真,通过按下不同的按键观察电机的运行状态。需要注意的是,当停止开关按下后,电机由于惯性的作用,不会立即停止转动,而是转速慢慢下降,直至停转。

1.7. 总结

通过本实例,我们学习了电机驱动芯片L298的电路设计和编程实现。同时也顺便了解了续流二极管的作用和使用方法。

文章分类
百科问答
版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
相关推荐