概述
随着嵌入式系统的发展,步进电机的使用开始激增,只要涉及到把物体从一个地方移动到另外一个地方,都少不了步进电机的身影。本教程以stm32为例,使用ULN2003,TB6600电机驱动板,A4988,DRV8825,介绍步进电机的常用驱动方式。
从ULN2003开始
首先从最简单的入手,用ULN2003芯片,来驱动这种淘宝单片机套件中经常见到(但其实并没有什么用处)的5V四相五线步进电机。
长这个样子
用了配套的驱动板,但其实可以直接把ULN2003芯片插面包板上使用
(不知道我这么打广告这家淘宝店给不给钱)
上面提到了四相五线,仔细看有一条红线,即为5V电源线,还有黄、橙、粉、蓝四线,即名字里的四相,每条线都连接了电机内部的一个线圈,转子可以看做是一个磁铁,给四个线圈依次通电,线圈通电产生磁性,使转子旋转。这里有几种信号的输入方法,参考了一个很不错的制作网站中的一个帖子,链接附在这里:howtomechatronics
如上图所示,当给其中一个线圈通电时,对应线圈变为红色,产生磁性,那么怎么才能给线圈通电呢?之前我们提到了五线中还有一条5V的电源线,那么当把某一线圈接地时,电流便会流过线圈,这样,ULN2003的作用就很明显了
——将对应引脚接地。
如下图所示,ULN2003的工作方式是这样的,正视芯片(缺口端朝上),左边最下面的引脚接地,当左边的引脚输入高电平时,右边与它平行的引脚接地,所以我们只要用stm32控制对应的引脚依次为高电平就可以让它转动起来了。
接线如下图所示,用了野火的f103ZET6的核心板&