• 客服电话

    在线时间:8:00-16:00

    客服电话

    000-000-0000

    电子邮件

    ndiyadmin@163.com
  • 手机版

    电子DIY手机版

    随时随地掌握网站动态

  • 官方微信

    扫描二维码

    免费获取邀请码

【原创】自制激光雕刻机

  [复制链接]
61473 278
Everlast 发表于 2014-5-29 14:38:13 | 只看该作者 |只看大图 |阅读模式 打印 上一主题 下一主题
本帖最后由 农夫三拳 于 2014-5-29 17:07 编辑

也可参考我在技术宅贴吧发的一个教程贴  http://tieba.baidu.com/p/2997753286?see_lz=1&pn=1
【原创】基于Arduino制作的激光雕刻机(用的是三轴代码,所以本雕刻机只用到X轴和Y轴,加个步进电机和丝杆滑块主轴电机,就可改装成数控CNC玩浮雕,换个打印头可做3D打印机,当然主控也要换一下了),,原本是参加贴吧兴趣大师比赛的,最终晋级前一百,但没能拿到奖,,现在还是来这里发教程吧,成本大概100rmb左右,,真正的便宜
材料:
废旧的同型号台式机电脑光驱*2(20rmb)
Arduino pro mini一个*1(15rmb)
Easydriver V44*2(30rmb)
250mW激光头一个(50RMB)

以上就是核心材料了,成本105(不含邮费),如果技术到位,工具合适,也能自己拆个16X的光驱激光头,这样又可以节省四十多RMB
雕刻机参数:
有效雕刻面积:38*38mm
雕刻机大小:150*250mm左右(可自己改装,最小可达到70*100mm)
回程精度:0.1mm左右(没有工具实测,考的是我精确地目测,曾经在牙签上刻过字)

好了,以上是廉价版基本参数,高端版只是提高了精度成本以及雕刻有效面积
教程开始,制作时候拍的好多图片找不到了,,大家将就看下吧
这是我的主控、主板是UNO:

电路图:
硬件制作比多说了,各位有点基础的爱动手的有一张电路图足矣了,主要说说软件部分,也是最难的部分
首先,所需软件有
软件需要的有

arduino IDE,
Inkscape,
XLoader(或者OpenJumper™ Serial Assistant 1.3.6),
G-codesender,
LaserEengraverExtension (这个是激光雕刻机扩展),
如果要玩CNC浮雕的,还要一个ArtCAM

WinAVR pn  (用来编译源程序,个人觉得安装这个软件太麻烦,还很大,所以自己写了个几KB的小软件来专门为它编译,,挺好用的)
第一步:下载Grbl-master
第二步:根据自己需求,设置引脚

打开图中pin_map.h文件(这张图片自己跳到文章最下面了,我也不知道怎么回事)
里面部分代码是这样的:看到这个页面很熟悉了吧

#ifndef pin_map_h
#define pin_map_h

