huayuliang 发表于 2010-6-15 14:04:28

【AVR】【Arduino】【CNC】Grbl—— 低成本、开源、高性能 CNC milling controller

web link :http://dank.bengler.no/-/page/show/5470_grbl
当前版本 0.51

Grbl is ready for production.
We use it for all our milling here at Dank running it from our laptops using a simple console script (included) to stream the G-code

Limitations by design。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

不多贴了,也不翻译了。有兴趣的不会为这点英语难住的。

chary8088 发表于 2011-5-16 14:41:27

是虚拟串口的,如果是V-USB就更好了

chary8088 发表于 2011-9-13 13:56:19

焊了一个atmega168,晶振16M,烧了0.61b的hex进去,结果在串口根本收不到prompt;
如果正常的话,在连接上串口,就会收到 Grbl 0.61 之类的prompt
用的是USB转串口的线,转串口芯片是cp2102
。。郁闷,不知道什么原因
那我大侠帮忙

huayuliang 发表于 2011-9-13 15:12:19

回复【2楼】chary8088
-----------------------------------------------------------------------

你是自己编译的?

chary8088 发表于 2011-9-13 16:39:19

下载他编译好的0.61b_16M_atmega168, 大概是这个名字
我自己也编译了一份,是37KB,下载的是39KB,两个都试了,串口没收到数据,烧写了很多次,烧写都很正常;

16M 晶振 两个22p的电容
10K电阻 接reset然后接104P接地

我应该没有接错啊,我用的是直插的 atmega168; 左边第2个,3个是串口的RX ,TX
其他的没有接

就是接不到什么数据,发送$也收不到数据。。
哪位大大帮忙
谢谢

huayuliang 发表于 2011-9-13 19:21:21

回复【4楼】chary8088
-----------------------------------------------------------------------
抱歉,画了一天的PCB,刚在protues里做了下仿真。

发现MEGA168有个熔丝位,你要改下:
CLKDIV8 默认是编程的,这个情况下,串口波特率是不正确的,修改下就可以了。

gcode 的程序可以参考,嘿嘿~

chary8088 发表于 2011-9-13 20:09:16

我用的就是这个设置,默认是0,是编程的吗?

http://cache.amobbs.com/bbs_upload782111/files_45/ourdev_676301JFWK63.jpg
我用的就是这个设置,默认是0 (原文件名:QQ截图未命名.jpg)


我想把avr usb那个V-USB替换这个里面串口,这样就不用USB转串口,直接可以免驱了

chary8088 发表于 2011-9-13 21:09:39

AVR的所有熔丝位均是:
1 未编程,多为不起作用的意思。
0编程,多为起作用的意思。
基于可编程工艺的都是这样:
PROM/EEPROM/FLASH都是出厂时和擦除后变为全1(0xFF)的,要编程才能变成0。
反过来就是了,跟CE/OE/INT都是[低电平有效]一样,都是很常见。

是不是这个问题的???
呵呵

huayuliang 发表于 2011-9-13 21:34:22

回复【6楼】chary8088
-----------------------------------------------------------------------

是的,改成1。

chary8088 发表于 2011-9-13 22:02:02

那我现在试试,呵呵

另外,Makefile里
DEVICE   = atmega328p
CLOCK      = 16000000
PROGRAMMER = -c avrisp2 -P usb
OBJECTS    = main.o motion_control.o gcode.o spindle_control.o wiring_serial.o serial_protocol.o stepper.o \
             eeprom.o config.o
# FUSES      = -U hfuse:w:0xd9:m -U lfuse:w:0x24:m
FUSES      = -U hfuse:w:0xd2:m -U lfuse:w:0xff:m

最后一句是不是指定DIV8的??这个atmega328的
如果修改成atmega168,
FUSES      = -U hfuse:w:0xd2:m -U lfuse:w:0xff:m
是不是也要修改成
FUSES      = -U hfuse:w:0xe2:m -U lfuse:w:0xff:m

??

chary8088 发表于 2011-9-13 22:22:12

刚插上串口就收到一批乱码,看来有点进步了,呵呵

鎬榾~嗻嗋?唜鄁��~~ xff?樴f~嗻fx鵀`橒fx`~啚鵀~骧f��

HEX:
E6 80 98 80 7E 86 F8 86 E0 06 9E 00 18 18 86 78 18 E0 66 80 98 80 7E 18 18 7E 18 18 7E FE 9E 00 18 78 66 66 9E 00 06 98 E0 66 7E 18 86 F8 66 78 F8 9E 60 06 98 F8 66 78 60 06 7E 86 9E F8 9E 7E E6 F8 66 80 98 80

估计是这个熔丝位的地址不对吧??????
http://cache.amobbs.com/bbs_upload782111/files_45/ourdev_676329SN3Q9M.jpg
(原文件名:QQ截图未命名.jpg)

huayuliang 发表于 2011-9-13 22:39:37

回复【9楼】chary8088
-----------------------------------------------------------------------

虽然说makefile里可以指定烧写软件以及参数,不过俺没这么用过,所以也不会在里面定义这些。

你的熔丝定义的不对~~E2是RC振荡器。
应该是 F7 DF F9,外部晶体(不是外部晶振)。
参考这个:http://www.engbedded.com/fusecalc/

chary8088 发表于 2011-9-13 23:21:29

FUSES      = -U hfuse:w:0xd2:m -U lfuse:w:0xff:m

这里指定高位d2, 低位ff
按这个指定可以吗??

chary8088 发表于 2011-9-14 13:02:24

看来要认真了解下Fuse了

chary8088 发表于 2011-9-14 14:28:16

