切换到宽版
  • 19303阅读
  • 14回复

Ardunino方案的usb雕刻机控制板,网上找了好久,终于找到了个有用的,有需要的进吧 [复制链接]

上一主题 下一主题
离线352297274
 
发帖
42
M币
-409
专家
1
粉丝
1
只看楼主 倒序阅读 我要置顶 楼主  发表于: 2015-04-10
— 本帖被 mydigit 从 创意DIY 移动到本区(2015-09-24) —
有没有大神能将驱动板和Ardunino整合到一个板上啊,做个整体pcb板啊。
原帖地址:arduino当Gcode解释程序(CNC) 微型雕刻机
先说一下Gcode:
Gcode在工业控制上用的很多,是一种通用的控制指令,数控机床上经常用
在我diy雕刻机(打印机之类的)的时候要用到,遇到不少问题,研究了好几天把问题基本都解决了。
发个帖子,为以后需要用到的人提供点帮助。

arduino上,我找到的有两种Gcode编译器,GRBL和gcode_interpreter。

GRBL限制比较大,用的是arv的C语言写的,有目前较新的版本是0.8c,能用在328P的芯片上(UNO),其他的芯片能用的不多,MEGA2560就不行了。缺点是安装麻烦,需要用到winavr生成hex文件,再用XLoader上传到UNO上。优点是效率高,功能强大,可设置加速度等。

gcode_interpreter,优点是大多arduino都能用,用的是arduino语言写的,只要下载好代码,用arduino的IDE编译下载到板上就能用了。

先说简单的gcode_interpreterhttp://sourceforge.net/projects/cncarduino/ 这是下载地址。
一共有5个文件,我们主要看的是_init.ino文件,这个文件保存的是我们要用的PIN的定义
#define X_STEP_PIN 2
#define X_DIR_PIN 3
#define X_ENABLE_PIN 4

这段代码设置了2,3,4管脚控制一个步进电机,2用来输出一次脉冲,让步进电机走一步,3用来控制方向,4用来开关步进电机(这个脚可以悬空不接,实际上控制步进电机的就是2根线step和dir,最后还有一根地线GND)。这个地方涉及到步进电机的驱动问题,这个需要用到驱动板,不能用传统的arduino控制步进电机的方法(除非改程序),这里推荐使用easydriver(X宝有,比较贵,但是比工业用的便宜吧)。Y_*,Z_*几个管脚也是一样的,看你用几个轴了。我们完全可以按照上面的默认管脚接线,不用改代码....
接下来需要设置的就是
#define X_STEPS_PER_INCH 400
#define X_STEPS_PER_MM   16.0
#define X_MOTOR_STEPS    200
这个是设置步进电机属性的代码,#define X_STEPS_PER_INCH 400 是X轴转动400步,行程1英尺,
#define X_STEPS_PER_MM   16.0是16步1毫米的意思
#define X_MOTOR_STEPS    200 是步进电机200步走完一圈的意思(这个跟步进电机的型号有关,一般都是200)
设置完,下载到arduino里面就能用了。X,Z轴的设置和X的一样。
可以在arduino的串口监视器里面输入 “X10” 不包括引号,点击发送,要是安装成功 你会发现X轴的电机走了10英尺(默认是以英尺为单位)。“X-10”X轴的电机反方向走10英尺。
附一个我自己做的gcode控制画图的视频链接.视频中我用的是mega2560,gcode_interpreter。
http://pan.baidu.com/share/link?shareid=441374&uk=755352556