#ifdef PIN_MAP_ARDUINO_UNO // AVR 328p, Officially supported by Grbl.

  // Serial port pins
  #define SERIAL_RX USART_RX_vect
  #define SERIAL_UDRE USART_UDRE_vect

  // NOTE: All step bit and direction pins must be on the same port.
  #define STEPPING_DDR       DDRD
  #define STEPPING_PORT      PORTD
  #define X_STEP_BIT         2  // Uno Digital Pin 2
  #define Y_STEP_BIT         3  // Uno Digital Pin 3
  #define Z_STEP_BIT         4  // Uno Digital Pin 4
  #define X_DIRECTION_BIT    5  // Uno Digital Pin 5
  #define Y_DIRECTION_BIT    6  // Uno Digital Pin 6
  #define Z_DIRECTION_BIT    7  // Uno Digital Pin 7
  #define STEP_MASK ((1<<X_STEP_BIT)|(1<<Y_STEP_BIT)|(1<<Z_STEP_BIT)) // All step bits
  #define DIRECTION_MASK ((1<<X_DIRECTION_BIT)|(1<<Y_DIRECTION_BIT)|(1<<Z_DIRECTION_BIT)) // All direction bits
  #define STEPPING_MASK (STEP_MASK | DIRECTION_MASK) // All stepping-related bits (step/direction)

  #define STEPPERS_DISABLE_DDR    DDRB
  #define STEPPERS_DISABLE_PORT   PORTB
  #define STEPPERS_DISABLE_BIT    0  // Uno Digital Pin 8
  #define STEPPERS_DISABLE_MASK (1<<STEPPERS_DISABLE_BIT)

  // NOTE: All limit bit pins must be on the same port
  #define LIMIT_DDR       DDRB
  #define LIMIT_PIN       PINB
  #define LIMIT_PORT      PORTB
  #define X_LIMIT_BIT     1  // Uno Digital Pin 9
  #define Y_LIMIT_BIT     2  // Uno Digital Pin 10
  #define Z_LIMIT_BIT     3  // Uno Digital Pin 11
  #define LIMIT_INT       PCIE0  // Pin change interrupt enable pin
  #define LIMIT_INT_vect  PCINT0_vect
  #define LIMIT_PCMSK     PCMSK0 // Pin change interrupt register
  #define LIMIT_MASK ((1<<X_LIMIT_BIT)|(1<<Y_LIMIT_BIT)|(1<<Z_LIMIT_BIT)) // All limit bits

  #define SPINDLE_ENABLE_DDR   DDRB
  #define SPINDLE_ENABLE_PORT  PORTB
  #define SPINDLE_ENABLE_BIT   4  // Uno Digital Pin 12

  #define SPINDLE_DIRECTION_DDR   DDRB
  #define SPINDLE_DIRECTION_PORT  PORTB
  #define SPINDLE_DIRECTION_BIT   5  // Uno Digital Pin 13 (NOTE: D13 can't be pulled-high input due to LED.)

  #define COOLANT_FLOOD_DDR   DDRC
  #define COOLANT_FLOOD_PORT  PORTC
  #define COOLANT_FLOOD_BIT   3  // Uno Analog Pin 3

  // NOTE: Uno analog pins 4 and 5 are reserved for an i2c interface, and may be installed at
  // a later date if flash and memory space allows.
  // #define ENABLE_M7  // Mist coolant disabled by default. Uncomment to enable.
  #ifdef ENABLE_M7
    #define COOLANT_MIST_DDR   DDRC
    #define COOLANT_MIST_PORT  PORTC
    #define COOLANT_MIST_BIT   4 // Uno Analog Pin 4
  #endif  

  // NOTE: All pinouts pins must be on the same port
  #define PINOUT_DDR       DDRC
  #define PINOUT_PIN       PINC
  #define PINOUT_PORT      PORTC
  #define PIN_RESET        0  // Uno Analog Pin 0
  #define PIN_FEED_HOLD    1  // Uno Analog Pin 1
  #define PIN_CYCLE_START  2  // Uno Analog Pin 2
  #define PINOUT_INT       PCIE1  // Pin change interrupt enable pin
  #define PINOUT_INT_vect  PCINT1_vect
  #define PINOUT_PCMSK     PCMSK1 // Pin change interrupt register
