机器人教程3:直流电机驱动及L298N模块
2、设计中的三个关注点
3、H桥电路
4、驱动芯片选择时考虑的问题
5、L298芯片及驱动模块
6、电机正反转程序
7、双电机差速转向的原理
8、利用差速实现小原原地打转程序
1、直流电机简介
直流电机是智能小车及机器人制作必不可少的组成部分,它主要作用是为系统提供必须的驱动力,用以实现其各种运动。目前市面的直流电机主要分为普通电机和带动齿轮传动机构的直流减速电机。如图1和图2所示。
图1日本马步奇高速电机RS380图2 N20减速直流电机
对于不太追求速度的场合应优先选用减速直流电机,如足球机器和灭火机器人等追求功能而对速度要求不高的场合,如图3,此车的传动比通常为几十到几百左右。一般对同一型号的减速电机,厂家都会提供多种传动比的产品提供给用户,应根据需要加以选择。
图3普通减速电机应用
而对于普通直流电机,由于转速比较高,具体应用时应加齿轮传动机构,当然也可以直接选择减速直流电机,但如果对于一些速度要求比较高的应用,如飞思卡尔智能车车模,由于该比赛属于竞速赛,对速度要求比较高,市面上一般很难找到合适的减速电机,此时就需要自己设计减速机构,如图4为飞思卡尔的电机和减速机构图,此传动机构传动比为1:10左右,使得小车在空载的情况下可达到上千转。
图4飞思卡尔智能车B车模
无论是普通直流电机还是减速电机,其电机部分目前基本都是无刷直流电机,关于什么叫无电机以及内部结构如何,这里我们不去深究,下面重点介绍一下直流电机在实际使用过程在硬件的设计及软件的编写中应当关注的三个方面,这里的前提是你已经根据需要选择好了合适传动比的电机。
2、设计中的三个关注点
1)如何增大驱动
2)如何实现换向
3)如何实现调速
对于第一个问题,主要原因是电机属于大功率的器件,而单片机的I/O口所提供的电流往往十万有限,所以必须外加驱动电路,比如说由三极管组成放大电路。
对于第二个问题,直流电机的方向改变需要改变电机的极性,即正负反接,但目前大多数机器人制作中使用的是直流无刷电机,由于没有电刷,而供电电源通常又为单电源,所以需要设计一个电子开关以实现换向功能。
对于第三个问题,机器人是一个需适应不同环境的智能体,其运动速度需要不断的改变,此时就需要想法设计相应电路以实现调速度。
上面的三个问题是电机控制中必须要考虑的问题,可以通过硬件的方法实现,也可以通过软件的方法实现,当然也可以采取硬软结合的方法解决。目前比较通用的方法是,设计H桥电路和利用单片机产生PWM波信号。
H桥电路是用硬件的方法设计一个电路,它可以解决前面两个问题。而第三个问题速度的调节则是通过软件的方法,利用单片机I/O口生产PWM波信号加以实现。
这一节我们主要介绍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个开关全部断开,则电机惯性所产生的电动势将无法开成电路,从而也就不会产生阻碍运动的感应电流,电机将惯性转动较长时间。
以上电路只是说明的原理,实际电路中我们通常将来四个开关换成三
机器人直流电机驱动L298N模 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)