不敢烧写了,害怕锁死。。。。

chary8088 发表于 2011-9-14 14:44:35

这样设置fuse,要不要在makefile指定这个参数,重新编译下的?会不会锁死芯片的????
PS:我只有一片m168啊,,,,


回复【11楼】huayuliang花生
回复【9楼】chary8088
-----------------------------------------------------------------------
虽然说makefile里可以指定烧写软件以及参数,不过俺没这么用过,所以也不会在里面定义这些。
你的熔丝定义的不对~~e2是rc振荡器。
应该是 f7 df f9,外部晶体(不是外部晶振)。
参考这个:http://www.engbedded.com/fusecalc/

-----------------------------------------------------------------------

huayuliang 发表于 2011-9-14 15:21:01

回复【15楼】chary8088
-----------------------------------------------------------------------

不需要在makefile里指定,除非你的环境是编译成功连带烧写的。。

http://cache.amobbs.com/bbs_upload782111/files_45/ourdev_676431FK6DPX.png
(原文件名:2011-09-14 15 19 17.png)

chary8088 发表于 2011-9-14 18:55:30

呵呵,真的可以了
非常感谢你的大力帮组;

http://cache.amobbs.com/bbs_upload782111/files_45/ourdev_676479EBRYVF.jpg
(原文件名:QQ截图未命名.jpg)

chary8088 发表于 2011-9-14 19:22:45

顺便问下,上位机软件可以直接使用文泰,type, match这些雕刻机软件吗?

难道还要先生存G代码,然后一行一行发送??

huayuliang 发表于 2011-9-14 21:08:09

肯定是G代码了。。
不过具体的过程俺也不清楚,你看看文档。

chary8088 发表于 2011-9-15 16:49:49

The G-code interpreter implements a subset of the rs274/ngc standard and is tested with the output of a number of CAM-tools with no issues. Linear, circular and helical motion are all fully supported..

sounds good!!!
I will try

huayuliang 发表于 2011-9-15 17:39:06

回复【20楼】chary8088
-----------------------------------------------------------------------

那个作者不知道忙啥去了,后续的文章至今也没发布。。

chary8088 发表于 2011-9-15 20:39:29

http://www.planet-cnc.com/
这个更牛逼,还是USB2.0的,免驱的
淘宝上都有人卖了,188元,开始还以为是带驱动芯片,后来一看就是接口板,雷死我。。。

huayuliang 发表于 2011-9-15 20:42:15

这个。。。论坛里好像有人做过,也在卖。。

chary8088 发表于 2011-9-15 21:06:55

我的这个软件怎么没有 atmega328,难道不能烧写atmega328??
还是因为下载线不支持??下载线是m8做的那种

引用图片【10楼】chary8088
-----------------------------------------------------------------------
http://cache.amobbs.com/bbs_upload782111/files_45/ourdev_676329SN3Q9M.jpg
(原文件名:QQ截图未命名.jpg)

huayuliang 发表于 2011-9-15 21:12:49

回复【24楼】chary8088
-----------------------------------------------------------------------

换个软件就是了。。

chary8088 发表于 2011-9-15 21:40:07

哦 多谢
对了,这样设置atmega328对吗?

http://cache.amobbs.com/bbs_upload782111/files_45/ourdev_676719GA6OZG.jpg
(原文件名:QQ截图未命名.jpg)

huayuliang 发表于 2011-9-15 22:23:12

对的
时钟熔丝位和你用的振荡源有关。
区别开晶体和晶振就OK了。

汗,你自己也该明白了。

TMalc 发表于 2012-4-23 23:06:14

恩、、搜着搜着就回到这里了
最近在做雕刻机,打算用这个代替并口和接口板

CNC 发表于 2013-2-28 14:56:32

最新的代码好象是0.9a版本了,增加了不少的G代码功能,不知是什么原因控制老是有异常,实际上使用这个软件烧代码更方便,基本不用设置,几秒就搞掂。

danju 发表于 2013-2-28 15:04:25

没有并口的电脑,可以用这个代替?

CNC 发表于 2013-2-28 15:06:34

有那位遇到个这样的问题呀

CNC 发表于 2013-2-28 15:13:36

例如这个G代码原则上X轴走到X-4.471的下一步是X-4.41的,但实际是前后两步累加一起了,即直接走到X-8.881了,请高人能分析解释一下。
%
G71
Z-.5F500.
X-4.471
X-4.1Y-3.795
X4.104
X4.197Y-3.695

CNC 发表于 2013-2-28 15:17:27

不知是跟G代码的编码方式有关否?还是arduino或GRBL代码有关呢?但实际其它代码进行也没有偏差,所以我认为是G代码本身问题。

CNC 发表于 2013-2-28 16:01:45

0.9a版本的grbl:

CNC 发表于 2013-2-28 16:08:00

danju 发表于 2013-2-28 15:04 static/image/common/back.gif
没有并口的电脑,可以用这个代替?

是的,就是用ARDUINO小板插入到电脑的USB接口就可以烧入GRBL的代码进入。

CNC 发表于 2013-2-28 17:25:22

C:\GRBL.MP4

danju 发表于 2013-2-28 17:29:55

CNC 发表于 2013-2-28 16:08 static/image/common/back.gif
是的,就是用ARDUINO小板插入到电脑的USB接口就可以烧入GRBL的代码进入。

谢谢,这样的话对于广大笔记本用户是福音啊

bygreencn 发表于 2014-5-4 14:46:58

有port到别的平台的没
页: [1]
查看完整版本: 【AVR】【Arduino】【CNC】Grbl—— 低成本、开源、高性能 CNC milling controller