根据自己的电路设置好引脚
第三步编译Grbl.hex文件,,你可以用WinAVR pn来编译它,也可以给我索要我自己写的简易编译软件,十几KB大小
第四步:得到了Grbl.hex之后,你需要使用XLoader 来把它下载到你的Arduino里面,下载成功,打开Arduino IDE中的串口监视器,你会看到返回一个字符“Grbl 0.8c ["$" for help]”这时候证明你已经成功了大半,
第五步:调试,根据你的步进电机不距角以及丝杆直径丝嘈距等,计算出steps/mm,光驱的是53.333所以你要输入$0=53.333回车
$1=53.333回车
$8=100回车(加速度可以提高到大约 100 的程度
若你发现一根轴反了,那么你需要如此调整来纠正他
我想要改变 X 轴的方向,于是我输入了“$7=8”,这是因为我想要修改 3 号位(8 = 00001000 二进制),如果你想要修改 Y 轴的方向,那么就输入 16(00010000)或者要修改两根轴的话,就输入 24(00011000)
第六步: 输入G91 G28 X0 Y0【回车】归零,然后输入“X10 Y10“【回车】,若X轴和Y轴都移动了10mm,那么你就基本成功了
第七步:制图,制图可利用Inkscape来制图,这时首先你需要安装Inkscape,然后还要加入一个可以输出G代码的插件LaserEengraverExtension,把LaserEengraverExtension 里面的四个文件放到Inkscape安装位置的  share\extensions目录下,替换原有文件两个,添加文件两个即可,然后请看图:

最后得到一个output_0001.nc文件,你可以用文本文档方式查看内容,发现其实里面就一些简单的坐标位置,
如图:
1是软复位
2是起点坐标
3是打开激光
4是雕刻速度
5是坐标位置以及加速度角速度等参数,,这个数据不可更改
还有个”m05“截图里看不到,m05是关闭激光的命令

第八步:
得到了nc文件之后,,打开G-codesender或者Grbl Controller或者Plasma来发送代码进行雕刻了,着三个软件各有各的优点,初学者建议使用G-codesender、、
最后附上所需软件等等
成品雕刻代码.zip (149.65 KB, 下载次数: 354)
XLoader(嵌入源代码).zip (679.08 KB, 下载次数: 348)
grbl-master.zip (160.7 KB, 下载次数: 369)
(G代码发送器)G-codesender.zip (138.5 KB, 下载次数: 223)
Arduino IDE下载地址.zip (224 Bytes, 下载次数: 87)
ArtCAM下载地址.zip (240 Bytes, 下载次数: 59)
Grbl菜单说明.zip (244 Bytes, 下载次数: 211)
Inkscape下载地址.zip (211 Bytes, 下载次数: 117)
MACH3下载地址.zip (220 Bytes, 下载次数: 77)
简易编译.zip (1011 Bytes, 下载次数: 267)
下面这张图片是第二步中的插图,不知道怎么会跳到这了,编辑不了,大家将就看吧,另外建议大家多去国外网站国外论坛看看,,好玩的太多太多,在国内真的相关知识太有限了,根本查不到什么资料,,,有需要的也可以联系我,联系方式附件中的某个软件上面会有,嘿嘿,,求刀币求顶啊,,手打好累的

参与人数 6贡献 +20 刀币 +31 收起 理由
千与半夏 + 5 + 5 好帖子
ozhaojie + 5 + 5
中心小学 + 5 赞一个!
木头风火轮 + 3 + 5
ynqjzzh + 5 + 4 赞一个!
农夫三拳 + 2 + 7 赞一个!

查看全部评分总评分 : 贡献 +20 刀币 +31

收藏
收藏58
分享
分享
支持
支持1
反对
反对0

精彩评论278

跳转到指定楼层
2#
 楼主| Everlast 发表于 2014-5-29 14:41:27 | 只看该作者
我这里资料太多太大,传云盘又麻烦,全是关于Arduino的,最近打算做ArduinoGPS定位仪,可显示经纬度,还把时速时间等等,,还有写字报时机器人,还有投影仪,还有3D激光扫描仪,Arduino示波器等等,,,喜欢的可以联系我一起交流,,,
3#
回清倒影1994 发表于 2014-5-29 16:18:14 | 只看该作者

顶个。。。。。。。
4#
1215 发表于 2014-5-29 16:44:25 | 只看该作者
不错 顶一个  我也想做一个  楼主能不能把x宝的连接给我发过来呢
5#
农夫三拳 发表于 2014-5-29 17:09:53 | 只看该作者
已帮你把图片编辑好了、有机会把做的实物给大家亮亮眼
6#
sdlcwhg 发表于 2014-5-29 17:17:24 | 只看该作者
学习中,想学做,挺欣赏。
7#
自信面对 发表于 2014-5-29 17:54:29 | 只看该作者
来个照片就更好了
8#
gatmv 发表于 2014-5-29 18:38:30 | 只看该作者
w我还是比较期待实物,光看文字总觉得不过瘾
9#
HZBin 发表于 2014-5-29 19:19:33 | 只看该作者
楼主怎么把他改成3轴
10#
木头风火轮 发表于 2014-5-29 20:14:57 | 只看该作者
赞一个, 好资料就是要大家一起分享
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关注我们
中国电子DIY官方微信

客服电话:000-000-0000

客服邮箱:776513803@qq.com

周一至周五 9:00-18:00

公司地址:深圳市南山区美丽湾大厦B座

Powered by X3.4@ 2001-2013