历史上的今天
返回首页

历史上的今天

今天是:2024年11月12日(星期二)

正在发生

2019年11月12日 | L298N电机驱动器设计资料 单片机例程+详细说明

2019-11-12 来源:51hei

Altium Designer画的L298N电机驱动器电路原理图和PCB图如下:
0.png?imageView2/2/w/550
电路图.JPG

制作出来的实物图如下:
L298N电机驱动器.jpg?imageView2/2/w/550

接线说明资料:
L298N驱动器与直流电机接线图.jpg?imageView2/2/w/550驱动器控制两相步进电机接线图.jpg?imageView2/2/w/550驱动器控制四相步进电机接线图.jpg?imageView2/2/w/550

附件中包含如下单片机控制例程:
例一、步进电机正转两相四拍程序
例七、四相步进电机正转四拍程序
例三、步进电机反转两相四拍程序
例九、四相步进电机反转四拍程序
例二、步进电机正转两相八拍程序
例五、步进电机两相四拍调速程序
例八、四相步进电机正转八拍程序
例六、步进电机两相八拍调速程序
例十、四相步进电机反转八拍程序
例十一、四相步进电机四拍调速程序
例十七、步进电机每按一下转3圈
例十三、四相步进电机八拍调速程序方法二
例十二、四相步进电机八拍调速程序
例十五、步进电机每按一下转1.8度
例十六、步进电机每按一下转3.6度
例十四、步进电机分档控制
例四、步进电机反转两相八拍程序

直流电机反转控制程序
直流电机外接位置开关调速正反转控制程序
直流电机实现定时正反转
直流电机正转控制程序
直流电机调速控制实例
直流电机调速控制程序

这是其中的一个例程:
步进电机两相八拍调速单片机源程序如下:

////////////////////////汇诚科技////////////////////

///////////////////步进电机调试程序/////////////


#include  


/*****P1.0=A ;P1.1=B ;P1.2=B' ; P1.3=A'****/ 

//////////////////////////////////////////////////////////////////////////////////////////////

/*******************************正转数组**************************************************/

  code unsigned char runz[8]={0x0e,0x0c,0x0d,0x09,0x0b,0x03,0x07,0x06};  //两相四线八拍工作方式

/*******************************反转数组**************************************************/

  code unsigned char runf[8]={0x06,0x07,0x03,0x0b,0x09,0x0d,0x0c,0x0e};  //两相四线八拍工作方式

unsigned char keycan=0;                //键值

unsigned char s,i,j,k,z;


int y=30;//定义转动速度,数值越大电机转速越慢反之则快


sbit P2_0=P2^0;//正转按键

sbit P2_1=P2^1;//反转按键

sbit P2_2=P2^2;//电机加速

sbit P2_3=P2^3;//电机减速


