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都盖上。如图
M0 | M1 | M2 | 细分数 |
---|---|---|---|
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驱动模块右上侧的两个引脚(VMOT、GND)是外部供电引脚,目的是能给电机提供足够的动力输出,供电范围:8-35V,此处使用一个47uf的电解电容来保护驱动板免受瞬时电压的冲击;
右下侧的VDD和GND我们需要将它连接到Arduino控制板的5V电源和GND引脚上;
1A和1B引脚连接到步进电机的一相,2A和2B引脚连接到步进电机的另一相;
左下角的STEP和DIR连接至Arduino控制板的P3和P4引脚,这两个针脚主要用于控制电机的运动。DIR(Direction)引脚控制转动方向,STEP针脚用于控制电机旋转的步数控制。
下一个是SLEEP针脚,低电平使能使模块处于休眠模式,当电机不工作时,它可以最大程度地降低功耗,默认为高电平。
RESET针脚,如果这个针脚的输入是低电平,那么所有的微步设置都将被忽略掉。因此上图将SLEEP和RESET针脚连接起来,目的是将RESET针脚设置为高电平,以便模块可控。
MS1, MS2 和 MS3针脚用于微步设置,如下图所示。
ENABLE针脚用于打开和关闭场效应管的输出,低电平打开,高电平关闭。
参考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
Arduino UNO开发板、Arduino CNC Shield V3.0扩展板、A4988驱动板、grbl固件使用教程的更多相关文章
- 如何使用Arduino UNO开发板编程ATtiny85
最近在Youtube上看了一个GreatScott制作的有关如何使用Attiny85的精彩教程,之后我购买了一片Attiny85 IC.但是,我花了很长时间尝试在它上面运行一个简单的LED闪烁的代码. ...
- 使用Atmel Studio编程Arduino Uno开发板
使用Atmel Studio 7编程Arduino Uno开发板非常简单.Arduino Uno开发板是使用AVR微控制器的嵌入式应用开发的著名平台之一. 大多数人通常会使用Arduino自己的软件工 ...
- 详解Arduino Uno开发板的引脚分配图及定义(重要且基础)
首先开发板实物图如下: 在本篇文章中,我们将详细介绍Arduino开发板的硬件电路部分,具体来说,就是介绍Arduino Uno开发板的引脚分配图及定义.Arduino Uno微控制器采用的是Atme ...
- 01.arduino uno开发板入门
01.所需工具 -Ariduino uno开发板一块 -对应的usb数据线 -杜邦线若干 -一些用以测试的电子元器件 02.安装arduino IDE 打开官网链接https://www.arduin ...
- Arduino UNO仿真开发环境设置和仿真运行
一. Proteus仿真平台简介 Proteus软件是英国Labcenter electronics公司出版的EDA工具软件(该软件中国总代理为广州风标电子技术有限公司).它不仅具有其它EDA工具软件 ...
- 基于Proteus仿真的Arduino学习(1)——Arduino Uno最小系统及LED的简单使用
一.前言: A.Arduino简介 Arduino是由一个欧洲开发团队于2005年冬季开发.其成员包括Massimo Banzi.David Cuartielles.Tom Igoe.Gianluc ...
- 2.6 基于ARDUINO UNO+MC20的路径显示功能
需要准备的硬件 MC20开发板 1个 https://item.taobao.com/item.htm?id=562661881042 GSM/GPRS天线 1根 https://item.taoba ...
- ESP8266开发之旅 基础篇③ ESP8266与Arduino的开发说明
授人以鱼不如授人以渔,目的不是为了教会你具体项目开发,而是学会学习的能力.希望大家分享给你周边需要的朋友或者同学,说不定大神成长之路有博哥的奠基石... QQ技术互动交流群:ESP8266&3 ...
- Arduino Uno微控制器采用的是Atmel的ATmega328
参考:https://www.yiboard.com/thread-831-1-1.html 在本篇文章中,我们将详细介绍Arduino开发板的硬件电路部分,具体来说,就是介绍Arduino Uno开 ...
随机推荐
- Kubernetes:健康检查
Blog:博客园 个人 应用在运行过程中难免会出现错误,如程序异常.软件异常.硬件故障.网络故障等.因此,系统通过一些手段来判断应用是否运行正常,这些手段称之为健康检查(诊断). 前置知识 回顾一下P ...
- 13、Linux基础--grep、sed、awk三剑客综合运用
考试 1.找出/proc/meminfo文件中以s开头的行,至少用三种方式忽略大小写 [root@localhost ~]# grep -E '^[sS]' /proc/meminfo [root@l ...
- Solution Set -「LOCAL」冲刺省选 Round XXIV
\(\mathscr{Summary}\) 名副其实的 trash round,希望以后没有了. A 题算好,确实一个比较关键的简化状态的点没想到,所以只拿了暴力(不考虑 \(\mathcal ...
- 二、MyBatis基础配置应用实例
核心配置文件sqlMapConfig.xml Mybatis核心配置文件层级关系 1)environments标签 2)mapper标签 eg: 3)properties标签 数据源配置参数抽取至jd ...
- MyBatis功能点二:plugins插件使用
MyBatis自定义插件使用步骤(已有pojo及mapper的基础上) 一.自定义插件,实现Interceptor接口 二.核心配置文件sqlMapConfig.xml文件增加插件相关内容 测试 测试 ...
- k8s核心资源:精简版yaml示例
yaml语法及格式校验 详见:https://www.cnblogs.com/uncleyong/p/15437385.html 创建资源的三种方式 参考:https://www.cnblogs.co ...
- 李宏毅机器学习笔记——新手感悟——PM2.5作业
python也不会,计算机也不会,啥都不会,只带了个脑子考了计算机研究生.研究生选了人工智能方向.看来注定是漫长的学习之旅. PM2.5作业,我是一个字都看不懂.所以我采用了直接看答案的方案.把答案看 ...
- Install VMware Tools in CentOS 7 command line mode
1.首先启动CentOS 7,在VMware中点击上方"VM",点击"Install VMware Tools..."(如已安装则显示"Reinsta ...
- 【C#反射】Type的用法
Type属性的应用 Type type = typeof(MyClass); Console.Write("$类型名:{ type.Name}"); Console.Write(& ...
- Oracle 数据库用户锁定与解锁,用户锁定最大密码失败次数设置方法,ORA-28000: the account is locked问题解决方法
转至:https://blog.csdn.net/qq_38161040/article/details/108274161 用户多次密码输入错误达到一定值就会被锁定. -- 用户锁定方法 alter ...