GRBL
注意:这个grbl官方说只能在 168 和 328P 的芯片上使用,168由于芯片空间较小,只用用0.51版的grbl。推荐用UNO r3
1、到https://github.com/grbl/grbl下载grbl的源代码,解压到一个文件夹中。
2、下载安装winavr,用grbl 的0.7版以上的,注意winavr一定要是20100110版的(比较难下2007版的居多,我把它上传到网盘里了供大家方便下载:http://pan.baidu.com/share/link?shareid=445050&uk=755352556,),不然编译会出错,在arduino运行的时候会显示EEPROM读取错误,不能在arduino断电以后保存设置(程序利用EEPROM保存相关设置,gcode_interpreter没有这个设置,要改设置只能改代码)
3、打开winavr的notepad,新建空工程,将grbl的源代码全部添加到工程里。
4、进行相关管脚的设置,在config.h文件里面,在添加的文件里面找到config.h,双击打开修改
5、设置方法
     #define X_STEP_BIT           2  // pin2
     #define Y_STEP_BIT           3
     #define Z_STEP_BIT           4
     #define X_DIRECTION_BIT      5
     #define Y_DIRECTION_BIT      6
     #define Z_DIRECTION_BIT      7
     看到这几句宏定义很熟悉吧,和前面的相似,不说了,其实完全可以不用改,按官方的设置接线就行,省了不少麻烦
6、在winavr的 programmers notepad 菜单栏点击tools->make all,将代码编译,生成hex文件(就在代码所在的文件夹)。
名字叫grbl.hex
7、用XLoader->下载地址: http://xloader.russemotto.com/ 把hex文件下载到arduino上
8、安装完成,在arduino的IDE界面打开串口监视器,就会返回信息“ Grbl 0.8c '$' *****”(**里面的字我忘了)说明安装成功了。
输入“$”,发送,就会显示菜单,输入“$$”发送,就会显示设置页面,比如"$0=500"发送,就会将X轴电机设置为500步每毫米。更多的设置大家可以自己在软件里看,每条指令后面还是会有解释的,相信大家都能看懂。

希望对需要的人能有所帮助吧,原来在弄这两个的时候没什么头绪,国内网站几乎查不到资料,辛苦好几天总结出来的经验,其中可能会有我理解不对的地方,但是两个gcode编译器我都是亲自测试能用的。

5个文件.png (2.63 KB, 下载次数: 43)


五个文件

Ardunino方案的usb雕刻机控制板,网上找了好久,终于找到了个有用的,有需要的进吧
电路图.png (91.01 KB, 下载次数: 1
先说一下Gcode:
Gcode在工业控制上用的很多,是一种通用的控制指令,数控机床上经常用
在我diy雕刻机(打印机之类的)的时候要用到,遇到不少问题,研究了好几天把问题基本都解决了。
发个帖子,为以后需要用到的人提供点帮助。

arduino上,我找到的有两种Gcode编译器,GRBL和gcode_interpreter。

GRBL限制比较大,用的是arv的C语言写的,有目前较新的版本是0.8c,能用在328P的芯片上(UNO),其他的芯片能用的不多,MEGA2560就不行了。缺点是安装麻烦,需要用到winavr生成hex文件,再用XLoader上传到UNO上。优点是效率高,功能强大,可设置加速度等。

gcode_interpreter,优点是大多arduino都能用,用的是arduino语言写的,只要下载好代码,用arduino的IDE编译下载到板上就能用了。

先说简单的gcode_interpreterhttp://sourceforge.net/projects/cncarduino/ 这是下载地址。
一共有5个文件,我们主要看的是_init.ino文件,这个文件保存的是我们要用的PIN的定义
#define X_STEP_PIN 2
#define X_DIR_PIN 3
#define X_ENABLE_PIN 4

这段代码设置了2,3,4管脚控制一个步进电机,2用来输出一次脉冲,让步进电机走一步,3用来控制方向,4用来开关步进电机(这个脚可以悬空不接,实际上控制步进电机的就是2根线step和dir,最后还有一根地线GND)。这个地方涉及到步进电机的驱动问题,这个需要用到驱动板,不能用传统的arduino控制步进电机的方法(除非改程序),这里推荐使用easydriver(X宝有,比较贵,但是比工业用的便宜吧)。Y_*,Z_*几个管脚也是一样的,看你用几个轴了。我们完全可以按照上面的默认管脚接线,不用改代码....
接下来需要设置的就是
#define X_STEPS_PER_INCH 400
#define X_STEPS_PER_MM   16.0
#define X_MOTOR_STEPS    200
这个是设置步进电机属性的代码,#define X_STEPS_PER_INCH 400 是X轴转动400步,行程1英尺,
#define X_STEPS_PER_MM   16.0是16步1毫米的意思
#define X_MOTOR_STEPS    200 是步进电机200步走完一圈的意思(这个跟步进电机的型号有关,一般都是200)
设置完,下载到arduino里面就能用了。X,Z轴的设置和X的一样。
可以在arduino的串口监视器里面输入 “X10” 不包括引号,点击发送,要是安装成功 你会发现X轴的电机走了10英尺(默认是以英尺为单位)。“X-10”X轴的电机反方向走10英尺。
附一个我自己做的gcode控制画图的视频链接.视频中我用的是mega2560,gcode_interpreter。
http://pan.baidu.com/share/link?shareid=441374&uk=755352556

GRBL
注意:这个grbl官方说只能在 168 和 328P 的芯片上使用,168由于芯片空间较小,只用用0.51版的grbl。推荐用UNO r3
1、到https://github.com/grbl/grbl下载grbl的源代码,解压到一个文件夹中。
2、下载安装winavr,用grbl 的0.7版以上的,注意winavr一定要是20100110版的(比较难下2007版的居多,我把它上传到网盘里了供大家方便下载:http://pan.baidu.com/share/link?shareid=445050&uk=755352556,),不然编译会出错,在arduino运行的时候会显示EEPROM读取错误,不能在arduino断电以后保存设置(程序利用EEPROM保存相关设置,gcode_interpreter没有这个设置,要改设置只能改代码)
3、打开winavr的notepad,新建空工程,将grbl的源代码全部添加到工程里。
4、进行相关管脚的设置,在config.h文件里面,在添加的文件里面找到config.h,双击打开修改
5、设置方法
     #define X_STEP_BIT           2  // pin2
     #define Y_STEP_BIT           3
     #define Z_STEP_BIT           4
     #define X_DIRECTION_BIT      5
     #define Y_DIRECTION_BIT      6
     #define Z_DIRECTION_BIT      7
     看到这几句宏定义很熟悉吧,和前面的相似,不说了,其实完全可以不用改,按官方的设置接线就行,省了不少麻烦
6、在winavr的 programmers notepad 菜单栏点击tools->make all,将代码编译,生成hex文件(就在代码所在的文件夹)。
名字叫grbl.hex
7、用XLoader->下载地址: http://xloader.russemotto.com/ 把hex文件下载到arduino上
8、安装完成,在arduino的IDE界面打开串口监视器,就会返回信息“ Grbl 0.8c '$' *****”(**里面的字我忘了)说明安装成功了。
输入“$”,发送,就会显示菜单,输入“$$”发送,就会显示设置页面,比如"$0=500"发送,就会将X轴电机设置为500步每毫米。更多的设置大家可以自己在软件里看,每条指令后面还是会有解释的,相信大家都能看懂。

希望对需要的人能有所帮助吧,原来在弄这两个的时候没什么头绪,国内网站几乎查不到资料,辛苦好几天总结出来的经验,其中可能会有我理解不对的地方,但是两个gcode编译器我都是亲自测试能用的。



5个文件.png (2.63 KB, 下载次数: 43)

五个文件

Ardunino方案的usb雕刻机控制板,网上找了好久,终于找到了个有用的,有需要的进吧
电路图.png (91.01 KB, 下载次数: 1

原帖地址:arduino当Gcode解释程序(CNC) 微型雕刻机





本文内容包含图片或附件,获取更多资讯,请 登录 后查看;或者 注册 成为会员获得更多权限
本帖最近打赏记录:共6条打赏M币+22
离线惊破天

发帖
2354
M币
6066
专家
1
粉丝
38
只看该作者 1楼 发表于: 2015-04-10
謝謝分享........
在线温力口

发帖
59394
M币
175785
专家
532
粉丝
858
只看该作者 2楼 发表于: 2015-04-10
Re:Ardunino方案的usb雕刻机控制板,网上找了好久,终于找到了个有用的,有需要的 ..
这个跟软件有什么联系?硬件上的东东,你把所有的元件做在同一块PCB上就行了。
离线352297274
发帖
42
M币
-409
专家
1
粉丝
1
只看该作者 3楼 发表于: 2015-04-11
回 温力口 的帖子
温力口:这个跟软件有什么联系?硬件上的东东,你把所有的元件做在同一块PCB上就行了。 (2015-04-10 23:59) 回 温力口 的帖子

我不会做pcb板,连几块板子还是很简单的么
离线352297274
发帖
42
M币
-409
专家
1
粉丝
1
只看该作者 4楼 发表于: 2015-04-11
Re:Ardunino方案的usb雕刻机控制板,网上找了好久,终于找到了个有用的,有需要的 ..
淘宝上做PCB板好贵啊,还是拼板玩吧
离线baiwenlongba

发帖
2127
M币
6502
专家
9
粉丝
81
只看该作者 5楼 发表于: 2015-04-11
Re:Ardunino方案的usb雕刻机控制板,网上找了好久,终于找到了个有用的,有需要的 ..
Arduino做控制的话,可以直接用USB,确实是挺方便的,而且现在的笔记本都没有并口了,台式机有的也没有了。。
不过貌似稳定性和速度还是没有并口+MACH3好?用MACH3的功能会更多一些,Arduino的话也有个上位机好像是叫Grbl Controler吧。。。
不过其实做这个的话用很便宜十元一片的那种Arduino Pro Mini就足够用了,也是328P主控的,引脚数也够用了
离线数码家园

发帖
5216
M币
16338
专家
31
粉丝
522
只看该作者 6楼 发表于: 2015-04-11
Re:Ardunino方案的usb雕刻机控制板,网上找了好久,终于找到了个有用的,有需要的 ..
记号一下,现在就为这并口烦恼
淘宝店:http://shop33498097.taobao.com/

发帖
690
M币
4742
专家
1
粉丝
26
只看该作者 7楼 发表于: 2015-04-11
好东西,收藏了,謝謝楼主分享
本帖最近打赏记录:共1条打赏M币+3
离线kinyee

发帖
792
M币
1157
专家
0
粉丝
22
只看该作者 8楼 发表于: 2015-04-11
这个要留着,自己做的光驱激光打印机虽然买的是套件,但组装好还没成功动过。

内容来自Android手机客户端

离线zjalone

发帖
511
M币
4393
专家
2
粉丝
35
只看该作者 9楼 发表于: 2015-04-11
Re:Ardunino方案的usb雕刻机控制板,网上找了好久,终于找到了个有用的,有需要的 ..
楼主看这里http://blog.protoneer.co.nz/arduino-cnc-shield/ ,有完整方案,包括pcb,原理图。