第2节、让电机转起来【51单片机+L298N步进电机系列教程】

摘要:本节介绍用简单的方式,让步进电机转起来。其目的之一是对电机转动有直观的感受,二是熟悉整个开发流程。本系列教程必要的51单片机基础包括IO口操作、中断、定时器三个部分,相关基础教程网上很多,可以自行学习

一、软件清单
需要用到的软件有keil5编译软件、STC程序烧录软件,此处提供好心网友分享的百度网盘链接,仅供学习参考,使用后请自行删除
①KEIL5
链接:https://pan.baidu.com/s/1u5SnDiWQLSa5UmI1_giiPA
提取码:yu7f
②STC-ISP
链接:https://pan.baidu.com/s/18f21VF0dxCDA609StxUD8A
提取码:xupk
③Proteus 8
链接:https://pan.baidu.com/s/1yF2WAMyRFgvzGjWEOtrJLQ
提取码:bdkz
在这里插入图片描述

二、控制原理
根据步进电机转动原理,通过L298N控制步进电机通电顺序,使电机按照设定的顺序转动。通过单片机延时的方式,控制电机每一步的时间,从而控制电机转动速度。

步进电机转动原理请见如下文章:
https://mp.weixin.qq.com/s?__biz=MzkzOTIzMTgxOA==&mid=2247483746&idx=3&sn=71a99d33dac0f653f2eccc7afa3fb3ee&chksm=c2f55e47f582d751ee553973734295bc01b1d8649d6723cae767469543568adf9dcff44fecb1&token=9435992&lang=zh_CN#rd

三、proteus仿真及实测
在这里插入图片描述
请添加图片描述
请添加图片描述
电路连接请见第一节文章内容,添加hex文件后,单片机上电,电机会匀速的转动,至此一个基础的L298N电机驱动程序完成,通过调整delay延时大小,可以调整电机的转速

四、总结
此种方式控制电机转动代码简单,适用于测试时使用,缺点是电机的速度调整不定量,下一节将处理电机速度定量计算

五、附件
proteus仿真文件百度网盘链接:
链接:https://pan.baidu.com/s/19PpfPlrCtj91-3yquojbGg
提取码:s2d3

Keil工程文件获取链接:
https://item.taobao.com/item.htm?ft=t&id=763271642176

  • 4
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
使用L298N驱动步进电机正反的方法如下: 1. 将L298N模块的ENA、ENB引脚分别接到51单片机的两个IO口,用来控制L298N模块的使能开关; 2. 将L298N模块的IN1、IN2、IN3、IN4引脚分别接到51单片机的另外四个IO口,用来控制步进电机的正反; 3. 编写控制程序,将ENA和ENB引脚输出高电平,使能L298N模块; 4. 根据步进电机的控制方式(如全步进、半步进等),编写程序控制IN1、IN2、IN3、IN4的输出状态,从而实现步进电机的正反。 具体来说,可以按照以下步骤进行: 1. 定义ENA、ENB、IN1、IN2、IN3、IN4的引脚号码,如: ``` #define ENA P1_0 #define ENB P1_1 #define IN1 P1_2 #define IN2 P1_3 #define IN3 P1_4 #define IN4 P1_5 ``` 2. 在主函数中初始化引脚状态,如: ``` void main() { ENA = 1; // 使能L298N模块 ENB = 1; IN1 = 0; // 步进电机 IN2 = 1; IN3 = 0; // 步进电机 IN4 = 1; // 其他初始化操作 while(1) { // 控制步进电机正反 } } ``` 3. 在while循环中编写控制步进电机正反的程序,如: ``` void main() { // 其他初始化操作 while(1) { IN1 = 0; // 步进电机 IN2 = 1; IN3 = 0; // 步进电机 IN4 = 1; delay(500); // 延时一段时间 IN1 = 1; // 步进电机 IN2 = 0; IN3 = 1; // 步进电机 IN4 = 0; delay(500); // 延时一段时间 } } ``` 这样,就可以实现使用L298N驱动步进电机正反的功能了。注意,具体的控制程序需要根据步进电机的型号和控制方式进行调整。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值