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开 ...
随机推荐
- Kubeadm部署-Kubernetes-1.18.6集群
环境配置 IP hostname 操作系统 10.11.66.44 k8s-master centos7.6 10.11.66.27 k8s-node1 centos7.7 10.11.66.28 k ...
- 一个含有多个flag的图片(Misc)
图片是来自一个老阿姨,然后这个图片是属于一个杂项题目,一个图片中包含十几个flag,格式为#....#,第一个flag就是图片一开始就放在上面的,可以直接看到. 然后文件名字也是一个flag, 将图片 ...
- 过分简单,Tabluea仪表板与Smartbi自助仪表盘制作流程分享
上一章节介绍了如何接入数据到系统里面,并且对数据进行处理.那本章节与大家分享Smartbi及Tabluea是如何对数据进行仪表盘制作. 这就是Tabluea的工作簿界面,这也是Tabluea可 ...
- 跟Excel说拜拜,这款可视化报表制作工具入股不亏!
相信很多人如果看到漂亮的图表都会很感叹,"为什么可以做的这么漂亮,这么好看?","这个应该怎么做呢?用什么工具可以实现呢?".制作漂亮的可视化一般有这样几个方 ...
- C#爬虫(04):HtmlAgilityPack解析html文档
原文链接 https://www.cnblogs.com/springsnow/p/13278283.html 目录 一.爬虫概述 1.使用浏览器获取页面源码 2.HTML解析组件 二.HtmlAgi ...
- C# 题目
题目 http://blog.zhaojie.me/2011/03/my-interview-questions-for-dotnet-programmers.html 1.考察对常量和自读字段 初始 ...
- Java -- next()和nextLine()的区别
next()读取有效字符串,遇到Tab.空格.回车结束,所以不能接收带空格的字符串 nextLine()读取一行,只是以回车结束,所以可以接收带空格的字符串 https://blog.csdn.net ...
- CentOS启动流程及Shell脚本编程练习
转至:http://www.178linux.com/88910 一.请详细描述CentOS系统的启动流程(详细到每个过程系统做了哪些事情) 第一步:POST加电自检 主要实现的功能是检测各个外围硬件 ...
- 2020.9.28 多进程multiprocess 进程池pool 子进程subprocess 进程间通信
1.multiprocessing模块--跨平台版本的多进程模块 multiprocessing模块提供了一个Process类来代表一个进程对象,下面的例子演示了启动一个子进程并等待其结束: from ...
- lvs-安装以及脚本
1.dr 采用修改mac 地址方式,使用二层网络mac路由.所以rs调度的vip 和 后端的realip必须是同一网段. 注意事项:真是服务器上本地lo网卡需要配置为和rs调度的vip 一样. 这样真 ...