Arduino CNC扩展板详解

概述
电机步进模式设置
外接直流电源
Arduino引脚功能说明
驱动1个NEMA步进电机(42步进电机)电路连接
驱动1个NEMA步进电机(42步进电机)示例程序
驱动3个NEMA步进电机(42步进电机)电路连接
驱动3个NEMA步进电机(42步进电机)示例程序


Arduino CNC 扩展板概述

使用Arduino电机扩展板可以很好的驱动直流电机以及28BYJ-48步进电机,但是驱动NEMA步进电机(42步进电机)就有些力不从心了。好在我们还有Arduino CNC 扩展板,用它配合A4988驱动NEMA步进电机可以节省繁琐的接线工作。不过CNC扩展板只能用于控制步进电机,假如您想要了解驱动直流电机以及28BYJ-48步进电机的电机扩展板如何使用,请点击这里进入该页面

如下图所示,Arduino CNC电机扩展板的外观配有一系列A4988插槽以及电源接口等。

Arduino CNC 电机扩展板(正面)
Arduino CNC 电机扩展板(正面)

当我们将A4988电机扩展板安装到 CNC电机扩展板以后并且将其安装到Arduino Uno开发板上,它就变成了下图这副模样。

Arduino CNC 电机扩展板整体外观
Arduino CNC 电机扩展板整体外观

上图中CNC电机扩展板装配有3个A4988驱动板。具体安装多少个A4988是根据您需要驱动步进电机数量来决定的。一台步进电机需要一个A4988。比如您需要驱动1个步进电机,那么只需要安装一个A4988就够了。


电机步进模式设置

如下图所示,CNC扩展板上的步进设置插针是用来设置步进电机步进模式的。您可以通过在插针上安装跳线帽来改变步进模式。

Arduino-CN-电机扩展板步进设置
Arduino-CNC-电机扩展板步进设置插针

每一个A4988接口上都有三组步进设置插针。这三组插针旁的电路板上印刷有M0/M1/M2标识对其进行区别。通过对插针安置跳线帽可以设置相应A4988的步进电机驱动模式。如下图所示,在Z端口上的M0无跳线/M1有跳线/M2无跳线。对应查找表格即可看到,当前Z端口上A4988驱动模式为1/4步进。

Arduino-CNC-电机扩展板步进设置说明
Arduino-CNC-电机扩展板步进设置说明

注:与单独使用A4988电机模块不同的是,我们只能使用CNC扩展板上的“步进设置跳线”来控制电机的步进模式。


外接直流电源

Arduino CNC电机扩展板上配有外接直流电源接口。该接口允许接入的电压范围是12V~35V。具体应该连接多大的电源电压是根据被驱动的电机工作电压所决定的。如果您使用的电机是NEMA17步进电机(42步进电机),通常该电机的工作电压是12伏特,那么您可以为扩展板配一个12伏特的外接电源。另外请注意:千万不要将电源的正负极接反,否则可能会对电路板造成损坏

Arduino-CNC-扩展板外接电源接口
Arduino-CNC-扩展板外接电源接口

与Arduino AFMotor电机扩展板不同,CNC扩展板的外接电源只能为扩展板供电而无法为Arduino开发板供电。因此在使用CNC扩展板时需要通过USB数据线将Arduino开发板与电脑连接,这时Arduino开发板将由电脑USB端口供电。


Arduino引脚功能说明

使用Arduino驱动CNC扩展板需要了解各引脚的具体控制功能。在以下说明图中,我们将引脚对应的功能进行标注。各引脚所标注的英文注释都与CNC扩展板上的注释所对应的。

Arduino-CNC-电机扩展板引脚说明
Arduino-CNC-电机扩展板引脚说明

以下为Arduino开发板引脚对应CNC扩展板引脚说明
Arduino引脚 8 ———————– CNC 扩展板 EN  ( 使能引脚/低电平有效 )
Arduino引脚 5 ———————– CNC 扩展板 X.DIR ( X方向控制引脚)
Arduino引脚 2 ———————– CNC 扩展板 X.STEP ( X步进控制引脚)
Arduino引脚 6 ———————– CNC 扩展板 Y.DIR ( Y方向控制引脚)
Arduino引脚 3 ———————– CNC 扩展板 Y.STEP ( Y步进控制引脚)
Arduino引脚 7 ———————– CNC 扩展板 Z.DIR ( Z方向控制引脚)
Arduino引脚 4 ———————– CNC 扩展板 Z.STEP ( Z步进控制引脚)


Arduino CNC扩展板驱动1个NEMA步进电机(42步进电机)电路连接

Arduino-CNC-电机扩展板驱动步进电机电路连接-1
Arduino-CNC-电机扩展板驱动步进电机电路连接-1


Arduino CNC扩展板驱动1个NEMA步进电机(42步进电机)示例程序

本示例程序旨在演示如何使用Arduino Uno开发板通过Arduino CNC电机扩展板来驱动NEMA17步进电机。本示例程序将用到AccelStepper库,如果您对该库不太了解,请点击这里进入我们制作的AccelStepper库教程页面


Arduino CNC扩展板驱动3个NEMA步进电机(42步进电机)电路连接

Arduino-CNC-电机扩展板驱动步进电机电路连接-1
Arduino-CNC-电机扩展板驱动步进电机电路连接-1


Arduino CNC扩展板驱动3个NEMA步进电机(42步进电机)示例程序

本示例程序旨在演示如何使用Arduino Uno开发板通过Arduino CNC电机扩展板来驱动3个NEMA17步进电机。