我使用 M5Stack 及其模块制作了一个 CNC。
#M5Stack数控进? !
— 莫克@小麦(@coppercele)2022 年 5 月 19 日
我能做到!皮c。山雀河Kom/KuijMsJWq54使用的设备
基本上,我使用从 Switch Science 和亚马逊购买的东西。
M5堆栈
将 ESP32 与显示屏、按钮、扬声器、电池和 SD 卡相结合的贪婪套装。
如果你有这个,当你说“我想做那个”时,你可以做点什么。GRBL模块
通过在 M5Stack 下堆叠,您可以使用步进电机。
现在好像有什么新东西了。
亚马逊 | SUS SF-20/20 SF9-202 200mm 4件(铝框)| 杆
https://www.amazon.co.jp/gp/product/B072VHBJ5T/ref=ppx_yo_dt_b_search_asin_title?ie=UTF8&psc=1现在构建框架。
需要8瓶。Amazon.co.jp:3D 打印机导轨组 T8 丝杠螺距 1mm 导程 1mm + 直线轴 8 * 100mm + KP08 SK8 SC8UU + 螺母外壳 + 联轴器 + 步进电机(200mm):工业和科学
https://www.amazon.co.jp/gp/product/B07D3P1YST/ref=ppx_yo_dt_b_search_asin_title?ie=UTF8&th=1
步进电机和导轨一套
这个价格与电机划算将其设置为 30 厘米可能会更好,因为布局的自由度会增加。
这将固定框架和导轨等。
使用微动开关作为限位开关。
努力建设
我们将围绕 CNC 构建硬件。
将铝制框架组装成一个矩形并用作底座。
前景中的笔式绘图仪是用廉价直线导轨制成的笔式绘图仪。
就算便宜也不过1000~2000日元左右,所以马达组太划算了……设置一个塔来设置 Y 轴。
我是用3D打印机做的,因为导轨组没有支架
固定好所有导轨后,创建一个板,用 3D 打印机固定块并固定它。
我在家庭中心买了一块木板,并通过钻一个螺丝孔将它固定在木板上。
X阶段现已完成!拧紧螺丝,完成 X 阶段!
— 莫克@小麦(@coppercele)2022 年 4 月 5 日
Y轴几乎完成了,但我无法想出笔筒的想法(´·ω·`)皮c。山雀河这个 m/8VWJQ0YPBs将导轨固定在 Y 轴和 X 轴上。
使用微动开关创建限位开关。
用 3D 打印机制作夹具并固定微动开关。
GRBL模块的限位开关的端子有一个公共GND,所以如果你尝试连接它,它会看起来像这样lol(新发布的步进电机模块已经改进)Z轴上下笔有曲折,
我在一个家庭中心找到了这部分。
这可能是铝窗框里的那个人。因此,如果您使用 3D 打印机打印卡车和车架...
结果是这样的
这边走!即使有一些改进,我仍然使用它。
现在笔可以上下移动了,我们来做一个笔筒。
我在刚才上下的部分打了一个M4孔,所以用螺栓固定,这样可以很容易地更换。
这是装上螺栓后的样子。
直线导轨好看(゚∀゚)
— 莫克@小麦(@coppercele)2022 年 4 月 27 日
这是因为误差要小得多(゚∀゚)#Fusion360 #M5Stack 皮c。山雀河这个/Kku B1y3rFY硬件现已完成!
构建软
GRBL 模块用于驱动步进电机。
m5-文档
https://docs.m5stack.com/en/module/grbl13.2MODULE_GRBL13.2/xyz_control.ino at master m5stack/MODULE_GRBL13.2 GitHub
https://github.com/m5stack/MODULE_GRBL13.2/blob/master/examples/xyz_control/xyz_control.ino看这个样例,有几种操作方法,但我们将使用Gcode来操作。
#include <M5Stack.h> #include "MODULE_GRBL13.2.h" #define STEPMOTOR_I2C_ADDR 0x70 GRBL _GRBL = GRBL(STEPMOTOR_I2C_ADDR); void setup() { M5.begin(); _GRBL.Init(200, 200, 40, 50); _GRBL.setMode("absolute"); } void loop() { if (M5.BtnB.wasPressed()){ _GRBL.sendGcode("G1 X5Y5Z5 F200"); _GRBL.sendGcode("G1 X0Y0Z0 F200"); } M5.update(); }Init() 的参数不同,但这会改变 Gcode 每个 XYZ1.0 的步数。
更换电机,使其在 G1 X1Y1Z1 时移动 1mm。现在我可以用 Gcode 移动笔了,
手工写Gcode比较难,所以会慢慢安装Fusion360。Fusion 360 | 3D CAD/CAM/CAE/PCB 云端软件 | Autodesk
https://www.autodesk.co.jp/products/fusion-360/overviewFusion360是一个不理解3D CAD和CAM可以免费用于非商业用途的软件。
您可以免费模拟CNC并输出Gcode(真的免费吗?)
Fusion360是不是太聪明了……? ?皮c。山雀河这个 m/ Jaofe Wkhn X
— 莫克@小麦(@coppercele)2022 年 5 月 1 日作为测试,我假设将 C 形雕刻成 2 厘米见方。
将Fusion360的CAM输出的Gcode放到M5Stack的SD卡上,
倒入GBRL模块库并移动笔。G0 X0 Y0 Z0 F100 G1 Z2. G1 Z1.3 F333. G1 X15.279 Y15.261 Z1.228 G1 X15.275 Y15.231 Z1.163 G1 Y15.178 Z1.104 G1 X15.289 Y15.11 Z1.065 G1 X15.303 Y15.074 Z1.058 G1 X15.322 Y15.04 Z1.05 G3 X15.851 Y15.372 Z1.016 I0.265 J0.166 G3 X15.322 Y15.04 Z0.981 I-0.265 J-0.166 G3 X15.851 Y15.372 Z0.947 I0.265 J0.166 G3 X15.322 Y15.04 Z0.913 I-0.265 J-0.166 G3 X15.851 Y15.372 Z0.879 I0.265 J0.166 G3 X15.322 Y15.04 Z0.844 I-0.265 J-0.166 G3 X15.851 Y15.372 Z0.81 I0.265 J0.166 void gcode() { File f = SD.open("/gcode.nc"); String str = ""; int temp = 0; while (f.available()) { temp = f.read(); if (temp != ' ') { str += String((char)temp); } else { Serial.printf("%s ", str.c_str()); Serial.println(); _GRBL.Gcode((char *)(str.c_str())); str = ""; _GRBL.WaitIdle(); } } }GRBL 模块有小缓冲区?我放了 WaitIdle() 因为如果我用一声巨响倾倒 Gcode 会跳过它,
重量太长(电机在完成移动后大约0.5秒停止),所以我认为你应该调整它。当我用笔测试它时,它工作得很好,所以我最终要尝试CNC。
!当我将加速度设置为 5 时,运动变慢了,但我实现了零步距!
— 莫克@小麦(@coppercele)2022 年 5 月 18 日
嗯,稳定性比速度更重要(´·ω·`)皮c。山雀河这 m/gi HS3 chi y2M将笔式绘图仪变成 CNC
我正在考虑为 CNC 购买一个路由器,但我在一本名为 DIME 的杂志上发现了一个 USB 供电的路由器,所以我买了它。
我在 Fusion360 中设计并打印了支架以匹配路由器(方形,因为我不想打印支架)
如果换成笔筒,CNC就完成了!
所以我试着刮掉泡沫塑料。
#M5Stack数控进? !
— 莫克@小麦(@coppercele)2022 年 5 月 19 日
我能做到!皮c。山雀河Kom/KuiMsJWq54在拍摄过程中,可能是因为太累了,我和一辆黑色豪车失去同步,只好紧急停车。
它不是很好地刮掉了吗?目前,我无法摆脱step-out,所以开发已经停止(´·ω·`)
一旦我恢复动力,我会尝试通过调整参数来改进。
原创声明:本文系作者授权爱码网发表,未经许可,不得转载;
原文地址:https://www.likecs.com/show-308628618.html