DIY微型激光雕刻机--未完待续

欧大琛 2019-03-10 PM 3552℃ 1条

年前比较闲,在x宝捡垃圾时看到“微型步进丝杆电机”才2元一个,想想一直想DIY一个微型激光雕刻机,顺便学习运动控制相关的知识,于是果断下单买了10个,开始了激光雕刻机的爬坑之路。
本着低成本,低难度,高效率的态度,打算先尽可能使用模块搭建硬件,后期有必要的话再考虑画PCB。

设计目标

实现一个55mm*55mm(丝杆最长58mm)雕刻面积的激光雕刻机,其中激光模块可以更换为“笔”成为一个画图机。

材料选型

1.框架结构:采用亚克力拼装,配合螺钉、螺帽加固;
2.电机:丝杆电机、舵机;
42步进丝杆电机

3.电机驱动:采用开源3D打印机普遍使用的A4988模块;
A4988

4.手动控制:遥感模块;
joy_stick

5.主控:手头刚好有一块stm32f103最小系统;
STM32

6.电源:外部供电采用手头的12V2A适配器,电源稳压采用2596可调DC-DC稳压模块为单片机与4988提供5V;
power

7.其他:一些mos,开关,电容,线材、排针、各型号螺丝等。

工具准备

  • 软件:

Pro/E:框架结构设计,干涉模拟,尺寸确定;
LaserGRBL:基于.net的开源激光切割软件,用于生成G代码;
Keil:集成开发环境;
Grbl:开源嵌入式G代码解释器与运动控制器,包含完整的前瞻性加速度控制,目前只支持Atmega 328,需要移植到STM32上(重点);
AD:设计电路。

  • 硬件:

电烙铁、螺丝刀、游标卡尺、万用表等;

结构设计

关于机械结构设计,考虑成本、加工难度,采用亚克力切割拼装实现。因此需要设计出每一块亚克力的切割形状,并且再软件上进行装配,以保证各个连接处均的能吻合,同时进行运动模拟,保证运动过程中不会出现干涉等现象。

  • 整体图:
    整体图
  • 步进电机:
    绘制过程中必须保证,游标卡尺测量出的孔位,大小精确,以免后期安装出现问题,关于丝杆导程,暂时先按照大概量出的3mm计算,后期可以再代码上调整每毫米脉冲数。

步进电机

步进电机

  • 亚克力连接处:
    连接处采用榫卯结构,同时配合螺钉螺帽进行加固(图中螺钉未画出)。

连接处

  • 滑台:
    为了低成本实现滑台,这里采用尼龙(较好的自润滑性)作为滑块,使用镀洛的光杆作为滑轨,减少滑动过程中的摩擦。(Y轴采用同样结构)

滑台

硬件电路

由于配件多为模块,因此直接采用洞洞板搭建下,进行调试。
整体框图如下:
整体框图

A4988驱动模块需要提供两种电源,其中12V用于步进电机。

  • 整体布局如下
    整体布局

在焊接所有器件时,先对步进电机进行测试
测试

简单编写了步进电机的驱动程序,发现步进电机运行一段时间后,电机温度较高,烫手,降低电机供电电压温度下降,但是扭矩下降,后期根据实际情况确定稳定工作的电压。

GRBL移植

Grbl是一款针对Arduino/AVR328芯片的嵌入式G代码解释器和运动控制器。
移植Grbl到stm32主要需要围绕定时器、GPIO、串口、中断、EEPROM等硬件部分进行修改,在移植之前,先了解下什么时G代码。

G代码

标准G代码是数控程序中的指令。一般都称为G指令。使用G代码可以实现快速定位、逆圆插补、顺圆插补、中间点圆弧插补、半径编程、跳转加工。可以直接用来驱动机床,各种控制系统,是一种数控行业标准。不同的数控系统,G代码规则会有所出入,但是基本指令基本相同,Grbl支持大部分G代码。

下面介绍几个常用的G代码指令:

1.G00 快速定位

功能:将刀具(这里指激光头)快速移动到指定位置
格式:G00 IP---(IP是刀具移动的终点坐标值)
例:从A点快速移动到B点,G00 X100 Y50

g00

2.G01直线插补

功能:使刀具沿直线移动到指定的位置
格式:G01 IP---F---(IP是刀具移动的终点坐标值、F是刀具进给速度(这里指激光头移动速率))
例:从A点以500mm/min切削移动到B点,G01 X100 Y50 F500

g01

3.G02(顺时针)、G03(逆时针)圆弧插补

功能:在指定的平面上使刀具沿圆弧移动到指定的位置
格式:G02(G03) IP---R(I--J--)F--(R:  是圆弧半径(大于180为-小于180为+)、I:   是X轴圆弧起点到圆心的增量值、 J:   是Y轴圆弧起点到圆心的增量值)
例:从A点以500mm/min切削移动到B点,G02 X100 Y50 R20 F500或G02 X100 Y50 I20 J0 F500

g02

4.G28参考点返回

功能:以各轴的快速移动速度进行参考点位置定位
格式:G28 IP--
例:Z轴回零点,G28 Z0

5.G90绝对值指令

功能:绝对值指令让机器将坐标解释为绝对坐标

6.G91增量值指令

功能:增量值指令与绝对值指令相反,它让机器将坐标解释为相对坐标

7.M00程序停止

功能:程序停止后可以按循环起动键继续加工

8.M02程序结束

功能:程序结束后不可以继续启动加工,且程序停在当前位置

9.M30程序结束并返回

功能:程序结束后并返回到程序开头

10.M03主轴正转

格式 : M03 S-- (S:主轴转速(这里指激光功率))

11.M05主轴停止

功能:停止主轴转动(这里指关闭激光输出)

移植

年后事情多起来了,目前移植只完成了、定时器与GPIO,剩下的部分只能日后更新了。。。
2019-03-10 未完待续

标签: GRBL

「一键投喂 软糖/蛋糕/布丁/牛奶/冰阔乐!」

欧大琛

(๑>ڡ<)☆谢谢老板~

使用微信扫描二维码完成赞赏

非特殊说明,本博所有文章均为博主原创。

评论啦~



唉呀 ~ 仅有一条评论


  1. 某不愿透露姓名的麻瓜

    期待博主开源!

    回复 2019-07-31 16:10