L298N直流电机步进电机两用驱动器.docx

上传人:b****5 文档编号:4665740 上传时间:2022-12-07 格式:DOCX 页数:15 大小:2.40MB
下载 相关 举报
L298N直流电机步进电机两用驱动器.docx_第1页
第1页 / 共15页
L298N直流电机步进电机两用驱动器.docx_第2页
第2页 / 共15页
L298N直流电机步进电机两用驱动器.docx_第3页
第3页 / 共15页
L298N直流电机步进电机两用驱动器.docx_第4页
第4页 / 共15页
L298N直流电机步进电机两用驱动器.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

L298N直流电机步进电机两用驱动器.docx

《L298N直流电机步进电机两用驱动器.docx》由会员分享,可在线阅读,更多相关《L298N直流电机步进电机两用驱动器.docx(15页珍藏版)》请在冰豆网上搜索。

L298N直流电机步进电机两用驱动器.docx

L298N直流电机步进电机两用驱动器

L298N直流电机步进电机两用驱动器

【简要说明】

一、尺寸:

长80mmX宽45mmX高28mm

二、主要芯片:

L298N、光电耦合器

三、工作电压:

控制信号直流4.5~5.5V;驱动电机电压5~30V

四、可驱动直流(5~30V之间电压的电机)

五、最大输出电流2A(瞬间峰值电流3A)

六、最大输出功率25W

七、特点:

1、具有信号指示

         2、转速可调

         3、抗干扰能力强

         4、具有续流保护

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

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

        7、PWM脉宽平滑调速(可使用PWM信号对直流电机调速)

         8、可实现正反转

         9、采用光电隔离

【标注图片】

【步进电机接线图】

【直流电机接线图】

【直流无刷电机接线图】

【应用原理图】

实例一:

步进电机的控制实例

步进电机是数字控制电机,它将脉冲信号转变成角位移,即给一个脉冲信号,步进电机就转动一个角度,因此非常适合于单片机控制。

步进电机可分为反应式步进电机(简称VR)、永磁式步进电机(简称PM)和混合式步进电机(简称HB)。

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

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

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

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

二、步进电机的驱动电路

根据控制信号工作,控制信号由单片机产生。

(或者其他信号源)

三、控制步进电机的速度

如果给步进电机发一个控制脉冲,它就转一步,再发一个脉冲,它会再转一步。

两个脉冲的间隔越短,步进电机就转得越快。

调整单片机发出的脉冲频率,就可以对步进电机进行调速。

(注意:

如果脉冲频率的速度大于了电机的反应速度,那么步进电机将会出现失步现象)。

四、此板驱动步进电机测试程序

说明:

以AT89S52单片机控制单元,C语言编程!

【输入部分接线图】

【输出部分接线图】

【测试程序】

/********************************************************************

汇诚科技

实现功能:

正转_反转_减速_加速程序

使用芯片:

AT89S52或者STC89C52

晶振:

11.0592MHZ

编译环境:

Keil

作者:

zhangxinchunleo

网站:

淘宝店:

汇诚科技

【声明】此程序仅用于学习与参考,引用请注明版权和作者信息!

*********************************************************************/

#include

/*------宏定义------*/

#defineucharunsignedchar

#defineuintunsignedint

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

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

codeunsignedcharrunz[8]={0x05,0x01,0x09,0x08,0x0a,0x02,0x06,0x04};//两相四线八拍工作方式

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

codeunsignedcharrunf[8]={0x04,0x06,0x02,0x0a,0x08,0x09,0x01,0x05};//两相四线八拍工作方式

ucharkeycan=0;//键值

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

sbitP2_0=P2^0;//正转按键

sbitP2_1=P2^1;//反转按键

sbitP2_2=P2^2;//电机减速

sbitP2_3=P2^3;//电机加速

/********************************************************************

延时函数

*********************************************************************/

voiddelay(i)//延时函数

