用L298N控制两相步进电机

一、原理

        步进电机步距角1.8°,导程为5mm,若采用4拍来控制,即每800拍转一圈,位移5mm。其额定电压为5V,额定电流为0.42A,若采用步进电机驱动器驱动,由于步进电机驱动器最小输出电流为0.5A,超过了所选步进电机额定电流,会造成电机发烫。故选择用L298N电机驱动模块对步进电机进行驱动。

        对于两相步进电机,用4拍来控制,(未说明即为低电平)即A+,B-高电平为一拍,A+,B+高电平为一拍,A-,B+高电平为一拍,A-,B-高电平为一拍。按照这个顺序循环即为电机正转,反顺序循环即为电机反转。

二、接线

        L298N模块如下:

        通道A为out1与out2口,分别接电机的A+与A-相,分别由IN1与IN2控制,通道B为out3与out4口,分别接电机的B+与B- ,分别由IN3与IN4控制。IN1~IN4分别接单片机的空闲IO口引脚,(我接的PA1、PA5、PA8、PA4)主电源正负极分别接电源模块,5V输入需接单片机的5V输出引脚(接上后L298N可能会发烫,原因为电机运行完后拍数对应的IN1~IN4未置0,电机一直待机,模块就会发烫,也可以不接,这样即使IN1~IN4未置0,也不会发烫,不过电机运转不丝滑)。

三.代码

在头文件中对IN1~IN4进行定义:

#define dir1 PAout(1)
#define dir2 PAout(5)
#define dir3 PAout(8)
#define dir4 PAout(4)
正转代码:

反转代码:

将4拍作为一个脉冲,在脉冲数运行完毕后,对IN1~IN4置0,即可解决L298N发烫问题。

四、调速

        对于用L298N模块控制的步进电机而言,其调速不需要通过PWM波来实现,仅需改变每个拍的延迟时间即可。

  • 16
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值