Arduino UNO开发板、Arduino CNC Shield V3.0扩展板、A4988驱动板、grbl固件使用教程

前言

CNC Shield V3.0可用作雕刻机,3D打印机等的驱动扩展板,板上一共有4路步进电机驱动模块的插槽,可驱动4路不进电机,而每一路步进电机都只需要2个IO口,也就是说,6个IO口就可以很好的管理3个步进电机,使用起来非常的方便,告别传统步进电机操作繁琐。将Arduino CNC Shield V3.0插到Arduino UNO上,并且安装GRBL固件就可以快速DIY一台CNC雕刻机出来。

1. 开发板封装

下图显示了GRBL使用的Arduino引脚的功能

GRBL Pin Layout:

 

参考https://github.com/gnea/grbl/wiki/Connecting-Grbl

Arduino CNC Shield V3.0除了拥有GRBL所有功能引脚外,还设计了一些额外引脚,实现更多功能。其原理图如下图所示:

额外引脚:

  • 限位开关销已经折叠起来,这样每个轴都有一个“顶部/+”和“底部/-”。这使得为每个轴安装两个限位开关更容易。(用于常开开关)
  • EStop–这些引脚可以连接到紧急停止开关。这与Arduino板上的复位按钮相同。(我们建议安装一个额外的紧急按钮,切断所有机械的电源。一个真正的紧急按钮)
  • 主轴和冷却液控制有自己的引脚。
  • 外部GRBL命令引脚已经中断,允许您添加暂停/保持,恢复和中止按钮。
  • 串行引脚(D0-1)和I2C引脚(A4-5)有自己的断开引脚,用于将来的扩展。I2C以后可以通过软件来控制诸如主轴转速或热控制之类的事情。
  • 版本3.00的电路板增加了一个跳线来配置第四个轴(克隆另一个轴或从引脚D12-13运行)、通信头(RX+TX,I2C)和步进控制头(运行4个步进器所需的所有引脚)

2. 硬件安装

根据实际情况连接各组件,例如电机、限位开关、激光器、电机驱动器等。

在进行硬件安装过程需要注意一下几点:

1)电源的正负极切勿接反了,否则会烧坏你的设备,甚至发生火灾

2)电机驱动器的方向切记不要插反,否则会烧毁主板和驱动器,具体安装方向请参照驱动器数据手册并结合Arduino CNC Shield V3.0确定,本文以A4988作为电机驱动,其与Arduino CNC Shield V3.0连接方向如图所示

A4988支持全细分、1/2细分、1/4细分、1/8细分、1/16细分。每种细分方式通过Arduino CNC Shield V3.0的三个排针M0、M1、M2来设置,跳线帽盖到排针上代表高电平,不盖代表低电平。为了提高雕刻的精确度,采用16细分,需要用三个跳线帽将M0、M1、M2都盖上。如图

 

M0M1M2细分数
Low Low Low 1
High Low Low 2
Low High Low 4
High High Low 8
High High High 16

细分数与电机转速的关系,以下图为例:

3) Arduino CNC Shield V3.0的输入电压是DC 12V-36V,不要输入高于36V的电压。虽然输入电压允许最高36V,不意味着什么情况下都可以用36V,因为有些电机驱动器的供电电压(VMOT)低于36V,例如A4988,它的供电电压是8-35V,如果此时使用36V供电的话就会烧坏驱动器。所以在选择电源的时候要查看对应电器驱动器的数据手册。下面列举几种常用的驱动器供电电压参数。

A4988

因为A4988内置了译码器,我们可以可以通过控制器的2个引脚来控制步进电机,一个控制旋转方向,另一个控制步数。A4988提供了五种不同的微步控制:全步(full-step),半步(haft-step),四分一步(quarter-step),八分之一步(eight-step)和十六分之一步(sixteenth-step)。此外,它还配备了一个调节电流输出、过热保护和过流保护的电位计。A4988的逻辑电压范围是:3~5.5V,如果配备较好的散热条件每相最大电流可达2A,在没有配备散热器的情况下,每相连续电流最好控制在1A范围内。
A4988特性参数

A4988驱动模块右上侧的两个引脚(VMOT、GND)是外部供电引脚,目的是能给电机提供足够的动力输出,供电范围:8-35V,此处使用一个47uf的电解电容来保护驱动板免受瞬时电压的冲击;

右下侧的VDDGND我们需要将它连接到Arduino控制板的5V电源和GND引脚上;

1A1B引脚连接到步进电机的一相,2A和2B引脚连接到步进电机的另一相;

左下角的STEPDIR连接至Arduino控制板的P3和P4引脚,这两个针脚主要用于控制电机的运动。DIR(Direction)引脚控制转动方向,STEP针脚用于控制电机旋转的步数控制。

下一个是SLEEP针脚,低电平使能使模块处于休眠模式,当电机不工作时,它可以最大程度地降低功耗,默认为高电平。

RESET针脚,如果这个针脚的输入是低电平,那么所有的微步设置都将被忽略掉。因此上图将SLEEP和RESET针脚连接起来,目的是将RESET针脚设置为高电平,以便模块可控。

MS1MS2 和 MS3针脚用于微步设置,如下图所示。

ENABLE针脚用于打开和关闭场效应管的输出,低电平打开,高电平关闭。

A4988真值表

参考https://www.basemu.com/a4988_pinout_and_how_to_use.html

DRV8824/DRV8825

TMC2100

软件安装

下载地址 https://lasergrbl.com/download/

安装LaserGRBL软件,打开Tools>> Flash Grbl Firmware;

选择好固件版本,和串口号,点击OK进行烧录固件;

 

 

烧录完成后,点击Grbl>> Grbl配置;

 

注意这三个参数

 

它们的含义是步进电机带动滑块运动1mm控制器需要给出的脉冲个数。
公式如下:参数=[(360/步进电机步距角)*驱动器选择细分数]/丝杆的螺距,例如下面这个步距角就是1.8度

点击连接,可手动控制电机运动

 参考:

https://osoyoo.com/zh/2017/04/07/arduino-uno-cnc-shield-v3-0-a4988/

https://kookye.com/2017/04/09/arduino-uno-arduino-cnc-shield-v3-0a4988-installation-guide/

https://www.geek-workshop.com/thread-39359-1-1.html

posted @ 2021-03-20 15:56  蔡子CaiZi  阅读(5247)  评论(0编辑  收藏  举报