lm298驱动电机c语言程序,机器人教程3:直流电机驱动及L298N模块
这一节我们主要介绍H桥电路,后面的章节我们会专门介绍到PWM调速问题。
3、H桥电路
电机做好后后引出两个极,如图5所示,给两个极能电就能够实现其转动,而改变其电源极性刚可以实现换向。
图5减速电机及电路图
前面我们说过必须要解决驱动力不足和换向问题,设计一般会采用两种方法,一是设计由分离元件组成的驱动电路实现,另一种方法则是采用专用的驱动芯片加以实现。由于专用的驱动芯片由于结构简单、价格便宜、可靠性高等特点,因而被广泛的应用实现电机的驱动。电机的驱动芯片很多如L298N、BST7970、MC33886等,这里我们介绍智能机器人中比较常用的LM298N驱动模块,BST7970、MC33886一般在电机功率比较大的场合适用。在介绍LM298N驱动模块之前,我们先介绍一下H桥电路,需要说明的是时,在下面的电路由于内部采用了三极管,三极管本身起到放大的作用,即增大了驱动电流,所以在下面的讲解中我们主要侧重讲解如何实现换向功能。
H桥电路可以用如图6来表示其原理:
图6 H桥简单电路
从图中可以看出,其形状类似于字母“H”,作为负载的直流电机像“桥”一样架在上面,所以称为“H桥驱动”,4个开关所在的位置就称为“桥臂”。
从图中可以看出,假设开关A、D接通,电机正向转动,而开关B、C接通时,直流电机将反向转动,从而实现了电机的正反控制。当然实际应用中我们还可以得到其它两种状态:
1)刹车,即将A、C或B、D接通,则电机惯性转动产生的电动势将被短路,形成阻碍运动的感应电流,开成“刹车”作用。
2)惰行,4个开关全部断开,则电机惯性所产生的电动势将无法开成电路,从而也就不会产生阻碍运动的感应电流,电机将惯性转动较长时间。
以上电路只是说明的原理,实际电路中我们通常将来四个开关换成三极管。如图7所示,H桥式电机驱动电路包括4个三极管和一个电机。要使电机运转,必须导通对角线上的一对三极管。根据不同三极管对的导通情况,电流可能会从左至右或从右至左流过电机,从而控制电机的转向。由于H桥电路可以很方便的实现电机的正反转的驱动因而得到了广泛应用。
图7典型的H桥电路
要使电机运转,必须使对角线上的一对三极管导通。例如,如图图8所示,当Q1管和Q4管导通时,电流就从电源正极经Q1从左至右穿过电机,然后再经Q4回到电源负极。按图中电流箭头所示,该流向的电流将驱动电机顺时针转动。当三极管Q1和Q4导通时,电流将从左至右流过电机,从而驱动电机按特定的方向转动。
图9所示为另一对三极管Q2和Q3导通的情况,电流从右至左流过电机。当三极管Q2和Q3导通时,电流将从右至左流过电机,从而驱动电机沿另一方向转动。
这里需要注意的是,电机一般会引出两个极,但并无正负之分,所谓的正反转也只是我们人为定义,具体要看实际的应用和安装情况。
图8电机正转图9电机反转
驱动电机时,保证H桥上两个同侧的三极管不会同时导通非常重要,如果三极管Q1和Q2同时导通,那么电流就会从正极穿过两个三极管直接回到负极,此时电路中除了三极管外没有其它任何负载,因此电路上的电流就可能达到最大值(该电流仅受电源性能限制),甚至烧坏三极管。基于上述原因,在实际驱动电路中通常要用硬件电路方便地控制三极管的开关。
图10所示就是基于这种考虑的改进电路,它在基本的H桥电路的基础上增加了4个与门和2个非门。4个与门同一个使能导通信号相接,这样,用这一个信号就能控制整个电路的开关。而2个非门通过提供一种方向输入,可以保证任何时候在H桥的同侧都只有一个三极管导通。
图10改进后的H桥驱动电路
采用以上方法,电机的运转只需要三个信号控制,如图11:两个方向信号和一个使能信号。如果DIR-L信号为0,DIR-R信号为1,并且使能信号是1,那么三极管Q1和Q4导通,电流从左至右流经电机,如图6所示;如果DIR-L信号变为1,而DIR-R信号变为0。那么Q2和Q3将导通,电流则反向流过电机。
图11驱动电机转动时的信号示意图
4、驱动芯片选择时考虑的问题
H桥电路虽然有着许多的优点,但是在实际的制作过程中,由于元件较多,电路和搭建也较为麻烦,增加了硬件设计的复杂度。所绝大多数制作中通常直接选用专用的驱动芯片。目前市面上专用的驱动芯片很多,如上面提到的L298N、BST7970、MC33886等,但到底我们应该选用哪咱芯片呢,当然每种芯片有自己的优势,我们应该根据设计需要从价格和性能上综合考虑才行,这里谈三个方面。
lm298驱动电机c语言程序,机器人教程3:直流电机驱动及L298N模块相关推荐
- 只能输入字母的c语言程序设计教程课后答案,c语言程序设计基础教程_习题答案20120319...
<c语言程序设计基础教程_习题答案20120319>由会员分享,可在线阅读,更多相关<c语言程序设计基础教程_习题答案20120319(54页珍藏版)>请在技术文库上搜索. 1 ...
- 创意c语言程序设计,重庆理工大学-c语言程序设计基础教程_习题答案(纪纲_金艳).doc...
重庆理工大学-c语言程序设计基础教程_习题答案(纪纲_金艳).doc 还剩 56页未读, 继续阅读 下载文档到电脑,马上远离加班熬夜! 亲,很抱歉,此页已超出免费预览范围啦! 如果喜欢就下载吧,价低环 ...
- c语言程序设计:现代方法 勘误,C语言程序设计基础教程----勘误记录
<C语言程序设计基础教程----勘误记录>由会员分享,可在线阅读,更多相关<C语言程序设计基础教程----勘误记录(4页珍藏版)>请在人人文库网上搜索. 1.程序设计基础教程C ...
- 机械工业c语言教程pdf,新编C语言程序计教程(机械工业出版社 钱雪忠 吕莹楠).doc...
新编C语言程序计教程(机械工业出版社 钱雪忠 吕莹楠) PAGE \* MERGEFORMAT33 新编C语言程序设计教程 习题及实验题部分答案 第1章 C 语言概述 1 习题 一.选择题 ADCDB ...
- c语言程序设计基础课后习题答案,2011级C语言程序设计基础教程课后习题答案
1.C 语言课后习题习题答案详解(11 级教材)第 1 章1.1 填空题1.1.1 应用程序 ONEFUNC.C 中只有一个函数,这个函数的名称是 _main .1.1.2 一个函数由_函数头 _和_ ...
- 只能输入字母的c语言程序设计教程课后答案,c语言程序设计基础教程_习题答案解析.doc...
c语言程序设计基础教程_习题答案解析.doc 习题答案 第1章 填空题 应用程序ONEFUNC.C中只有一个函数,这个函数的名称是__main . 一个函数由__函数头__和__函数体__两部分组成. ...
- 一段c语言的自加程序输出xyz,c语言程序设计基础教程_习题解答2012.doc
c语言程序设计基础教程_习题解答2012 C语言程序设计基础教程_习题答案2012 习题答案 第1章 填空题 应用程序ONEFUNCC中只有一个函数这个函数的名称是__main 一个函数由__函数头_ ...
- 万年历定时关机c语言代码,C语言程序设计能力教程电子万年历设计.doc
C语言程序设计能力教程电子万年历设计.doc 电子科技大学成都学院课程设计报告电子科技大学成都学院电子工程系课程设计报告课 程 名 称 C语言程序设计能力教程 设 计 题 目 万 年 历 指 导 教师 ...
- 大一c语言程序设计项目教程课,C语言程序设计项目教程 教学课件 ppt 作者 王瑞红 C语言程序设计项目教程习题答案...
C语言程序设计项目教程 教学课件 ppt 作者 王瑞红 C语言程序设计项目教程习题答案 习题答案模块 1 C 语言基础知识1. 选择题(1)C 语言中运算对象必须是整型的运算符是 (B ).A. %= ...
最新文章
- CSS 实现左侧固定,右侧自适应两栏布局的方法
- Linux下多显卡选择绘制实验记录
- 使用腾讯云发送短信API接口实现(完整流程)
- 无服务器安全性:将其置于自动驾驶仪上
- Oracle订单号就是授权号码,oracle多单号的说明
- fast-json.jar的用法
- 【python零基础入门学习】Python入门,带你快速学习Python 基础语法
- c#获取电脑硬件信息参数说明(CPU篇 Win32_Processor)
- python练手程序_写的python练习程序
- 7月29日绝地求生服务器维护,绝地求生7月29日更新到几点_绝地求生2020年7月29日更新维护时间安排一览_三六五吃鸡...
- js中base64编码
- ‼ gifsicle pre-build test failed
- 求职时,怎样判断一家公司是否靠谱?
- [JPA错误]javax.persistence.EntityNotFoundException: Unable to find xxx
- 利器!推荐一个记忆方法:间隔记忆法(利用艾宾浩斯遗忘曲线制定)
- DC学院数据分析师(入门)学习笔记----高级爬虫技巧
- 拉丁舞身形研究之恰恰恰
- 仙之侠道2玖章各个任务详情_仙之侠道2玖章
- DEFLATE 压缩算法
- 2017百度AI开发者大会召开,智能云计算分论坛聚焦ABC