{

ucharj,k;

for(j=0;j

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

}

/********************************************************************

正转运行函数

*********************************************************************/

voidzrun()//正转运行

{

ucharz;

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

{

P1=runz[z];

delay(y);

}

}

/********************************************************************

反转运行函数

*********************************************************************/

voidfrun()//反转运行

{

ucharz;

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)

{

case1:

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

break;

case2:

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

break;

}

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

{

y+=2;

}

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

{

y-=2;

}

}

}

/********************************************************************

结束

*********************************************************************/

实例二:

直流电机的控制实例

使用直流/步进两用驱动器可以驱动两台直流电机。

分别为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

正转

/

/

/

反转

/

/

/

停止

/

/

/

五、此板驱动直流电机测试程序

【输入部分接线图】

【输出部分接线图】

【测试程序】

/********************************************************************

汇诚科技

实现功能:

直流电机调试程序

使用芯片:

AT89S52或者STC89C52

晶振:

11.0592MHZ

编译环境:

Keil

作者:

zhangxinchunleo

网站:

淘宝店:

汇诚科技

【声明】此程序仅用于学习与参考,引用请注明版权和作者信息!

*********************************************************************/

#include

#defineucharunsignedchar//宏定义无符号字符型

#defineuintunsignedint//宏定义无符号整型

sbitP2_0=P2^0;//M1启动

sbitP2_1=P2^1;//M1停止

sbitP2_2=P2^2;//M2启动

sbitP2_3=P2^3;//M2停止

sbitP1_0=P1^0;//M1

sbitP1_1=P1^1;//M1

sbitP1_2=P1^2;//M2

sbitP1_3=P1^3;//M2

/********************************************************************

延时函数

*********************************************************************/

voiddelay(uchart)//延时程序

{

ucharm,n,s;

for(m=t;m>0;m--)

for(n=20;n>0;n--)

for(s=248;s>0;s--);

}

/********************************************************************

主函数

*********************************************************************/

main()

{

while

(1)

{

if(P2_0==0){delay(3);if(P2_0==0)//M1启动

{

P1_0=1;

P1_1=0;

}}

if(P2_1==0){delay(3);if(P2_1==0)//M1停止

{

P1_0=1;

P1_1=1;

}}

if(P2_2==0){delay(3);if(P2_2==0)//M2启动

{

P1_2=1;

P1_3=0;

}}

if(P2_3==0){delay(3);if(P2_3==0)//M2停止

{

P1_2=1;

P1_3=1;

}}

}

}

/********************************************************************

结束

*********************************************************************/

实例三:

直流无刷电机的控制实例

【输入部分接线图】

【输出部分接线图】

【测试程序】

/********************************************************************

汇诚科技

实现功能:

直流无刷电机调试程序

使用芯片:

AT89S52或者STC89C52

晶振:

11.0592MHZ

编译环境:

Keil

作者:

zhangxinchunleo

网站:

淘宝店:

汇诚科技

【声明】此程序仅用于学习与参考,引用请注明版权和作者信息!

*********************************************************************/

#include

#defineucharunsignedchar//宏定义无符号字符型

#defineuintunsignedint//宏定义无符号整型

sbitP2_0=P2^0;//启动

sbitP2_1=P2^1;//停止

sbitP2_2=P2^2;//正转

sbitP2_3=P2^3;//反转

sbitP1_0=P1^0;//M1

sbitP1_1=P1^1;//M1

/********************************************************************

延时函数

*********************************************************************/

voiddelay(uchart)//延时程序

{

ucharm,n,s;

for(m=t;m>0;m--)

for(n=20;n>0;n--)

for(s=248;s>0;s--);

}

/********************************************************************

主函数

*********************************************************************/

main()

{

while

(1)

{

if(P2_0==0){delay(3);if(P2_0==0)//启动

{

P1_0=0;

P1_1=0;

}}

if(P2_1==0){delay(3);if(P2_1==0)//停止

{

P1_0=0;

P1_1=1;

}}

if(P2_2==0){delay(3);if(P2_2==0)//正转

{

P1_0=1;

P1_1=0;

}}

if(P2_3==0){delay(3);if(P2_3==0)//反转

{

P1_0=0;

P1_1=0;

}}

}

}

/********************************************************************

结束

*********************************************************************/

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 高中教育

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1