void delay(i)//延时函数

  {

      for(j=0;j      for(k=0;k<250;k++);

  }




void zrun()// 正转运行

{


   for(z=0;z<8;z++)

       { 

         P1=runz[z];

         delay(y);

       }

}


void frun()// 反转运行

{

     for(z=0;z<8;z++)

        {

            P1=runf[z];

            delay(y);

         }

}


main()

{

   while(1)

    {

       if(P2_0==0) //如果电机正转按键按下

      {

        keycan=1;         //键值等于1

      }

         if(P2_1==0) //如果电机反转按键按下

      {

        keycan=2;         //键值等于2

       }

                     switch (keycan)

                    {

                     case 1: zrun();  //键值等于1 正转

                                 break;

                     case 2: frun();  //键值等于2 反转

                     break;


                     }


             if(P2_2==0)  //  电机加速

      {

        y+=5;

      }

         if(P2_3==0)

      {                         // 电机减速

        y-=5;

       }


   }

}


L298N电机驱动器使用说明书

注意:本说明书中添加超链接的按CTRL并点击连接,即可看到内容。

电机驱动器.jpg?imageView2/2/w/550

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



简要说明:

  • 尺寸:80mmX45mm

  • 主要芯片:L298N、光电耦合器

  • 工作电压:控制信号直流5V;电机电压直流3V~46V(建议使用36伏以下)

  • 最大工作电流:2.5A

  • 额定功率:25W

特点:1、具有信号指示。

              2、转速可调

              3、抗干扰能力强

              4、具有过电压和过电流保护

              5、可单独控制两台直流电机

              6、可单独控制一台步进电机

              7、PWM脉宽平滑调速

              8、可实现正反转

              9、采用光电隔离

六、有详细使用说明书

七、提供相关软件
八、提供例程及其学习资料

驱动器结构详解


1.信号电源引入端



2.控制信号输入端


3.直流电机调速PWM脉宽信号输入端。(控制步进电机或者控制直流电机无需调速时,保持此状态)


4.控制信号指示灯

5.光电隔离(抗干扰)


6.核心芯片(L298N)


7.二极管桥式续流保护


8.电源滤波


9.端子接线

实例一:步进电机的控制实例

步进电机是数字控制电机,它将脉冲信号转变成角位移,即给一个脉冲信号,步进电机就转动一个角度,因此非常适合于单片机控制。步进电机可分为反应式步进电机(简称VR)、永磁式步进电机(简称PM)和混合式步进电机(简称HB)。

一、步进电机最大特点是:

1、它是通过输入脉冲信号来进行控制的。

2、电机的总转动角度由输入脉冲数决定。

3、电机的转速由脉冲信号频率决定。

二、步进电机的驱动电路

根据控制信号工作,控制信号由单片机产生。(或者其他信号源)

如图:按CTRL并点击(L298N驱动器与直流电机接线图)

三、基本原理作用如下:

两相四拍工作模式时序图:

步进电机

信号输入

第一步

第二步

第三步

第四步

返回第一步

正转

IN1

0

1

1

1

返回

IN2

1

0

1

1

返回

IN3

1

1

0

1

返回

IN4

1

1

1

0

返回

反转

IN1

1

1

1

0

返回

IN2

1

1

0

1

返回

IN3

1

0

1

1

返回

IN4

0

1

1

1

返回

(1)控制换相顺序

1、通电换相这一过程称为脉冲分配。

例如:

1、两相四线步进电机的四拍工作方式,其各相通电顺序为(A-B-A’-B’)依次循环。《例一、步进电机正转两相四拍程序》(通电控制脉冲必须严格按照这一顺序分别控制A,B相的通断。)

2、两相四线步进电机的四拍工作方式,其各相通电顺序为:

(A-AB-B-BA’-A’-A’B’-B’-B’A) 例二、步进电机正转两相八拍程序》依次循环。(出于对力矩、平稳、噪音及减少角度等方面考虑。往往采用八拍工作方式)

(2)控制步进电机的转向

如果给定工作方式正序换相通电,步进电机正转,如果按反序通电换相,则电机就反转。如:正转通电顺序是:(A-B-A’-B’ 依次循环。)则反转的通电顺序是:(B‘-A’-B-A依次循环。)

参考下例:

《例三、步进电机反转两相四拍程序》
《例四、步进电机反转两相八拍程序》

(3)控制步进电机的速度

如果给步进电机发一个控制脉冲,它就转一步,再发一个脉冲,它会再转一步。两个脉冲的间隔越短,步进电机就转得越快。调整单片机发出的脉冲频率,就可以对步进电机进行调速。(注意:如果脉冲频率的速度大于了电机的反应速度,那么步进电机将会出现失步现象)。

参考下例:

《例五、步进电机两相四拍调速程序》
《例六、步进电机两相八拍调速程序》

(4)四相电机的控制程序

如图:按CTRL并点击(驱动器控制四相步进电机接线图)

《例 一 、步进电机正转两相四拍程序》 《例七、四相步进电机正转四拍程序》
《例八、四相步进电机正转八拍程序》
《例九、四相步进电机反转四拍程序》
《例十、四相步进电机反转八拍程序》
《例十一、四相步进电机四拍调速程序》

《例十二、四相步进电机八拍调速程序》

《例十三、四相步进电机八拍调速程序方法二》
以下为参考程序:

《例十四、步进电机分档控制》

《例十五、步进电机每按一下转1.8度》
《例十六、步进电机每按一下转3.6度》
实例二:直流电机的控制实例

使用直流/步进两用驱动器可以驱动两台直流电机。分别为M1和M2。引脚A,B可用于输入PWM脉宽调制信号对电机进行调速控制。(如果无须调速可将两引脚接5V,使电机工作在最高速状态,既将短接帽短接)实现电机正反转就更容易了,输入信号端IN1接高电平输入端IN2接低电平,电机M1正转。(如果信号端IN1接低电平, IN2接高电平,电机M1反转。)控制另一台电机是同样的方式,输入信号端IN3接高电平,输入端IN4接低电平,电机M2正转。(反之则反转),PWM信号端A控制M1调速,PWM信号端B控制M2调速。

可参考下图表:

电机

旋转方式

控制端IN1

控制端IN2

控制端IN3

控制端IN4

输入PWM信号改变脉宽可调速

调速端A

调速端B

M1

正转

/

/

/

反转

/

/

/

停止

/

/

/

M2

正转

/

/

/

反转

/

/

/

停止

/

/

/



推荐阅读

史海拾趣

Decawave公司的发展小趣事

作为一家技术驱动的公司,Decawave始终将创新作为公司发展的核心动力。公司不断投入研发资源,推动UWB技术的升级和演进。通过不断的技术创新和产品升级,Decawave的UWB技术不断取得新的突破和进展,为电子行业的发展注入了新的活力。同时,公司也积极关注市场动态和客户需求的变化,不断调整和优化其产品和解决方案,以更好地满足客户的需求和期望。

DBM Optix公司的发展小趣事

在竞争激烈的电子行业中,DBM Optix深知只有不断创新才能保持领先地位。因此,公司始终将研发作为核心竞争力之一,持续投入大量资金用于新技术、新产品的开发。通过与高校、研究机构等合作,DBM Optix不断引入新技术、新材料,并将其应用于产品中,从而不断提升产品的性能和品质。这些创新举措使得DBM Optix在光学通信领域始终保持领先地位。

Arduino公司的发展小趣事

随着物联网和智能设备的兴起,Arduino平台在智能家居、智能农业、机器人等领域的应用越来越广泛。开发者们可以利用Arduino平台来设计和开发各种智能设备和应用,实现设备的互联互通和智能化控制。这些应用不仅提高了人们的生活质量,也推动了电子行业的进步和发展。

这五个故事展示了Arduino公司在电子行业中的发展历程和取得的成就。从最初的廉价微控制器解决方案,到如今的多样化主板和广泛应用,Arduino始终秉持着创新、开放和合作的精神,为电子行业的发展做出了重要贡献。

Flexxon Pte Ltd公司的发展小趣事

随着电子行业的不断发展和市场需求的日益多样化,Flextronics(Flexxon Pte Ltd)开始实施多元化战略,积极拓展新的业务领域。公司不仅继续深耕消费电子、通信设备等传统市场,还积极涉足汽车电子、医疗电子、物联网等新兴领域。通过并购、合作等多种方式,Flextronics不断拓宽产品线和服务范围,为客户提供更加全面和专业的解决方案。这一战略调整不仅为公司带来了新的增长点,也进一步提升了公司的市场竞争力。

Collins Electronics Corp公司的发展小趣事

随着全球环保意识的提高,Collins Electronics Corp开始关注其生产活动对环境的影响。他们引入了环保材料和生产工艺,减少了废弃物和有害物质的排放。同时,公司还开展了一系列环保宣传活动,提高员工和客户的环保意识。这些举措不仅提升了公司的社会责任形象,也为其赢得了更多消费者的青睐。公司还研发了节能型电子产品,为推动行业的绿色发展做出了贡献。

Carlisle Interconnect Technologies公司的发展小趣事

随着电子行业的快速发展,Carlisle Interconnect Technologies不断进行技术升级和产品创新。公司不断引进先进的生产设备和技术,提升产品的质量和性能。同时,公司还积极拓展产品线,从最初的绝缘电线电缆扩展到连接器、传感器等多个领域。这种多样化的产品策略使得公司能够更好地满足客户的多样化需求,也在市场上取得了更大的成功。

问答坊 | AI 解惑

海地地震中 亲身经历证明中国设备最抗震(转)

海地地震中 我的亲身经历证明中国的设备最抗震   (转载自新浪博客—海地通讯日记)   距离海地地震已经9天了,在这9天里,我经历了无数次余震,也通过网络深深感受到祖国的关怀。但是由于忙于抢修和维护通讯设备,所以一直没有时间来和大 ...…

查看全部问答>

ADS指定地址问题(菜鸟级别问题)

我很久前买了个44B0开发板,没怎么动,现在拿出来玩玩。 想请教一个简单的问题,我想把ADS生成的HEX文件烧写FLASH后,重新启动,能够让程序跳转到SDRAM里运行,跟设置RO BASE 和RW BASE 有关系吗?怎么去实现FLASH程序到SDRAM的跳转?我运行的是跑 ...…

查看全部问答>

请教:EVC下怎样将CEDIT中输入的内容转换为float类型数据?

请教:EVC下怎样将CEDIT中输入的内容转换为float类型数据,谢谢…

查看全部问答>

COM-1273板卡的CAN总线编程

不知道有没有哪位网友做过COM-1273板卡的CAN总线编程?实在没有办法了,教教小弟如何编程实现。先行谢过。…

查看全部问答>

关于c51单片机串口通信问题

我用c51单片机进行串口通信,发送数据时如果用轮询的方式就成功,如果用发送中断的方式另一个单片机接收到得数据老是错误,望高手解答。。。 串口初始化 TMOD=0x20;//工作方式2 自动重装 TH0=0xF4; //波特率2400bps TL0=0xF4; TR1=1;//启动定 ...…

查看全部问答>

求助—关于wince键盘开发问题。急!!!

各位前辈:我现在有个问题想请教,我在开发键盘的时候(sumsang2413),用的是eint,在intr.c里需要一个变量保存g_pPortRegs->EINTMASK。但是在S3c2413kbd.cpp定义,在intr.c中加extern但不能访问此变量,或者在S3c2413kbd.cpp中定义,intr.c中也不 ...…

查看全部问答>

江湖救急!!!!!!

急!俺公司的示波器返厂维修了,现在着急调试一开发板的串行总线,那位仁兄能开开后门让我混进你们实验室借示波器用用?(限上海的啊)…

查看全部问答>

win7 32 系统安装不了quartus ii

我在不同的网站上下载了quartus10.0 和11.0版本,安装时点击setup.exe后一点反应也没!!防火墙也关过,也试过以管理员省份运行都是一样的效果!!!    那位朋友知道这是咋回事 ???/…

查看全部问答>

msp430f2132 2线下载老是说找不到设备

开发msp430f2132 用LSD-FET430UIF 2线下载老是说找不到设备,接法与利尔达仿真机提供的接法相近。就是8脚未接。是这原因吗? 谢谢帮助…

查看全部问答>

招聘电子工程师

企业招聘: 岗位:电子工程师要求:本科以上学历;英语四级以上;           有较强的模拟及数字电路基础,           具有独立进行单片机模块设计 ...…

查看全部问答>