摘要:本文介绍如何使用L298N驱动步进电机
在前一篇文章中介绍了步进电机的基本知识,接下来就来看一下如何让步进电机转动起来。由于单片机处理器引脚的驱动能力很弱,因此是不能直接驱动电机这种大功率设备的,需要借助专用的驱动模块来放大处理器引脚的输出信号。在前边已经介绍过多款电机驱动芯片了,例如:L298N、TB6612、DRV8833等都可以用来驱动直流电机,同样的,步进电机也可以使用这些模块来进行驱动。但是,需要注意的是,驱动模块的电压和电功率一定要能满足电机的需求,这样才能保证电机正常的工作。
对于以上驱动模块不太了解的可以参考之前的文章。
在进行正常使用电机驱动模块驱动步进电机之前,先来了解一下常见的42步进电机的电气特性参数:
尺寸:外径通常为42mm,机身长度根据型号和规格不同而有所差异。
步距角:通常为1.8度,这意味着每一周360度对应200个步进位置。
相数:通常为两相或四相,这取决于具体的型号和规格。
额定电压:通常为12V或24V,也有一些型号的额定电压为48V。
额定电流:通常为0.4A或0.6A,也有一些型号的额定电流为1.2A或更高。
额定转速:通常为100-600转/分钟,也有一些型号的额定转速为1000转/分钟或更高。
额定扭矩:通常为0.3-0.5N.m,也有一些型号的额定扭矩为1N.m或更高。
绝缘等级:通常为B级或F级,这取决于型号和规格。
工作温度:通常为-20℃至+50℃,也有一些型号的工作温度范围更广。
驱动方式:可以通过单相、双相、四相等驱动方式进行驱动,也可以使用步进电机控制器进行控制。
以上只是一些常规42步进电机的电器参数。了解了以上参数之后,我们可以选用之前使用过的L298N模块来进行驱动。L298N模块之前已经详细的介绍过了,并且已经讲述过驱动直流电机的例子。
下面先来看一下接线的方法。一个L298N模块可以驱动2个直流电机或者一个两相步进电机,在L298N与步进电机接线的时候一定要确保步进电机的同一相连接到L298N的同一路输出中,ESP32的引脚选定未被占用的可以数字量输出的引脚就可以了,至于具体的顺序,可以通过软件来进行调整,具体的接线方法如下图所示:
我这里借用了一个之前双L298N芯片的L298N模块,输入控制端只需要连接IN1~IN4这4个控制引脚到ESP32的GPIO就可以了。
接下来就是实现一个可以控制步进电机正反方向旋转的测试程序。这个程序的功能就是让步进电机正转一圈后休息1秒,然后再反转一圈并休息1秒,之后就是如此循环旋转。
这个程序的代码首先是定义一个数组,里面保存了控制步进电机旋转的4个引脚。如下所示:
// 定义所使用的引脚 uint8_t pins[]={ 27,25,26,33}; |
接下来是实现步进电机正向转动的函数,这个函数的核心就是4个引脚按照步进电机的要求依次输出脉冲信号。实现方法如下: