【20200927更新】写字机控制器_XBoard E系列_ESP32_GRBL

7个月前

简介:GRBL写字机控制器

开源协议: GPL 3.0

  • 7.5k
  • 35
  • 93

描述

image.png

支持此项目

如果您不方便自己DIY,那么,本项目产品已上架淘宝:https://item.taobao.com/item.htm?id=624084451437

项目特点

工程类型    运动控制

设计风格     设计精巧,兼顾外观与性能

实用程度    接口丰富,功能强大

应用范围    各类执行器的写字机、激光雕刻机

项目目的

在开始这个项目之前,我维护着一个基于STM32的Grbl运动控制器项目,为了给此控制器增加脱机功能、联网功能等进行了长时间的开发,包含控制器硬件、控制器程序、PC上位机以及测试用的机械结构,由于技术水平限制,所得成品使用效果差强人意。

“Grbl_Esp32”是一个派生于“Grbl”的项目,在接触到这个项目后,我惊奇的发现我所需求的功能它都进行了很好的支持,并且意识到:闭门造车不可取,只有参与到开源项目中与他人交流、学习,才能更好地掌握相关领域的知识。

2020年6月,此时国内尚无一款与“Grbl_Esp32”相适配的开源硬件,我萌生了制作一款开源的特化为写字机控制器的“Grbl_Esp32”硬件用来学习“Grbl_Esp32”项目的想法。

项目构架

硬件部分:XBoard E系列写字机控制器使用ESP32模组作为主控;板载12V to 5V DC-DC降压电路、5V to 3.3V LDO降压电路、USB to TTL通信电路、自动下载电路、大功率MOS管等;能驱动3路步进电机、9G舵机、2pin激光器、3pin激光器、电磁铁等;具有丰富的指示灯;对IO做了较为良好的保护。

软件部分:“Grbl_Esp32”。开源项目“Grbl_Esp32”是项目“Grbl”和项目“ESP3D”融合的结果,在作为运动控制器的同时,继承了“ESP3D”良好的交互体验。相较于原生的“Grbl”,“Grbl_Esp32”最大的特点是支持多种通信方式,如USB/Serial、Bluetooth/Serial、Telnet、WebSocket等,并可以使用SD卡脱机运行文件。

我的贡献

设计、制作并开源了项目“XBoard E系列写字机控制器”,编写了详细的使用手册(图文并茂,33页),改写了“Grbl_Esp32”源码为控制器定制了一些功能,诸如:在线设置机型、电磁铁电流策略、舵机支持等。

项目现状

项目经过半年多的打磨,即将推出正式版本,包括XBoard E1.0、XBoard ET1.0和XBoard RE1.0。

目前项目共有三个分支:XBoard E 以及尚未发布的XBoard ET和XBoard RE。

image.png


其中XBoard E为主分支,XBoard ET和XBoard RE为派生分支。

XBoard E使用直插型驱动模块,可支持常用步进电机驱动模块,如A4988、TMC2208、TMC2130等。

XBoard ET板载TMC2225步进电机驱动,集成程度更高。

XBoard RE与XBoard E的功能几乎完全一致,但其外形为2* 24CM的矩形,可以安装在2020铝型材上。

目前主推版本:E0.4

程序源码

原项目:https://github.com/bdring/Grbl_Esp32,更加稳定

我的项目:https://github.com/KnightSin/Grbl_Esp32,更多特性,经过魔改,随缘更新

PCBA图片

ET0.3 (废案)

image.png

E0.4(测试中)

image.png

ET0.4(测试中)

image.png

接线图

image.png

修改记录

(2020年6月30日13点12分)由于硬件部分增添了自动下载电路——使用到了串口芯片的RTS和DTR这两个引脚——在连接奎享雕刻和炽写后板子会一直处于复位状态,打印大量乱码。已经和奎享的开发者以及炽写的开发者沟通过了,需要在软件层面做一定处理,如果现在需要使用这两个软件,可以选择不焊接Q1、Q2这两枚三极管——这样的话自动下载电路会失去作用,需要长按住BOOT键后再按RESET键进入下载模式

(2020年7月2日16点32分)原理图中A4988画错——1A与1B顺序错误——导致丝印也跟着画错,已经修正此错误并向原理图模块作者提交了此错误

(2020年7月5日15点53分)将限位开关接口引脚顺序和电磁铁接口引脚顺序调整得更加符合习惯

(2020年7月6日18点09分)调整部分走线,使得其更合理

(2020年7月6日19点11分)调整了状态指示灯的位置,并优化了部分走线。鉴于PCB有较大幅度改动,提升一个小版本号,版本号变更为E0.2

(2020年7月7日16点49分)错误的使用了IO34/IO35作为输出引脚,已更正,将STATUS_LED和STEPPERS_DISABLE_PIN更换为IO13/IO12

> Input Only (no pullup/pulldown) > If you do not have external pull up or pull down resistors. Do not use these pins!

> GPIO_NUM_34 > GPIO_NUM_35 > GPIO_NUM_36 > GPIO_NUM_37 > GPIO_NUM_38 > GPIO_NUM_39

(2020年7月7日18点03分)修正了PCB反面PIN表格中关于Z轴的说明

(2020年7月16日19点34分)修改了LED的原理图符号/3D封装,使颜色与实际对应;修改了XH2.45 2P的原理图符号和封装,使之与XH2.54的封装更加统一;调整了部分丝印的位置;调整了元件编号

(2020年7月24日13点35分)增加了对TMC2130步进电机驱动模块的SPI模式的硬件支持,修改了SD卡槽的封装,修改了贴片电解电容的封装,优化了部分走线。鉴于PCB有较大幅度改动,提升一个小版本号,版本号变更为E0.3

(2020年8月4日04点09分)增加一个分支ET0.3,集成3路TMC2225步进电机驱动

(2020年8月6日10点05分)在E0.3的基础上,USB供电部分增加了自恢复保险丝,部分输出IO增加了限流电阻防止反插驱动烧坏ESP32模组。鉴于PCB有较大幅度改动,提升一个小版本号,版本号变更为E0.4

(2020年9月4日21点44分)修正了ESP32的封装、更改了0603阻容以及LED的封装;增加了一枚TVS SMAJ5.0A;大幅调整了走线;在E0.4基础上增加一个分支ET0.4,集成3路TMC2225步进电机驱动;分支ET0.3废除;更改了舵机供电方式,USB不再能为舵机供电,必须连接DC 12V电源后舵机才能工作;更改了电磁铁的控制逻辑,控制引脚为高阻状态时电磁铁不再吸合;更改了部分丝印

image.png

//(2020年9月27日23点30分)更改了细分排针方案,使之更接近于使用习惯;将原SPI模式下使用雏菊链连接所有电机驱动变更为每轴驱动对应一个片选,为此使用了IO0和IO2;提升一个小版本号,版本号变更为E0.5

//(2020年10月9日18点20分)调整部分丝印,将USB输入电源引脚丝印由P5V变更为U5V,将TMC_CS#的说明由22调整为IO22/IO0/IO2

//(2020年12月28日12点40分)SD_CD/限位开关引脚都移至只读引脚;新版本中,将多余的3个IO以及2个电源引脚和复位引脚引出,可以接按键模块或者串口屏等等;将SPI模式由雏菊链改为每一个驱动一个片选(UART模式下每个驱动一个TX);测试了将BOOT按键作为功能按键使用,相当于增加了一个可由用户编程的按键

另外,新版本中,将SPI模式由雏菊链改为每一个驱动一个片选(UART模式下每个驱动一个TX) 测试了将BOOT按键作为功能按键使用,相当于增加了一个可由用户编程的按键 image.png

项目衍生

1、3D打印“钢网”教程

https://www.bilibili.com/read/cv6741734 image.png

2、为LCEDA的工程建立3D模型并渲染

https://www.bilibili.com/read/cv6758801

image.png

image.png

用户手册(新版本编写中,敬请期待)

image.png

image.png

文档

ESP32_GRBL_3Axis_E0.4

在编辑器中打开

ESP32_GRBL_3Axis_E0.4

在编辑器中打开

BOM

ID Name Designator Footprint Quantity
1 Header-Female-2.54_1x2 P1 HDR-1X2/2.54 1
2 EL817S(C)(TU)-F U5 OPTO-SMD-4_L4.6-W6.5-P2.54-LS10.3-TL 1
3 LED-0603_R LED4 LED0603_RED 1
4 XH2.54-3A CN8,CN11,CN10,CN6,CN7 XH2.54-3A 5
5 CH340C U3 SOP-16_L10.0-W3.9-P1.27-LS6.0-BL 1
6 XL1509-5.0E U1 SOIC-8_L5.0-W4.0-P1.27-LS6.0-BL 1
7 HDR-M-2.54_2x4 J4,J1,J5,J3,J2,J6 HDR-M-2.54_2X4 6
8 USB-BF90 CN1 USB-B_4PIN-FEMALE_BF90 1
9 LED-0603_Y LED6 LED0603_YELLOW 1
10 2k R6,R3,R5,R4,R10 R0603 5
11 1k R23,R26,R25,R9,R27,R8,R7 R0603 7
12 10k R11 R0603 1
13 安装孔 H1,H3,H4,H2 M3定位孔_2020年6月11日 4
14 DC H6 DC005 1
15 QR H7 XBOARD交流群二维码 1
16 OSHW H5 OSHW_TS 1
17 180uF(16V) C10 CAP-D6.3XH5.5 1
18 FSMD012-1206-R F1 F1206 1
19 S8050 Q1,Q2 SOT-23-3_L2.9-W1.3-P1.90-LS2.4-BR 2
20 100uF(35V) C14,C13,C19,C4 CAP-D6.3XH5.5 4
21 IRLR7843TRPBF Q3 TO-252-2_L6.5-W6.1-P4.58-LS10.0-BR 1
22 LED-0603_B LED8,LED9,LED7 LED0603_BLUE 3
23 AMS1117-3.3_C165482 U2 SOT-223_L6.5-W3.5-P2.30-LS7.0-BR 1
24 LED-0603_Violet LED2,LED1,LED3 LED0603_VIOLET 3
25 XH2.54-4AW CN3,CN4,CN5 XH2.54-4A 3
26 4988 U8,U6,U7 MOTOR DRIVER 4988/8825 3
27 DC005 DC1 DC-IN-TH_DC-005 1
28 SMAJ5.0A D5 SMAJ5.0A 1
29 10uF C1,C6 C0603 2
30 104 C7,C2,C18,C17,C16 C0603 5
31 1uF C12 C0603 1
32 Micro SD Card SD1 MICRO-SD 1
33 XH2.54-2A CN2,CN9 XH2.54-2A 2
34 1k R16,R18,R19,R20,R21,R15,R17 R0603 7
35 10k R2,R1,R13 R0603 3
36 SS34 D1,D4,D2,D3 SMA_L4.4-W2.8-LS5.4-RD 4
37 LED-0603_G LED5 LED0603_GREEN 1
38 10K RN3,RN2 RES-ARRAY-SMD_0603-8P-L3.2-W1.6-BL 2
39 470 RN1 RES-ARRAY-SMD_0603-8P-L3.2-W1.6-BL 1
40 button6*6*8.5 KEY2,KEY1 KEY-TH_4P-L6.0-W6.0-P4.50 2
41 68uH L1 L-SMD-7.3X7.3 1
42 ESP-WROOM-32 U4 ESP-WROOM-32D 1
43 100k R22 R0603 1
44 510 R12 R0603 1
45 104 C15,C11,C9,C5 C0603 4
46 10uF C8,C3 C0603 2

展开

工程成员

工程附件

发表评论
登录注册后才可以进行评论操作
全部评论 (35)

kn4869

大工程,赞一个!

2021-01-14 01:50:14

认证图标

矛盾聚合体

@renyufei


项目的核心还是程序,本项目也只是github项目“Grbl_Esp32”的衍生品而已,
如果您有程序开发经验的话,可以参与到上述项目中


由于个人原因,项目推进起来不是很顺利,所以暂时也无法开展和他人的合作
不过,如果您持续关注这个项目并且参与讨论的话,我也会认真考虑您的建议的


960031359,欢迎您加入此QQ群

2020-12-22 17:07:24

renyufei

非常感谢您这么慷慨,分享这么优秀的项目,我也想为此项目做点贡献,不知道如何参与。

2020-12-22 09:00:53

认证图标

矛盾聚合体

@renyufei


谢谢你的建议


在此之前,我也注意到了当前版本中的一些不合理设计,
在新版本中做了一定程度的调整,IO分配有较大改动。


下面是对于你的建议的回应:
1、新版本中,SD_CD/限位开关引脚都移至只读引脚
2、限位开关接口限定使用5V的限位开关以及只做输入,所以不考虑加限流电阻
3、新版本中,将多余的3个IO以及2个电源引脚和复位引脚引出,可以接按键模块或者串口屏等等


另外,新版本中,将SPI模式由雏菊链改为每一个驱动一个片选(UART模式下每个驱动一个TX)
测试了将BOOT按键作为功能按键使用,相当于增加了一个可由用户编程的按键


新版本尚未开始测试,所以就暂未更新到工程,如果该版本测试通过,将作为正式版本放出


再次感谢你对本工程的关注和建议!
以上。

2020-12-20 17:35:32

renyufei

  @矛盾聚合体  限位开关建议增加串联限流电阻,防止引脚作为输出时损坏,另外,建议限位开关使用只读引脚34 35 36 39

2020-12-20 15:47:11

认证图标

矛盾聚合体

@HUAJIPANG


暂时有点事,忙完了就继续做,等不及的话只好你自己做了_(:з)∠)_

2020-11-20 21:59:28

HUAJIPANG

淘宝点进去显示已下架呜呜呜

2020-11-20 20:17:44

Z550316

一直在找。

2020-10-24 19:18:19

jeromeli

加上雕刻机控制  3D打印控制就非常完美了 全功能型哈哈哈,
要写字换上笔,雕刻换上电机,3D打印换上打印头  激光…………DIY神器

2020-10-23 17:18:04

认证图标

矛盾聚合体

@jeromeli
谢谢夸奖

2020-10-23 13:23:59

jeromeli

做的真好

2020-10-20 12:18:53

认证图标

矛盾聚合体

@12344321A
新版程序不用在machines下面的板子.h文件里面定义主轴类型了,而是将主轴类型设置成一个可以通过串口修改的参数,直接在串口修改就好

2020-10-03 19:24:03

认证图标

12344321A

@矛盾聚合体  谢谢!就是说在固件内定义主轴类型上传后还要在控制软件命令栏发送主轴类型后才有输出是吧!谢谢真心感谢指导。

2020-10-03 19:15:47

认证图标

矛盾聚合体

@12344321A
主轴默认类型是NONE,第一次上传固件后需要设置主轴类型,比如使用LASER就发送$Spindle/Type=LASER,不然没输出的

2020-10-01 16:14:00

认证图标

12344321A

这里的介绍2020-09-30_14.27.09.jpg

2020-09-30 14:28:05

认证图标

12344321A

你好,想请教你一下编译了你改的固件并上传后主轴17引脚关闭时是高电平吗?。还有我编译了源项目代码(3axis_v4)上传后主轴不输出是什么原因呢?请大佬指点谢谢!!!!源代码是githube下的。也查了自定义主轴引脚时分配引脚#define spindle_pwm_pin2后也没用,

2020-09-30 14:25:12

认证图标

矛盾聚合体

@12344321A
这个没有,安装个arduino IDE,然后下个ESP32的支持包,编译时缺什么苦酒加什么库,不难的

2020-09-29 00:22:37

认证图标

12344321A

固件编译教程有吗

2020-09-28 09:47:02

认证图标

矛盾聚合体

@12344321A
已更新到E0.4,
说明书有时间再写了
image.png

2020-09-27 23:30:02

认证图标

12344321A

pcb什么时候更新?大佬。

2020-09-27 22:13:44

hshgc

这3D预览效果太棒了,爱辽爱辽

2020-09-21 16:12:29

认证图标

矛盾聚合体

@LCEDA技术支持
  
谢谢夸奖,不过手册其实早该更新了,比较忙就一直没弄

2020-09-19 20:44:50

LCEDA技术支持

厉害,好专业,连操作文档都有,软硬构通杀,6666

2020-09-19 13:40:39

认证图标

矛盾聚合体

@ljlll  这个啊,这个有点麻烦的,LCEDA导出DXF文件然后再AI里面处理的,主要用到了形状生成器和实时上色工具。

2020-08-28 00:50:40

ljlll

就是Arduino风格的那个图片怎么搞的啊

2020-08-27 22:24:53

攻城狮晨哲

信号线走直角,不太合适吧

2020-08-27 17:22:17

认证图标

矛盾聚合体

@ljlll  是指的渲染图吗?渲染图的话项目衍生里面附了教程链接

2020-08-26 23:03:05

ljlll

问一下,那个像动漫的那个图片是怎么做出来的啊。

2020-08-26 21:05:11

Turbo

直角走线好评,zsbd

2020-08-10 11:15:32

认证图标

矛盾聚合体

@Kirito  你好,程序为github开源项目“Grbl_Esp32”

2020-07-29 15:03:11

Kirito

有附件吗?程序资料啥的

2020-07-29 15:00:13

认证图标

Knight_Sin

@anwys  已发,注意查收

2020-06-29 20:23:19

认证图标

Knight_Sin

@yANgZEN  不是防水漆,这是水洗过后拍的图片2333

2020-06-29 15:56:32

89C2051

什么防水胶???????

2020-06-29 15:32:30

anwys

你好! 能不能提供配置cpu_map.h文件 谢谢! mail:59707295@qq.com

2020-06-29 15:10:50

服务时间

周一至周五 9:00~18:00
  • 0755 - 2382 4495
  • 153 6159 2675

服务时间

周一至周五 9:00~18:00
  • 立创EDA微信号

    easyeda

  • QQ交流群

    664186054

  • 立创EDA公众号

    lceda-cn